summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Voytenko <mav@openoffice.org>2011-01-06 14:57:12 +0100
committerMikhail Voytenko <mav@openoffice.org>2011-01-06 14:57:12 +0100
commitdf5ccb739bed5666a8e053c90fe03527ecd9a75c (patch)
treecb09777611ba90419dbbe159c783969ce74e6520
parent8c3fc316ba4b8ebd3900273c788e98130b3dbe4e (diff)
parent04afdea56a69c2418231e0881dc37a8f490b1147 (diff)
removetooltypes01: rebase to DEV300_m96
-rw-r--r--avmedia/prj/build.lst2
-rw-r--r--basic/inc/basic/modsizeexceeded.hxx (renamed from basic/inc/modsizeexceeded.hxx)0
-rw-r--r--basic/inc/basic/sbmod.hxx7
-rw-r--r--basic/inc/basic/sbobjmod.hxx15
-rw-r--r--basic/inc/basic/sbstar.hxx6
-rw-r--r--basic/inc/basic/sbxdef.hxx3
-rw-r--r--basic/inc/basic/sbxvar.hxx5
-rw-r--r--basic/inc/basic/svtmsg.hrc (renamed from basic/inc/svtmsg.hrc)0
-rw-r--r--basic/inc/basic/testtool.hrc (renamed from basic/inc/testtool.hrc)0
-rw-r--r--basic/inc/basic/ttmsg.hrc (renamed from basic/inc/ttmsg.hrc)0
-rw-r--r--basic/prj/build.lst2
-rw-r--r--basic/prj/d.lst39
-rw-r--r--basic/source/app/svtmsg.src2
-rw-r--r--basic/source/app/testtool.src2
-rw-r--r--basic/source/app/ttmsg.src2
-rw-r--r--basic/source/basmgr/basicmanagerrepository.cxx56
-rw-r--r--basic/source/classes/eventatt.cxx50
-rw-r--r--basic/source/classes/sb.cxx236
-rwxr-xr-xbasic/source/classes/sbunoobj.cxx379
-rwxr-xr-x[-rw-r--r--]basic/source/classes/sbxmod.cxx231
-rw-r--r--basic/source/comp/dim.cxx3
-rw-r--r--basic/source/comp/exprtree.cxx31
-rwxr-xr-xbasic/source/comp/sbcomp.cxx249
-rw-r--r--basic/source/comp/scanner.cxx24
-rw-r--r--basic/source/comp/symtbl.cxx5
-rw-r--r--basic/source/inc/expr.hxx1
-rw-r--r--basic/source/inc/runtime.hxx4
-rwxr-xr-xbasic/source/inc/sbtrace.hxx4
-rw-r--r--basic/source/inc/sbunoobj.hxx18
-rw-r--r--basic/source/inc/scriptcont.hxx1
-rw-r--r--basic/source/runtime/comenumwrapper.cxx81
-rw-r--r--basic/source/runtime/comenumwrapper.hxx54
-rw-r--r--basic/source/runtime/makefile.mk1
-rwxr-xr-x[-rw-r--r--]basic/source/runtime/methods1.cxx127
-rw-r--r--basic/source/runtime/rtlproto.hxx6
-rw-r--r--basic/source/runtime/runtime.cxx23
-rw-r--r--basic/source/runtime/stdobj.cxx8
-rw-r--r--basic/source/runtime/step0.cxx115
-rwxr-xr-xbasic/source/runtime/step2.cxx92
-rw-r--r--basic/source/sbx/sbxbool.cxx2
-rw-r--r--basic/source/sbx/sbxobj.cxx3
-rwxr-xr-x[-rw-r--r--]basic/source/sbx/sbxvalue.cxx10
-rw-r--r--basic/source/sbx/sbxvar.cxx31
-rw-r--r--basic/source/uno/modsizeexceeded.cxx16
-rw-r--r--basic/source/uno/namecont.cxx34
-rw-r--r--basic/source/uno/scriptcont.cxx60
-rw-r--r--configmgr/prj/build.lst2
-rw-r--r--configmgr/source/access.cxx10
-rw-r--r--configmgr/source/childaccess.cxx25
-rw-r--r--configmgr/source/components.cxx6
-rw-r--r--configmgr/source/components.hxx4
-rw-r--r--configmgr/source/configurationprovider.cxx24
-rw-r--r--configmgr/source/configurationregistry.cxx58
-rw-r--r--configmgr/source/configurationregistry.hxx22
-rw-r--r--configmgr/source/defaultprovider.cxx68
-rw-r--r--configmgr/source/defaultprovider.hxx22
-rw-r--r--configmgr/source/node.cxx4
-rw-r--r--configmgr/source/node.hxx5
-rw-r--r--configmgr/source/services.cxx15
-rw-r--r--configmgr/source/update.cxx86
-rw-r--r--configmgr/source/update.hxx22
-rw-r--r--connectivity/inc/connectivity/filtermanager.hxx7
-rw-r--r--connectivity/inc/connectivity/sqlnode.hxx1
-rw-r--r--connectivity/prj/build.lst2
-rw-r--r--connectivity/prj/d.lst1
-rw-r--r--connectivity/source/commontools/FValue.cxx30
-rw-r--r--connectivity/source/commontools/dbtools2.cxx1
-rw-r--r--connectivity/source/commontools/filtermanager.cxx60
-rw-r--r--connectivity/source/drivers/file/FResultSet.cxx31
-rw-r--r--connectivity/source/drivers/file/FStatement.cxx19
-rw-r--r--connectivity/source/drivers/file/fanalyzer.cxx28
-rw-r--r--connectivity/source/drivers/hsqldb/HDriver.cxx38
-rw-r--r--connectivity/source/drivers/hsqldb/makefile.mk1
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx26
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx3
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx120
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx3
-rwxr-xr-xconnectivity/source/drivers/mozab/mozab.xcu2
-rwxr-xr-xconnectivity/source/drivers/mozab/mozab2.xcu2
-rw-r--r--connectivity/source/inc/file/fcomp.hxx2
-rw-r--r--connectivity/source/parse/sqlnode.cxx10
-rw-r--r--desktop/prj/build.lst5
-rw-r--r--desktop/source/app/app.cxx125
-rw-r--r--desktop/source/app/cmdlineargs.cxx281
-rw-r--r--desktop/source/app/cmdlineargs.hxx131
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui.hrc9
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog.src34
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui_dialog2.cxx90
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog2.hxx15
-rw-r--r--desktop/source/deployment/gui/dp_gui_extlistbox.cxx55
-rw-r--r--desktop/source/deployment/gui/dp_gui_extlistbox.hxx1
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui_updatedata.hxx5
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui_updatedialog.cxx831
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui_updatedialog.hxx55
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/gui/dp_gui_updatedialog.src20
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/misc/dp_misc.src2
-rw-r--r--desktop/source/deployment/registry/component/dp_component.cxx828
-rw-r--r--desktop/source/deployment/registry/component/dp_component.hrc1
-rw-r--r--desktop/source/deployment/registry/component/dp_component.src5
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/registry/dp_backend.cxx9
-rw-r--r--desktop/source/deployment/registry/help/dp_help.cxx2
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/registry/inc/dp_backend.h5
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/registry/package/dp_package.cxx46
-rwxr-xr-x[-rw-r--r--]desktop/source/deployment/registry/sfwk/dp_sfwk.cxx7
-rw-r--r--desktop/source/migration/wizard.cxx1
-rw-r--r--desktop/test/deployment/active/Addons.xcu67
-rw-r--r--desktop/test/deployment/active/Dispatch.java101
-rw-r--r--desktop/test/deployment/active/MANIFEST.MF3
-rw-r--r--desktop/test/deployment/active/ProtocolHandler.xcu48
-rw-r--r--desktop/test/deployment/active/Provider.java81
-rw-r--r--desktop/test/deployment/active/Services.java72
-rw-r--r--desktop/test/deployment/active/active_native.cxx320
-rw-r--r--desktop/test/deployment/active/active_python.py120
-rw-r--r--desktop/test/deployment/active/description.xml36
-rw-r--r--desktop/test/deployment/active/makefile.mk83
-rw-r--r--desktop/test/deployment/active/manifest.xml43
-rw-r--r--desktop/test/deployment/boxt/boxt.cxx102
-rw-r--r--desktop/test/deployment/boxt/makefile.mk2
-rw-r--r--desktop/test/deployment/locationtest/makefile.mk3
-rw-r--r--desktop/test/deployment/passive/Addons.xcu67
-rw-r--r--desktop/test/deployment/passive/Dispatch.java101
-rw-r--r--desktop/test/deployment/passive/MANIFEST.MF3
-rw-r--r--desktop/test/deployment/passive/ProtocolHandler.xcu48
-rw-r--r--desktop/test/deployment/passive/Provider.java81
-rw-r--r--desktop/test/deployment/passive/Services.java49
-rw-r--r--desktop/test/deployment/passive/description.xml36
-rw-r--r--desktop/test/deployment/passive/makefile.mk136
-rw-r--r--desktop/test/deployment/passive/manifest.xml40
-rw-r--r--desktop/test/deployment/passive/passive_java.component38
-rw-r--r--desktop/test/deployment/passive/passive_native.component38
-rw-r--r--desktop/test/deployment/passive/passive_native.cxx289
-rw-r--r--desktop/test/deployment/passive/passive_python.component38
-rw-r--r--desktop/test/deployment/passive/passive_python.py101
-rwxr-xr-xdesktop/test/deployment/update/updateinfocreation/build/makefile.mk3
-rwxr-xr-x[-rw-r--r--]desktop/util/ooverinfo2.rc16
-rw-r--r--drawinglayer/source/primitive2d/metafileprimitive2d.cxx14
-rw-r--r--editeng/inc/editeng/svxrtf.hxx9
-rw-r--r--editeng/inc/pch/precompiled_editeng.hxx1
-rw-r--r--editeng/source/editeng/eertfpar.cxx1
-rw-r--r--editeng/source/items/flditem.cxx109
-rw-r--r--editeng/source/misc/svxacorr.cxx2
-rw-r--r--editeng/source/rtf/makefile.mk3
-rw-r--r--editeng/source/rtf/rtfgrf.cxx36
-rw-r--r--editeng/source/rtf/rtfitem.cxx12
-rw-r--r--editeng/source/rtf/svxrtf.cxx10
-rw-r--r--embeddedobj/prj/build.lst2
-rw-r--r--embeddedobj/source/commonembedding/miscobj.cxx9
-rw-r--r--embeddedobj/source/commonembedding/persistence.cxx22
-rw-r--r--eventattacher/prj/build.lst2
-rw-r--r--fileaccess/prj/build.lst2
-rw-r--r--formula/prj/build.lst2
-rw-r--r--formula/source/ui/dlg/structpg.cxx2
-rw-r--r--fpicker/prj/build.lst2
-rw-r--r--framework/AllLangResTarget_fwe.mk63
-rw-r--r--framework/Library_fwe.mk115
-rw-r--r--framework/Library_fwi.mk97
-rw-r--r--framework/Library_fwk.mk199
-rw-r--r--framework/Library_fwl.mk99
-rw-r--r--framework/Library_fwm.mk81
-rw-r--r--framework/Makefile (renamed from sfx2/source/explorer/makefile.mk)25
-rw-r--r--framework/Module_framework.mk43
-rw-r--r--framework/Package_dtd.mk (renamed from framework/inc/makefile.mk)34
-rw-r--r--framework/Package_inc.mk48
-rw-r--r--framework/Package_uiconfig.mk (renamed from framework/qa/complex/dispatches/helper/makefile.mk)30
-rw-r--r--framework/Package_unotypes.mk30
-rw-r--r--framework/inc/classes/actiontriggercontainer.hxx14
-rw-r--r--framework/inc/classes/actiontriggerpropertyset.hxx29
-rw-r--r--framework/inc/classes/actiontriggerseparatorpropertyset.hxx10
-rw-r--r--framework/inc/classes/converter.hxx3
-rw-r--r--framework/inc/classes/fwkresid.hxx7
-rw-r--r--framework/inc/classes/imagewrapper.hxx3
-rw-r--r--framework/inc/classes/propertysethelper.hxx3
-rw-r--r--framework/inc/classes/protocolhandlercache.hxx9
-rw-r--r--framework/inc/classes/rootactiontriggercontainer.hxx49
-rw-r--r--framework/inc/dispatch/interaction.hxx325
-rw-r--r--framework/inc/framework/acceleratorinfo.hxx (renamed from framework/inc/helper/acceleratorinfo.hxx)1
-rw-r--r--framework/inc/framework/actiontriggerhelper.hxx (renamed from framework/inc/helper/actiontriggerhelper.hxx)11
-rw-r--r--framework/inc/framework/addonmenu.hxx (renamed from framework/inc/classes/addonmenu.hxx)34
-rw-r--r--framework/inc/framework/addonsoptions.hxx (renamed from framework/inc/classes/addonsoptions.hxx)146
-rw-r--r--framework/inc/framework/bmkmenu.hxx (renamed from framework/inc/classes/bmkmenu.hxx)16
-rw-r--r--framework/inc/framework/configimporter.hxx (renamed from framework/inc/helper/configimporter.hxx)5
-rw-r--r--framework/inc/framework/eventsconfiguration.hxx (renamed from framework/inc/xml/eventsconfiguration.hxx)9
-rw-r--r--framework/inc/framework/framelistanalyzer.hxx (renamed from framework/inc/classes/framelistanalyzer.hxx)3
-rw-r--r--framework/inc/framework/fwedllapi.h13
-rw-r--r--framework/inc/framework/imageproducer.hxx (renamed from framework/inc/helper/imageproducer.hxx)5
-rw-r--r--framework/inc/framework/imagesconfiguration.hxx (renamed from framework/inc/xml/imagesconfiguration.hxx)13
-rw-r--r--framework/inc/framework/interaction.hxx142
-rw-r--r--framework/inc/framework/menuconfiguration.hxx (renamed from framework/inc/xml/menuconfiguration.hxx)11
-rw-r--r--framework/inc/framework/menuextensionsupplier.hxx (renamed from framework/inc/classes/menuextensionsupplier.hxx)7
-rw-r--r--framework/inc/framework/preventduplicateinteraction.hxx (renamed from framework/inc/interaction/preventduplicateinteraction.hxx)3
-rw-r--r--framework/inc/framework/sfxhelperfunctions.hxx (renamed from framework/inc/classes/sfxhelperfunctions.hxx)25
-rw-r--r--framework/inc/framework/statusbarconfiguration.hxx (renamed from framework/inc/xml/statusbarconfiguration.hxx)39
-rw-r--r--framework/inc/framework/titlehelper.hxx (renamed from framework/inc/helper/titlehelper.hxx)67
-rw-r--r--framework/inc/framework/toolboxconfiguration.hxx (renamed from framework/inc/xml/toolboxconfiguration.hxx)33
-rw-r--r--framework/inc/fwidllapi.h13
-rw-r--r--framework/inc/fwkdllapi.h8
-rwxr-xr-x[-rw-r--r--]framework/inc/helper/ilayoutnotifications.hxx (renamed from svx/inc/srchitem.hxx)26
-rwxr-xr-xframework/inc/helper/mischelper.hxx7
-rw-r--r--framework/inc/helper/networkdomain.hxx3
-rw-r--r--framework/inc/helper/propertysetcontainer.hxx3
-rw-r--r--framework/inc/helper/shareablemutex.hxx13
-rw-r--r--framework/inc/helper/uiconfigelementwrapperbase.hxx68
-rw-r--r--framework/inc/helper/uielementwrapperbase.hxx48
-rw-r--r--framework/inc/jobs/configaccess.hxx3
-rw-r--r--framework/inc/jobs/jobconst.hxx4
-rw-r--r--framework/inc/jobs/jobdata.hxx10
-rw-r--r--framework/inc/jobs/jobdispatch.hxx3
-rw-r--r--framework/inc/jobs/jobexecutor.hxx4
-rw-r--r--framework/inc/services.h4
-rw-r--r--framework/inc/services/layoutmanager.hxx220
-rwxr-xr-xframework/inc/services/modelwinservice.hxx122
-rw-r--r--framework/inc/threadhelp/lockhelper.hxx3
-rw-r--r--framework/inc/threadhelp/transactionmanager.hxx3
-rw-r--r--framework/inc/uielement/constitemcontainer.hxx15
-rw-r--r--framework/inc/uielement/itemcontainer.hxx10
-rw-r--r--framework/inc/uielement/menubarmanager.hxx2
-rwxr-xr-xframework/inc/uielement/panelwindow.hxx81
-rwxr-xr-xframework/inc/uielement/panelwrapper.hxx68
-rw-r--r--framework/inc/uielement/rootitemcontainer.hxx21
-rwxr-xr-xframework/inc/uielement/uielement.hxx146
-rw-r--r--framework/inc/xml/eventsdocumenthandler.hxx17
-rw-r--r--framework/inc/xml/imagesdocumenthandler.hxx13
-rw-r--r--framework/inc/xml/menudocumenthandler.hxx17
-rw-r--r--framework/inc/xml/saxnamespacefilter.hxx31
-rw-r--r--framework/inc/xml/statusbardocumenthandler.hxx13
-rw-r--r--framework/inc/xml/toolboxconfigurationdefines.hxx26
-rw-r--r--framework/inc/xml/toolboxdocumenthandler.hxx83
-rw-r--r--framework/inc/xml/xmlnamespaces.hxx17
-rw-r--r--framework/prj/build.lst59
-rw-r--r--framework/prj/d.lst55
-rw-r--r--framework/prj/makefile.mk (renamed from framework/source/application/makefile.mk)25
-rw-r--r--framework/qa/complex/ModuleManager/makefile.mk60
-rw-r--r--framework/qa/complex/XUserInputInterception/makefile.mk133
-rw-r--r--framework/qa/complex/accelerators/helper/makefile.mk46
-rw-r--r--framework/qa/complex/accelerators/makefile.mk67
-rwxr-xr-xframework/qa/complex/api_internal/makefile.mk63
-rwxr-xr-xframework/qa/complex/broken_document/makefile.mk65
-rw-r--r--framework/qa/complex/contextMenuInterceptor/makefile.mk63
-rwxr-xr-xframework/qa/complex/desktop/makefile.mk62
-rw-r--r--framework/qa/complex/dispatches/makefile.mk131
-rwxr-xr-xframework/qa/complex/disposing/makefile.mk61
-rw-r--r--framework/qa/complex/framework/autosave/makefile.mk127
-rwxr-xr-xframework/qa/complex/framework/recovery/makefile.mk103
-rwxr-xr-xframework/qa/complex/imageManager/interfaces/makefile.mk63
-rwxr-xr-xframework/qa/complex/imageManager/makefile.mk123
-rw-r--r--framework/qa/complex/loadAllDocuments/makefile.mk134
-rwxr-xr-xframework/qa/complex/path_settings/makefile.mk62
-rwxr-xr-xframework/qa/complex/path_substitution/makefile.mk122
-rwxr-xr-xframework/qa/unoapi/makefile.mk48
-rw-r--r--framework/source/accelerators/makefile.mk52
-rw-r--r--framework/source/classes/fwktabwindow.cxx6
-rw-r--r--framework/source/classes/makefile.mk69
-rw-r--r--framework/source/classes/menumanager.cxx10
-rw-r--r--framework/source/constant/makefile.mk45
-rw-r--r--framework/source/dispatch/closedispatcher.cxx2
-rw-r--r--framework/source/dispatch/makefile.mk63
-rw-r--r--framework/source/dispatch/menudispatcher.cxx4
-rw-r--r--framework/source/dispatch/popupmenudispatcher.cxx4
-rw-r--r--framework/source/dispatch/startmoduledispatcher.cxx2
-rw-r--r--framework/source/fwe/classes/actiontriggercontainer.cxx (renamed from framework/source/classes/actiontriggercontainer.cxx)0
-rw-r--r--framework/source/fwe/classes/actiontriggerpropertyset.cxx (renamed from framework/source/classes/actiontriggerpropertyset.cxx)2
-rw-r--r--framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx (renamed from framework/source/classes/actiontriggerseparatorpropertyset.cxx)0
-rw-r--r--framework/source/fwe/classes/addonmenu.cxx (renamed from framework/source/classes/addonmenu.cxx)8
-rw-r--r--framework/source/fwe/classes/addonsoptions.cxx (renamed from framework/source/classes/addonsoptions.cxx)2
-rw-r--r--framework/source/fwe/classes/bmkmenu.cxx (renamed from framework/source/classes/bmkmenu.cxx)6
-rw-r--r--framework/source/fwe/classes/framelistanalyzer.cxx (renamed from framework/source/classes/framelistanalyzer.cxx)2
-rw-r--r--framework/source/fwe/classes/fwkresid.cxx (renamed from framework/source/classes/fwkresid.cxx)0
-rw-r--r--framework/source/fwe/classes/imagewrapper.cxx (renamed from framework/source/classes/imagewrapper.cxx)0
-rw-r--r--framework/source/fwe/classes/menuextensionsupplier.cxx (renamed from framework/source/classes/menuextensionsupplier.cxx)2
-rw-r--r--framework/source/fwe/classes/rootactiontriggercontainer.cxx (renamed from framework/source/classes/rootactiontriggercontainer.cxx)2
-rw-r--r--framework/source/fwe/classes/sfxhelperfunctions.cxx (renamed from framework/source/classes/sfxhelperfunctions.cxx)4
-rw-r--r--framework/source/fwe/dispatch/interaction.cxx (renamed from framework/source/dispatch/interaction.cxx)221
-rw-r--r--framework/source/fwe/helper/acceleratorinfo.cxx (renamed from framework/source/helper/acceleratorinfo.cxx)2
-rw-r--r--framework/source/fwe/helper/actiontriggerhelper.cxx (renamed from framework/source/helper/actiontriggerhelper.cxx)4
-rw-r--r--framework/source/fwe/helper/configimporter.cxx (renamed from framework/source/helper/configimporter.cxx)4
-rw-r--r--framework/source/fwe/helper/imageproducer.cxx (renamed from framework/source/helper/imageproducer.cxx)2
-rw-r--r--framework/source/fwe/helper/propertysetcontainer.cxx (renamed from framework/source/helper/propertysetcontainer.cxx)0
-rw-r--r--framework/source/fwe/helper/titlehelper.cxx (renamed from framework/source/helper/titlehelper.cxx)2
-rw-r--r--framework/source/fwe/helper/uiconfigelementwrapperbase.cxx (renamed from framework/source/helper/uiconfigelementwrapperbase.cxx)0
-rw-r--r--framework/source/fwe/helper/uielementwrapperbase.cxx (renamed from framework/source/helper/uielementwrapperbase.cxx)0
-rw-r--r--framework/source/fwe/interaction/preventduplicateinteraction.cxx (renamed from framework/source/interaction/preventduplicateinteraction.cxx)2
-rw-r--r--framework/source/fwe/xml/eventsconfiguration.cxx (renamed from framework/source/xml/eventsconfiguration.cxx)2
-rw-r--r--framework/source/fwe/xml/eventsdocumenthandler.cxx (renamed from framework/source/xml/eventsdocumenthandler.cxx)1
-rw-r--r--framework/source/fwe/xml/imagesconfiguration.cxx (renamed from framework/source/xml/imagesconfiguration.cxx)2
-rw-r--r--framework/source/fwe/xml/imagesdocumenthandler.cxx (renamed from framework/source/xml/imagesdocumenthandler.cxx)0
-rw-r--r--framework/source/fwe/xml/menuconfiguration.cxx (renamed from framework/source/xml/menuconfiguration.cxx)6
-rw-r--r--framework/source/fwe/xml/menudocumenthandler.cxx (renamed from framework/source/xml/menudocumenthandler.cxx)4
-rw-r--r--framework/source/fwe/xml/saxnamespacefilter.cxx (renamed from framework/source/xml/saxnamespacefilter.cxx)0
-rw-r--r--framework/source/fwe/xml/statusbarconfiguration.cxx (renamed from framework/source/xml/statusbarconfiguration.cxx)2
-rw-r--r--framework/source/fwe/xml/statusbardocumenthandler.cxx (renamed from framework/source/xml/statusbardocumenthandler.cxx)0
-rw-r--r--framework/source/fwe/xml/toolboxconfiguration.cxx (renamed from framework/source/xml/toolboxconfiguration.cxx)2
-rw-r--r--framework/source/fwe/xml/toolboxdocumenthandler.cxx (renamed from framework/source/xml/toolboxdocumenthandler.cxx)0
-rw-r--r--framework/source/fwe/xml/toolboxlayoutdocumenthandler.cxx58
-rw-r--r--framework/source/fwe/xml/xmlnamespaces.cxx (renamed from framework/source/xml/xmlnamespaces.cxx)0
-rw-r--r--framework/source/fwi/classes/converter.cxx (renamed from framework/source/classes/converter.cxx)0
-rw-r--r--framework/source/fwi/classes/propertysethelper.cxx (renamed from framework/source/classes/propertysethelper.cxx)0
-rw-r--r--framework/source/fwi/classes/protocolhandlercache.cxx (renamed from framework/source/classes/protocolhandlercache.cxx)2
-rw-r--r--framework/source/fwi/helper/mischelper.cxx (renamed from framework/source/helper/mischelper.cxx)13
-rw-r--r--framework/source/fwi/helper/networkdomain.cxx (renamed from framework/source/helper/networkdomain.cxx)0
-rw-r--r--framework/source/fwi/helper/shareablemutex.cxx (renamed from framework/source/helper/shareablemutex.cxx)0
-rw-r--r--framework/source/fwi/jobs/configaccess.cxx (renamed from framework/source/jobs/configaccess.cxx)0
-rw-r--r--framework/source/fwi/jobs/jobconst.cxx (renamed from framework/source/jobs/jobconst.cxx)0
-rw-r--r--framework/source/fwi/threadhelp/lockhelper.cxx (renamed from framework/source/threadhelp/lockhelper.cxx)0
-rw-r--r--framework/source/fwi/threadhelp/transactionmanager.cxx (renamed from framework/source/threadhelp/transactionmanager.cxx)3
-rw-r--r--framework/source/fwi/uielement/constitemcontainer.cxx (renamed from framework/source/uielement/constitemcontainer.cxx)0
-rw-r--r--framework/source/fwi/uielement/itemcontainer.cxx (renamed from framework/source/uielement/itemcontainer.cxx)0
-rw-r--r--framework/source/fwi/uielement/rootitemcontainer.cxx (renamed from framework/source/uielement/rootitemcontainer.cxx)0
-rwxr-xr-x[-rw-r--r--]framework/source/helper/dockingareadefaultacceptor.cxx18
-rw-r--r--framework/source/helper/makefile.mk69
-rwxr-xr-x[-rw-r--r--]framework/source/helper/ocomponentaccess.cxx44
-rwxr-xr-x[-rw-r--r--]framework/source/helper/ocomponentenumeration.cxx4
-rwxr-xr-x[-rw-r--r--]framework/source/helper/oframes.cxx56
-rw-r--r--framework/source/interaction/makefile.mk49
-rw-r--r--framework/source/jobs/jobdata.cxx40
-rw-r--r--framework/source/jobs/jobdispatch.cxx37
-rw-r--r--framework/source/jobs/jobexecutor.cxx18
-rw-r--r--framework/source/jobs/makefile.mk53
-rwxr-xr-xframework/source/layoutmanager/helpers.cxx415
-rwxr-xr-xframework/source/layoutmanager/helpers.hxx95
-rwxr-xr-x[-rw-r--r--]framework/source/layoutmanager/layoutmanager.cxx6606
-rw-r--r--framework/source/layoutmanager/makefile.mk47
-rwxr-xr-xframework/source/layoutmanager/panel.cxx88
-rwxr-xr-xframework/source/layoutmanager/panel.hxx88
-rwxr-xr-xframework/source/layoutmanager/panelmanager.cxx183
-rwxr-xr-xframework/source/layoutmanager/panelmanager.hxx109
-rwxr-xr-xframework/source/layoutmanager/toolbarlayoutmanager.cxx4305
-rwxr-xr-xframework/source/layoutmanager/toolbarlayoutmanager.hxx344
-rwxr-xr-xframework/source/layoutmanager/uielement.cxx156
-rw-r--r--framework/source/loadenv/loadenv.cxx19
-rw-r--r--framework/source/loadenv/makefile.mk46
-rw-r--r--framework/source/recording/makefile.mk47
-rw-r--r--framework/source/register/makefile.mk50
-rw-r--r--framework/source/register/registerservices.cxx4
-rw-r--r--framework/source/register/registertemp.cxx2
-rw-r--r--framework/source/services/autorecovery.cxx4
-rw-r--r--framework/source/services/backingcomp.cxx2
-rw-r--r--framework/source/services/desktop.cxx2
-rw-r--r--framework/source/services/frame.cxx4
-rw-r--r--framework/source/services/makefile.mk64
-rwxr-xr-xframework/source/services/modelwinservice.cxx279
-rw-r--r--framework/source/services/pathsettings.cxx31
-rw-r--r--framework/source/tabwin/makefile.mk48
-rw-r--r--framework/source/threadhelp/makefile.mk45
-rw-r--r--framework/source/uiconfiguration/imagemanager.cxx2
-rwxr-xr-x[-rw-r--r--]framework/source/uiconfiguration/imagemanagerimpl.cxx2
-rw-r--r--framework/source/uiconfiguration/makefile.mk54
-rw-r--r--framework/source/uiconfiguration/moduleimagemanager.cxx2
-rw-r--r--framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx11
-rw-r--r--framework/source/uiconfiguration/uiconfigurationmanager.cxx6
-rwxr-xr-xframework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx6
-rw-r--r--framework/source/uiconfiguration/windowstateconfiguration.cxx27
-rw-r--r--framework/source/uielement/addonstoolbarmanager.cxx6
-rw-r--r--framework/source/uielement/addonstoolbarwrapper.cxx2
-rw-r--r--framework/source/uielement/comboboxtoolbarcontroller.cxx33
-rw-r--r--framework/source/uielement/generictoolbarcontroller.cxx2
-rw-r--r--framework/source/uielement/imagebuttontoolbarcontroller.cxx2
-rw-r--r--framework/source/uielement/macrosmenucontroller.cxx2
-rw-r--r--framework/source/uielement/makefile.mk87
-rw-r--r--framework/source/uielement/menubarmanager.cxx16
-rw-r--r--framework/source/uielement/menubarmerger.cxx2
-rw-r--r--framework/source/uielement/menubarwrapper.cxx2
-rw-r--r--framework/source/uielement/newmenucontroller.cxx6
-rwxr-xr-xframework/source/uielement/panelwindow.cxx77
-rwxr-xr-xframework/source/uielement/panelwrapper.cxx226
-rw-r--r--framework/source/uielement/statusbarmanager.cxx2
-rw-r--r--framework/source/uielement/statusbarwrapper.cxx2
-rw-r--r--framework/source/uielement/togglebuttontoolbarcontroller.cxx2
-rw-r--r--framework/source/uielement/toolbarmanager.cxx8
-rw-r--r--framework/source/uielement/toolbarmerger.cxx2
-rw-r--r--framework/source/uielement/toolbarsmenucontroller.cxx4
-rw-r--r--framework/source/uielement/toolbarwrapper.cxx2
-rw-r--r--framework/source/uielement/uicommanddescription.cxx27
-rw-r--r--framework/source/uifactory/makefile.mk54
-rw-r--r--framework/source/xml/makefile.mk58
-rw-r--r--framework/test/makefile.mk94
-rw-r--r--framework/test/threadtest/makefile.mk67
-rw-r--r--framework/test/typecfg/makefile.mk73
-rw-r--r--framework/util/guiapps/makefile.mk67
-rw-r--r--framework/util/makefile.mk445
-rw-r--r--framework/util/makefile.pmk1
-rwxr-xr-xidl/source/prj/command.cxx4
-rw-r--r--linguistic/inc/linguistic/hyphdta.hxx (renamed from linguistic/inc/hyphdta.hxx)0
-rw-r--r--linguistic/inc/linguistic/lngprophelp.hxx (renamed from linguistic/inc/lngprophelp.hxx)0
-rw-r--r--linguistic/inc/linguistic/lngprops.hxx (renamed from linguistic/inc/lngprops.hxx)0
-rw-r--r--linguistic/inc/linguistic/misc.hxx (renamed from linguistic/inc/misc.hxx)0
-rw-r--r--linguistic/inc/linguistic/spelldta.hxx (renamed from linguistic/inc/spelldta.hxx)0
-rw-r--r--linguistic/prj/build.lst2
-rw-r--r--linguistic/prj/d.lst4
-rw-r--r--linguistic/source/convdic.cxx2
-rw-r--r--linguistic/source/convdic.hxx2
-rw-r--r--linguistic/source/convdiclist.cxx2
-rw-r--r--linguistic/source/convdiclist.hxx2
-rw-r--r--linguistic/source/convdicxml.cxx2
-rw-r--r--linguistic/source/convdicxml.hxx2
-rw-r--r--linguistic/source/dicimp.hxx2
-rw-r--r--linguistic/source/dlistimp.hxx2
-rw-r--r--linguistic/source/gciterator.cxx2
-rw-r--r--linguistic/source/grammarchecker.cxx2
-rw-r--r--linguistic/source/hhconvdic.cxx2
-rw-r--r--linguistic/source/hhconvdic.hxx2
-rw-r--r--linguistic/source/hyphdsp.cxx4
-rw-r--r--linguistic/source/hyphdsp.hxx2
-rw-r--r--linguistic/source/hyphdta.cxx6
-rw-r--r--linguistic/source/iprcache.cxx4
-rw-r--r--linguistic/source/lngopt.cxx4
-rw-r--r--linguistic/source/lngopt.hxx2
-rw-r--r--linguistic/source/lngprophelp.cxx6
-rw-r--r--linguistic/source/lngsvcmgr.cxx2
-rw-r--r--linguistic/source/lngsvcmgr.hxx2
-rw-r--r--linguistic/source/misc.cxx6
-rw-r--r--linguistic/source/misc2.cxx2
-rw-r--r--linguistic/source/spelldsp.cxx4
-rw-r--r--linguistic/source/spelldsp.hxx2
-rw-r--r--linguistic/source/spelldta.cxx2
-rw-r--r--linguistic/source/thesdsp.cxx2
-rw-r--r--linguistic/source/thesdta.cxx2
-rw-r--r--linguistic/workben/sprophelp.cxx4
-rw-r--r--linguistic/workben/sspellimp.cxx4
-rw-r--r--linguistic/workben/sspellimp.hxx2
-rw-r--r--officecfg/registry/data/org/openoffice/Interaction.xcu12
-rwxr-xr-xofficecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu113
-rw-r--r--officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu10
-rw-r--r--officecfg/registry/data/org/openoffice/Office/Writer.xcu3
-rwxr-xr-x[-rw-r--r--]officecfg/registry/schema/org/openoffice/Office/ExtensionManager.xcs70
-rwxr-xr-x[-rw-r--r--]officecfg/registry/schema/org/openoffice/Office/Jobs.xcs5
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Writer.xcs9
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs9
-rw-r--r--oovbaapi/ooo/vba/XApplicationBase.idl6
-rw-r--r--oovbaapi/ooo/vba/XVBAAppService.idl72
-rw-r--r--oovbaapi/ooo/vba/XVBADocService.idl72
-rw-r--r--oovbaapi/ooo/vba/excel/SheetObject.idl2
-rw-r--r--oovbaapi/ooo/vba/excel/SheetObjects.idl6
-rw-r--r--oovbaapi/ooo/vba/excel/XApplication.idl10
-rw-r--r--oovbaapi/ooo/vba/excel/XFormat.idl2
-rw-r--r--oovbaapi/ooo/vba/excel/XGlobals.idl14
-rw-r--r--oovbaapi/ooo/vba/excel/XHyperlinks.idl10
-rw-r--r--oovbaapi/ooo/vba/excel/XRange.idl6
-rw-r--r--oovbaapi/ooo/vba/excel/XWindow.idl2
-rw-r--r--oovbaapi/ooo/vba/excel/XWorkbook.idl10
-rw-r--r--oovbaapi/ooo/vba/excel/XWorkbooks.idl2
-rw-r--r--oovbaapi/ooo/vba/excel/XWorksheet.idl32
-rw-r--r--oovbaapi/ooo/vba/word/XApplication.idl8
-rw-r--r--oovbaapi/ooo/vba/word/XDocument.idl20
-rw-r--r--oovbaapi/ooo/vba/word/XGlobals.idl8
-rw-r--r--oovbaapi/ooo/vba/word/XSelection.idl4
-rw-r--r--oovbaapi/ooo/vba/word/XTable.idl2
-rw-r--r--oovbaapi/ooo/vba/word/XTemplate.idl2
-rw-r--r--oovbaapi/ooo/vba/word/XWindow.idl2
-rwxr-xr-xscripting/prj/build.lst2
-rw-r--r--scripting/source/basprov/basscript.cxx22
-rw-r--r--scripting/source/basprov/basscript.hxx6
-rw-r--r--scripting/source/basprov/makefile.mk1
-rw-r--r--sfx2/AllLangResTarget_sfx2.mk79
-rwxr-xr-xsfx2/Library_qstart.mk92
-rwxr-xr-xsfx2/Library_sfx.mk309
-rw-r--r--sfx2/Makefile38
-rwxr-xr-x[-rw-r--r--]sfx2/Module_sfx2.mk (renamed from framework/qa/complex/loadAllDocuments/helper/makefile.mk)54
-rw-r--r--sfx2/Package_inc.mk138
-rw-r--r--sfx2/Package_sdi.mk30
-rw-r--r--sfx2/inc/brokenpackageint.hxx101
-rw-r--r--sfx2/inc/guisaveas.hxx6
-rw-r--r--sfx2/inc/makefile.mk48
-rw-r--r--sfx2/inc/sfx2/QuerySaveDocument.hxx (renamed from sfx2/inc/QuerySaveDocument.hxx)0
-rw-r--r--sfx2/inc/sfx2/basmgr.hxx (renamed from sfx2/inc/basmgr.hxx)3
-rwxr-xr-xsfx2/inc/sfx2/brokenpackageint.hxx55
-rw-r--r--sfx2/inc/sfx2/dinfedt.hxx (renamed from sfx2/inc/dinfedt.hxx)0
-rw-r--r--sfx2/inc/sfx2/docfile.hxx2
-rw-r--r--sfx2/inc/sfx2/docfilt.hxx37
-rw-r--r--sfx2/inc/sfx2/docinsert.hxx (renamed from sfx2/inc/docinsert.hxx)0
-rw-r--r--sfx2/inc/sfx2/event.hxx24
-rw-r--r--sfx2/inc/sfx2/imagemgr.hxx (renamed from sfx2/inc/imagemgr.hxx)0
-rw-r--r--sfx2/inc/sfx2/imgmgr.hxx (renamed from sfx2/inc/imgmgr.hxx)0
-rw-r--r--sfx2/inc/sfx2/ipclient.hxx1
-rw-r--r--sfx2/inc/sfx2/mailmodelapi.hxx (renamed from sfx2/inc/mailmodelapi.hxx)0
-rw-r--r--sfx2/inc/sfx2/mgetempl.hxx5
-rw-r--r--sfx2/inc/sfx2/mieclip.hxx (renamed from sfx2/inc/mieclip.hxx)0
-rw-r--r--sfx2/inc/sfx2/minfitem.hxx (renamed from sfx2/inc/minfitem.hxx)0
-rw-r--r--sfx2/inc/sfx2/passwd.hxx28
-rw-r--r--sfx2/inc/sfx2/sfx.hrc3
-rw-r--r--sfx2/inc/sfx2/sfxbasemodel.hxx36
-rw-r--r--sfx2/inc/sfx2/sfxhelp.hxx (renamed from sfx2/inc/sfxhelp.hxx)0
-rw-r--r--sfx2/inc/sfx2/sfxresid.hxx (renamed from sfx2/inc/sfxresid.hxx)6
-rw-r--r--sfx2/inc/sfx2/sfxsids.hrc76
-rw-r--r--sfx2/inc/sfx2/sfxuno.hxx3
-rw-r--r--sfx2/inc/sfx2/stbitem.hxx (renamed from sfx2/inc/stbitem.hxx)0
-rw-r--r--sfx2/inc/sfx2/tplpitem.hxx (renamed from sfx2/inc/tplpitem.hxx)0
-rw-r--r--sfx2/inc/sfx2/viewfac.hxx (renamed from sfx2/inc/viewfac.hxx)3
-rw-r--r--sfx2/inc/sfx2/viewsh.hxx3
-rw-r--r--sfx2/prj/build.lst28
-rw-r--r--sfx2/prj/d.lst47
-rw-r--r--sfx2/prj/makefile.mk (renamed from sfx2/source/config/makefile.mk)27
-rw-r--r--sfx2/qa/complex/docinfo/makefile.mk63
-rw-r--r--sfx2/qa/complex/framework/DocHelper/makefile.mk49
-rw-r--r--sfx2/qa/complex/framework/makefile.mk65
-rw-r--r--sfx2/qa/complex/standalonedocumentinfo/makefile.mk56
-rw-r--r--sfx2/qa/cppunit/makefile.mk81
-rw-r--r--sfx2/qa/unoapi/makefile.mk48
-rw-r--r--sfx2/sdi/makefile.mk59
-rw-r--r--sfx2/sdi/sfx.sdi2
-rw-r--r--sfx2/source/appl/app.cxx32
-rw-r--r--sfx2/source/appl/app.src59
-rw-r--r--sfx2/source/appl/appbas.cxx10
-rwxr-xr-x[-rw-r--r--]sfx2/source/appl/appbaslib.cxx3
-rw-r--r--sfx2/source/appl/appcfg.cxx4
-rw-r--r--sfx2/source/appl/appdata.cxx2
-rw-r--r--sfx2/source/appl/appinit.cxx13
-rw-r--r--sfx2/source/appl/appmain.cxx2
-rw-r--r--sfx2/source/appl/appmisc.cxx4
-rw-r--r--sfx2/source/appl/appopen.cxx51
-rw-r--r--sfx2/source/appl/appquit.cxx2
-rw-r--r--sfx2/source/appl/appreg.cxx4
-rw-r--r--sfx2/source/appl/appserv.cxx19
-rw-r--r--sfx2/source/appl/appuno.cxx231
-rw-r--r--sfx2/source/appl/fileobj.cxx2
-rw-r--r--sfx2/source/appl/imagemgr.cxx4
-rw-r--r--sfx2/source/appl/impldde.cxx2
-rw-r--r--sfx2/source/appl/linkmgr2.cxx2
-rw-r--r--sfx2/source/appl/lnkbase2.cxx2
-rw-r--r--sfx2/source/appl/makefile.mk158
-rw-r--r--sfx2/source/appl/module.cxx4
-rw-r--r--sfx2/source/appl/newhelp.cxx8
-rw-r--r--sfx2/source/appl/opengrf.cxx2
-rw-r--r--sfx2/source/appl/sfx.src91
-rw-r--r--sfx2/source/appl/sfxhelp.cxx7
-rw-r--r--sfx2/source/appl/shutdownicon.cxx10
-rw-r--r--sfx2/source/appl/workwin.cxx2
-rw-r--r--sfx2/source/bastyp/fltfnc.cxx4
-rw-r--r--sfx2/source/bastyp/frmhtmlw.cxx2
-rw-r--r--sfx2/source/bastyp/makefile.mk66
-rw-r--r--sfx2/source/bastyp/mieclip.cxx2
-rw-r--r--sfx2/source/bastyp/progress.cxx2
-rw-r--r--sfx2/source/bastyp/sfxresid.cxx2
-rw-r--r--sfx2/source/config/evntconf.cxx13
-rwxr-xr-xsfx2/source/control/dispatch.cxx2
-rw-r--r--sfx2/source/control/macrconf.cxx4
-rw-r--r--sfx2/source/control/makefile.mk73
-rw-r--r--sfx2/source/control/minfitem.cxx5
-rw-r--r--sfx2/source/control/msgpool.cxx2
-rw-r--r--sfx2/source/control/objface.cxx2
-rw-r--r--sfx2/source/control/querystatus.cxx2
-rw-r--r--sfx2/source/control/sfxstatuslistener.cxx2
-rw-r--r--sfx2/source/control/unoctitm.cxx2
-rw-r--r--sfx2/source/dialog/about.cxx3
-rw-r--r--sfx2/source/dialog/alienwarn.cxx2
-rw-r--r--sfx2/source/dialog/basedlgs.cxx4
-rw-r--r--sfx2/source/dialog/dinfedt.cxx4
-rw-r--r--sfx2/source/dialog/dockwin.cxx2
-rw-r--r--sfx2/source/dialog/filedlghelper.cxx44
-rw-r--r--sfx2/source/dialog/filtergrouping.cxx2
-rw-r--r--sfx2/source/dialog/mailmodel.cxx147
-rw-r--r--sfx2/source/dialog/mailmodelapi.cxx695
-rw-r--r--sfx2/source/dialog/makefile.mk127
-rw-r--r--sfx2/source/dialog/mgetempl.cxx14
-rw-r--r--sfx2/source/dialog/mgetempl.hrc1
-rw-r--r--sfx2/source/dialog/mgetempl.src8
-rw-r--r--sfx2/source/dialog/navigat.cxx2
-rw-r--r--sfx2/source/dialog/newstyle.cxx2
-rw-r--r--sfx2/source/dialog/passwd.cxx181
-rw-r--r--sfx2/source/dialog/passwd.hrc5
-rw-r--r--sfx2/source/dialog/passwd.src30
-rw-r--r--sfx2/source/dialog/printopt.cxx2
-rw-r--r--sfx2/source/dialog/recfloat.cxx4
-rwxr-xr-xsfx2/source/dialog/sfxdlg.cxx2
-rw-r--r--sfx2/source/dialog/splitwin.cxx2
-rw-r--r--sfx2/source/dialog/srchdlg.cxx2
-rw-r--r--sfx2/source/dialog/styledlg.cxx2
-rw-r--r--sfx2/source/dialog/tabdlg.cxx4
-rw-r--r--sfx2/source/dialog/templdlg.cxx16
-rw-r--r--sfx2/source/dialog/tplcitem.cxx5
-rw-r--r--sfx2/source/dialog/tplpitem.cxx5
-rw-r--r--sfx2/source/dialog/versdlg.cxx12
-rw-r--r--sfx2/source/doc/QuerySaveDocument.cxx7
-rw-r--r--sfx2/source/doc/docfac.cxx4
-rw-r--r--sfx2/source/doc/docfile.cxx27
-rw-r--r--sfx2/source/doc/docinsert.cxx2
-rw-r--r--sfx2/source/doc/doctdlg.cxx2
-rw-r--r--sfx2/source/doc/doctempl.cxx2
-rw-r--r--sfx2/source/doc/doctemplates.cxx2
-rw-r--r--sfx2/source/doc/docvor.cxx2
-rw-r--r--sfx2/source/doc/graphhelp.cxx2
-rw-r--r--sfx2/source/doc/guisaveas.cxx58
-rw-r--r--sfx2/source/doc/makefile.mk103
-rw-r--r--sfx2/source/doc/new.cxx8
-rw-r--r--sfx2/source/doc/objcont.cxx6
-rw-r--r--sfx2/source/doc/objmisc.cxx21
-rw-r--r--sfx2/source/doc/objserv.cxx7
-rw-r--r--sfx2/source/doc/objstor.cxx48
-rw-r--r--sfx2/source/doc/objuno.cxx2
-rw-r--r--sfx2/source/doc/objxtor.cxx34
-rw-r--r--sfx2/source/doc/querytemplate.cxx2
-rwxr-xr-x[-rw-r--r--]sfx2/source/doc/sfxacldetect.cxx4
-rw-r--r--sfx2/source/doc/sfxbasemodel.cxx210
-rwxr-xr-x[-rw-r--r--]sfx2/source/doc/syspathw32.cxx4
-rw-r--r--sfx2/source/inc/fltoptint.hxx13
-rw-r--r--sfx2/source/layout/makefile.mk56
-rw-r--r--sfx2/source/layout/sfxtabdialog.cxx4
-rw-r--r--sfx2/source/menu/makefile.mk55
-rw-r--r--sfx2/source/menu/mnuitem.cxx6
-rwxr-xr-xsfx2/source/menu/mnumgr.cxx2
-rw-r--r--sfx2/source/menu/virtmenu.cxx9
-rw-r--r--sfx2/source/notify/eventsupplier.cxx2
-rw-r--r--sfx2/source/notify/makefile.mk49
-rw-r--r--sfx2/source/statbar/makefile.mk47
-rw-r--r--sfx2/source/statbar/stbitem.cxx2
-rw-r--r--sfx2/source/toolbox/imgmgr.cxx4
-rw-r--r--sfx2/source/toolbox/makefile.mk48
-rw-r--r--sfx2/source/toolbox/tbxitem.cxx6
-rw-r--r--sfx2/source/view/frame.cxx2
-rw-r--r--sfx2/source/view/frame2.cxx2
-rw-r--r--sfx2/source/view/frmload.cxx11
-rw-r--r--sfx2/source/view/ipclient.cxx6
-rw-r--r--sfx2/source/view/makefile.mk65
-rw-r--r--sfx2/source/view/orgmgr.cxx2
-rw-r--r--sfx2/source/view/printer.cxx2
-rw-r--r--sfx2/source/view/prnmon.cxx495
-rw-r--r--sfx2/source/view/sfxbasecontroller.cxx10
-rw-r--r--sfx2/source/view/view.hrc6
-rw-r--r--sfx2/source/view/viewfac.cxx2
-rw-r--r--sfx2/source/view/viewfrm.cxx25
-rw-r--r--sfx2/source/view/viewfrm2.cxx2
-rw-r--r--sfx2/source/view/viewprn.cxx2
-rw-r--r--sfx2/source/view/viewsh.cxx899
-rw-r--r--sfx2/util/makefile.mk172
-rw-r--r--sfx2/workben/custompanel/makefile.mk120
-rwxr-xr-xshell/prj/build.lst2
-rwxr-xr-xshell/qa/makefile.mk2
-rw-r--r--shell/source/tools/lngconvex/makefile.mk4
-rw-r--r--shell/source/win32/simplemail/senddoc.cxx2
-rw-r--r--svx/Makefile36
-rw-r--r--svx/inc/galbrws2.hxx2
-rw-r--r--svx/inc/globlac.hrc223
-rw-r--r--svx/inc/pch/precompiled_svx.hxx1
-rw-r--r--svx/inc/svx/ActionDescriptionProvider.hxx (renamed from svx/inc/ActionDescriptionProvider.hxx)0
-rw-r--r--svx/inc/svx/DescriptionGenerator.hxx (renamed from svx/inc/DescriptionGenerator.hxx)0
-rw-r--r--svx/inc/svx/EnhancedCustomShape2d.hxx (renamed from svx/source/customshapes/EnhancedCustomShape2d.hxx)0
-rw-r--r--svx/inc/svx/EnhancedCustomShapeGeometry.hxx (renamed from svx/source/customshapes/EnhancedCustomShapeGeometry.hxx)0
-rw-r--r--svx/inc/svx/EnhancedCustomShapeTypeNames.hxx (renamed from svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx)0
-rw-r--r--svx/inc/svx/ParseContext.hxx (renamed from svx/inc/ParseContext.hxx)0
-rw-r--r--svx/inc/svx/UnoNamespaceMap.hxx (renamed from svx/inc/UnoNamespaceMap.hxx)0
-rw-r--r--svx/inc/svx/XPropertyTable.hxx (renamed from svx/inc/XPropertyTable.hxx)0
-rw-r--r--svx/inc/svx/anchorid.hxx (renamed from svx/inc/anchorid.hxx)0
-rw-r--r--svx/inc/svx/chrtitem.hxx (renamed from svx/inc/chrtitem.hxx)0
-rw-r--r--svx/inc/svx/clipboardctl.hxx (renamed from svx/inc/clipboardctl.hxx)0
-rw-r--r--svx/inc/svx/clipfmtitem.hxx (renamed from svx/inc/clipfmtitem.hxx)0
-rw-r--r--svx/inc/svx/connctrl.hxx (renamed from svx/inc/connctrl.hxx)0
-rw-r--r--svx/inc/svx/databaseregistrationui.hxx (renamed from svx/inc/databaseregistrationui.hxx)0
-rw-r--r--svx/inc/svx/dbexch.hrc (renamed from svx/inc/dbexch.hrc)0
-rw-r--r--svx/inc/svx/dialcontrol.hxx (renamed from svx/inc/dialcontrol.hxx)0
-rw-r--r--svx/inc/svx/dlgutil.hxx (renamed from svx/inc/dlgutil.hxx)0
-rw-r--r--svx/inc/svx/drawitem.hxx (renamed from svx/inc/drawitem.hxx)0
-rw-r--r--svx/inc/svx/flagsdef.hxx (renamed from svx/inc/flagsdef.hxx)0
-rw-r--r--svx/inc/svx/float3d.hxx2
-rw-r--r--svx/inc/svx/fmgridif.hxx (renamed from svx/inc/fmgridif.hxx)0
-rw-r--r--svx/inc/svx/fmobjfac.hxx (renamed from svx/inc/fmobjfac.hxx)0
-rw-r--r--svx/inc/svx/fmresids.hrc (renamed from svx/source/inc/fmresids.hrc)0
-rw-r--r--svx/inc/svx/fmsrccfg.hxx (renamed from svx/source/inc/fmsrccfg.hxx)0
-rw-r--r--svx/inc/svx/fmsrcimp.hxx (renamed from svx/source/inc/fmsrcimp.hxx)0
-rw-r--r--svx/inc/svx/fontlb.hxx (renamed from svx/inc/fontlb.hxx)0
-rw-r--r--svx/inc/svx/fontworkgallery.hxx (renamed from svx/inc/fontworkgallery.hxx)0
-rw-r--r--svx/inc/svx/formatpaintbrushctrl.hxx (renamed from svx/inc/formatpaintbrushctrl.hxx)0
-rw-r--r--svx/inc/svx/galbrws.hxx (renamed from svx/inc/galbrws.hxx)0
-rw-r--r--svx/inc/svx/galctrl.hxx (renamed from svx/inc/galctrl.hxx)0
-rw-r--r--svx/inc/svx/gallery.hxx (renamed from svx/inc/gallery.hxx)0
-rw-r--r--svx/inc/svx/galtheme.hxx (renamed from svx/inc/galtheme.hxx)0
-rw-r--r--svx/inc/svx/globl3d.hxx (renamed from svx/inc/globl3d.hxx)0
-rw-r--r--svx/inc/svx/grafctrl.hxx (renamed from svx/inc/grafctrl.hxx)0
-rw-r--r--svx/inc/svx/hlnkitem.hxx (renamed from svx/inc/hlnkitem.hxx)0
-rw-r--r--svx/inc/svx/htmlmode.hxx (renamed from svx/inc/htmlmode.hxx)0
-rw-r--r--svx/inc/svx/hyperdlg.hxx (renamed from svx/inc/hyperdlg.hxx)0
-rw-r--r--svx/inc/svx/hyprlink.hxx (renamed from svx/source/dialog/hyprlink.hxx)0
-rw-r--r--svx/inc/svx/imapdlg.hxx (renamed from svx/inc/imapdlg.hxx)0
-rw-r--r--svx/inc/svx/insctrl.hxx (renamed from svx/inc/insctrl.hxx)0
-rw-r--r--svx/inc/svx/layctrl.hxx (renamed from svx/inc/layctrl.hxx)0
-rw-r--r--svx/inc/svx/lboxctrl.hxx (renamed from svx/inc/lboxctrl.hxx)0
-rw-r--r--svx/inc/svx/linectrl.hxx (renamed from svx/inc/linectrl.hxx)0
-rw-r--r--svx/inc/svx/measctrl.hxx (renamed from svx/inc/measctrl.hxx)0
-rw-r--r--svx/inc/svx/modctrl.hxx (renamed from svx/inc/modctrl.hxx)0
-rw-r--r--svx/inc/svx/numvset.hxx (renamed from svx/inc/numvset.hxx)0
-rw-r--r--svx/inc/svx/objfac3d.hxx (renamed from svx/inc/objfac3d.hxx)0
-rw-r--r--svx/inc/svx/ofaitem.hxx (renamed from svx/inc/ofaitem.hxx)0
-rw-r--r--svx/inc/svx/optgenrl.hxx (renamed from svx/inc/optgenrl.hxx)0
-rw-r--r--svx/inc/svx/optgrid.hxx (renamed from svx/inc/optgrid.hxx)0
-rw-r--r--svx/inc/svx/orienthelper.hxx (renamed from svx/inc/orienthelper.hxx)0
-rw-r--r--svx/inc/svx/passwd.hxx (renamed from svx/inc/passwd.hxx)0
-rw-r--r--svx/inc/svx/pfiledlg.hxx (renamed from svx/inc/pfiledlg.hxx)0
-rw-r--r--svx/inc/svx/postattr.hxx (renamed from svx/inc/postattr.hxx)0
-rw-r--r--svx/inc/svx/prtqry.hxx (renamed from svx/inc/prtqry.hxx)0
-rw-r--r--svx/inc/svx/pszctrl.hxx (renamed from svx/inc/pszctrl.hxx)0
-rw-r--r--svx/inc/svx/relfld.hxx (renamed from svx/inc/relfld.hxx)0
-rw-r--r--svx/inc/svx/rotmodit.hxx (renamed from svx/inc/rotmodit.hxx)0
-rw-r--r--svx/inc/svx/rubydialog.hxx (renamed from svx/inc/rubydialog.hxx)0
-rw-r--r--svx/inc/svx/rulritem.hxx (renamed from svx/inc/rulritem.hxx)0
-rw-r--r--svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx9
-rw-r--r--svx/inc/svx/sdrpagewindow.hxx1
-rw-r--r--svx/inc/svx/sdrpaintwindow.hxx (renamed from svx/inc/sdrpaintwindow.hxx)0
-rw-r--r--svx/inc/svx/selctrl.hxx (renamed from svx/inc/selctrl.hxx)0
-rw-r--r--svx/inc/svx/splitcelldlg.hxx2
-rw-r--r--svx/inc/svx/srchdlg.hxx (renamed from svx/inc/srchdlg.hxx)2
-rw-r--r--svx/inc/svx/svdglob.hxx (renamed from svx/inc/svdglob.hxx)0
-rw-r--r--svx/inc/svx/svditer.hxx (renamed from svx/inc/svditer.hxx)0
-rw-r--r--svx/inc/svx/svditext.hxx (renamed from svx/source/svdraw/svditext.hxx)0
-rw-r--r--svx/inc/svx/svdograf.hxx3
-rw-r--r--svx/inc/svx/svdpagv.hxx3
-rw-r--r--svx/inc/svx/svdpntv.hxx3
-rw-r--r--svx/inc/svx/svdstr.hrc (renamed from svx/inc/svdstr.hrc)0
-rw-r--r--svx/inc/svx/svdviter.hxx (renamed from svx/inc/svdviter.hxx)0
-rw-r--r--svx/inc/svx/svimbase.hxx (renamed from svx/inc/svimbase.hxx)0
-rw-r--r--svx/inc/svx/svxerr.hxx (renamed from svx/inc/svxerr.hxx)0
-rw-r--r--svx/inc/svx/svxgrahicitem.hxx (renamed from svx/inc/svxgrahicitem.hxx)0
-rw-r--r--svx/inc/svx/swframeexample.hxx (renamed from svx/inc/swframeexample.hxx)0
-rw-r--r--svx/inc/svx/swframeposstrings.hxx (renamed from svx/inc/swframeposstrings.hxx)0
-rw-r--r--svx/inc/svx/swframevalidation.hxx (renamed from svx/inc/swframevalidation.hxx)0
-rw-r--r--svx/inc/svx/tabarea.hxx2
-rw-r--r--svx/inc/svx/tabline.hxx2
-rw-r--r--svx/inc/svx/tbxalign.hxx (renamed from svx/inc/tbxalign.hxx)0
-rw-r--r--svx/inc/svx/tbxcolor.hxx (renamed from svx/inc/tbxcolor.hxx)0
-rw-r--r--svx/inc/svx/tbxctl.hxx (renamed from svx/inc/tbxctl.hxx)0
-rw-r--r--svx/inc/svx/tbxcustomshapes.hxx (renamed from svx/inc/tbxcustomshapes.hxx)0
-rw-r--r--svx/inc/svx/tbxdraw.hxx (renamed from svx/inc/tbxdraw.hxx)0
-rw-r--r--svx/inc/svx/txencbox.hxx (renamed from svx/inc/txencbox.hxx)0
-rw-r--r--svx/inc/svx/txenctab.hxx (renamed from svx/inc/txenctab.hxx)0
-rw-r--r--svx/inc/svx/unoapi.hxx (renamed from svx/inc/unoapi.hxx)0
-rw-r--r--svx/inc/svx/unofill.hxx (renamed from svx/inc/unofill.hxx)0
-rw-r--r--svx/inc/svx/unomaster.hxx (renamed from svx/inc/unomaster.hxx)0
-rw-r--r--svx/inc/svx/unopool.hxx (renamed from svx/inc/unopool.hxx)0
-rw-r--r--svx/inc/svx/unoshcol.hxx (renamed from svx/inc/unoshcol.hxx)0
-rw-r--r--svx/inc/svx/verttexttbxctrl.hxx (renamed from svx/inc/verttexttbxctrl.hxx)0
-rw-r--r--svx/inc/svx/wrapfield.hxx (renamed from svx/inc/wrapfield.hxx)0
-rw-r--r--svx/inc/svx/xattr.hxx (renamed from svx/inc/xattr.hxx)0
-rw-r--r--svx/inc/svx/xexch.hxx (renamed from svx/inc/xexch.hxx)0
-rw-r--r--svx/inc/svx/xmleohlp.hxx (renamed from svx/inc/xmleohlp.hxx)0
-rw-r--r--svx/inc/svx/xmlexchg.hxx (renamed from svx/inc/xmlexchg.hxx)0
-rw-r--r--svx/inc/svx/xmlgrhlp.hxx (renamed from svx/inc/xmlgrhlp.hxx)0
-rw-r--r--svx/inc/svx/xmlsecctrl.hxx (renamed from svx/inc/xmlsecctrl.hxx)0
-rw-r--r--svx/inc/svx/xoutbmp.hxx (renamed from svx/inc/xoutbmp.hxx)0
-rw-r--r--svx/inc/svx/zoom_def.hxx (renamed from svx/inc/zoom_def.hxx)0
-rw-r--r--svx/inc/svx/zoomctrl.hxx (renamed from svx/inc/zoomctrl.hxx)0
-rw-r--r--svx/prj/build.lst2
-rw-r--r--svx/prj/d.lst452
-rw-r--r--svx/prj/makefile.mk2
-rw-r--r--svx/prj/target_lib_svx.mk261
-rw-r--r--svx/prj/target_lib_svxcore.mk449
-rw-r--r--svx/prj/target_module_svx.mk52
-rw-r--r--svx/prj/target_package_inc.mk154
-rw-r--r--svx/prj/target_res_svx.mk112
-rw-r--r--svx/sdi/svx.sdi28
-rw-r--r--svx/source/accessibility/AccessibleControlShape.cxx6
-rwxr-xr-xsvx/source/accessibility/AccessibleShape.cxx6
-rw-r--r--svx/source/accessibility/DescriptionGenerator.cxx6
-rw-r--r--svx/source/accessibility/GraphCtlAccessibleContext.cxx2
-rwxr-xr-xsvx/source/accessibility/ShapeTypeHandler.cxx2
-rw-r--r--svx/source/customshapes/EnhancedCustomShape2d.cxx6
-rw-r--r--svx/source/customshapes/EnhancedCustomShape3d.cxx2
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeEngine.cxx8
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeFontWork.cxx4
-rwxr-xr-x[-rw-r--r--]svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx2
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeGeometry.cxx2
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeHandle.cxx4
-rw-r--r--svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx2
-rw-r--r--svx/source/customshapes/tbxcustomshapes.cxx2
-rw-r--r--svx/source/dialog/_contdlg.cxx4
-rw-r--r--svx/source/dialog/connctrl.cxx4
-rw-r--r--svx/source/dialog/contwnd.cxx4
-rw-r--r--svx/source/dialog/databaseregistrationui.cxx2
-rw-r--r--svx/source/dialog/dialcontrol.cxx2
-rw-r--r--svx/source/dialog/dlgutil.cxx2
-rw-r--r--svx/source/dialog/docrecovery.hrc4
-rw-r--r--svx/source/dialog/fontlb.cxx2
-rw-r--r--svx/source/dialog/fontwork.cxx2
-rw-r--r--svx/source/dialog/graphctl.cxx4
-rw-r--r--svx/source/dialog/hdft.cxx4
-rw-r--r--svx/source/dialog/hyperdlg.cxx2
-rw-r--r--svx/source/dialog/hyprlink.cxx4
-rw-r--r--svx/source/dialog/imapdlg.cxx4
-rw-r--r--svx/source/dialog/imapwnd.cxx2
-rw-r--r--svx/source/dialog/measctrl.cxx4
-rw-r--r--svx/source/dialog/optgrid.cxx4
-rw-r--r--svx/source/dialog/orienthelper.cxx4
-rw-r--r--svx/source/dialog/passwd.cxx2
-rw-r--r--svx/source/dialog/pfiledlg.cxx2
-rw-r--r--svx/source/dialog/prtqry.cxx2
-rw-r--r--svx/source/dialog/relfld.cxx2
-rw-r--r--svx/source/dialog/rlrcitem.cxx2
-rw-r--r--svx/source/dialog/rubydialog.cxx2
-rw-r--r--svx/source/dialog/rulritem.cxx2
-rw-r--r--svx/source/dialog/simptabl.cxx1
-rw-r--r--svx/source/dialog/srchctrl.cxx2
-rw-r--r--svx/source/dialog/srchdlg.cxx4
-rw-r--r--svx/source/dialog/svxbmpnumvalueset.cxx10
-rw-r--r--svx/source/dialog/svxgrahicitem.cxx2
-rw-r--r--svx/source/dialog/svxruler.cxx2
-rw-r--r--svx/source/dialog/swframeexample.cxx2
-rw-r--r--svx/source/dialog/swframeposstrings.cxx2
-rw-r--r--svx/source/dialog/swframeposstrings.src2
-rw-r--r--svx/source/dialog/txencbox.cxx4
-rw-r--r--svx/source/dialog/txenctab.cxx2
-rw-r--r--svx/source/dialog/wrapfield.cxx2
-rw-r--r--svx/source/engine3d/cube3d.cxx6
-rw-r--r--svx/source/engine3d/extrud3d.cxx6
-rw-r--r--svx/source/engine3d/float3d.cxx8
-rw-r--r--svx/source/engine3d/helperhittest3d.cxx2
-rw-r--r--svx/source/engine3d/lathe3d.cxx6
-rw-r--r--svx/source/engine3d/obj3d.cxx8
-rw-r--r--svx/source/engine3d/objfac3d.cxx4
-rw-r--r--svx/source/engine3d/polygn3d.cxx2
-rw-r--r--svx/source/engine3d/polysc3d.cxx4
-rw-r--r--svx/source/engine3d/scene3d.cxx8
-rw-r--r--svx/source/engine3d/sphere3d.cxx6
-rw-r--r--svx/source/engine3d/view3d.cxx6
-rw-r--r--svx/source/engine3d/view3d1.cxx4
-rw-r--r--svx/source/fmcomp/fmgridcl.cxx6
-rw-r--r--svx/source/fmcomp/fmgridif.cxx2
-rw-r--r--svx/source/fmcomp/gridcell.cxx8
-rw-r--r--svx/source/fmcomp/gridctrl.cxx2
-rw-r--r--svx/source/fmcomp/gridctrl.src2
-rw-r--r--svx/source/fmcomp/xmlexchg.cxx2
-rw-r--r--svx/source/form/ParseContext.cxx4
-rw-r--r--svx/source/form/databaselocationinput.cxx2
-rw-r--r--svx/source/form/datanavi.cxx6
-rw-r--r--svx/source/form/datanavi.src2
-rw-r--r--svx/source/form/filtnav.cxx2
-rw-r--r--svx/source/form/filtnav.src29
-rw-r--r--svx/source/form/fmPropBrw.cxx2
-rw-r--r--svx/source/form/fmexch.cxx2
-rw-r--r--svx/source/form/fmexpl.cxx4
-rw-r--r--svx/source/form/fmexpl.src2
-rw-r--r--svx/source/form/fmobj.cxx2
-rw-r--r--svx/source/form/fmobjfac.cxx4
-rw-r--r--svx/source/form/fmpage.cxx4
-rw-r--r--svx/source/form/fmpgeimp.cxx6
-rw-r--r--svx/source/form/fmshell.cxx10
-rw-r--r--svx/source/form/fmshimp.cxx119
-rw-r--r--svx/source/form/fmsrccfg.cxx2
-rw-r--r--svx/source/form/fmsrcimp.cxx6
-rw-r--r--svx/source/form/fmstring.src2
-rw-r--r--svx/source/form/fmtextcontroldialogs.cxx2
-rw-r--r--svx/source/form/fmtextcontrolshell.cxx2
-rw-r--r--svx/source/form/fmundo.cxx4
-rw-r--r--svx/source/form/fmview.cxx8
-rw-r--r--svx/source/form/fmvwimp.cxx252
-rw-r--r--svx/source/form/formcontrolfactory.cxx2
-rw-r--r--svx/source/form/formcontroller.cxx109
-rw-r--r--svx/source/form/formshell.src2
-rw-r--r--svx/source/form/navigatortree.cxx6
-rw-r--r--svx/source/form/navigatortreemodel.cxx4
-rw-r--r--svx/source/form/sqlparserclient.cxx2
-rw-r--r--svx/source/form/tabwin.cxx2
-rw-r--r--svx/source/form/tbxform.cxx6
-rw-r--r--svx/source/form/typemap.cxx2
-rw-r--r--svx/source/gallery2/galbrws.cxx2
-rw-r--r--svx/source/gallery2/galbrws1.cxx2
-rw-r--r--svx/source/gallery2/galbrws1.hxx2
-rw-r--r--svx/source/gallery2/galbrws2.cxx6
-rw-r--r--svx/source/gallery2/galctrl.cxx4
-rw-r--r--svx/source/gallery2/galexpl.cxx6
-rw-r--r--svx/source/gallery2/gallery1.cxx4
-rw-r--r--svx/source/gallery2/galmisc.cxx2
-rw-r--r--svx/source/gallery2/galtheme.cxx2
-rw-r--r--svx/source/gengal/gengal.cxx2
-rw-r--r--svx/source/inc/fmshimp.hxx2
-rw-r--r--svx/source/inc/fmvwimp.hxx23
-rw-r--r--svx/source/inc/formcontroller.hxx3
-rw-r--r--svx/source/inc/sqlparserclient.hxx2
-rw-r--r--svx/source/items/chrtitem.cxx2
-rw-r--r--svx/source/items/clipfmtitem.cxx2
-rw-r--r--svx/source/items/drawitem.cxx2
-rw-r--r--svx/source/items/hlnkitem.cxx2
-rw-r--r--svx/source/items/ofaitem.cxx2
-rw-r--r--svx/source/items/postattr.cxx2
-rw-r--r--svx/source/items/rotmodit.cxx2
-rw-r--r--svx/source/items/svxerr.cxx2
-rw-r--r--svx/source/items/svxerr.src2
-rw-r--r--svx/source/mnuctrls/clipboardctl.cxx4
-rw-r--r--svx/source/mnuctrls/fntszctl.cxx2
-rw-r--r--svx/source/mnuctrls/makefile.mk2
-rw-r--r--svx/source/sdr/contact/objectcontactofobjlistpainter.cxx21
-rw-r--r--svx/source/sdr/contact/objectcontactofpageview.cxx4
-rw-r--r--svx/source/sdr/contact/viewcontactofgraphic.cxx4
-rw-r--r--svx/source/sdr/contact/viewcontactofsdrobj.cxx2
-rw-r--r--svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx2
-rw-r--r--svx/source/sdr/contact/viewcontactofsdrpage.cxx4
-rw-r--r--svx/source/sdr/contact/viewcontactofunocontrol.cxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofgraphic.cxx36
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofpageobj.cxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.cxx2
-rw-r--r--svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx2
-rw-r--r--svx/source/sdr/primitive2d/primitivefactory2d.cxx2
-rw-r--r--svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx2
-rw-r--r--svx/source/sdr/properties/e3dsceneproperties.cxx2
-rw-r--r--svx/source/sdr/properties/itemsettools.cxx2
-rw-r--r--svx/source/sdr/properties/properties.cxx2
-rw-r--r--svx/source/src/errtxt.src515
-rw-r--r--svx/source/src/makefile.mk5
-rw-r--r--svx/source/stbctrls/insctrl.cxx2
-rw-r--r--svx/source/stbctrls/makefile.mk12
-rw-r--r--svx/source/stbctrls/modctrl.cxx2
-rw-r--r--svx/source/stbctrls/pszctrl.cxx4
-rw-r--r--svx/source/stbctrls/selctrl.cxx2
-rw-r--r--svx/source/stbctrls/xmlsecctrl.cxx4
-rw-r--r--svx/source/stbctrls/zoomctrl.cxx2
-rw-r--r--svx/source/svdraw/ActionDescriptionProvider.cxx6
-rw-r--r--svx/source/svdraw/sdrpagewindow.cxx6
-rw-r--r--svx/source/svdraw/sdrpaintwindow.cxx2
-rw-r--r--svx/source/svdraw/svdattr.cxx6
-rw-r--r--svx/source/svdraw/svdcrtv.cxx4
-rw-r--r--svx/source/svdraw/svddrgmt.cxx10
-rw-r--r--svx/source/svdraw/svddrgv.cxx8
-rw-r--r--svx/source/svdraw/svdedtv.cxx4
-rw-r--r--svx/source/svdraw/svdedtv1.cxx8
-rw-r--r--svx/source/svdraw/svdedtv2.cxx6
-rw-r--r--svx/source/svdraw/svdedxv.cxx12
-rw-r--r--svx/source/svdraw/svdetc.cxx8
-rw-r--r--svx/source/svdraw/svdfmtf.cxx2
-rw-r--r--svx/source/svdraw/svdglev.cxx4
-rw-r--r--svx/source/svdraw/svdhdl.cxx6
-rw-r--r--svx/source/svdraw/svdibrow.cxx4
-rw-r--r--svx/source/svdraw/svditer.cxx2
-rw-r--r--svx/source/svdraw/svdlayer.cxx4
-rw-r--r--svx/source/svdraw/svdmark.cxx6
-rw-r--r--svx/source/svdraw/svdmodel.cxx10
-rw-r--r--svx/source/svdraw/svdmrkv.cxx8
-rw-r--r--svx/source/svdraw/svdmrkv1.cxx2
-rw-r--r--svx/source/svdraw/svdoashp.cxx14
-rw-r--r--svx/source/svdraw/svdoattr.cxx2
-rw-r--r--svx/source/svdraw/svdobj.cxx6
-rw-r--r--svx/source/svdraw/svdocapt.cxx4
-rw-r--r--svx/source/svdraw/svdocirc.cxx4
-rw-r--r--svx/source/svdraw/svdoedge.cxx4
-rw-r--r--svx/source/svdraw/svdograf.cxx198
-rw-r--r--svx/source/svdraw/svdogrp.cxx6
-rw-r--r--svx/source/svdraw/svdomeas.cxx6
-rw-r--r--svx/source/svdraw/svdomedia.cxx4
-rw-r--r--svx/source/svdraw/svdoole2.cxx4
-rw-r--r--svx/source/svdraw/svdopage.cxx4
-rw-r--r--svx/source/svdraw/svdopath.cxx4
-rw-r--r--svx/source/svdraw/svdorect.cxx4
-rw-r--r--svx/source/svdraw/svdotext.cxx6
-rw-r--r--svx/source/svdraw/svdotextdecomposition.cxx2
-rw-r--r--svx/source/svdraw/svdotextpathdecomposition.cxx2
-rw-r--r--svx/source/svdraw/svdotxat.cxx2
-rw-r--r--svx/source/svdraw/svdotxdr.cxx4
-rw-r--r--svx/source/svdraw/svdotxed.cxx2
-rw-r--r--svx/source/svdraw/svdotxln.cxx2
-rw-r--r--svx/source/svdraw/svdotxtr.cxx4
-rw-r--r--svx/source/svdraw/svdouno.cxx8
-rw-r--r--svx/source/svdraw/svdpage.cxx2
-rw-r--r--svx/source/svdraw/svdpagv.cxx19
-rw-r--r--[-rwxr-xr-x]svx/source/svdraw/svdpntv.cxx12
-rw-r--r--svx/source/svdraw/svdpoev.cxx4
-rw-r--r--svx/source/svdraw/svdsnpv.cxx4
-rw-r--r--svx/source/svdraw/svdstr.src2
-rw-r--r--svx/source/svdraw/svdundo.cxx8
-rw-r--r--svx/source/svdraw/svdview.cxx6
-rw-r--r--svx/source/svdraw/svdviter.cxx4
-rw-r--r--svx/source/svdraw/svdxcgv.cxx10
-rw-r--r--svx/source/table/accessiblecell.cxx2
-rw-r--r--svx/source/table/cellcursor.cxx4
-rw-r--r--svx/source/table/celleditsource.cxx2
-rw-r--r--svx/source/table/svdotable.cxx4
-rw-r--r--svx/source/table/tablecontroller.cxx6
-rw-r--r--svx/source/table/tablehandles.cxx2
-rw-r--r--svx/source/table/tablelayouter.cxx4
-rw-r--r--svx/source/table/tablemodel.cxx4
-rw-r--r--svx/source/tbxctrls/colrctrl.cxx6
-rw-r--r--svx/source/tbxctrls/extrusioncontrols.cxx3
-rw-r--r--svx/source/tbxctrls/fillctrl.cxx4
-rw-r--r--svx/source/tbxctrls/fontworkgallery.cxx6
-rw-r--r--svx/source/tbxctrls/formatpaintbrushctrl.cxx2
-rw-r--r--svx/source/tbxctrls/grafctrl.cxx4
-rw-r--r--svx/source/tbxctrls/itemwin.cxx6
-rw-r--r--svx/source/tbxctrls/layctrl.cxx2
-rw-r--r--svx/source/tbxctrls/lboxctrl.cxx2
-rw-r--r--svx/source/tbxctrls/linectrl.cxx6
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx24
-rw-r--r--svx/source/tbxctrls/tbxalign.cxx4
-rw-r--r--svx/source/tbxctrls/tbxcolor.cxx2
-rw-r--r--svx/source/tbxctrls/tbxdrctl.cxx6
-rw-r--r--svx/source/tbxctrls/verttexttbxctrl.cxx2
-rw-r--r--svx/source/toolbars/extrusionbar.cxx2
-rw-r--r--svx/source/toolbars/fontworkbar.cxx8
-rw-r--r--svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx2
-rw-r--r--svx/source/unodraw/UnoGraphicExporter.cxx11
-rw-r--r--svx/source/unodraw/UnoNameItemTable.cxx2
-rw-r--r--svx/source/unodraw/UnoNamespaceMap.cxx4
-rw-r--r--svx/source/unodraw/XPropertyTable.cxx4
-rw-r--r--svx/source/unodraw/unobtabl.cxx4
-rw-r--r--svx/source/unodraw/unoctabl.cxx4
-rw-r--r--svx/source/unodraw/unodtabl.cxx2
-rw-r--r--svx/source/unodraw/unogtabl.cxx2
-rw-r--r--svx/source/unodraw/unohtabl.cxx2
-rw-r--r--svx/source/unodraw/unomod.cxx6
-rw-r--r--svx/source/unodraw/unomtabl.cxx4
-rw-r--r--svx/source/unodraw/unopage.cxx4
-rw-r--r--svx/source/unodraw/unopool.cxx4
-rw-r--r--svx/source/unodraw/unoprov.cxx4
-rw-r--r--svx/source/unodraw/unoshap2.cxx2
-rw-r--r--svx/source/unodraw/unoshap3.cxx4
-rw-r--r--svx/source/unodraw/unoshap4.cxx6
-rw-r--r--svx/source/unodraw/unoshape.cxx10
-rw-r--r--svx/source/unodraw/unoshcol.cxx2
-rw-r--r--svx/source/unodraw/unoshtxt.cxx2
-rw-r--r--svx/source/unodraw/unottabl.cxx2
-rw-r--r--svx/source/unogallery/unogalitem.cxx2
-rw-r--r--svx/source/unogallery/unogaltheme.cxx2
-rw-r--r--svx/source/xml/xmleohlp.cxx2
-rw-r--r--svx/source/xml/xmlexport.cxx4
-rw-r--r--svx/source/xml/xmlgrhlp.cxx15
-rw-r--r--svx/source/xml/xmlxtexp.cxx2
-rw-r--r--svx/source/xml/xmlxtimp.cxx2
-rw-r--r--svx/source/xoutdev/_xoutbmp.cxx2
-rw-r--r--svx/source/xoutdev/xattr.cxx6
-rw-r--r--svx/source/xoutdev/xattr2.cxx2
-rw-r--r--svx/source/xoutdev/xattrbmp.cxx4
-rw-r--r--svx/source/xoutdev/xexch.cxx2
-rw-r--r--svx/source/xoutdev/xpool.cxx2
-rw-r--r--svx/source/xoutdev/xtabbtmp.cxx2
-rw-r--r--svx/source/xoutdev/xtabcolr.cxx2
-rw-r--r--svx/source/xoutdev/xtabdash.cxx2
-rw-r--r--svx/source/xoutdev/xtabgrdt.cxx2
-rw-r--r--svx/source/xoutdev/xtabhtch.cxx4
-rw-r--r--svx/source/xoutdev/xtablend.cxx2
-rw-r--r--svx/util/cui.dxp1
-rw-r--r--svx/util/cui.flt139
-rw-r--r--svx/util/dl.flt139
-rw-r--r--svx/util/makefile.mk102
-rw-r--r--svx/util/svx.flt134
-rw-r--r--sysui/desktop/macosx/makefile.mk3
-rw-r--r--ucb/prj/build.lst2
-rw-r--r--ucb/source/ucp/file/shell.cxx38
-rw-r--r--ucb/source/ucp/webdav/LinkSequence.cxx6
-rw-r--r--ucb/source/ucp/webdav/LockEntrySequence.cxx6
-rw-r--r--ucb/source/ucp/webdav/LockSequence.cxx28
-rw-r--r--ucb/source/ucp/webdav/NeonHeadRequest.cxx91
-rw-r--r--ucb/source/ucp/webdav/NeonPropFindRequest.cxx20
-rw-r--r--ucb/source/ucp/webdav/NeonSession.cxx20
-rw-r--r--ucb/source/ucp/webdav/NeonUri.cxx20
-rw-r--r--ucb/source/ucp/webdav/UCBDeadPropertyValue.cxx6
-rw-r--r--ucb/source/ucp/webdav/webdavcontent.cxx59
-rw-r--r--uui/prj/build.lst2
-rw-r--r--uui/source/filechanged.src2
-rw-r--r--uui/source/sslwarndlg.src9
-rw-r--r--vbahelper/inc/vbahelper/vbadocumentsbase.hxx8
-rwxr-xr-xvbahelper/inc/vbahelper/vbaeventshelperbase.hxx26
-rw-r--r--vbahelper/inc/vbahelper/vbahelper.hxx7
-rw-r--r--vbahelper/prj/build.lst2
-rw-r--r--vbahelper/source/msforms/makefile.mk9
-rw-r--r--vbahelper/source/msforms/vbacontrol.cxx1
-rw-r--r--vbahelper/source/msforms/vbauserform.cxx36
-rw-r--r--vbahelper/source/vbahelper/makefile.mk8
-rw-r--r--vbahelper/source/vbahelper/vbaapplicationbase.cxx57
-rw-r--r--vbahelper/source/vbahelper/vbacommandbarcontrol.cxx40
-rw-r--r--vbahelper/source/vbahelper/vbadocumentbase.cxx95
-rw-r--r--vbahelper/source/vbahelper/vbadocumentsbase.cxx23
-rwxr-xr-xvbahelper/source/vbahelper/vbaeventshelperbase.cxx29
-rw-r--r--vbahelper/source/vbahelper/vbahelper.cxx286
-rw-r--r--xmloff/Library_xo.mk401
-rw-r--r--xmloff/Library_xof.mk112
-rw-r--r--xmloff/Makefile38
-rw-r--r--xmloff/Module_xmloff.mk40
-rw-r--r--xmloff/Package_dtd.mk45
-rw-r--r--xmloff/Package_inc.mk131
-rwxr-xr-xxmloff/inc/forms/form_handler_factory.hxx50
-rwxr-xr-xxmloff/inc/forms/property_handler.hxx84
-rwxr-xr-xxmloff/inc/forms/property_ids.hxx56
-rw-r--r--xmloff/inc/functional.hxx27
-rw-r--r--xmloff/inc/makefile.mk48
-rw-r--r--xmloff/inc/txtflde.hxx2
-rw-r--r--xmloff/inc/xmloff/DashStyle.hxx (renamed from xmloff/inc/DashStyle.hxx)0
-rw-r--r--xmloff/inc/xmloff/GradientStyle.hxx (renamed from xmloff/inc/GradientStyle.hxx)0
-rw-r--r--xmloff/inc/xmloff/HatchStyle.hxx (renamed from xmloff/inc/HatchStyle.hxx)0
-rw-r--r--xmloff/inc/xmloff/ImageStyle.hxx (renamed from xmloff/inc/ImageStyle.hxx)0
-rw-r--r--xmloff/inc/xmloff/MarkerStyle.hxx (renamed from xmloff/inc/MarkerStyle.hxx)0
-rw-r--r--xmloff/inc/xmloff/VisAreaContext.hxx (renamed from xmloff/inc/VisAreaContext.hxx)0
-rw-r--r--xmloff/inc/xmloff/VisAreaExport.hxx (renamed from xmloff/inc/VisAreaExport.hxx)0
-rw-r--r--xmloff/inc/xmloff/XMLEmbeddedObjectExportFilter.hxx (renamed from xmloff/inc/XMLEmbeddedObjectExportFilter.hxx)0
-rw-r--r--xmloff/inc/xmloff/XMLFilterServiceNames.h (renamed from xmloff/inc/XMLFilterServiceNames.h)0
-rw-r--r--xmloff/inc/xmloff/XMLTextListAutoStylePool.hxx (renamed from xmloff/inc/XMLTextListAutoStylePool.hxx)0
-rw-r--r--xmloff/inc/xmloff/XMLTextShapeImportHelper.hxx (renamed from xmloff/source/text/XMLTextShapeImportHelper.hxx)0
-rw-r--r--xmloff/inc/xmloff/functional.hxx54
-rw-r--r--xmloff/inc/xmloff/i18nmap.hxx (renamed from xmloff/inc/i18nmap.hxx)0
-rw-r--r--xmloff/inc/xmloff/numehelp.hxx (renamed from xmloff/inc/numehelp.hxx)0
-rw-r--r--xmloff/inc/xmloff/txtimp.hxx2
-rw-r--r--xmloff/inc/xmloff/txtimppr.hxx (renamed from xmloff/inc/txtimppr.hxx)0
-rw-r--r--xmloff/inc/xmloff/unoatrcn.hxx (renamed from xmloff/inc/unoatrcn.hxx)0
-rw-r--r--xmloff/inc/xmloff/xformsexport.hxx (renamed from xmloff/inc/xformsexport.hxx)0
-rw-r--r--xmloff/inc/xmloff/xformsimport.hxx (renamed from xmloff/inc/xformsimport.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmlcnitm.hxx (renamed from xmloff/inc/xmlcnitm.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmlerror.hxx (renamed from xmloff/inc/xmlerror.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmlkywd.hxx1998
-rw-r--r--xmloff/inc/xmloff/xmlnmspe.hxx (renamed from xmloff/inc/xmlnmspe.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmlreg.hxx (renamed from xmloff/inc/xmlreg.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmltabe.hxx (renamed from xmloff/inc/xmltabe.hxx)0
-rw-r--r--xmloff/inc/xmloff/xmltoken.hxx3
-rw-r--r--xmloff/inc/xmlversion.hxx2
-rw-r--r--xmloff/prj/build.lst20
-rw-r--r--xmloff/prj/d.lst120
-rw-r--r--xmloff/prj/makefile.mk (renamed from sfx2/source/inet/makefile.mk)28
-rw-r--r--xmloff/source/chart/PropertyMap.hxx2
-rwxr-xr-xxmloff/source/chart/SchXMLCalculationSettingsContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLChartContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLExport.cxx2
-rw-r--r--xmloff/source/chart/SchXMLImport.cxx2
-rw-r--r--xmloff/source/chart/SchXMLParagraphContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLPlotAreaContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLSeries2Context.cxx2
-rw-r--r--xmloff/source/chart/SchXMLTableContext.cxx8
-rwxr-xr-xxmloff/source/chart/SchXMLTextListContext.cxx2
-rw-r--r--xmloff/source/chart/SchXMLTools.cxx2
-rw-r--r--xmloff/source/chart/XMLChartStyleContext.cxx2
-rw-r--r--xmloff/source/chart/XMLLabelSeparatorContext.cxx2
-rw-r--r--xmloff/source/chart/XMLSymbolImageContext.cxx2
-rw-r--r--xmloff/source/chart/contexts.cxx2
-rw-r--r--xmloff/source/chart/makefile.mk70
-rw-r--r--xmloff/source/core/DocumentSettingsContext.cxx2
-rw-r--r--xmloff/source/core/DomBuilderContext.cxx2
-rw-r--r--xmloff/source/core/DomExport.cxx2
-rw-r--r--xmloff/source/core/RDFaExportHelper.cxx2
-rw-r--r--xmloff/source/core/SettingsExportHelper.cxx2
-rw-r--r--xmloff/source/core/XMLBase64Export.cxx2
-rw-r--r--xmloff/source/core/XMLEmbeddedObjectExportFilter.cxx2
-rw-r--r--xmloff/source/core/XMLEmbeddedObjectImportContext.cxx6
-rw-r--r--xmloff/source/core/facreg.cxx2
-rw-r--r--xmloff/source/core/i18nmap.cxx2
-rw-r--r--xmloff/source/core/makefile.mk76
-rw-r--r--xmloff/source/core/nmspmap.cxx2
-rw-r--r--xmloff/source/core/unoatrcn.cxx2
-rw-r--r--xmloff/source/core/xmlcnitm.cxx2
-rw-r--r--xmloff/source/core/xmlerror.cxx2
-rw-r--r--xmloff/source/core/xmlexp.cxx20
-rw-r--r--xmloff/source/core/xmlimp.cxx4
-rw-r--r--xmloff/source/core/xmltoken.cxx3
-rw-r--r--xmloff/source/core/xmluconv.cxx88
-rw-r--r--xmloff/source/draw/XMLGraphicsDefaultStyle.cxx20
-rw-r--r--xmloff/source/draw/XMLImageMapContext.cxx4
-rw-r--r--xmloff/source/draw/XMLImageMapExport.cxx2
-rw-r--r--xmloff/source/draw/XMLNumberStyles.cxx2
-rw-r--r--xmloff/source/draw/XMLReplacementImageContext.cxx2
-rw-r--r--xmloff/source/draw/XMLShapeStyleContext.cxx4
-rw-r--r--xmloff/source/draw/animationexport.cxx2
-rw-r--r--xmloff/source/draw/animationimport.cxx2
-rw-r--r--xmloff/source/draw/animexp.cxx2
-rw-r--r--xmloff/source/draw/animimp.cxx2
-rw-r--r--xmloff/source/draw/descriptionimp.cxx2
-rw-r--r--xmloff/source/draw/eventimp.cxx2
-rw-r--r--xmloff/source/draw/layerexp.cxx2
-rw-r--r--xmloff/source/draw/layerimp.cxx2
-rw-r--r--xmloff/source/draw/makefile.mk85
-rw-r--r--xmloff/source/draw/sdpropls.cxx2
-rw-r--r--xmloff/source/draw/sdpropls.hxx2
-rw-r--r--xmloff/source/draw/sdxmlexp.cxx4
-rw-r--r--xmloff/source/draw/sdxmlimp.cxx4
-rw-r--r--xmloff/source/draw/shapeexport.cxx2
-rw-r--r--xmloff/source/draw/shapeexport2.cxx2
-rw-r--r--xmloff/source/draw/shapeexport3.cxx2
-rw-r--r--xmloff/source/draw/shapeexport4.cxx2
-rw-r--r--xmloff/source/draw/shapeimport.cxx2
-rw-r--r--xmloff/source/draw/viewcontext.cxx4
-rw-r--r--xmloff/source/draw/ximp3dscene.cxx2
-rw-r--r--xmloff/source/draw/ximpcustomshape.cxx4
-rw-r--r--xmloff/source/draw/ximpgrp.cxx2
-rw-r--r--xmloff/source/draw/ximplink.cxx2
-rw-r--r--xmloff/source/draw/ximppage.cxx2
-rw-r--r--xmloff/source/draw/ximpshap.cxx34
-rw-r--r--xmloff/source/draw/ximpshow.cxx2
-rw-r--r--xmloff/source/draw/ximpstyl.cxx4
-rw-r--r--xmloff/source/forms/controlelement.cxx2
-rw-r--r--xmloff/source/forms/controlelement.hxx2
-rw-r--r--xmloff/source/forms/controlpropertymap.cxx2
-rw-r--r--xmloff/source/forms/elementexport.cxx129
-rw-r--r--xmloff/source/forms/elementexport.hxx7
-rw-r--r--xmloff/source/forms/elementimport.cxx513
-rw-r--r--xmloff/source/forms/elementimport.hxx65
-rw-r--r--xmloff/source/forms/formattributes.cxx2
-rw-r--r--xmloff/source/forms/formevents.cxx2
-rw-r--r--xmloff/source/forms/formlayerexport.cxx2
-rw-r--r--xmloff/source/forms/formsimp.cxx2
-rw-r--r--xmloff/source/forms/handler/form_handler_factory.cxx90
-rw-r--r--xmloff/source/forms/handler/property_handler_base.cxx61
-rw-r--r--xmloff/source/forms/handler/property_handler_base.hxx64
-rw-r--r--xmloff/source/forms/handler/vcl_date_handler.cxx114
-rw-r--r--xmloff/source/forms/handler/vcl_date_handler.hxx55
-rw-r--r--xmloff/source/forms/handler/vcl_time_handler.cxx115
-rw-r--r--xmloff/source/forms/handler/vcl_time_handler.hxx55
-rw-r--r--xmloff/source/forms/layerexport.cxx4
-rw-r--r--xmloff/source/forms/layerimport.cxx4
-rw-r--r--xmloff/source/forms/makefile.mk70
-rw-r--r--xmloff/source/forms/officeforms.cxx2
-rw-r--r--xmloff/source/forms/property_description.hxx140
-rw-r--r--xmloff/source/forms/property_group.hxx47
-rw-r--r--xmloff/source/forms/property_meta_data.cxx270
-rw-r--r--xmloff/source/forms/property_meta_data.hxx65
-rw-r--r--xmloff/source/forms/propertyexport.cxx29
-rw-r--r--xmloff/source/forms/propertyexport.hxx19
-rw-r--r--xmloff/source/forms/propertyimport.cxx13
-rw-r--r--xmloff/source/forms/propertyimport.hxx2
-rw-r--r--xmloff/source/forms/valueproperties.cxx36
-rw-r--r--xmloff/source/meta/MetaExportComponent.cxx2
-rw-r--r--xmloff/source/meta/MetaImportComponent.cxx2
-rw-r--r--xmloff/source/meta/makefile.mk53
-rw-r--r--xmloff/source/meta/xmlmetae.cxx2
-rw-r--r--xmloff/source/meta/xmlmetai.cxx2
-rw-r--r--xmloff/source/script/XMLEventExport.cxx2
-rw-r--r--xmloff/source/script/XMLEventImportHelper.cxx4
-rw-r--r--xmloff/source/script/XMLEventsImportContext.cxx4
-rw-r--r--xmloff/source/script/XMLScriptContextFactory.cxx2
-rw-r--r--xmloff/source/script/XMLScriptExportHandler.cxx2
-rw-r--r--xmloff/source/script/XMLStarBasicContextFactory.cxx2
-rw-r--r--xmloff/source/script/XMLStarBasicExportHandler.cxx2
-rw-r--r--xmloff/source/script/makefile.mk56
-rw-r--r--xmloff/source/script/xmlscripti.cxx2
-rw-r--r--xmloff/source/style/DashStyle.cxx4
-rw-r--r--xmloff/source/style/FillStyleContext.cxx12
-rw-r--r--xmloff/source/style/GradientStyle.cxx4
-rw-r--r--xmloff/source/style/HatchStyle.cxx4
-rw-r--r--xmloff/source/style/ImageStyle.cxx4
-rw-r--r--xmloff/source/style/MarkerStyle.cxx4
-rw-r--r--xmloff/source/style/PageHeaderFooterContext.cxx2
-rw-r--r--xmloff/source/style/PageMasterImportContext.cxx2
-rw-r--r--xmloff/source/style/PageMasterStyleMap.cxx2
-rw-r--r--xmloff/source/style/TransGradientStyle.cxx2
-rw-r--r--xmloff/source/style/VisAreaContext.cxx4
-rw-r--r--xmloff/source/style/VisAreaExport.cxx4
-rw-r--r--xmloff/source/style/XMLBackgroundImageContext.cxx2
-rw-r--r--xmloff/source/style/XMLBackgroundImageExport.cxx2
-rw-r--r--xmloff/source/style/XMLFontAutoStylePool.cxx4
-rw-r--r--xmloff/source/style/XMLFontStylesContext.cxx2
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorExport.cxx2
-rw-r--r--xmloff/source/style/XMLFootnoteSeparatorImport.cxx2
-rw-r--r--xmloff/source/style/XMLPageExport.cxx2
-rw-r--r--xmloff/source/style/impastp4.cxx2
-rw-r--r--xmloff/source/style/makefile.mk219
-rw-r--r--xmloff/source/style/numehelp.cxx4
-rw-r--r--xmloff/source/style/prstylei.cxx4
-rw-r--r--xmloff/source/style/styleexp.cxx2
-rw-r--r--xmloff/source/style/xmlaustp.cxx4
-rw-r--r--xmloff/source/style/xmlexppr.cxx2
-rw-r--r--xmloff/source/style/xmlimppr.cxx6
-rw-r--r--xmloff/source/style/xmlnume.cxx4
-rw-r--r--xmloff/source/style/xmlnumfe.cxx2
-rw-r--r--xmloff/source/style/xmlnumfi.cxx2
-rw-r--r--xmloff/source/style/xmlnumi.cxx4
-rw-r--r--xmloff/source/style/xmlstyle.cxx2
-rw-r--r--xmloff/source/style/xmltabe.cxx4
-rw-r--r--xmloff/source/style/xmltabi.cxx4
-rw-r--r--xmloff/source/table/XMLTableExport.cxx2
-rw-r--r--xmloff/source/table/XMLTableImport.cxx2
-rw-r--r--xmloff/source/table/makefile.mk48
-rw-r--r--xmloff/source/table/tabledesignsimporter.cxx103
-rw-r--r--xmloff/source/text/XMLAutoMarkFileContext.cxx2
-rw-r--r--xmloff/source/text/XMLAutoTextContainerEventImport.cxx2
-rw-r--r--xmloff/source/text/XMLAutoTextEventExport.cxx2
-rw-r--r--xmloff/source/text/XMLAutoTextEventImport.cxx2
-rw-r--r--xmloff/source/text/XMLCalculationSettingsContext.cxx2
-rw-r--r--xmloff/source/text/XMLChangeElementImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLChangeImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLChangeInfoContext.cxx2
-rw-r--r--xmloff/source/text/XMLChangedRegionImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLFootnoteBodyImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLFootnoteImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexAlphabeticalSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexBibliographyEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexBibliographySourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexIllustrationSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexMarkExport.cxx2
-rw-r--r--xmloff/source/text/XMLIndexObjectSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexSimpleEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexSourceBaseContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTOCContext.cxx4
-rw-r--r--xmloff/source/text/XMLIndexTOCSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTOCStylesContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTabStopEntryContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTableSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTemplateContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexTitleTemplateContext.cxx2
-rw-r--r--xmloff/source/text/XMLIndexUserSourceContext.cxx2
-rw-r--r--xmloff/source/text/XMLLineNumberingExport.cxx2
-rw-r--r--xmloff/source/text/XMLLineNumberingImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLRedlineExport.cxx2
-rw-r--r--xmloff/source/text/XMLSectionExport.cxx2
-rw-r--r--xmloff/source/text/XMLSectionFootnoteConfigExport.cxx2
-rw-r--r--xmloff/source/text/XMLSectionFootnoteConfigImport.cxx2
-rw-r--r--xmloff/source/text/XMLSectionImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionSourceDDEImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLSectionSourceImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLStringBufferImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextCharStyleNamesElementExport.cxx2
-rw-r--r--xmloff/source/text/XMLTextColumnsContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextColumnsExport.cxx2
-rw-r--r--xmloff/source/text/XMLTextFrameContext.cxx4
-rw-r--r--xmloff/source/text/XMLTextFrameHyperlinkContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextHeaderFooterContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextListAutoStylePool.cxx10
-rw-r--r--xmloff/source/text/XMLTextListBlockContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextListItemContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextMarkImportContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextMasterPageContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextMasterPageExport.cxx2
-rw-r--r--xmloff/source/text/XMLTextMasterStylesContext.cxx2
-rw-r--r--xmloff/source/text/XMLTextNumRuleInfo.cxx2
-rw-r--r--xmloff/source/text/XMLTextShapeImportHelper.cxx2
-rw-r--r--xmloff/source/text/XMLTextShapeStyleContext.cxx2
-rw-r--r--xmloff/source/text/XMLTrackedChangesImportContext.cxx2
-rw-r--r--xmloff/source/text/makefile.mk127
-rw-r--r--xmloff/source/text/txtdrope.cxx2
-rw-r--r--xmloff/source/text/txtdropi.cxx2
-rw-r--r--xmloff/source/text/txtexppr.cxx8
-rw-r--r--xmloff/source/text/txtexppr.hxx2
-rw-r--r--xmloff/source/text/txtflde.cxx2
-rw-r--r--xmloff/source/text/txtfldi.cxx2
-rw-r--r--xmloff/source/text/txtftne.cxx2
-rw-r--r--xmloff/source/text/txtimp.cxx6
-rw-r--r--xmloff/source/text/txtimppr.cxx2
-rw-r--r--xmloff/source/text/txtparae.cxx4
-rw-r--r--xmloff/source/text/txtparai.cxx2
-rw-r--r--xmloff/source/text/txtprmap.cxx2
-rw-r--r--xmloff/source/text/txtsecte.cxx2
-rw-r--r--xmloff/source/text/txtstyle.cxx28
-rw-r--r--xmloff/source/text/txtstyli.cxx2
-rw-r--r--xmloff/source/text/txtvfldi.cxx4
-rw-r--r--xmloff/source/transform/ChartOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/ChartOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/ChartPlotAreaOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/ChartPlotAreaOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/ControlOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/ControlOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/DlgOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/DocumentTContext.cxx2
-rw-r--r--xmloff/source/transform/EventMap.cxx2
-rw-r--r--xmloff/source/transform/EventOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/EventOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/FormPropOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/FormPropOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/FrameOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/FrameOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/MergeElemTContext.cxx2
-rw-r--r--xmloff/source/transform/MetaTContext.cxx2
-rw-r--r--xmloff/source/transform/MetaTContext.hxx2
-rw-r--r--xmloff/source/transform/NotesTContext.cxx2
-rw-r--r--xmloff/source/transform/OOo2Oasis.cxx2
-rw-r--r--xmloff/source/transform/Oasis2OOo.cxx2
-rw-r--r--xmloff/source/transform/PropertyActionsOASIS.cxx2
-rw-r--r--xmloff/source/transform/PropertyActionsOOo.cxx2
-rw-r--r--xmloff/source/transform/StyleOASISTContext.cxx2
-rw-r--r--xmloff/source/transform/StyleOOoTContext.cxx2
-rw-r--r--xmloff/source/transform/TransformerBase.cxx2
-rw-r--r--xmloff/source/transform/XMLFilterRegistration.cxx4
-rw-r--r--xmloff/source/transform/makefile.mk103
-rw-r--r--xmloff/source/xforms/SchemaContext.cxx2
-rw-r--r--xmloff/source/xforms/SchemaRestrictionContext.cxx2
-rw-r--r--xmloff/source/xforms/SchemaSimpleTypeContext.cxx2
-rw-r--r--xmloff/source/xforms/TokenContext.cxx2
-rw-r--r--xmloff/source/xforms/XFormsBindContext.cxx4
-rw-r--r--xmloff/source/xforms/XFormsInstanceContext.cxx4
-rw-r--r--xmloff/source/xforms/XFormsModelContext.cxx4
-rw-r--r--xmloff/source/xforms/XFormsSubmissionContext.cxx4
-rw-r--r--xmloff/source/xforms/makefile.mk58
-rw-r--r--xmloff/source/xforms/xformsapi.cxx2
-rw-r--r--xmloff/source/xforms/xformsexport.cxx4
-rw-r--r--xmloff/source/xforms/xformsimport.cxx2
-rw-r--r--xmloff/util/makefile.mk96
-rw-r--r--xmlscript/prj/build.lst2
1365 files changed, 26662 insertions, 21354 deletions
diff --git a/avmedia/prj/build.lst b/avmedia/prj/build.lst
index 6651d9d74f..2348b606dc 100644
--- a/avmedia/prj/build.lst
+++ b/avmedia/prj/build.lst
@@ -1,4 +1,4 @@
-av avmedia : l10n tools sfx2 NULL
+av avmedia : l10n tools sfx2 LIBXSLT:libxslt NULL
av avmedia usr1 - all av_mkout NULL
av avmedia\prj get - all av_prj NULL
av avmedia\inc get - all av_inv NULL
diff --git a/basic/inc/modsizeexceeded.hxx b/basic/inc/basic/modsizeexceeded.hxx
index 9b347a3cae..9b347a3cae 100644
--- a/basic/inc/modsizeexceeded.hxx
+++ b/basic/inc/basic/modsizeexceeded.hxx
diff --git a/basic/inc/basic/sbmod.hxx b/basic/inc/basic/sbmod.hxx
index d3813ad696..047f16bf38 100644
--- a/basic/inc/basic/sbmod.hxx
+++ b/basic/inc/basic/sbmod.hxx
@@ -46,6 +46,7 @@ class SbProcedureProperty;
class SbIfaceMapperMethod;
class SbClassModuleObject;
+class ModuleInitDependencyMap;
struct ClassModuleRunInitItem;
struct SbClassData;
class SbModuleImpl;
@@ -62,6 +63,8 @@ class SbModule : public SbxObject
SbModuleImpl* mpSbModuleImpl; // Impl data
std::vector< String > mModuleVariableNames;
+ void implClearIfVarDependsOnDeletedBasic( SbxVariable* pVar, StarBASIC* pDeletedBasic );
+
protected:
com::sun::star::uno::Reference< com::sun::star::script::XInvocation > mxWrapper;
::rtl::OUString aOUSource;
@@ -74,7 +77,7 @@ protected:
SbxObjectRef pDocObject; // an impl object ( used by Document Modules )
bool bIsProxyModule;
- static void implProcessModuleRunInit( ClassModuleRunInitItem& rItem );
+ static void implProcessModuleRunInit( ModuleInitDependencyMap& rMap, ClassModuleRunInitItem& rItem );
void StartDefinitions();
SbMethod* GetMethod( const String&, SbxDataType );
SbProperty* GetProperty( const String&, SbxDataType );
@@ -84,6 +87,7 @@ protected:
USHORT Run( SbMethod* );
void RunInit();
void ClearPrivateVars();
+ void ClearVarsDependingOnDeletedBasic( StarBASIC* pDeletedBasic );
void GlobalRunInit( BOOL bBasicStart ); // for all modules
void GlobalRunDeInit( void );
const BYTE* FindNextStmnt( const BYTE*, USHORT&, USHORT& ) const;
@@ -94,6 +98,7 @@ protected:
virtual BOOL LoadCompleted();
virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
const SfxHint& rHint, const TypeId& rHintType );
+ void handleProcedureProperties( SfxBroadcaster& rBC, const SfxHint& rHint );
virtual ~SbModule();
public:
SBX_DECL_PERSIST_NODATA(SBXCR_SBX,SBXID_BASICMOD,2);
diff --git a/basic/inc/basic/sbobjmod.hxx b/basic/inc/basic/sbobjmod.hxx
index 9ff46d1931..49fefb7930 100644
--- a/basic/inc/basic/sbobjmod.hxx
+++ b/basic/inc/basic/sbobjmod.hxx
@@ -52,10 +52,18 @@ class SbObjModule : public SbModule
{
SbObjModule( const SbObjModule& );
SbObjModule();
+
+protected:
+ virtual ~SbObjModule();
+
public:
TYPEINFO();
SbObjModule( const String& rName, const com::sun::star::script::ModuleInfo& mInfo, bool bIsVbaCompatible );
virtual SbxVariable* Find( const XubString& rName, SbxClassType t );
+
+ virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
+ const SfxHint& rHint, const TypeId& rHintType );
+
using SbxValue::GetObject;
SbxVariable* GetObject();
void SetUnoObject( const com::sun::star::uno::Any& aObj )throw ( com::sun::star::uno::RuntimeException ) ;
@@ -81,7 +89,7 @@ public:
SbUserFormModule( const String& rName, const com::sun::star::script::ModuleInfo& mInfo, bool bIsVBACompat );
virtual ~SbUserFormModule();
virtual SbxVariable* Find( const XubString& rName, SbxClassType t );
- void ResetApiObj();
+ void ResetApiObj( bool bTriggerTerminateEvent = true );
void Unload();
void Load();
void triggerMethod( const String& );
@@ -93,6 +101,11 @@ public:
void triggerLayoutEvent();
void triggerResizeEvent();
+ bool getInitState( void )
+ { return mbInit; }
+ void setInitState( bool bInit )
+ { mbInit = bInit; }
+
class SbUserFormModuleInstance* CreateInstance();
};
diff --git a/basic/inc/basic/sbstar.hxx b/basic/inc/basic/sbstar.hxx
index 9ad0294c30..858c818b45 100644
--- a/basic/inc/basic/sbstar.hxx
+++ b/basic/inc/basic/sbstar.hxx
@@ -38,6 +38,7 @@
#include <basic/sbdef.hxx>
#include <basic/sberrors.hxx>
#include <com/sun/star/script/ModuleInfo.hpp>
+#include <com/sun/star/frame/XModel.hpp>
class SbModule; // completed module
class SbiInstance; // runtime instance
@@ -77,6 +78,8 @@ class StarBASIC : public SbxObject
SbxObjectRef pVBAGlobals;
SbxObject* getVBAGlobals( );
+ void implClearDependingVarsOnDelete( StarBASIC* pDeletedBasic );
+
protected:
BOOL CError( SbError, const String&, xub_StrLen, xub_StrLen, xub_StrLen );
private:
@@ -206,6 +209,9 @@ public:
bool GetUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::uno::Any& aOut );
void QuitAndExitApplication();
BOOL IsQuitApplication() { return bQuit; };
+
+ static ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
+ GetModelFromBasic( SbxObject* pBasic );
};
#ifndef __SB_SBSTARBASICREF_HXX
diff --git a/basic/inc/basic/sbxdef.hxx b/basic/inc/basic/sbxdef.hxx
index 42117ce78b..393a3773e7 100644
--- a/basic/inc/basic/sbxdef.hxx
+++ b/basic/inc/basic/sbxdef.hxx
@@ -106,6 +106,7 @@ enum SbxDataType {
};
const UINT32 SBX_TYPE_WITH_EVENTS_FLAG = 0x10000;
+const UINT32 SBX_TYPE_DIM_AS_NEW_FLAG = 0x20000;
const UINT32 SBX_FIXED_LEN_STRING_FLAG = 0x10000; // same value as above as no conflict possible
#endif
@@ -317,6 +318,8 @@ enum SbxError { // Ergebnis einer Rechenoperation/Konversion
#define SBX_REFERENCE 0x4000 // Parameter is Reference (DLL-call)
#define SBX_NO_MODIFY 0x8000 // SetModified is suppressed
#define SBX_WITH_EVENTS 0x0080 // Same value as unused SBX_HIDDEN
+#define SBX_DIM_AS_NEW 0x0800 // Same value as SBX_GBLSEARCH, cannot conflict as one
+ // is used for objects, the other for variables only
// Broadcaster-IDs:
#define SBX_HINT_DYING SFX_HINT_DYING
diff --git a/basic/inc/basic/sbxvar.hxx b/basic/inc/basic/sbxvar.hxx
index 7988c95399..72615f8c66 100644
--- a/basic/inc/basic/sbxvar.hxx
+++ b/basic/inc/basic/sbxvar.hxx
@@ -439,6 +439,7 @@ SV_DECL_REF(SbxInfo)
class SfxBroadcaster;
class SbxVariableImpl;
+class StarBASIC;
class SbxVariable : public SbxValue
{
@@ -499,7 +500,9 @@ public:
const String& GetDeclareClassName( void );
void SetDeclareClassName( const String& );
- void SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener );
+ void SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener,
+ StarBASIC* pParentBasic );
+ void ClearComListener( void );
static USHORT MakeHashCode( const String& rName );
};
diff --git a/basic/inc/svtmsg.hrc b/basic/inc/basic/svtmsg.hrc
index f94fca403d..f94fca403d 100644
--- a/basic/inc/svtmsg.hrc
+++ b/basic/inc/basic/svtmsg.hrc
diff --git a/basic/inc/testtool.hrc b/basic/inc/basic/testtool.hrc
index c61c2282f2..c61c2282f2 100644
--- a/basic/inc/testtool.hrc
+++ b/basic/inc/basic/testtool.hrc
diff --git a/basic/inc/ttmsg.hrc b/basic/inc/basic/ttmsg.hrc
index 07da20096a..07da20096a 100644
--- a/basic/inc/ttmsg.hrc
+++ b/basic/inc/basic/ttmsg.hrc
diff --git a/basic/prj/build.lst b/basic/prj/build.lst
index c00a3d8412..8eab007313 100644
--- a/basic/prj/build.lst
+++ b/basic/prj/build.lst
@@ -1,4 +1,4 @@
-sb basic : l10n offuh oovbaapi svtools xmlscript framework salhelper NULL
+sb basic : l10n offuh oovbaapi svtools xmlscript framework salhelper LIBXSLT:libxslt NULL
sb basic usr1 - all sb_mkout NULL
sb basic\inc nmake - all sb_inc NULL
sb basic\source\app nmake - all sb_app sb_class sb_inc NULL
diff --git a/basic/prj/d.lst b/basic/prj/d.lst
index d8d0fce419..41d1a59550 100644
--- a/basic/prj/d.lst
+++ b/basic/prj/d.lst
@@ -20,41 +20,10 @@ mkdir: %COMMON_DEST%\res%_EXT%
..\%__SRC%\lib\libsample.a %_DEST%\lib%_EXT%\libsample.a
mkdir: %_DEST%\inc%_EXT%\basic
-..\inc\testtool.hrc %_DEST%\inc%_EXT%\basic\testtool.hrc
-..\inc\ttmsg.hrc %_DEST%\inc%_EXT%\basic\ttmsg.hrc
-..\inc\basic\ttglobal.hrc %_DEST%\inc%_EXT%\basic\ttglobal.hrc
-..\inc\svtmsg.hrc %_DEST%\inc%_EXT%\basic\svtmsg.hrc
+..\inc\basic\*.hxx %_DEST%\inc%_EXT%\basic\*.hxx
+..\inc\basic\*.hrc %_DEST%\inc%_EXT%\basic\*.hrc
+..\inc\basic\*.h %_DEST%\inc%_EXT%\basic\*.h
-..\inc\basic\sbdef.hxx %_DEST%\inc%_EXT%\basic\sbdef.hxx
-..\inc\basic\sbmod.hxx %_DEST%\inc%_EXT%\basic\sbmod.hxx
-..\inc\basic\sbjsmod.hxx %_DEST%\inc%_EXT%\basic\sbjsmod.hxx
-..\inc\basic\sbmeth.hxx %_DEST%\inc%_EXT%\basic\sbmeth.hxx
-..\inc\basic\sbprop.hxx %_DEST%\inc%_EXT%\basic\sbprop.hxx
-..\inc\basic\sbstar.hxx %_DEST%\inc%_EXT%\basic\sbstar.hxx
-..\inc\basic\sbuno.hxx %_DEST%\inc%_EXT%\basic\sbuno.hxx
-..\inc\basic\basmgr.hxx %_DEST%\inc%_EXT%\basic\basmgr.hxx
-..\inc\basic\sberrors.hxx %_DEST%\inc%_EXT%\basic\sberrors.hxx
-..\inc\basic\basrdll.hxx %_DEST%\inc%_EXT%\basic\basrdll.hxx
-..\inc\basic\sbstdobj.hxx %_DEST%\inc%_EXT%\basic\sbstdobj.hxx
-..\inc\basic\process.hxx %_DEST%\inc%_EXT%\basic\process.hxx
-..\inc\basic\mybasic.hxx %_DEST%\inc%_EXT%\basic\mybasic.hxx
-..\inc\basic\testtool.hxx %_DEST%\inc%_EXT%\basic\testtool.hxx
-..\inc\basic\basicrt.hxx %_DEST%\inc%_EXT%\basic\basicrt.hxx
-..\inc\basic\dispdefs.hxx %_DEST%\inc%_EXT%\basic\dispdefs.hxx
-..\inc\basic\ttstrhlp.hxx %_DEST%\inc%_EXT%\basic\ttstrhlp.hxx
-
-..\inc\basic\sbx.hxx %_DEST%\inc%_EXT%\basic\sbx.hxx
-..\inc\basic\sbxcore.hxx %_DEST%\inc%_EXT%\basic\sbxcore.hxx
-..\inc\basic\sbxdef.hxx %_DEST%\inc%_EXT%\basic\sbxdef.hxx
-..\inc\basic\sbxform.hxx %_DEST%\inc%_EXT%\basic\sbxform.hxx
-..\inc\basic\sbxmeth.hxx %_DEST%\inc%_EXT%\basic\sbxmeth.hxx
-..\inc\basic\sbxobj.hxx %_DEST%\inc%_EXT%\basic\sbxobj.hxx
-..\inc\basic\sbxprop.hxx %_DEST%\inc%_EXT%\basic\sbxprop.hxx
-..\inc\basic\sbxvar.hxx %_DEST%\inc%_EXT%\basic\sbxvar.hxx
-..\inc\basic\sbxbase.hxx %_DEST%\inc%_EXT%\basic\sbxbase.hxx
-..\inc\basic\sbxfac.hxx %_DEST%\inc%_EXT%\basic\sbxfac.hxx
-..\inc\basic\sbxmstrm.hxx %_DEST%\inc%_EXT%\basic\sbxmstrm.hxx
-
-..\inc\basic\basicmanagerrepository.hxx %_DEST%\inc%_EXT%\basic\basicmanagerrepository.hxx
..\inc\modsizeexceeded.hxx %_DEST%\inc%_EXT%\basic\modsizeexceeded.hxx
..\%__SRC%\misc\sb.component %_DEST%\xml%_EXT%\sb.component
+
diff --git a/basic/source/app/svtmsg.src b/basic/source/app/svtmsg.src
index 6b98fd2c97..f95e056e87 100644
--- a/basic/source/app/svtmsg.src
+++ b/basic/source/app/svtmsg.src
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#include "svtmsg.hrc"
+#include "basic/svtmsg.hrc"
// Hier sind die Messages aus dem Verzeichnis /basic/source/app enhalten
diff --git a/basic/source/app/testtool.src b/basic/source/app/testtool.src
index 5157e3ecb2..26d7741ce3 100644
--- a/basic/source/app/testtool.src
+++ b/basic/source/app/testtool.src
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#include "testtool.hrc"
+#include "basic/testtool.hrc"
///////////////////////////////
diff --git a/basic/source/app/ttmsg.src b/basic/source/app/ttmsg.src
index 6ea5f0aa24..e7909d2365 100644
--- a/basic/source/app/ttmsg.src
+++ b/basic/source/app/ttmsg.src
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#include "ttmsg.hrc"
+#include "basic/ttmsg.hrc"
// Hier sind die Messages aus dem Verzeichnis /basic/source/testtool enhalten
diff --git a/basic/source/basmgr/basicmanagerrepository.cxx b/basic/source/basmgr/basicmanagerrepository.cxx
index 4ecaec7302..454b8875a9 100644
--- a/basic/source/basmgr/basicmanagerrepository.cxx
+++ b/basic/source/basmgr/basicmanagerrepository.cxx
@@ -139,9 +139,17 @@ namespace basic
impl_getLocationForModel( const Reference< XModel >& _rxDocumentModel );
/** creates a new BasicManager instance for the given model
+
+ @param _out_rpBasicManager
+ reference to the pointer variable that will hold the new
+ BasicManager.
+
+ @param _rxDocumentModel
+ the model whose BasicManager will be created. Must not be <NULL/>.
*/
- BasicManagerPointer
- impl_createManagerForModel( const Reference< XModel >& _rxDocumentModel );
+ void impl_createManagerForModel(
+ BasicManagerPointer& _out_rpBasicManager,
+ const Reference< XModel >& _rxDocumentModel );
/** creates the application-wide BasicManager
*/
@@ -244,9 +252,17 @@ namespace basic
{
::osl::MutexGuard aGuard( m_aMutex );
+ /* #163556# (DR) - This function may be called recursively while
+ constructing the Basic manager and loading the Basic storage. By
+ passing the map entry received from impl_getLocationForModel() to
+ the function impl_createManagerForModel(), the new Basic manager
+ will be put immediately into the map of existing Basic managers,
+ thus a recursive call of this function will find and return it
+ without creating another instance.
+ */
BasicManagerPointer& pBasicManager = impl_getLocationForModel( _rxDocumentModel );
if ( pBasicManager == NULL )
- pBasicManager = impl_createManagerForModel( _rxDocumentModel );
+ impl_createManagerForModel( pBasicManager, _rxDocumentModel );
return pBasicManager;
}
@@ -408,21 +424,21 @@ namespace basic
}
//--------------------------------------------------------------------
- BasicManagerPointer ImplRepository::impl_createManagerForModel( const Reference< XModel >& _rxDocumentModel )
+ void ImplRepository::impl_createManagerForModel( BasicManagerPointer& _out_rpBasicManager, const Reference< XModel >& _rxDocumentModel )
{
StarBASIC* pAppBasic = impl_getDefaultAppBasicLibrary();
- BasicManager* pBasicManager( NULL );
+ _out_rpBasicManager = 0;
Reference< XStorage > xStorage;
if ( !impl_getDocumentStorage_nothrow( _rxDocumentModel, xStorage ) )
// the document is not able to provide the storage it is based on.
- return pBasicManager;
+ return;
Reference< XPersistentLibraryContainer > xBasicLibs;
Reference< XPersistentLibraryContainer > xDialogLibs;
if ( !impl_getDocumentLibraryContainers_nothrow( _rxDocumentModel, xBasicLibs, xDialogLibs ) )
// the document does not have BasicLibraries and DialogLibraries
- return pBasicManager;
+ return;
if ( xStorage.is() )
{
@@ -433,24 +449,24 @@ namespace basic
// Storage and BaseURL are only needed by binary documents!
SotStorageRef xDummyStor = new SotStorage( ::rtl::OUString() );
- pBasicManager = new BasicManager( *xDummyStor, String() /* TODO/LATER: xStorage */,
+ _out_rpBasicManager = new BasicManager( *xDummyStor, String() /* TODO/LATER: xStorage */,
pAppBasic,
&aAppBasicDir, TRUE );
- if ( pBasicManager->HasErrors() )
+ if ( _out_rpBasicManager->HasErrors() )
{
// handle errors
- BasicError* pErr = pBasicManager->GetFirstError();
+ BasicError* pErr = _out_rpBasicManager->GetFirstError();
while ( pErr )
{
// show message to user
if ( ERRCODE_BUTTON_CANCEL == ErrorHandler::HandleError( pErr->GetErrorId() ) )
{
// user wants to break loading of BASIC-manager
- BasicManagerCleaner::deleteBasicManager( pBasicManager );
+ BasicManagerCleaner::deleteBasicManager( _out_rpBasicManager );
xStorage.clear();
break;
}
- pErr = pBasicManager->GetNextError();
+ pErr = _out_rpBasicManager->GetNextError();
}
}
}
@@ -461,14 +477,14 @@ namespace basic
// create new BASIC-manager
StarBASIC* pBasic = new StarBASIC( pAppBasic );
pBasic->SetFlag( SBX_EXTSEARCH );
- pBasicManager = new BasicManager( pBasic, NULL, TRUE );
+ _out_rpBasicManager = new BasicManager( pBasic, NULL, TRUE );
}
// knit the containers with the BasicManager
LibraryContainerInfo aInfo( xBasicLibs, xDialogLibs, dynamic_cast< OldBasicPassword* >( xBasicLibs.get() ) );
OSL_ENSURE( aInfo.mpOldBasicPassword, "ImplRepository::impl_createManagerForModel: wrong BasicLibraries implementation!" );
- pBasicManager->SetLibraryContainerInfo( aInfo );
- //pBasicCont->setBasicManager( pBasicManager );
+ _out_rpBasicManager->SetLibraryContainerInfo( aInfo );
+ //pBasicCont->setBasicManager( _out_rpBasicManager );
// that's not needed anymore today. The containers will retrieve their associated
// BasicManager from the BasicManagerRepository, when needed.
@@ -476,13 +492,13 @@ namespace basic
impl_initDocLibraryContainers_nothrow( xBasicLibs, xDialogLibs );
// damit auch Dialoge etc. 'qualifiziert' angesprochen werden k"onnen
- pBasicManager->GetLib(0)->SetParent( pAppBasic );
+ _out_rpBasicManager->GetLib(0)->SetParent( pAppBasic );
// global properties in the document's Basic
- pBasicManager->SetGlobalUNOConstant( "ThisComponent", makeAny( _rxDocumentModel ) );
+ _out_rpBasicManager->SetGlobalUNOConstant( "ThisComponent", makeAny( _rxDocumentModel ) );
// notify
- impl_notifyCreationListeners( _rxDocumentModel, *pBasicManager );
+ impl_notifyCreationListeners( _rxDocumentModel, *_out_rpBasicManager );
// register as listener for this model being disposed/closed
Reference< XComponent > xDocumentComponent( _rxDocumentModel, UNO_QUERY );
@@ -490,9 +506,7 @@ namespace basic
startComponentListening( xDocumentComponent );
// register as listener for the BasicManager being destroyed
- StartListening( *pBasicManager );
-
- return pBasicManager;
+ StartListening( *_out_rpBasicManager );
}
//--------------------------------------------------------------------
diff --git a/basic/source/classes/eventatt.cxx b/basic/source/classes/eventatt.cxx
index 16d05a6661..f6858bad55 100644
--- a/basic/source/classes/eventatt.cxx
+++ b/basic/source/classes/eventatt.cxx
@@ -88,54 +88,6 @@ using namespace ::cppu;
using namespace ::osl;
-
-Reference< frame::XModel > getModelFromBasic( SbxObject* pBasic )
-{
- OSL_PRECOND( pBasic != NULL, "getModelFromBasic: illegal call!" );
- if ( !pBasic )
- return NULL;
-
- // look for the ThisComponent variable, first in the parent (which
- // might be the document's Basic), then in the parent's parent (which might be
- // the application Basic)
- const ::rtl::OUString sThisComponent( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) );
- SbxVariable* pThisComponent = NULL;
-
- SbxObject* pLookup = pBasic->GetParent();
- while ( pLookup && !pThisComponent )
- {
- pThisComponent = pLookup->Find( sThisComponent, SbxCLASS_OBJECT );
- pLookup = pLookup->GetParent();
- }
- if ( !pThisComponent )
- {
- OSL_TRACE("Failed to get ThisComponent");
- // the application Basic, at the latest, should have this variable
- return NULL;
- }
-
- Any aThisComponent( sbxToUnoValue( pThisComponent ) );
- Reference< frame::XModel > xModel( aThisComponent, UNO_QUERY );
- if ( !xModel.is() )
- {
- // it's no XModel. Okay, ThisComponent nowadays is allowed to be a controller.
- Reference< frame::XController > xController( aThisComponent, UNO_QUERY );
- if ( xController.is() )
- xModel = xController->getModel();
- }
-
- if ( !xModel.is() )
- return NULL;
-
-#if OSL_DEBUG_LEVEL > 0
- OSL_TRACE("Have model ThisComponent points to url %s",
- ::rtl::OUStringToOString( xModel->getURL(),
- RTL_TEXTENCODING_ASCII_US ).pData->buffer );
-#endif
-
- return xModel;
-}
-
void SFURL_firing_impl( const ScriptEvent& aScriptEvent, Any* pRet, const Reference< frame::XModel >& xModel )
{
OSL_TRACE("SFURL_firing_impl() processing script url %s",
@@ -569,7 +521,7 @@ void RTL_Impl_CreateUnoDialog( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite )
bool bDocDialog = false;
StarBASIC* pFoundBasic = NULL;
OSL_TRACE("About to try get a hold of ThisComponent");
- Reference< frame::XModel > xModel = getModelFromBasic( pINST->GetBasic() ) ;
+ Reference< frame::XModel > xModel = StarBASIC::GetModelFromBasic( pINST->GetBasic() ) ;
aDlgLibAny = implFindDialogLibForDialogBasic( aAnyISP, pINST->GetBasic(), pFoundBasic );
// If we found the dialog then it belongs to the Search basic
if ( !pFoundBasic )
diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx
index f8aef3d6d2..9a744001a9 100644
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
@@ -71,6 +71,7 @@ TYPEINIT1(StarBASIC,SbxObject)
#define RTLNAME "@SBRTL"
// i#i68894#
+using namespace ::com::sun::star;
using com::sun::star::uno::Reference;
using com::sun::star::uno::Any;
using com::sun::star::uno::UNO_QUERY;
@@ -346,7 +347,18 @@ SbxObject* SbFormFactory::CreateObject( const String& rClassName )
{
if( SbUserFormModule* pFormModule = PTR_CAST( SbUserFormModule, pVar->GetObject() ) )
{
- pFormModule->Load();
+ bool bInitState = pFormModule->getInitState();
+ if( bInitState )
+ {
+ // Not the first instantiate, reset
+ bool bTriggerTerminateEvent = false;
+ pFormModule->ResetApiObj( bTriggerTerminateEvent );
+ pFormModule->setInitState( false );
+ }
+ else
+ {
+ pFormModule->Load();
+ }
return pFormModule->CreateInstance();
}
}
@@ -564,7 +576,6 @@ SbClassModuleObject::SbClassModuleObject( SbModule* pClassModule )
if( pObj != NULL )
{
String aObjClass = pObj->GetClassName();
- (void)aObjClass;
SbClassModuleObject* pClassModuleObj = PTR_CAST(SbClassModuleObject,pObjBase);
if( pClassModuleObj != NULL )
@@ -611,93 +622,7 @@ SbClassModuleObject::~SbClassModuleObject()
void SbClassModuleObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
const SfxHint& rHint, const TypeId& rHintType )
{
- bool bDone = false;
-
- const SbxHint* pHint = PTR_CAST(SbxHint,&rHint);
- if( pHint )
- {
- SbxVariable* pVar = pHint->GetVar();
- SbProcedureProperty* pProcProperty = PTR_CAST( SbProcedureProperty, pVar );
- if( pProcProperty )
- {
- bDone = true;
-
- if( pHint->GetId() == SBX_HINT_DATAWANTED )
- {
- String aProcName;
- aProcName.AppendAscii( "Property Get " );
- aProcName += pProcProperty->GetName();
-
- SbxVariable* pMeth = Find( aProcName, SbxCLASS_METHOD );
- if( pMeth )
- {
- SbxValues aVals;
- aVals.eType = SbxVARIANT;
-
- SbxArray* pArg = pVar->GetParameters();
- USHORT nVarParCount = (pArg != NULL) ? pArg->Count() : 0;
- if( nVarParCount > 1 )
- {
- SbxArrayRef xMethParameters = new SbxArray;
- xMethParameters->Put( pMeth, 0 ); // Method as parameter 0
- for( USHORT i = 1 ; i < nVarParCount ; ++i )
- {
- SbxVariable* pPar = pArg->Get( i );
- xMethParameters->Put( pPar, i );
- }
-
- pMeth->SetParameters( xMethParameters );
- pMeth->Get( aVals );
- pMeth->SetParameters( NULL );
- }
- else
- {
- pMeth->Get( aVals );
- }
-
- pVar->Put( aVals );
- }
- }
- else if( pHint->GetId() == SBX_HINT_DATACHANGED )
- {
- SbxVariable* pMeth = NULL;
-
- bool bSet = pProcProperty->isSet();
- if( bSet )
- {
- pProcProperty->setSet( false );
-
- String aProcName;
- aProcName.AppendAscii( "Property Set " );
- aProcName += pProcProperty->GetName();
- pMeth = Find( aProcName, SbxCLASS_METHOD );
- }
- if( !pMeth ) // Let
- {
- String aProcName;
- aProcName.AppendAscii( "Property Let " );
- aProcName += pProcProperty->GetName();
- pMeth = Find( aProcName, SbxCLASS_METHOD );
- }
-
- if( pMeth )
- {
- // Setup parameters
- SbxArrayRef xArray = new SbxArray;
- xArray->Put( pMeth, 0 ); // Method as parameter 0
- xArray->Put( pVar, 1 );
- pMeth->SetParameters( xArray );
-
- SbxValues aVals;
- pMeth->Get( aVals );
- pMeth->SetParameters( NULL );
- }
- }
- }
- }
-
- if( !bDone )
- SbModule::SFX_NOTIFY( rBC, rBCType, rHint, rHintType );
+ handleProcedureProperties( rBC, rHint );
}
SbxVariable* SbClassModuleObject::Find( const XubString& rName, SbxClassType t )
@@ -809,6 +734,9 @@ SbModule* SbClassFactory::FindClass( const String& rClassName )
return pMod;
}
+typedef std::vector< StarBASIC* > DocBasicVector;
+static DocBasicVector GaDocBasics;
+
StarBASIC::StarBASIC( StarBASIC* p, BOOL bIsDocBasic )
: SbxObject( String( RTL_CONSTASCII_USTRINGPARAM("StarBASIC") ) ), bDocBasic( bIsDocBasic )
{
@@ -822,8 +750,6 @@ StarBASIC::StarBASIC( StarBASIC* p, BOOL bIsDocBasic )
{
pSBFAC = new SbiFactory;
AddFactory( pSBFAC );
- pUNOFAC = new SbUnoFactory;
- AddFactory( pUNOFAC );
pTYPEFAC = new SbTypeFactory;
AddFactory( pTYPEFAC );
pCLASSFAC = new SbClassFactory;
@@ -832,12 +758,17 @@ StarBASIC::StarBASIC( StarBASIC* p, BOOL bIsDocBasic )
AddFactory( pOLEFAC );
pFORMFAC = new SbFormFactory;
AddFactory( pFORMFAC );
+ pUNOFAC = new SbUnoFactory;
+ AddFactory( pUNOFAC );
}
pRtl = new SbiStdObject( String( RTL_CONSTASCII_USTRINGPARAM(RTLNAME) ), this );
// Search via StarBasic is always global
SetFlag( SBX_GBLSEARCH );
pVBAGlobals = NULL;
bQuit = FALSE;
+
+ if( bDocBasic )
+ GaDocBasics.push_back( this );
}
// #51727 Override SetModified so that the modified state
@@ -877,6 +808,29 @@ StarBASIC::~StarBASIC()
}
#endif
}
+ else if( bDocBasic )
+ {
+ SbxError eOld = SbxBase::GetError();
+
+ DocBasicVector::iterator it;
+ for( it = GaDocBasics.begin() ; it != GaDocBasics.end() ; ++it )
+ {
+ if( *it == this )
+ {
+ GaDocBasics.erase( it );
+ break;
+ }
+ }
+ for( it = GaDocBasics.begin() ; it != GaDocBasics.end() ; ++it )
+ {
+ StarBASIC* pBasic = *it;
+ pBasic->implClearDependingVarsOnDelete( this );
+ }
+
+ SbxBase::ResetError();
+ if( eOld != SbxERR_OK )
+ SbxBase::SetError( eOld );
+ }
// #100326 Set Parent NULL in registered listeners
if( xUnoListeners.Is() )
@@ -889,6 +843,9 @@ StarBASIC::~StarBASIC()
}
xUnoListeners = NULL;
}
+
+ clearUnoMethodsForBasic( this );
+ disposeComVariablesForBasic( this );
}
// Override new() operator, so that everyone can create a new instance
@@ -907,6 +864,27 @@ void StarBASIC::operator delete( void* p )
::operator delete( p );
}
+void StarBASIC::implClearDependingVarsOnDelete( StarBASIC* pDeletedBasic )
+{
+ if( this != pDeletedBasic )
+ {
+ for( USHORT i = 0; i < pModules->Count(); i++ )
+ {
+ SbModule* p = (SbModule*)pModules->Get( i );
+ p->ClearVarsDependingOnDeletedBasic( pDeletedBasic );
+ }
+ }
+
+ for( USHORT nObj = 0; nObj < pObjs->Count(); nObj++ )
+ {
+ SbxVariable* pVar = pObjs->Get( nObj );
+ StarBASIC* pBasic = PTR_CAST(StarBASIC,pVar);
+ if( pBasic && pBasic != pDeletedBasic )
+ pBasic->implClearDependingVarsOnDelete( pDeletedBasic );
+ }
+}
+
+
/**************************************************************************
*
* Creation/Managment of modules
@@ -1036,15 +1014,15 @@ struct ClassModuleRunInitItem
{}
};
-typedef std::hash_map< ::rtl::OUString, ClassModuleRunInitItem,
- ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > ModuleInitDependencyMap;
-
-static ModuleInitDependencyMap* GpMIDMap = NULL;
+// Derive from has_map type instead of typedef
+// to allow forward declaration in sbmod.hxx
+class ModuleInitDependencyMap : public
+ std::hash_map< ::rtl::OUString, ClassModuleRunInitItem,
+ ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > >
+{};
-void SbModule::implProcessModuleRunInit( ClassModuleRunInitItem& rItem )
+void SbModule::implProcessModuleRunInit( ModuleInitDependencyMap& rMap, ClassModuleRunInitItem& rItem )
{
- ModuleInitDependencyMap& rMIDMap = *GpMIDMap;
-
rItem.m_bProcessing = true;
//bool bAnyDependencies = true;
@@ -1059,8 +1037,8 @@ void SbModule::implProcessModuleRunInit( ClassModuleRunInitItem& rItem )
String& rStr = *it;
// Is required type a class module?
- ModuleInitDependencyMap::iterator itFind = rMIDMap.find( rStr );
- if( itFind != rMIDMap.end() )
+ ModuleInitDependencyMap::iterator itFind = rMap.find( rStr );
+ if( itFind != rMap.end() )
{
ClassModuleRunInitItem& rParentItem = itFind->second;
if( rParentItem.m_bProcessing )
@@ -1071,7 +1049,7 @@ void SbModule::implProcessModuleRunInit( ClassModuleRunInitItem& rItem )
}
if( !rParentItem.m_bRunInitDone )
- implProcessModuleRunInit( rParentItem );
+ implProcessModuleRunInit( rMap, rParentItem );
}
}
}
@@ -1085,6 +1063,8 @@ void SbModule::implProcessModuleRunInit( ClassModuleRunInitItem& rItem )
// Run Init-Code of all modules (including inserted libraries)
void StarBASIC::InitAllModules( StarBASIC* pBasicNotToInit )
{
+ ::vos::OGuard guard( Application::GetSolarMutex() );
+
// Init own modules
for ( USHORT nMod = 0; nMod < pModules->Count(); nMod++ )
{
@@ -1099,7 +1079,6 @@ void StarBASIC::InitAllModules( StarBASIC* pBasicNotToInit )
// Consider required types to init in right order. Class modules
// that are required by other modules have to be initialized first.
ModuleInitDependencyMap aMIDMap;
- GpMIDMap = &aMIDMap;
for ( USHORT nMod = 0; nMod < pModules->Count(); nMod++ )
{
SbModule* pModule = (SbModule*)pModules->Get( nMod );
@@ -1112,9 +1091,8 @@ void StarBASIC::InitAllModules( StarBASIC* pBasicNotToInit )
for( it = aMIDMap.begin() ; it != aMIDMap.end(); ++it )
{
ClassModuleRunInitItem& rItem = it->second;
- SbModule::implProcessModuleRunInit( rItem );
+ SbModule::implProcessModuleRunInit( aMIDMap, rItem );
}
- GpMIDMap = NULL;
// Call RunInit on standard modules
for ( USHORT nMod = 0; nMod < pModules->Count(); nMod++ )
@@ -1143,7 +1121,7 @@ void StarBASIC::DeInitAllModules( void )
for ( USHORT nMod = 0; nMod < pModules->Count(); nMod++ )
{
SbModule* pModule = (SbModule*)pModules->Get( nMod );
- if( pModule->pImage )
+ if( pModule->pImage && !pModule->isProxyModule() && !pModule->ISA(SbObjModule) )
pModule->pImage->bInit = false;
}
@@ -1849,6 +1827,54 @@ bool StarBASIC::GetUNOConstant( const sal_Char* _pAsciiName, ::com::sun::star::u
return bRes;
}
+Reference< frame::XModel > StarBASIC::GetModelFromBasic( SbxObject* pBasic )
+{
+ OSL_PRECOND( pBasic != NULL, "getModelFromBasic: illegal call!" );
+ if ( !pBasic )
+ return NULL;
+
+ // look for the ThisComponent variable, first in the parent (which
+ // might be the document's Basic), then in the parent's parent (which might be
+ // the application Basic)
+ const ::rtl::OUString sThisComponent( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) );
+ SbxVariable* pThisComponent = NULL;
+
+ SbxObject* pLookup = pBasic->GetParent();
+ while ( pLookup && !pThisComponent )
+ {
+ pThisComponent = pLookup->Find( sThisComponent, SbxCLASS_OBJECT );
+ pLookup = pLookup->GetParent();
+ }
+ if ( !pThisComponent )
+ {
+ OSL_TRACE("Failed to get ThisComponent");
+ // the application Basic, at the latest, should have this variable
+ return NULL;
+ }
+
+ Any aThisComponentAny( sbxToUnoValue( pThisComponent ) );
+ Reference< frame::XModel > xModel( aThisComponentAny, UNO_QUERY );
+ if ( !xModel.is() )
+ {
+ // it's no XModel. Okay, ThisComponent nowadays is allowed to be a controller.
+ Reference< frame::XController > xController( aThisComponentAny, UNO_QUERY );
+ if ( xController.is() )
+ xModel = xController->getModel();
+ }
+
+ if ( !xModel.is() )
+ return NULL;
+
+#if OSL_DEBUG_LEVEL > 0
+ OSL_TRACE("Have model ThisComponent points to url %s",
+ ::rtl::OUStringToOString( xModel->getURL(),
+ RTL_TEXTENCODING_ASCII_US ).pData->buffer );
+#endif
+
+ return xModel;
+}
+
+
//========================================================================
// #118116 Implementation Collection object
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index c0735bb1b3..b398583dd7 100755
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -36,15 +36,18 @@
#include <svl/hint.hxx>
#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase2.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <cppuhelper/typeprovider.hxx>
#include <cppuhelper/extract.hxx>
+#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/processfactory.hxx>
#include <rtl/ustrbuf.hxx>
#include <rtl/strbuf.hxx>
#include <com/sun/star/script/ArrayWrapper.hpp>
+#include <com/sun/star/script/NativeObjectWrapper.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/uno/DeploymentException.hpp>
@@ -61,6 +64,7 @@
#include <com/sun/star/script/XInvocationAdapterFactory.hpp>
#include <com/sun/star/script/XTypeConverter.hpp>
#include <com/sun/star/script/XDefaultProperty.hpp>
+#include <com/sun/star/script/XDirectInvocation.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/reflection/XIdlArray.hpp>
@@ -512,6 +516,44 @@ static void implHandleAnyException( const Any& _rCaughtException )
}
}
+
+// NativeObjectWrapper handling
+struct ObjectItem
+{
+ SbxObjectRef m_xNativeObj;
+
+ ObjectItem( void )
+ {}
+ ObjectItem( SbxObject* pNativeObj )
+ : m_xNativeObj( pNativeObj )
+ {}
+};
+static std::vector< ObjectItem > GaNativeObjectWrapperVector;
+
+void clearNativeObjectWrapperVector( void )
+{
+ GaNativeObjectWrapperVector.clear();
+}
+
+sal_uInt32 lcl_registerNativeObjectWrapper( SbxObject* pNativeObj )
+{
+ sal_uInt32 nIndex = GaNativeObjectWrapperVector.size();
+ GaNativeObjectWrapperVector.push_back( ObjectItem( pNativeObj ) );
+ return nIndex;
+}
+
+SbxObject* lcl_getNativeObject( sal_uInt32 nIndex )
+{
+ SbxObjectRef xRetObj;
+ if( nIndex < GaNativeObjectWrapperVector.size() )
+ {
+ ObjectItem& rItem = GaNativeObjectWrapperVector[ nIndex ];
+ xRetObj = rItem.m_xNativeObj;
+ }
+ return xRetObj;
+}
+
+
// Von Uno nach Sbx wandeln
SbxDataType unoToSbxType( TypeClass eType )
{
@@ -698,6 +740,7 @@ void unoToSbxValue( SbxVariable* pVar, const Any& aValue )
if( eTypeClass == TypeClass_STRUCT )
{
ArrayWrapper aWrap;
+ NativeObjectWrapper aNativeObjectWrapper;
if ( (aValue >>= aWrap) )
{
SbxDimArray* pArray = NULL;
@@ -717,6 +760,18 @@ void unoToSbxValue( SbxVariable* pVar, const Any& aValue )
pVar->PutEmpty();
break;
}
+ else if ( (aValue >>= aNativeObjectWrapper) )
+ {
+ sal_uInt32 nIndex = 0;
+ if( (aNativeObjectWrapper.ObjectId >>= nIndex) )
+ {
+ SbxObject* pObj = lcl_getNativeObject( nIndex );
+ pVar->PutObject( pObj );
+ }
+ else
+ pVar->PutEmpty();
+ break;
+ }
else
{
SbiInstance* pInst = pINST;
@@ -1093,6 +1148,20 @@ Any sbxToUnoValueImpl( SbxVariable* pVar, bool bBlockConversionToSmallestType =
if( pClassModule->createCOMWrapperForIface( aRetAny, pClassModuleObj ) )
return aRetAny;
}
+ if( !xObj->ISA(SbUnoObject) )
+ {
+ // Create NativeObjectWrapper to identify object in case of callbacks
+ SbxObject* pObj = PTR_CAST(SbxObject,pVar->GetObject());
+ if( pObj != NULL )
+ {
+ NativeObjectWrapper aNativeObjectWrapper;
+ sal_uInt32 nIndex = lcl_registerNativeObjectWrapper( pObj );
+ aNativeObjectWrapper.ObjectId <<= nIndex;
+ Any aRetAny;
+ aRetAny <<= aNativeObjectWrapper;
+ return aRetAny;
+ }
+ }
}
}
@@ -2223,26 +2292,36 @@ void SbUnoObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
}
else if( bInvocation && mxInvocation.is() )
{
- Sequence< INT16 > OutParamIndex;
- Sequence< Any > OutParam;
- Any aRetAny = mxInvocation->invoke( pMeth->GetName(), args, OutParamIndex, OutParam );
-
- // Wert von Uno nach Sbx uebernehmen
- unoToSbxValue( pVar, aRetAny );
-
- const INT16* pIndices = OutParamIndex.getConstArray();
- UINT32 nLen = OutParamIndex.getLength();
- if( nLen )
+ Reference< XDirectInvocation > xDirectInvoke;
+ if ( pMeth->needsDirectInvocation() )
+ xDirectInvoke.set( mxInvocation, UNO_QUERY );
+
+ Any aRetAny;
+ if ( xDirectInvoke.is() )
+ aRetAny = xDirectInvoke->directInvoke( pMeth->GetName(), args );
+ else
{
- const Any* pNewValues = OutParam.getConstArray();
- for( UINT32 j = 0 ; j < nLen ; j++ )
+ Sequence< INT16 > OutParamIndex;
+ Sequence< Any > OutParam;
+ aRetAny = mxInvocation->invoke( pMeth->GetName(), args, OutParamIndex, OutParam );
+
+ const INT16* pIndices = OutParamIndex.getConstArray();
+ UINT32 nLen = OutParamIndex.getLength();
+ if( nLen )
{
- INT16 iTarget = pIndices[ j ];
- if( iTarget >= (INT16)nParamCount )
- break;
- unoToSbxValue( (SbxVariable*)pParams->Get( (USHORT)(j+1) ), pNewValues[ j ] );
+ const Any* pNewValues = OutParam.getConstArray();
+ for( UINT32 j = 0 ; j < nLen ; j++ )
+ {
+ INT16 iTarget = pIndices[ j ];
+ if( iTarget >= (INT16)nParamCount )
+ break;
+ unoToSbxValue( (SbxVariable*)pParams->Get( (USHORT)(j+1) ), pNewValues[ j ] );
+ }
}
}
+
+ // Wert von Uno nach Sbx uebernehmen
+ unoToSbxValue( pVar, aRetAny );
}
// #55460, Parameter hier weghauen, da das in unoToSbxValue()
@@ -2271,7 +2350,7 @@ Reference< XInvocation > createDynamicInvocationFor( const Any& aAny );
SbUnoObject::SbUnoObject( const String& aName_, const Any& aUnoObj_ )
: SbxObject( aName_ )
, bNeedIntrospection( TRUE )
- , bIgnoreNativeCOMObjectMembers( FALSE )
+ , bNativeCOMObject( FALSE )
{
static Reference< XIntrospection > xIntrospection;
@@ -2322,7 +2401,7 @@ SbUnoObject::SbUnoObject( const String& aName_, const Any& aUnoObj_ )
// hiding of equally named COM symbols, e.g. XInvocation::getValue
Reference< oleautomation::XAutomationObject > xAutomationObject( aUnoObj_, UNO_QUERY );
if( xAutomationObject.is() )
- bIgnoreNativeCOMObjectMembers = TRUE;
+ bNativeCOMObject = TRUE;
}
maTmpUnoObj = aUnoObj_;
@@ -2446,6 +2525,47 @@ void SbUnoObject::doIntrospection( void )
// #67781 Start einer Liste aller SbUnoMethod-Instanzen
static SbUnoMethod* pFirst = NULL;
+void clearUnoMethodsForBasic( StarBASIC* pBasic )
+{
+ SbUnoMethod* pMeth = pFirst;
+ while( pMeth )
+ {
+ SbxObject* pObject = dynamic_cast< SbxObject* >( pMeth->GetParent() );
+ if ( pObject )
+ {
+ StarBASIC* pModBasic = dynamic_cast< StarBASIC* >( pObject->GetParent() );
+ if ( pModBasic == pBasic )
+ {
+ // for now the solution is to remove the method from the list and to clear it,
+ // but in case the element should be correctly transfered to another StarBASIC,
+ // we should either set module parent to NULL without clearing it, or even
+ // set the new StarBASIC as the parent of the module
+ // pObject->SetParent( NULL );
+
+ if( pMeth == pFirst )
+ pFirst = pMeth->pNext;
+ else if( pMeth->pPrev )
+ pMeth->pPrev->pNext = pMeth->pNext;
+ if( pMeth->pNext )
+ pMeth->pNext->pPrev = pMeth->pPrev;
+
+ pMeth->pPrev = NULL;
+ pMeth->pNext = NULL;
+
+ pMeth->SbxValue::Clear();
+ pObject->SbxValue::Clear();
+
+ // start from the beginning after object clearing, the cycle will end since the method is removed each time
+ pMeth = pFirst;
+ }
+ else
+ pMeth = pMeth->pNext;
+ }
+ else
+ pMeth = pMeth->pNext;
+ }
+}
+
void clearUnoMethods( void )
{
SbUnoMethod* pMeth = pFirst;
@@ -2462,10 +2582,12 @@ SbUnoMethod::SbUnoMethod
const String& aName_,
SbxDataType eSbxType,
Reference< XIdlMethod > xUnoMethod_,
- bool bInvocation
+ bool bInvocation,
+ bool bDirect
)
: SbxMethod( aName_, eSbxType )
, mbInvocation( bInvocation )
+ , mbDirectInvocation( bDirect )
{
m_xUnoMethod = xUnoMethod_;
pParamInfoSeq = NULL;
@@ -2566,7 +2688,7 @@ SbxVariable* SbUnoObject::Find( const String& rName, SbxClassType t )
if( !pRes )
{
::rtl::OUString aUName( rName );
- if( mxUnoAccess.is() && !bIgnoreNativeCOMObjectMembers )
+ if( mxUnoAccess.is() && !bNativeCOMObject )
{
if( mxExactName.is() )
{
@@ -2667,6 +2789,17 @@ SbxVariable* SbUnoObject::Find( const String& rName, SbxClassType t )
QuickInsert( (SbxVariable*)xMethRef );
pRes = xMethRef;
}
+ else
+ {
+ Reference< XDirectInvocation > xDirectInvoke( mxInvocation, UNO_QUERY );
+ if ( xDirectInvoke.is() && xDirectInvoke->hasMember( aUName ) )
+ {
+ SbxVariableRef xMethRef = new SbUnoMethod( aUName, SbxVARIANT, xDummyMethod, true, true );
+ QuickInsert( (SbxVariable*)xMethRef );
+ pRes = xMethRef;
+ }
+
+ }
}
catch( RuntimeException& e )
{
@@ -2726,11 +2859,11 @@ void SbUnoObject::implCreateAll( void )
// Instrospection besorgen
Reference< XIntrospectionAccess > xAccess = mxUnoAccess;
- if( !xAccess.is() || bIgnoreNativeCOMObjectMembers )
+ if( !xAccess.is() || bNativeCOMObject )
{
if( mxInvocation.is() )
xAccess = mxInvocation->getIntrospection();
- else if( bIgnoreNativeCOMObjectMembers )
+ else if( bNativeCOMObject )
return;
}
if( !xAccess.is() )
@@ -4170,14 +4303,26 @@ void RTL_Impl_CreateUnoValue( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite )
//==========================================================================
-typedef WeakImplHelper1< XInvocation > ModuleInvocationProxyHelper;
+namespace {
+class OMutexBasis
+{
+protected:
+ // this mutex is necessary for OInterfaceContainerHelper
+ ::osl::Mutex m_aMutex;
+};
+} // namespace
+
+typedef WeakImplHelper2< XInvocation, XComponent > ModuleInvocationProxyHelper;
-class ModuleInvocationProxy : public ModuleInvocationProxyHelper
+class ModuleInvocationProxy : public OMutexBasis,
+ public ModuleInvocationProxyHelper
{
::rtl::OUString m_aPrefix;
SbxObjectRef m_xScopeObj;
bool m_bProxyIsClassModuleObject;
+ ::cppu::OInterfaceContainerHelper m_aListeners;
+
public:
ModuleInvocationProxy( const ::rtl::OUString& aPrefix, SbxObjectRef xScopeObj );
~ModuleInvocationProxy()
@@ -4197,11 +4342,17 @@ public:
Sequence< sal_Int16 >& rOutParamIndex,
Sequence< Any >& rOutParam )
throw( CannotConvertException, InvocationTargetException );
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw(RuntimeException);
+ virtual void SAL_CALL addEventListener( const Reference< XEventListener >& xListener ) throw (RuntimeException);
+ virtual void SAL_CALL removeEventListener( const Reference< XEventListener >& aListener ) throw (RuntimeException);
};
ModuleInvocationProxy::ModuleInvocationProxy( const ::rtl::OUString& aPrefix, SbxObjectRef xScopeObj )
: m_aPrefix( aPrefix + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("_") ) )
, m_xScopeObj( xScopeObj )
+ , m_aListeners( m_aMutex )
{
m_bProxyIsClassModuleObject = xScopeObj.Is() ? xScopeObj->ISA(SbClassModuleObject) : false;
}
@@ -4298,13 +4449,27 @@ Any SAL_CALL ModuleInvocationProxy::invoke( const ::rtl::OUString& rFunction,
vos::OGuard guard( Application::GetSolarMutex() );
Any aRet;
- if( !m_xScopeObj.Is() )
+ SbxObjectRef xScopeObj = m_xScopeObj;
+ if( !xScopeObj.Is() )
return aRet;
::rtl::OUString aFunctionName = m_aPrefix;
aFunctionName += rFunction;
- SbxVariable* p = m_xScopeObj->Find( aFunctionName, SbxCLASS_METHOD );
+ sal_Bool bSetRescheduleBack = sal_False;
+ sal_Bool bOldReschedule = sal_True;
+ SbiInstance* pInst = pINST;
+ if( pInst && pInst->IsCompatibility() )
+ {
+ bOldReschedule = pInst->IsReschedule();
+ if ( bOldReschedule )
+ {
+ pInst->EnableReschedule( sal_False );
+ bSetRescheduleBack = sal_True;
+ }
+ }
+
+ SbxVariable* p = xScopeObj->Find( aFunctionName, SbxCLASS_METHOD );
SbMethod* pMeth = p != NULL ? PTR_CAST(SbMethod,p) : NULL;
if( pMeth == NULL )
{
@@ -4336,11 +4501,38 @@ Any SAL_CALL ModuleInvocationProxy::invoke( const ::rtl::OUString& rFunction,
aRet = sbxToUnoValue( xValue );
pMeth->SetParameters( NULL );
+ if( bSetRescheduleBack )
+ pInst->EnableReschedule( bOldReschedule );
+
// TODO: OutParameter?
return aRet;
}
+void SAL_CALL ModuleInvocationProxy::dispose()
+ throw(RuntimeException)
+{
+ ::osl::MutexGuard aGuard( m_aMutex );
+
+ EventObject aEvent( (XComponent*)this );
+ m_aListeners.disposeAndClear( aEvent );
+
+ m_xScopeObj = NULL;
+}
+
+void SAL_CALL ModuleInvocationProxy::addEventListener( const Reference< XEventListener >& xListener )
+ throw (RuntimeException)
+{
+ m_aListeners.addInterface( xListener );
+}
+
+void SAL_CALL ModuleInvocationProxy::removeEventListener( const Reference< XEventListener >& xListener )
+ throw (RuntimeException)
+{
+ m_aListeners.removeInterface( xListener );
+}
+
+
Reference< XInterface > createComListener( const Any& aControlAny, const ::rtl::OUString& aVBAType,
const ::rtl::OUString& aPrefix, SbxObjectRef xScopeObj )
{
@@ -4370,6 +4562,97 @@ Reference< XInterface > createComListener( const Any& aControlAny, const ::rtl::
return xRet;
}
+typedef std::vector< WeakReference< XComponent > > ComponentRefVector;
+
+struct StarBasicDisposeItem
+{
+ StarBASIC* m_pBasic;
+ SbxArrayRef m_pRegisteredVariables;
+ ComponentRefVector m_vComImplementsObjects;
+
+ StarBasicDisposeItem( StarBASIC* pBasic )
+ : m_pBasic( pBasic )
+ {
+ m_pRegisteredVariables = new SbxArray();
+ }
+};
+
+typedef std::vector< StarBasicDisposeItem* > DisposeItemVector;
+
+static DisposeItemVector GaDisposeItemVector;
+
+DisposeItemVector::iterator lcl_findItemForBasic( StarBASIC* pBasic )
+{
+ DisposeItemVector::iterator it;
+ for( it = GaDisposeItemVector.begin() ; it != GaDisposeItemVector.end() ; ++it )
+ {
+ StarBasicDisposeItem* pItem = *it;
+ if( pItem->m_pBasic == pBasic )
+ return it;
+ }
+ return GaDisposeItemVector.end();
+}
+
+StarBasicDisposeItem* lcl_getOrCreateItemForBasic( StarBASIC* pBasic )
+{
+ DisposeItemVector::iterator it = lcl_findItemForBasic( pBasic );
+ StarBasicDisposeItem* pItem = (it != GaDisposeItemVector.end()) ? *it : NULL;
+ if( pItem == NULL )
+ {
+ pItem = new StarBasicDisposeItem( pBasic );
+ GaDisposeItemVector.push_back( pItem );
+ }
+ return pItem;
+}
+
+void registerComponentToBeDisposedForBasic
+ ( Reference< XComponent > xComponent, StarBASIC* pBasic )
+{
+ StarBasicDisposeItem* pItem = lcl_getOrCreateItemForBasic( pBasic );
+ pItem->m_vComImplementsObjects.push_back( xComponent );
+}
+
+void registerComListenerVariableForBasic( SbxVariable* pVar, StarBASIC* pBasic )
+{
+ StarBasicDisposeItem* pItem = lcl_getOrCreateItemForBasic( pBasic );
+ SbxArray* pArray = pItem->m_pRegisteredVariables;
+ pArray->Put( pVar, pArray->Count() );
+}
+
+void disposeComVariablesForBasic( StarBASIC* pBasic )
+{
+ DisposeItemVector::iterator it = lcl_findItemForBasic( pBasic );
+ if( it != GaDisposeItemVector.end() )
+ {
+ StarBasicDisposeItem* pItem = *it;
+
+ SbxArray* pArray = pItem->m_pRegisteredVariables;
+ USHORT nCount = pArray->Count();
+ for( USHORT i = 0 ; i < nCount ; ++i )
+ {
+ SbxVariable* pVar = pArray->Get( i );
+ pVar->ClearComListener();
+ }
+
+ ComponentRefVector& rv = pItem->m_vComImplementsObjects;
+ ComponentRefVector::iterator itCRV;
+ for( itCRV = rv.begin() ; itCRV != rv.end() ; ++itCRV )
+ {
+ try
+ {
+ Reference< XComponent > xComponent( (*itCRV).get(), UNO_QUERY_THROW );
+ xComponent->dispose();
+ }
+ catch( Exception& )
+ {}
+ }
+
+ delete pItem;
+ GaDisposeItemVector.erase( it );
+ }
+}
+
+
// Handle module implements mechanism for OLE types
bool SbModule::createCOMWrapperForIface( Any& o_rRetAny, SbClassModuleObject* pProxyClassModuleObject )
{
@@ -4423,6 +4706,23 @@ bool SbModule::createCOMWrapperForIface( Any& o_rRetAny, SbClassModuleObject* pP
if( bSuccess )
{
+ Reference< XComponent > xComponent( xProxy, UNO_QUERY );
+ if( xComponent.is() )
+ {
+ StarBASIC* pParentBasic = NULL;
+ SbxObject* pCurObject = this;
+ do
+ {
+ SbxObject* pObjParent = pCurObject->GetParent();
+ pParentBasic = PTR_CAST( StarBASIC, pObjParent );
+ pCurObject = pObjParent;
+ }
+ while( pParentBasic == NULL && pCurObject != NULL );
+
+ OSL_ASSERT( pParentBasic != NULL );
+ registerComponentToBeDisposedForBasic( xComponent, pParentBasic );
+ }
+
o_rRetAny <<= xRet;
break;
}
@@ -4432,3 +4732,30 @@ bool SbModule::createCOMWrapperForIface( Any& o_rRetAny, SbClassModuleObject* pP
return bSuccess;
}
+
+// Due to an incorrect behavior IE returns an object instead of a string
+// in some scenarios. Calling toString at the object may correct this.
+// Helper function used in sbxvalue.cxx
+bool handleToStringForCOMObjects( SbxObject* pObj, SbxValue* pVal )
+{
+ bool bSuccess = false;
+
+ SbUnoObject* pUnoObj = NULL;
+ if( pObj != NULL && (pUnoObj = PTR_CAST(SbUnoObject,(SbxObject*)pObj)) != NULL )
+ {
+ // Only for native COM objects
+ if( pUnoObj->isNativeCOMObject() )
+ {
+ SbxVariableRef pMeth = pObj->Find( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "toString" ) ), SbxCLASS_METHOD );
+ if ( pMeth.Is() )
+ {
+ SbxValues aRes;
+ pMeth->Get( aRes );
+ pVal->Put( aRes );
+ bSuccess = true;
+ }
+ }
+ }
+ return bSuccess;
+}
+
diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index b3fbd26caa..6f800054b8 100644..100755
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -496,33 +496,26 @@ IMPL_LINK( AsyncQuitHandler, OnAsyncQuit, void*, /*pNull*/ )
return 0L;
}
-#if 0
-bool UnlockControllerHack( StarBASIC* pBasic )
+bool VBAUnlockControllers( StarBASIC* pBasic )
{
bool bRes = false;
if ( pBasic && pBasic->IsDocBasic() )
{
- uno::Any aUnoVar;
- ::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( "ThisComponent" ) );
- SbUnoObject* pGlobs = dynamic_cast<SbUnoObject*>( pBasic->Find( sVarName, SbxCLASS_DONTCARE ) );
- if ( pGlobs )
- aUnoVar = pGlobs->getUnoAny();
- uno::Reference< frame::XModel > xModel( aUnoVar, uno::UNO_QUERY);
- if ( xModel.is() )
+ SbUnoObject* pGlobs = dynamic_cast< SbUnoObject* >( pBasic->Find( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ThisComponent" ) ), SbxCLASS_DONTCARE ) );
+ if ( pGlobs ) try
{
- try
- {
+ uno::Reference< frame::XModel > xModel( pGlobs->getUnoAny(), uno::UNO_QUERY_THROW );
+ if ( xModel->hasControllersLocked() )
xModel->unlockControllers();
- bRes = true;
- }
- catch( uno::Exception& )
- {
- }
+ bRes = true;
+ }
+ catch( uno::Exception& )
+ {
}
}
return bRes;
}
-#endif
+
/////////////////////////////////////////////////////////////////////////////
// Ein BASIC-Modul hat EXTSEARCH gesetzt, damit die im Modul enthaltenen
@@ -1176,6 +1169,8 @@ USHORT SbModule::Run( SbMethod* pMeth )
// beim Programm-Ende freigeben, damit nichts gehalten wird.
ClearUnoObjectsInRTL_Impl( xBasic );
+ clearNativeObjectWrapperVector();
+
DBG_ASSERT(pINST->nCallLvl==0,"BASIC-Call-Level > 0");
delete pINST, pINST = NULL, bDelInst = FALSE;
@@ -1184,6 +1179,14 @@ USHORT SbModule::Run( SbMethod* pMeth )
SendHint( GetParent(), SBX_HINT_BASICSTOP, pMeth );
GlobalRunDeInit();
+
+ // VBA always ensures screenupdating is enabled after completing
+ if ( mbVBACompat )
+ VBAUnlockControllers( PTR_CAST( StarBASIC, GetParent() ) );
+
+#ifdef DBG_TRACE_BASIC
+ dbg_DeInitTrace();
+#endif
}
}
else
@@ -1195,12 +1198,7 @@ USHORT SbModule::Run( SbMethod* pMeth )
StarBASIC::FatalError( SbERR_STACK_OVERFLOW );
}
- // VBA always ensure screenupdating is enabled after completing
StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
-#if 0
- if ( pBasic && pBasic->IsDocBasic() && !pINST )
- UnlockControllerHack( pBasic );
-#endif
if( bDelInst )
{
// #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,
@@ -1332,6 +1330,61 @@ void SbModule::ClearPrivateVars()
}
}
+void SbModule::implClearIfVarDependsOnDeletedBasic( SbxVariable* pVar, StarBASIC* pDeletedBasic )
+{
+ if( pVar->SbxValue::GetType() != SbxOBJECT || pVar->ISA( SbProcedureProperty ) )
+ return;
+
+ SbxObject* pObj = PTR_CAST(SbxObject,pVar->GetObject());
+ if( pObj != NULL )
+ {
+ SbxObject* p = pObj;
+
+ SbModule* pMod = PTR_CAST( SbModule, p );
+ if( pMod != NULL )
+ pMod->ClearVarsDependingOnDeletedBasic( pDeletedBasic );
+
+ while( (p = p->GetParent()) != NULL )
+ {
+ StarBASIC* pBasic = PTR_CAST( StarBASIC, p );
+ if( pBasic != NULL && pBasic == pDeletedBasic )
+ {
+ pVar->SbxValue::Clear();
+ break;
+ }
+ }
+ }
+}
+
+void SbModule::ClearVarsDependingOnDeletedBasic( StarBASIC* pDeletedBasic )
+{
+ (void)pDeletedBasic;
+
+ for( USHORT i = 0 ; i < pProps->Count() ; i++ )
+ {
+ SbProperty* p = PTR_CAST(SbProperty,pProps->Get( i ) );
+ if( p )
+ {
+ if( p->GetType() & SbxARRAY )
+ {
+ SbxArray* pArray = PTR_CAST(SbxArray,p->GetObject());
+ if( pArray )
+ {
+ for( USHORT j = 0 ; j < pArray->Count() ; j++ )
+ {
+ SbxVariable* pVar = PTR_CAST(SbxVariable,pArray->Get( j ));
+ implClearIfVarDependsOnDeletedBasic( pVar, pDeletedBasic );
+ }
+ }
+ }
+ else
+ {
+ implClearIfVarDependsOnDeletedBasic( p, pDeletedBasic );
+ }
+ }
+ }
+}
+
// Zunaechst in dieses Modul, um 358-faehig zu bleiben
// (Branch in sb.cxx vermeiden)
void StarBASIC::ClearAllModuleVars( void )
@@ -1341,7 +1394,7 @@ void StarBASIC::ClearAllModuleVars( void )
{
SbModule* pModule = (SbModule*)pModules->Get( nMod );
// Nur initialisieren, wenn der Startcode schon ausgefuehrt wurde
- if( pModule->pImage && pModule->pImage->bInit )
+ if( pModule->pImage && pModule->pImage->bInit && !pModule->isProxyModule() && !pModule->ISA(SbObjModule) )
pModule->ClearPrivateVars();
}
@@ -1739,6 +1792,98 @@ BOOL SbModule::LoadCompleted()
return TRUE;
}
+void SbModule::handleProcedureProperties( SfxBroadcaster& rBC, const SfxHint& rHint )
+{
+ bool bDone = false;
+
+ const SbxHint* pHint = PTR_CAST(SbxHint,&rHint);
+ if( pHint )
+ {
+ SbxVariable* pVar = pHint->GetVar();
+ SbProcedureProperty* pProcProperty = PTR_CAST( SbProcedureProperty, pVar );
+ if( pProcProperty )
+ {
+ bDone = true;
+
+ if( pHint->GetId() == SBX_HINT_DATAWANTED )
+ {
+ String aProcName;
+ aProcName.AppendAscii( "Property Get " );
+ aProcName += pProcProperty->GetName();
+
+ SbxVariable* pMeth = Find( aProcName, SbxCLASS_METHOD );
+ if( pMeth )
+ {
+ SbxValues aVals;
+ aVals.eType = SbxVARIANT;
+
+ SbxArray* pArg = pVar->GetParameters();
+ USHORT nVarParCount = (pArg != NULL) ? pArg->Count() : 0;
+ if( nVarParCount > 1 )
+ {
+ SbxArrayRef xMethParameters = new SbxArray;
+ xMethParameters->Put( pMeth, 0 ); // Method as parameter 0
+ for( USHORT i = 1 ; i < nVarParCount ; ++i )
+ {
+ SbxVariable* pPar = pArg->Get( i );
+ xMethParameters->Put( pPar, i );
+ }
+
+ pMeth->SetParameters( xMethParameters );
+ pMeth->Get( aVals );
+ pMeth->SetParameters( NULL );
+ }
+ else
+ {
+ pMeth->Get( aVals );
+ }
+
+ pVar->Put( aVals );
+ }
+ }
+ else if( pHint->GetId() == SBX_HINT_DATACHANGED )
+ {
+ SbxVariable* pMeth = NULL;
+
+ bool bSet = pProcProperty->isSet();
+ if( bSet )
+ {
+ pProcProperty->setSet( false );
+
+ String aProcName;
+ aProcName.AppendAscii( "Property Set " );
+ aProcName += pProcProperty->GetName();
+ pMeth = Find( aProcName, SbxCLASS_METHOD );
+ }
+ if( !pMeth ) // Let
+ {
+ String aProcName;
+ aProcName.AppendAscii( "Property Let " );
+ aProcName += pProcProperty->GetName();
+ pMeth = Find( aProcName, SbxCLASS_METHOD );
+ }
+
+ if( pMeth )
+ {
+ // Setup parameters
+ SbxArrayRef xArray = new SbxArray;
+ xArray->Put( pMeth, 0 ); // Method as parameter 0
+ xArray->Put( pVar, 1 );
+ pMeth->SetParameters( xArray );
+
+ SbxValues aVals;
+ pMeth->Get( aVals );
+ pMeth->SetParameters( NULL );
+ }
+ }
+ }
+ }
+
+ if( !bDone )
+ SbModule::Notify( rBC, rHint );
+}
+
+
/////////////////////////////////////////////////////////////////////////
// Implementation SbJScriptModule (Basic-Modul fuer JavaScript-Sourcen)
SbJScriptModule::SbJScriptModule( const String& rName )
@@ -1969,6 +2114,11 @@ SbObjModule::SbObjModule( const String& rName, const com::sun::star::script::Mod
else if ( mInfo.ModuleObject.is() )
SetUnoObject( uno::makeAny( mInfo.ModuleObject ) );
}
+
+SbObjModule::~SbObjModule()
+{
+}
+
void
SbObjModule::SetUnoObject( const uno::Any& aObj ) throw ( uno::RuntimeException )
{
@@ -2005,6 +2155,13 @@ SbObjModule::Find( const XubString& rName, SbxClassType t )
return pVar;
}
+void SbObjModule::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
+ const SfxHint& rHint, const TypeId& rHintType )
+{
+ SbModule::handleProcedureProperties( rBC, rHint );
+}
+
+
typedef ::cppu::WeakImplHelper2< awt::XTopWindowListener, awt::XWindowListener > FormObjEventListener_BASE;
class FormObjEventListenerImpl : public FormObjEventListener_BASE
@@ -2108,7 +2265,7 @@ public:
}
}
}
-
+
mpUserForm->triggerMethod( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Userform_QueryClose") ) );
#endif
}
@@ -2192,9 +2349,9 @@ SbUserFormModule::~SbUserFormModule()
{
}
-void SbUserFormModule::ResetApiObj()
+void SbUserFormModule::ResetApiObj( bool bTriggerTerminateEvent )
{
- if ( m_xDialog.is() ) // probably someone close the dialog window
+ if ( bTriggerTerminateEvent && m_xDialog.is() ) // probably someone close the dialog window
{
triggerTerminateEvent();
}
@@ -2379,11 +2536,12 @@ void SbUserFormModule::Unload()
}
//liuchen
+void registerComponentToBeDisposedForBasic( Reference< XComponent > xComponent, StarBASIC* pBasic );
+
void SbUserFormModule::InitObject()
{
try
{
-
String aHook( RTL_CONSTASCII_USTRINGPARAM( "VBAGlobals" ) );
SbUnoObject* pGlobs = (SbUnoObject*)GetParent()->Find( aHook, SbxCLASS_DONTCARE );
if ( m_xModel.is() && pGlobs )
@@ -2410,6 +2568,25 @@ void SbUserFormModule::InitObject()
aArgs[ 3 ] <<= rtl::OUString( GetParent()->GetName() );
pDocObject = new SbUnoObject( GetName(), uno::makeAny( xVBAFactory->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("ooo.vba.msforms.UserForm")), aArgs ) ) );
uno::Reference< lang::XComponent > xComponent( aArgs[ 1 ], uno::UNO_QUERY_THROW );
+
+ // the dialog must be disposed at the end!
+ if( xComponent.is() )
+ {
+ StarBASIC* pParentBasic = NULL;
+ SbxObject* pCurObject = this;
+ do
+ {
+ SbxObject* pObjParent = pCurObject->GetParent();
+ pParentBasic = PTR_CAST( StarBASIC, pObjParent );
+ pCurObject = pObjParent;
+ }
+ while( pParentBasic == NULL && pCurObject != NULL );
+
+ OSL_ASSERT( pParentBasic != NULL );
+ registerComponentToBeDisposedForBasic( xComponent, pParentBasic );
+ }
+
+
// remove old listener if it exists
if ( m_DialogListener.get() )
m_DialogListener->removeListener();
diff --git a/basic/source/comp/dim.cxx b/basic/source/comp/dim.cxx
index 367be2a3e3..61cf215949 100644
--- a/basic/source/comp/dim.cxx
+++ b/basic/source/comp/dim.cxx
@@ -375,6 +375,9 @@ void SbiParser::DefVar( SbiOpcode eOp, BOOL bStatic )
if( pDef->IsWithEvents() )
nOpnd2 |= SBX_TYPE_WITH_EVENTS_FLAG;
+ if( bCompatible && pDef->IsNew() )
+ nOpnd2 |= SBX_TYPE_DIM_AS_NEW_FLAG;
+
short nFixedStringLength = pDef->GetFixedStringLength();
if( nFixedStringLength >= 0 )
nOpnd2 |= (SBX_FIXED_LEN_STRING_FLAG + (UINT32(nFixedStringLength) << 17)); // len = all bits above 0x10000
diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx
index f858c428af..ec86ae075f 100644
--- a/basic/source/comp/exprtree.cxx
+++ b/basic/source/comp/exprtree.cxx
@@ -578,10 +578,20 @@ SbiExprNode* SbiExpression::Unary()
{
case MINUS:
eTok = NEG;
- case NOT:
pParser->Next();
pNd = new SbiExprNode( pParser, Unary(), eTok, NULL );
break;
+ case NOT:
+ if( pParser->IsVBASupportOn() )
+ {
+ pNd = Operand();
+ }
+ else
+ {
+ pParser->Next();
+ pNd = new SbiExprNode( pParser, Unary(), eTok, NULL );
+ }
+ break;
case PLUS:
pParser->Next();
pNd = Unary();
@@ -725,9 +735,26 @@ SbiExprNode* SbiExpression::Comp()
return pNd;
}
+SbiExprNode* SbiExpression::VBA_Not()
+{
+ SbiExprNode* pNd = NULL;
+
+ SbiToken eTok = pParser->Peek();
+ if( eTok == NOT )
+ {
+ pParser->Next();
+ pNd = new SbiExprNode( pParser, VBA_Not(), eTok, NULL );
+ }
+ else
+ {
+ pNd = Comp();
+ }
+ return pNd;
+}
+
SbiExprNode* SbiExpression::Like()
{
- SbiExprNode* pNd = Comp();
+ SbiExprNode* pNd = pParser->IsVBASupportOn() ? VBA_Not() : Comp();
if( m_eMode != EXPRMODE_EMPTY_PAREN )
{
short nCount = 0;
diff --git a/basic/source/comp/sbcomp.cxx b/basic/source/comp/sbcomp.cxx
index f9cd852efc..512fc6f694 100755
--- a/basic/source/comp/sbcomp.cxx
+++ b/basic/source/comp/sbcomp.cxx
@@ -32,6 +32,7 @@
#include "sbcomp.hxx"
#include "image.hxx"
#include "sbtrace.hxx"
+#include <basic/sbobjmod.hxx>
//==========================================================================
@@ -42,11 +43,145 @@
#include <hash_map>
-// Trace Settings
-static const char* GpTraceFileName = "d:\\zBasic.Asm\\BasicTrace.txt";
-static const bool GbIncludePCodes = false;
-static const int GnIndentPerCallLevel = 4;
-static const int GnIndentForPCode = 2;
+// Trace ini file (set NULL to ignore)
+static char GpTraceIniFile[] = "d:\\zBasic.Asm\\BasicTrace.ini";
+//static char* GpTraceIniFile = NULL;
+
+
+// Trace Settings, used if no ini file / not found in ini file
+static char GpTraceFileNameDefault[] = "d:\\zBasic.Asm\\BasicTrace.txt";
+static char* GpTraceFileName = GpTraceFileNameDefault;
+
+// GbTraceOn:
+// true = tracing is active, false = tracing is disabled, default = true
+// Set to false initially if you want to activate tracing on demand with
+// TraceCommand( "TraceOn" ), see below
+static bool GbTraceOn = true;
+
+// GbIncludePCodes:
+// true = PCodes are written to trace, default = false, correspondents
+// with TraceCommand( "PCodeOn" / "PCodeOff" ), see below
+static bool GbIncludePCodes = false;
+
+static int GnIndentPerCallLevel = 4;
+static int GnIndentForPCode = 2;
+
+/*
+ With trace enabled the runtime function TraceCommand
+ can be used to influence the trace functionality
+ from within the running Basic macro.
+
+ Format: TraceCommand( command as String [, param as Variant] )
+
+ Supported commands (command is NOT case sensitive):
+ TraceCommand "TraceOn" sets GbTraceOn = true
+ TraceCommand "TraceOff" sets GbTraceOn = false
+
+ TraceCommand "PCodeOn" sets GbIncludePCodes = true
+ TraceCommand "PCodeOff" sets GbIncludePCodes = false
+
+ TraceCommand "Print", aVal writes aVal into the trace file as
+ long as it can be converted to string
+*/
+
+static void lcl_skipWhites( char*& rpc )
+{
+ while( *rpc == ' ' || *rpc == '\t' )
+ ++rpc;
+}
+
+inline void lcl_findNextLine( char*& rpc, char* pe )
+{
+ // Find line end
+ while( rpc < pe && *rpc != 13 && *rpc != 10 )
+ ++rpc;
+
+ // Read all
+ while( rpc < pe && (*rpc == 13 || *rpc == 10) )
+ ++rpc;
+}
+
+inline bool lcl_isAlpha( char c )
+{
+ bool bRet = (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
+ return bRet;
+}
+
+static void lcl_ReadIniFile( const char* pIniFileName )
+{
+ const int BUF_SIZE = 1000;
+ static sal_Char TraceFileNameBuffer[BUF_SIZE];
+ sal_Char Buffer[BUF_SIZE];
+ sal_Char VarNameBuffer[BUF_SIZE];
+ sal_Char ValBuffer[BUF_SIZE];
+
+ FILE* pFile = fopen( pIniFileName ,"rb" );
+ if( pFile == NULL )
+ return;
+
+ size_t nRead = fread( Buffer, 1, BUF_SIZE, pFile );
+
+ // Scan
+ char* pc = Buffer;
+ char* pe = Buffer + nRead;
+ while( pc < pe )
+ {
+ lcl_skipWhites( pc ); if( pc == pe ) break;
+
+ // Read variable
+ char* pVarStart = pc;
+ while( pc < pe && lcl_isAlpha( *pc ) )
+ ++pc;
+ int nVarLen = pc - pVarStart;
+ if( nVarLen == 0 )
+ {
+ lcl_findNextLine( pc, pe );
+ continue;
+ }
+ strncpy( VarNameBuffer, pVarStart, nVarLen );
+ VarNameBuffer[nVarLen] = '\0';
+
+ // Check =
+ lcl_skipWhites( pc ); if( pc == pe ) break;
+ if( *pc != '=' )
+ continue;
+ ++pc;
+ lcl_skipWhites( pc ); if( pc == pe ) break;
+
+ // Read value
+ char* pValStart = pc;
+ while( pc < pe && *pc != 13 && *pc != 10 )
+ ++pc;
+ int nValLen = pc - pValStart;
+ if( nValLen == 0 )
+ {
+ lcl_findNextLine( pc, pe );
+ continue;
+ }
+ strncpy( ValBuffer, pValStart, nValLen );
+ ValBuffer[nValLen] = '\0';
+
+ // Match variables
+ if( strcmp( VarNameBuffer, "GpTraceFileName") == 0 )
+ {
+ strcpy( TraceFileNameBuffer, ValBuffer );
+ GpTraceFileName = TraceFileNameBuffer;
+ }
+ else
+ if( strcmp( VarNameBuffer, "GbTraceOn") == 0 )
+ GbTraceOn = (strcmp( ValBuffer, "true" ) == 0);
+ else
+ if( strcmp( VarNameBuffer, "GbIncludePCodes") == 0 )
+ GbIncludePCodes = (strcmp( ValBuffer, "true" ) == 0);
+ else
+ if( strcmp( VarNameBuffer, "GnIndentPerCallLevel") == 0 )
+ GnIndentPerCallLevel = strtol( ValBuffer, NULL, 10 );
+ else
+ if( strcmp( VarNameBuffer, "GnIndentForPCode") == 0 )
+ GnIndentForPCode = strtol( ValBuffer, NULL, 10 );
+ }
+ fclose( pFile );
+}
struct TraceTextData
{
@@ -122,7 +257,7 @@ static rtl::OString lcl_toOStringSkipLeadingWhites( const String& aStr )
return aORetStr;
}
-String dumpMethodParameters( SbMethod* pMethod )
+String lcl_dumpMethodParameters( SbMethod* pMethod )
{
String aStr;
if( pMethod == NULL )
@@ -149,9 +284,10 @@ String dumpMethodParameters( SbMethod* pMethod )
aStr += pParam->aName;
}
aStr += '=';
- if( pVar->GetType() & SbxARRAY )
+ SbxDataType eType = pVar->GetType();
+ if( eType & SbxARRAY )
aStr += String( RTL_CONSTASCII_USTRINGPARAM( "..." ) );
- else
+ else if( eType != SbxOBJECT )
aStr += pVar->GetString();
if ( nParam < ( pParams->Count() - 1 ) )
aStr += String( RTL_CONSTASCII_USTRINGPARAM( ", " ) );
@@ -164,18 +300,38 @@ String dumpMethodParameters( SbMethod* pMethod )
SbxBase::SetError( eOld );
return aStr;
-}
+}
+
// Public functions
+
+static bool GbSavTraceOn = false;
void dbg_InitTrace( void )
{
+ if( GpTraceIniFile != NULL )
+ lcl_ReadIniFile( GpTraceIniFile );
+
FILE* pFile = fopen( GpTraceFileName, "w" );
if( pFile != NULL )
fclose( pFile );
+ GbSavTraceOn = GbTraceOn;
+ if( !GbTraceOn )
+ lcl_lineOut( GpTraceFileName, "### Program started with trace off ###" );
+}
+
+void dbg_DeInitTrace( void )
+{
+ GbTraceOn = GbSavTraceOn;
}
+static INT32 GnLastCallLvl = 0;
+
void dbg_traceStep( SbModule* pModule, UINT32 nPC, INT32 nCallLvl )
{
+ if( !GbTraceOn )
+ return;
+ GnLastCallLvl = nCallLvl;
+
SbModule* pTraceMod = pModule;
if( pTraceMod->ISA(SbClassModuleObject) )
{
@@ -206,14 +362,11 @@ void dbg_traceStep( SbModule* pModule, UINT32 nPC, INT32 nCallLvl )
{
const char* pModuleNameStr = OUStringToOString( rtl::OUString( aModuleName ), RTL_TEXTENCODING_ASCII_US ).getStr();
char Buffer[200];
- sprintf( Buffer, "TRACE ERROR: No info for PC = %d in module \"%s\"", nPC, pModuleNameStr );
+ sprintf( Buffer, "TRACE ERROR: No info for PC = %d in module \"%s\"", (int)nPC, pModuleNameStr );
lcl_lineOut( GpTraceFileName, Buffer );
return;
}
- //nCallLvl--;
- //if( nCallLvl < 0 )
- // nCallLvl = 0;
int nIndent = nCallLvl * GnIndentPerCallLevel;
const TraceTextData& rTraceTextData = itInner->second;
@@ -234,6 +387,10 @@ void dbg_traceNotifyCall( SbModule* pModule, SbMethod* pMethod, INT32 nCallLvl,
{
static const char* pSeparator = "' ================================================================================";
+ if( !GbTraceOn )
+ return;
+ GnLastCallLvl = nCallLvl;
+
SbModule* pTraceMod = pModule;
SbClassModuleObject* pClassModuleObj = NULL;
if( pTraceMod->ISA(SbClassModuleObject) )
@@ -281,7 +438,7 @@ void dbg_traceNotifyCall( SbModule* pModule, SbMethod* pMethod, INT32 nCallLvl,
aStr.AppendAscii( "]" );
}
if( !bLeave )
- aStr += dumpMethodParameters( pMethod );
+ aStr += lcl_dumpMethodParameters( pMethod );
lcl_lineOut( GpTraceFileName, OUStringToOString( rtl::OUString( aStr ), RTL_TEXTENCODING_ASCII_US ).getStr(), lcl_getSpaces( nIndent ) );
if( !bLeave )
@@ -293,6 +450,10 @@ void dbg_traceNotifyCall( SbModule* pModule, SbMethod* pMethod, INT32 nCallLvl,
void dbg_traceNotifyError( SbError nTraceErr, const String& aTraceErrMsg, bool bTraceErrHandled, INT32 nCallLvl )
{
+ if( !GbTraceOn )
+ return;
+ GnLastCallLvl = nCallLvl;
+
rtl::OString aOTraceErrMsg = OUStringToOString( rtl::OUString( aTraceErrMsg ), RTL_TEXTENCODING_ASCII_US );
char Buffer[200];
@@ -329,6 +490,63 @@ void dbg_RegisterTraceTextForPC( SbModule* pModule, UINT32 nPC,
(*pInnerMap)[nPC] = aData;
}
+void RTL_Impl_TraceCommand( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite )
+{
+ (void)pBasic;
+ (void)bWrite;
+
+ if ( rPar.Count() < 2 )
+ {
+ StarBASIC::Error( SbERR_BAD_ARGUMENT );
+ return;
+ }
+
+ String aCommand = rPar.Get(1)->GetString();
+
+ if( aCommand.EqualsIgnoreCaseAscii( "TraceOn" ) )
+ GbTraceOn = true;
+ else
+ if( aCommand.EqualsIgnoreCaseAscii( "TraceOff" ) )
+ GbTraceOn = false;
+ else
+ if( aCommand.EqualsIgnoreCaseAscii( "PCodeOn" ) )
+ GbIncludePCodes = true;
+ else
+ if( aCommand.EqualsIgnoreCaseAscii( "PCodeOff" ) )
+ GbIncludePCodes = false;
+ else
+ if( aCommand.EqualsIgnoreCaseAscii( "Print" ) )
+ {
+ if ( rPar.Count() < 3 )
+ {
+ StarBASIC::Error( SbERR_BAD_ARGUMENT );
+ return;
+ }
+
+ SbxError eOld = SbxBase::GetError();
+ if( eOld != SbxERR_OK )
+ SbxBase::ResetError();
+
+ String aValStr = rPar.Get(2)->GetString();
+ SbxError eErr = SbxBase::GetError();
+ if( eErr != SbxERR_OK )
+ {
+ aValStr = String( RTL_CONSTASCII_USTRINGPARAM( "<ERROR converting value to String>" ) );
+ SbxBase::ResetError();
+ }
+
+ char Buffer[500];
+ const char* pValStr = OUStringToOString( rtl::OUString( aValStr ), RTL_TEXTENCODING_ASCII_US ).getStr();
+
+ sprintf( Buffer, "### TRACE_PRINT: %s ###", pValStr );
+ int nIndent = GnLastCallLvl * GnIndentPerCallLevel;
+ lcl_lineOut( GpTraceFileName, Buffer, lcl_getSpaces( nIndent ) );
+
+ if( eOld != SbxERR_OK )
+ SbxBase::SetError( eOld );
+ }
+}
+
#endif
@@ -431,7 +649,8 @@ BOOL SbModule::Compile()
BOOL bRet = IsCompiled();
if( bRet )
{
- pBasic->ClearAllModuleVars();
+ if( !this->ISA(SbObjModule) )
+ pBasic->ClearAllModuleVars();
RemoveVars(); // remove 'this' Modules variables
// clear all method statics
for( USHORT i = 0; i < pMethods->Count(); i++ )
diff --git a/basic/source/comp/scanner.cxx b/basic/source/comp/scanner.cxx
index 61ca92108b..a6a389026c 100644
--- a/basic/source/comp/scanner.cxx
+++ b/basic/source/comp/scanner.cxx
@@ -224,6 +224,30 @@ BOOL SbiScanner::NextSym()
for ( ; (BasicSimpleCharClass::isAlphaNumeric( *pLine, bCompatible ) || ( *pLine == '_' ) ); pLine++ )
nCol++;
aSym = aLine.copy( n, nCol - n );
+
+ // Special handling for "go to"
+ if( bCompatible && *pLine && aSym.EqualsIgnoreCaseAscii( "go" ) )
+ {
+ const sal_Unicode* pTestLine = pLine;
+ short nTestCol = nCol;
+ while( *pTestLine && (( *pTestLine == ' ' ) || ( *pTestLine == '\t' )) )
+ {
+ pTestLine++;
+ nTestCol++;
+ }
+
+ if( *pTestLine && *(pTestLine + 1) )
+ {
+ String aTestSym = aLine.copy( nTestCol, 2 );
+ if( aTestSym.EqualsIgnoreCaseAscii( "to" ) )
+ {
+ aSym = String::CreateFromAscii( "goto" );
+ pLine = pTestLine + 2;
+ nCol = nTestCol + 2;
+ }
+ }
+ }
+
// Abschliessendes '_' durch Space ersetzen, wenn Zeilenende folgt
// (sonst falsche Zeilenfortsetzung)
if( !bUsedForHilite && !*pLine && *(pLine-1) == '_' )
diff --git a/basic/source/comp/symtbl.cxx b/basic/source/comp/symtbl.cxx
index a09cc4490b..7f6db9cd38 100644
--- a/basic/source/comp/symtbl.cxx
+++ b/basic/source/comp/symtbl.cxx
@@ -206,9 +206,10 @@ void SbiSymPool::Add( SbiSymDef* pDef )
SbiSymDef* SbiSymPool::Find( const String& rName ) const
{
- for( USHORT i = 0; i < aData.Count(); i++ )
+ USHORT nCount = aData.Count();
+ for( USHORT i = 0; i < nCount; i++ )
{
- SbiSymDef* p = aData.GetObject( i );
+ SbiSymDef* p = aData.GetObject( nCount - i - 1 );
if( ( !p->nProcId || ( p->nProcId == nProcId ) )
&& ( p->aName.EqualsIgnoreCaseAscii( rName ) ) )
return p;
diff --git a/basic/source/inc/expr.hxx b/basic/source/inc/expr.hxx
index 96604cbdd9..2de0f121b4 100644
--- a/basic/source/inc/expr.hxx
+++ b/basic/source/inc/expr.hxx
@@ -188,6 +188,7 @@ protected:
SbiExprNode* AddSub();
SbiExprNode* Cat();
SbiExprNode* Like();
+ SbiExprNode* VBA_Not();
SbiExprNode* Comp();
SbiExprNode* Boolean();
public:
diff --git a/basic/source/inc/runtime.hxx b/basic/source/inc/runtime.hxx
index 96de7e5ce6..3bab07fe03 100644
--- a/basic/source/inc/runtime.hxx
+++ b/basic/source/inc/runtime.hxx
@@ -276,6 +276,8 @@ struct RefSaveItem
class SbiRuntime
{
+ friend void SbRtl_CallByName( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite );
+
typedef void( SbiRuntime::*pStep0 )();
typedef void( SbiRuntime::*pStep1 )( UINT32 nOp1 );
typedef void( SbiRuntime::*pStep2 )( UINT32 nOp1, UINT32 nOp2 );
@@ -434,7 +436,7 @@ class SbiRuntime
void StepDCREATE_REDIMP(UINT32,UINT32), StepDCREATE_IMPL(UINT32,UINT32);
void StepFIND_CM( UINT32, UINT32 );
void StepFIND_STATIC( UINT32, UINT32 );
- void implCreateFixedString( SbxVariable* pStrVar, UINT32 nOp2 );
+ void implHandleSbxFlags( SbxVariable* pVar, SbxDataType t, UINT32 nOp2 );
public:
void SetVBAEnabled( bool bEnabled );
USHORT GetImageFlag( USHORT n ) const;
diff --git a/basic/source/inc/sbtrace.hxx b/basic/source/inc/sbtrace.hxx
index 6d24325c94..bf2caf12cb 100755
--- a/basic/source/inc/sbtrace.hxx
+++ b/basic/source/inc/sbtrace.hxx
@@ -28,15 +28,17 @@
#ifndef _SBTRACE_HXX
#define _SBTRACE_HXX
-// #define DBG_TRACE_BASIC
+//#define DBG_TRACE_BASIC
#ifdef DBG_TRACE_BASIC
void dbg_InitTrace( void );
+void dbg_DeInitTrace( void );
void dbg_traceStep( SbModule* pModule, UINT32 nPC, INT32 nCallLvl );
void dbg_traceNotifyCall( SbModule* pModule, SbMethod* pMethod, INT32 nCallLvl, bool bLeave = false );
void dbg_traceNotifyError( SbError nTraceErr, const String& aTraceErrMsg, bool bTraceErrHandled, INT32 nCallLvl );
void dbg_RegisterTraceTextForPC( SbModule* pModule, UINT32 nPC,
const String& aTraceStr_STMNT, const String& aTraceStr_PCode );
+void RTL_Impl_TraceCommand( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite );
#endif
#endif
diff --git a/basic/source/inc/sbunoobj.hxx b/basic/source/inc/sbunoobj.hxx
index f2277e99d0..11d3299cb8 100644
--- a/basic/source/inc/sbunoobj.hxx
+++ b/basic/source/inc/sbunoobj.hxx
@@ -52,7 +52,7 @@ class SbUnoObject: public SbxObject
::com::sun::star::uno::Reference< ::com::sun::star::beans::XExactName > mxExactName;
::com::sun::star::uno::Reference< ::com::sun::star::beans::XExactName > mxExactNameInvocation;
BOOL bNeedIntrospection;
- BOOL bIgnoreNativeCOMObjectMembers;
+ BOOL bNativeCOMObject;
::com::sun::star::uno::Any maTmpUnoObj; // Only to save obj for doIntrospection!
// Hilfs-Methode zum Anlegen der dbg_-Properties
@@ -84,17 +84,22 @@ public:
::com::sun::star::uno::Reference< ::com::sun::star::script::XInvocation > getInvocation( void ) { return mxInvocation; }
void SFX_NOTIFY( SfxBroadcaster&, const TypeId&, const SfxHint& rHint, const TypeId& );
+
+ bool isNativeCOMObject( void )
+ { return bNativeCOMObject; }
};
SV_DECL_IMPL_REF(SbUnoObject);
// #67781 Rueckgabewerte der Uno-Methoden loeschen
void clearUnoMethods( void );
+void clearUnoMethodsForBasic( StarBASIC* pBasic );
class SbUnoMethod : public SbxMethod
{
friend class SbUnoObject;
friend void clearUnoMethods( void );
+ friend void clearUnoMethodsForBasic( StarBASIC* pBasic );
::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlMethod > m_xUnoMethod;
::com::sun::star::uno::Sequence< ::com::sun::star::reflection::ParamInfo >* pParamInfoSeq;
@@ -103,13 +108,15 @@ class SbUnoMethod : public SbxMethod
SbUnoMethod* pPrev;
SbUnoMethod* pNext;
- bool mbInvocation; // Method is based on invocation
+ bool mbInvocation; // Method is based on invocation
+ bool mbDirectInvocation; // Method should be used with XDirectInvocation interface
public:
TYPEINFO();
SbUnoMethod( const String& aName_, SbxDataType eSbxType, ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlMethod > xUnoMethod_,
- bool bInvocation );
+ bool bInvocation,
+ bool bDirect = false );
virtual ~SbUnoMethod();
virtual SbxInfo* GetInfo();
@@ -117,6 +124,8 @@ public:
bool isInvocationBased( void )
{ return mbInvocation; }
+ bool needsDirectInvocation( void )
+ { return mbDirectInvocation; }
};
@@ -293,6 +302,9 @@ void RTL_Impl_IsUnoStruct( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite );
void RTL_Impl_EqualUnoObjects( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite );
void RTL_Impl_GetDefaultContext( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite );
+void disposeComVariablesForBasic( StarBASIC* pBasic );
+void clearNativeObjectWrapperVector( void );
+
//========================================================================
// #118116 Collection object
diff --git a/basic/source/inc/scriptcont.hxx b/basic/source/inc/scriptcont.hxx
index 71ad535600..789f9da7b4 100644
--- a/basic/source/inc/scriptcont.hxx
+++ b/basic/source/inc/scriptcont.hxx
@@ -43,6 +43,7 @@ namespace basic
class SfxScriptLibraryContainer : public SfxLibraryContainer, public OldBasicPassword
{
::rtl::OUString maScriptLanguage;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > mxCodeNameAccess;
// Methods to distinguish between deffirent library types
virtual SfxLibrary* SAL_CALL implCreateLibrary( const ::rtl::OUString& aName );
diff --git a/basic/source/runtime/comenumwrapper.cxx b/basic/source/runtime/comenumwrapper.cxx
new file mode 100644
index 0000000000..627f2cdaf7
--- /dev/null
+++ b/basic/source/runtime/comenumwrapper.cxx
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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_basic.hxx"
+#include "comenumwrapper.hxx"
+
+using namespace ::com::sun::star;
+
+::sal_Bool SAL_CALL ComEnumerationWrapper::hasMoreElements()
+ throw ( uno::RuntimeException )
+{
+ sal_Bool bResult = sal_False;
+
+ try
+ {
+ if ( m_xInvocation.is() )
+ {
+ sal_Int32 nLength = 0;
+ bResult =
+ ( ( m_xInvocation->getValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "length" ) ) ) >>= nLength )
+ && nLength > m_nCurInd );
+ }
+ }
+ catch( uno::Exception& )
+ {}
+
+ return bResult;
+}
+
+uno::Any SAL_CALL ComEnumerationWrapper::nextElement()
+ throw ( container::NoSuchElementException,
+ lang::WrappedTargetException,
+ uno::RuntimeException )
+{
+ try
+ {
+ if ( m_xInvocation.is() )
+ {
+ uno::Sequence< sal_Int16 > aNamedParamIndex;
+ uno::Sequence< uno::Any > aNamedParam;
+ uno::Sequence< uno::Any > aArgs( 1 );
+
+ aArgs[0] <<= m_nCurInd++;
+
+ return m_xInvocation->invoke( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "item" ) ),
+ aArgs,
+ aNamedParamIndex,
+ aNamedParam );
+ }
+ }
+ catch( uno::Exception& )
+ {}
+
+ throw container::NoSuchElementException();
+}
+
+
diff --git a/basic/source/runtime/comenumwrapper.hxx b/basic/source/runtime/comenumwrapper.hxx
new file mode 100644
index 0000000000..9ebe052b9d
--- /dev/null
+++ b/basic/source/runtime/comenumwrapper.hxx
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 _COMENUMWRAPPER_HXX
+#define _COMENUMWRAPPER_HXX
+
+#include <com/sun/star/container/XEnumeration.hpp>
+#include <com/sun/star/script/XInvocation.hpp>
+
+#include <cppuhelper/implbase1.hxx>
+
+class ComEnumerationWrapper : public ::cppu::WeakImplHelper1< ::com::sun::star::container::XEnumeration >
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::script::XInvocation > m_xInvocation;
+ sal_Int32 m_nCurInd;
+
+public:
+ ComEnumerationWrapper( const ::com::sun::star::uno::Reference< ::com::sun::star::script::XInvocation >& xInvocation )
+ : m_xInvocation( xInvocation )
+ , m_nCurInd( 0 )
+ {
+ }
+
+ // container::XEnumeration
+ virtual ::sal_Bool SAL_CALL hasMoreElements() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL nextElement() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+};
+
+#endif // _COMENUMWRAPPER_HXX
+
diff --git a/basic/source/runtime/makefile.mk b/basic/source/runtime/makefile.mk
index f2ed11196b..8ca052aaae 100644
--- a/basic/source/runtime/makefile.mk
+++ b/basic/source/runtime/makefile.mk
@@ -41,6 +41,7 @@ ENABLE_EXCEPTIONS = TRUE
SLOFILES= \
$(SLO)$/basrdll.obj \
+ $(SLO)$/comenumwrapper.obj \
$(SLO)$/inputbox.obj \
$(SLO)$/runtime.obj \
$(SLO)$/step0.obj \
diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx
index acf6cb92ba..49e3c15f03 100644..100755
--- a/basic/source/runtime/methods1.cxx
+++ b/basic/source/runtime/methods1.cxx
@@ -112,6 +112,126 @@ static Reference< XCalendar > getLocaleCalendar( void )
return xCalendar;
}
+RTLFUNC(CallByName)
+{
+ (void)pBasic;
+ (void)bWrite;
+
+ const INT16 vbGet = 2;
+ const INT16 vbLet = 4;
+ const INT16 vbMethod = 1;
+ const INT16 vbSet = 8;
+
+ // At least 3 parameter needed plus function itself -> 4
+ USHORT nParCount = rPar.Count();
+ if ( nParCount < 4 )
+ {
+ StarBASIC::Error( SbERR_BAD_ARGUMENT );
+ return;
+ }
+
+ // 1. parameter is object
+ SbxBase* pObjVar = (SbxObject*)rPar.Get(1)->GetObject();
+ SbxObject* pObj = NULL;
+ if( pObjVar )
+ pObj = PTR_CAST(SbxObject,pObjVar);
+ if( !pObj && pObjVar && pObjVar->ISA(SbxVariable) )
+ {
+ SbxBase* pObjVarObj = ((SbxVariable*)pObjVar)->GetObject();
+ pObj = PTR_CAST(SbxObject,pObjVarObj);
+ }
+ if( !pObj )
+ {
+ StarBASIC::Error( SbERR_BAD_PARAMETER );
+ return;
+ }
+
+ // 2. parameter is ProcedureName
+ String aNameStr = rPar.Get(2)->GetString();
+
+ // 3. parameter is CallType
+ INT16 nCallType = rPar.Get(3)->GetInteger();
+
+ //SbxObject* pFindObj = NULL;
+ SbxVariable* pFindVar = pObj->Find( aNameStr, SbxCLASS_DONTCARE );
+ if( pFindVar == NULL )
+ {
+ StarBASIC::Error( SbERR_PROC_UNDEFINED );
+ return;
+ }
+
+ switch( nCallType )
+ {
+ case vbGet:
+ {
+ SbxValues aVals;
+ aVals.eType = SbxVARIANT;
+ pFindVar->Get( aVals );
+
+ SbxVariableRef refVar = rPar.Get(0);
+ refVar->Put( aVals );
+ }
+ break;
+ case vbLet:
+ case vbSet:
+ {
+ if ( nParCount != 5 )
+ {
+ StarBASIC::Error( SbERR_BAD_ARGUMENT );
+ return;
+ }
+ SbxVariableRef pValVar = rPar.Get(4);
+ if( nCallType == vbLet )
+ {
+ SbxValues aVals;
+ aVals.eType = SbxVARIANT;
+ pValVar->Get( aVals );
+ pFindVar->Put( aVals );
+ }
+ else
+ {
+ SbxVariableRef rFindVar = pFindVar;
+ SbiInstance* pInst = pINST;
+ SbiRuntime* pRT = pInst ? pInst->pRun : NULL;
+ if( pRT != NULL )
+ pRT->StepSET_Impl( pValVar, rFindVar, false );
+ }
+ }
+ break;
+ case vbMethod:
+ {
+ SbMethod* pMeth = PTR_CAST(SbMethod,pFindVar);
+ if( pMeth == NULL )
+ {
+ StarBASIC::Error( SbERR_PROC_UNDEFINED );
+ return;
+ }
+
+ // Setup parameters
+ SbxArrayRef xArray;
+ USHORT nMethParamCount = nParCount - 4;
+ if( nMethParamCount > 0 )
+ {
+ xArray = new SbxArray;
+ for( USHORT i = 0 ; i < nMethParamCount ; i++ )
+ {
+ SbxVariable* pPar = rPar.Get( i + 4 );
+ xArray->Put( pPar, i + 1 );
+ }
+ }
+
+ // Call method
+ SbxVariableRef refVar = rPar.Get(0);
+ if( xArray.Is() )
+ pMeth->SetParameters( xArray );
+ pMeth->Call( refVar );
+ pMeth->SetParameters( NULL );
+ }
+ break;
+ default:
+ StarBASIC::Error( SbERR_PROC_UNDEFINED );
+ }
+}
RTLFUNC(CBool) // JSM
{
@@ -527,6 +647,7 @@ RTLFUNC(DoEvents)
//aTimer.Start();
//while ( aTimer.IsActive() )
// Application::Reschedule();
+ Application::Reschedule( true );
}
RTLFUNC(GetGUIVersion)
@@ -1513,6 +1634,12 @@ RTLFUNC(GetDefaultContext)
RTL_Impl_GetDefaultContext( pBasic, rPar, bWrite );
}
+#ifdef DBG_TRACE_BASIC
+RTLFUNC(TraceCommand)
+{
+ RTL_Impl_TraceCommand( pBasic, rPar, bWrite );
+}
+#endif
RTLFUNC(Join)
{
diff --git a/basic/source/runtime/rtlproto.hxx b/basic/source/runtime/rtlproto.hxx
index e3b2a05395..a7e2a5ee38 100644
--- a/basic/source/runtime/rtlproto.hxx
+++ b/basic/source/runtime/rtlproto.hxx
@@ -26,6 +26,7 @@
************************************************************************/
#include <basic/sbstar.hxx>
+#include "sbtrace.hxx"
#define RTLFUNC( name ) void SbRtl_##name( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite )
#define RTLNAME( name ) &SbRtl_##name
@@ -271,6 +272,7 @@ extern RTLFUNC(AboutStarBasic);
extern RTLFUNC(LoadPicture);
extern RTLFUNC(SavePicture);
+extern RTLFUNC(CallByName);
extern RTLFUNC(CBool); // JSM
extern RTLFUNC(CByte); // JSM
extern RTLFUNC(CCur); // JSM
@@ -345,5 +347,9 @@ extern RTLFUNC(CDec);
extern RTLFUNC(Partition); // Fong
+#ifdef DBG_TRACE_BASIC
+extern RTLFUNC(TraceCommand);
+#endif
+
extern double Now_Impl();
extern void Wait_Impl( bool bDurationBased, SbxArray& rPar );
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index a8eff4d55d..022cc40a5f 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -45,6 +45,7 @@
#include "sbunoobj.hxx"
#include "errobject.hxx"
#include "sbtrace.hxx"
+#include "comenumwrapper.hxx"
using namespace ::com::sun::star;
@@ -890,11 +891,12 @@ void SbiRuntime::Error( SbError _errCode, const String& _details )
{
if ( _errCode )
{
- OSL_ENSURE( pInst->pRun == this, "SbiRuntime::Error: can't propagate the error message details!" );
+ // Not correct for class module usage, remove for now
+ //OSL_ENSURE( pInst->pRun == this, "SbiRuntime::Error: can't propagate the error message details!" );
if ( pInst->pRun == this )
{
pInst->Error( _errCode, _details );
- OSL_POSTCOND( nError == _errCode, "SbiRuntime::Error: the instance is expecte to propagate the error code back to me!" );
+ //OSL_POSTCOND( nError == _errCode, "SbiRuntime::Error: the instance is expecte to propagate the error code back to me!" );
}
else
{
@@ -1176,6 +1178,23 @@ void SbiRuntime::PushForEach()
p->xEnumeration = xEnumerationAccess->createEnumeration();
p->eForType = FOR_EACH_XENUMERATION;
}
+ else if ( isVBAEnabled() && pUnoObj->isNativeCOMObject() )
+ {
+ uno::Reference< script::XInvocation > xInvocation;
+ if ( ( aAny >>= xInvocation ) && xInvocation.is() )
+ {
+ try
+ {
+ p->xEnumeration = new ComEnumerationWrapper( xInvocation );
+ p->eForType = FOR_EACH_XENUMERATION;
+ }
+ catch( uno::Exception& )
+ {}
+ }
+
+ if ( !p->xEnumeration.is() )
+ bError_ = true;
+ }
else
{
bError_ = true;
diff --git a/basic/source/runtime/stdobj.cxx b/basic/source/runtime/stdobj.cxx
index d621a12f0f..cea7f3907c 100644
--- a/basic/source/runtime/stdobj.cxx
+++ b/basic/source/runtime/stdobj.cxx
@@ -94,6 +94,10 @@ static Methods aMethods[] = {
{ "Blue", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Blue),0 },
{ "RGB-Value", SbxLONG, 0,NULL,0 },
+{ "CallByName", SbxVARIANT, 3 | _FUNCTION, RTLNAME(CallByName),0 },
+ { "Object", SbxOBJECT, 0,NULL,0 },
+ { "ProcedureName",SbxSTRING, 0,NULL,0 },
+ { "CallType", SbxINTEGER, 0,NULL,0 },
{ "CBool", SbxBOOL, 1 | _FUNCTION, RTLNAME(CBool),0 },
{ "expression", SbxVARIANT, 0,NULL,0 },
{ "CByte", SbxBYTE, 1 | _FUNCTION, RTLNAME(CByte),0 },
@@ -531,6 +535,10 @@ static Methods aMethods[] = {
{ "TimeValue", SbxDATE, 1 | _FUNCTION, RTLNAME(TimeValue),0 },
{ "String", SbxSTRING, 0,NULL,0 },
{ "TOGGLE", SbxINTEGER, _CPROP, RTLNAME(TOGGLE),0 },
+#ifdef DBG_TRACE_BASIC
+{ "TraceCommand", SbxNULL, 1 | _FUNCTION, RTLNAME(TraceCommand),0 },
+ { "Command", SbxSTRING, 0,NULL,0 },
+#endif
{ "Trim", SbxSTRING, 1 | _FUNCTION, RTLNAME(Trim),0 },
{ "String", SbxSTRING, 0,NULL,0 },
{ "True", SbxBOOL, _CPROP, RTLNAME(True),0 },
diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx
index f5c9d5dce1..20577b673f 100644
--- a/basic/source/runtime/step0.cxx
+++ b/basic/source/runtime/step0.cxx
@@ -47,6 +47,7 @@ Reference< XInterface > createComListener( const Any& aControlAny, const ::rtl::
const ::rtl::OUString& aPrefix, SbxObjectRef xScopeObj );
#include <algorithm>
+#include <hash_map>
SbxVariable* getDefaultProp( SbxVariable* pRef );
@@ -418,9 +419,53 @@ void SbiRuntime::StepPUT()
}
+// VBA Dim As New behavior handling, save init object information
+struct DimAsNewRecoverItem
+{
+ String m_aObjClass;
+ String m_aObjName;
+ SbxObject* m_pObjParent;
+ SbModule* m_pClassModule;
+
+ DimAsNewRecoverItem( void )
+ : m_pObjParent( NULL )
+ , m_pClassModule( NULL )
+ {}
+
+ DimAsNewRecoverItem( const String& rObjClass, const String& rObjName,
+ SbxObject* pObjParent, SbModule* pClassModule )
+ : m_aObjClass( rObjClass )
+ , m_aObjName( rObjName )
+ , m_pObjParent( pObjParent )
+ , m_pClassModule( pClassModule )
+ {}
+
+};
+
+
+struct SbxVariablePtrHash
+{
+ size_t operator()( SbxVariable* pVar ) const
+ { return (size_t)pVar; }
+};
+
+typedef std::hash_map< SbxVariable*, DimAsNewRecoverItem, SbxVariablePtrHash > DimAsNewRecoverHash;
+
+static DimAsNewRecoverHash GaDimAsNewRecoverHash;
+
+void removeDimAsNewRecoverItem( SbxVariable* pVar )
+{
+ DimAsNewRecoverHash::iterator it = GaDimAsNewRecoverHash.find( pVar );
+ if( it != GaDimAsNewRecoverHash.end() )
+ GaDimAsNewRecoverHash.erase( it );
+}
+
+
// Speichern Objektvariable
// Nicht-Objekt-Variable fuehren zu Fehlern
+static const char pCollectionStr[] = "Collection";
+
void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, bool bHandleDefaultProp )
{
// #67733 Typen mit Array-Flag sind auch ok
@@ -523,6 +568,12 @@ void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, b
}
}
+ // Handle Dim As New
+ BOOL bDimAsNew = bVBAEnabled && refVar->IsSet( SBX_DIM_AS_NEW );
+ SbxBaseRef xPrevVarObj;
+ if( bDimAsNew )
+ xPrevVarObj = refVar->GetObject();
+
// Handle withevents
BOOL bWithEvents = refVar->IsSet( SBX_WITH_EVENTS );
if ( bWithEvents )
@@ -541,7 +592,7 @@ void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, b
xComListener = createComListener( aControlAny, aVBAType, aPrefix, xScopeObj );
refVal->SetDeclareClassName( aDeclareClassName );
- refVal->SetComListener( xComListener ); // Hold reference
+ refVal->SetComListener( xComListener, &rBasic ); // Hold reference
}
*refVar = *refVal;
@@ -551,6 +602,68 @@ void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, b
*refVar = *refVal;
}
+ if ( bDimAsNew )
+ {
+ if( !refVar->ISA(SbxObject) )
+ {
+ SbxBase* pValObjBase = refVal->GetObject();
+ if( pValObjBase == NULL )
+ {
+ if( xPrevVarObj.Is() )
+ {
+ // Object is overwritten with NULL, instantiate init object
+ DimAsNewRecoverHash::iterator it = GaDimAsNewRecoverHash.find( refVar );
+ if( it != GaDimAsNewRecoverHash.end() )
+ {
+ const DimAsNewRecoverItem& rItem = it->second;
+ if( rItem.m_pClassModule != NULL )
+ {
+ SbClassModuleObject* pNewObj = new SbClassModuleObject( rItem.m_pClassModule );
+ pNewObj->SetName( rItem.m_aObjName );
+ pNewObj->SetParent( rItem.m_pObjParent );
+ refVar->PutObject( pNewObj );
+ }
+ else if( rItem.m_aObjClass.EqualsIgnoreCaseAscii( pCollectionStr ) )
+ {
+ BasicCollection* pNewCollection = new BasicCollection( String( RTL_CONSTASCII_USTRINGPARAM(pCollectionStr) ) );
+ pNewCollection->SetName( rItem.m_aObjName );
+ pNewCollection->SetParent( rItem.m_pObjParent );
+ refVar->PutObject( pNewCollection );
+ }
+ }
+ }
+ }
+ else
+ {
+ // Does old value exist?
+ bool bFirstInit = !xPrevVarObj.Is();
+ if( bFirstInit )
+ {
+ // Store information to instantiate object later
+ SbxObject* pValObj = PTR_CAST(SbxObject,pValObjBase);
+ if( pValObj != NULL )
+ {
+ String aObjClass = pValObj->GetClassName();
+
+ SbClassModuleObject* pClassModuleObj = PTR_CAST(SbClassModuleObject,pValObjBase);
+ if( pClassModuleObj != NULL )
+ {
+ SbModule* pClassModule = pClassModuleObj->getClassModule();
+ GaDimAsNewRecoverHash[refVar] =
+ DimAsNewRecoverItem( aObjClass, pValObj->GetName(), pValObj->GetParent(), pClassModule );
+ }
+ else if( aObjClass.EqualsIgnoreCaseAscii( "Collection" ) )
+ {
+ GaDimAsNewRecoverHash[refVar] =
+ DimAsNewRecoverItem( aObjClass, pValObj->GetName(), pValObj->GetParent(), NULL );
+ }
+ }
+ }
+ }
+ }
+ }
+
+
// lhs is a property who's value is currently (Empty e.g. no broadcast yet)
// in this case if there is a default prop involved the value of the
// default property may infact be void so the type will also be SbxEMPTY
diff --git a/basic/source/runtime/step2.cxx b/basic/source/runtime/step2.cxx
index 995c425c0e..4279abe002 100755
--- a/basic/source/runtime/step2.cxx
+++ b/basic/source/runtime/step2.cxx
@@ -143,15 +143,19 @@ SbxVariable* SbiRuntime::FindElement
else
pElem = getVBAConstant( aName );
}
- // #72382 VORSICHT! Liefert jetzt wegen unbekannten
- // Modulen IMMER ein Ergebnis!
- SbUnoClass* pUnoClass = findUnoClass( aName );
- if( pUnoClass )
+
+ if( !pElem )
{
- pElem = new SbxVariable( t );
- SbxValues aRes( SbxOBJECT );
- aRes.pObj = pUnoClass;
- pElem->SbxVariable::Put( aRes );
+ // #72382 VORSICHT! Liefert jetzt wegen unbekannten
+ // Modulen IMMER ein Ergebnis!
+ SbUnoClass* pUnoClass = findUnoClass( aName );
+ if( pUnoClass )
+ {
+ pElem = new SbxVariable( t );
+ SbxValues aRes( SbxOBJECT );
+ aRes.pObj = pUnoClass;
+ pElem->SbxVariable::Put( aRes );
+ }
}
// #62939 Wenn eine Uno-Klasse gefunden wurde, muss
@@ -407,6 +411,34 @@ void SbiRuntime::SetupArgs( SbxVariable* p, UINT32 nOp1 )
}
}
}
+ else if( bVBAEnabled && p->GetType() == SbxOBJECT && (!p->ISA(SbxMethod) || !p->IsBroadcaster()) )
+ {
+ // Check for default method with named parameters
+ SbxBaseRef pObj = (SbxBase*)p->GetObject();
+ if( pObj && pObj->ISA(SbUnoObject) )
+ {
+ SbUnoObject* pUnoObj = (SbUnoObject*)(SbxBase*)pObj;
+ Any aAny = pUnoObj->getUnoAny();
+
+ if( aAny.getValueType().getTypeClass() == TypeClass_INTERFACE )
+ {
+ Reference< XInterface > x = *(Reference< XInterface >*)aAny.getValue();
+ Reference< XDefaultMethod > xDfltMethod( x, UNO_QUERY );
+
+ rtl::OUString sDefaultMethod;
+ if ( xDfltMethod.is() )
+ sDefaultMethod = xDfltMethod->getDefaultMethodName();
+ if ( sDefaultMethod.getLength() )
+ {
+ SbxVariable* meth = pUnoObj->Find( sDefaultMethod, SbxCLASS_METHOD );
+ if( meth != NULL )
+ pInfo = meth->GetInfo();
+ if( pInfo )
+ bError_ = false;
+ }
+ }
+ }
+ }
if( bError_ )
Error( SbERR_NO_NAMED_ARGS );
}
@@ -489,7 +521,7 @@ SbxVariable* SbiRuntime::CheckArray( SbxVariable* pElem )
pPar->Put( NULL, 0 );
}
// Index-Access bei UnoObjekten beruecksichtigen
- else if( pElem->GetType() == SbxOBJECT && !pElem->ISA(SbxMethod) )
+ else if( pElem->GetType() == SbxOBJECT && (!pElem->ISA(SbxMethod) || !pElem->IsBroadcaster()) )
{
pPar = pElem->GetParameters();
if ( pPar )
@@ -589,6 +621,12 @@ SbxVariable* SbiRuntime::CheckArray( SbxVariable* pElem )
pCol->CollItem( pPar );
}
}
+ else if( bVBAEnabled ) // !pObj
+ {
+ SbxArray* pParam = pElem->GetParameters();
+ if( pParam != NULL )
+ Error( SbERR_NO_OBJECT );
+ }
}
}
@@ -1085,12 +1123,24 @@ void SbiRuntime::StepTCREATE( UINT32 nOp1, UINT32 nOp2 )
PushVar( pNew );
}
-void SbiRuntime::implCreateFixedString( SbxVariable* pStrVar, UINT32 nOp2 )
+void SbiRuntime::implHandleSbxFlags( SbxVariable* pVar, SbxDataType t, UINT32 nOp2 )
{
- USHORT nCount = static_cast<USHORT>( nOp2 >> 17 ); // len = all bits above 0x10000
- String aStr;
- aStr.Fill( nCount, 0 );
- pStrVar->PutString( aStr );
+ bool bWithEvents = ((t & 0xff) == SbxOBJECT && (nOp2 & SBX_TYPE_WITH_EVENTS_FLAG) != 0);
+ if( bWithEvents )
+ pVar->SetFlag( SBX_WITH_EVENTS );
+
+ bool bDimAsNew = ((nOp2 & SBX_TYPE_DIM_AS_NEW_FLAG) != 0);
+ if( bDimAsNew )
+ pVar->SetFlag( SBX_DIM_AS_NEW );
+
+ bool bFixedString = ((t & 0xff) == SbxSTRING && (nOp2 & SBX_FIXED_LEN_STRING_FLAG) != 0);
+ if( bFixedString )
+ {
+ USHORT nCount = static_cast<USHORT>( nOp2 >> 17 ); // len = all bits above 0x10000
+ String aStr;
+ aStr.Fill( nCount, 0 );
+ pVar->PutString( aStr );
+ }
}
// Einrichten einer lokalen Variablen (+StringID+Typ)
@@ -1105,12 +1155,7 @@ void SbiRuntime::StepLOCAL( UINT32 nOp1, UINT32 nOp2 )
SbxDataType t = (SbxDataType)(nOp2 & 0xffff);
SbxVariable* p = new SbxVariable( t );
p->SetName( aName );
- bool bWithEvents = ((t & 0xff) == SbxOBJECT && (nOp2 & SBX_TYPE_WITH_EVENTS_FLAG) != 0);
- if( bWithEvents )
- p->SetFlag( SBX_WITH_EVENTS );
- bool bFixedString = ((t & 0xff) == SbxSTRING && (nOp2 & SBX_FIXED_LEN_STRING_FLAG) != 0);
- if( bFixedString )
- implCreateFixedString( p, nOp2 );
+ implHandleSbxFlags( p, t, nOp2 );
refLocals->Put( p, refLocals->Count() );
}
}
@@ -1137,12 +1182,7 @@ void SbiRuntime::StepPUBLIC_Impl( UINT32 nOp1, UINT32 nOp2, bool bUsedForClassMo
// AB: 2.7.1996: HACK wegen 'Referenz kann nicht gesichert werden'
pProp->SetFlag( SBX_NO_MODIFY);
- bool bWithEvents = ((t & 0xff) == SbxOBJECT && (nOp2 & SBX_TYPE_WITH_EVENTS_FLAG) != 0);
- if( bWithEvents )
- pProp->SetFlag( SBX_WITH_EVENTS );
- bool bFixedString = ((t & 0xff) == SbxSTRING && (nOp2 & SBX_FIXED_LEN_STRING_FLAG) != 0);
- if( bFixedString )
- implCreateFixedString( p, nOp2 );
+ implHandleSbxFlags( pProp, t, nOp2 );
}
}
diff --git a/basic/source/sbx/sbxbool.cxx b/basic/source/sbx/sbxbool.cxx
index 7551a586b3..8abfbeabab 100644
--- a/basic/source/sbx/sbxbool.cxx
+++ b/basic/source/sbx/sbxbool.cxx
@@ -91,7 +91,7 @@ enum SbxBOOL ImpGetBool( const SbxValues* p )
{
if( p->pOUString->equalsIgnoreAsciiCase( SbxRes( STRING_TRUE ) ) )
nRes = SbxTRUE;
- else if( p->pOUString->equalsIgnoreAsciiCase( SbxRes( STRING_FALSE ) ) )
+ else if( !p->pOUString->equalsIgnoreAsciiCase( SbxRes( STRING_FALSE ) ) )
{
// Jetzt kann es noch in eine Zahl konvertierbar sein
BOOL bError = TRUE;
diff --git a/basic/source/sbx/sbxobj.cxx b/basic/source/sbx/sbxobj.cxx
index c96d9b5b35..43ee8e6944 100644
--- a/basic/source/sbx/sbxobj.cxx
+++ b/basic/source/sbx/sbxobj.cxx
@@ -112,6 +112,9 @@ SbxObject::~SbxObject()
CheckParentsOnDelete( this, pProps );
CheckParentsOnDelete( this, pMethods );
CheckParentsOnDelete( this, pObjs );
+
+ // avoid handling in ~SbxVariable as SBX_DIM_AS_NEW == SBX_GBLSEARCH
+ ResetFlag( SBX_DIM_AS_NEW );
}
SbxDataType SbxObject::GetType() const
diff --git a/basic/source/sbx/sbxvalue.cxx b/basic/source/sbx/sbxvalue.cxx
index 9cbdeafdb2..945e66ceaf 100644..100755
--- a/basic/source/sbx/sbxvalue.cxx
+++ b/basic/source/sbx/sbxvalue.cxx
@@ -436,6 +436,8 @@ SbxValue* SbxValue::TheRealValue() const
}
// #55226 Zusaetzliche Info transportieren
+bool handleToStringForCOMObjects( SbxObject* pObj, SbxValue* pVal ); // sbunoobj.cxx
+
SbxValue* SbxValue::TheRealValue( BOOL bObjInObjError ) const
{
SbxValue* p = (SbxValue*) this;
@@ -461,8 +463,12 @@ SbxValue* SbxValue::TheRealValue( BOOL bObjInObjError ) const
((SbxValue*) pObj)->aData.eType == SbxOBJECT &&
((SbxValue*) pObj)->aData.pObj == pObj )
{
- SetError( SbxERR_BAD_PROP_VALUE );
- p = NULL;
+ bool bSuccess = handleToStringForCOMObjects( pObj, p );
+ if( !bSuccess )
+ {
+ SetError( SbxERR_BAD_PROP_VALUE );
+ p = NULL;
+ }
}
else if( pDflt )
p = pDflt;
diff --git a/basic/source/sbx/sbxvar.cxx b/basic/source/sbx/sbxvar.cxx
index 4ce6eaf961..e11a408a14 100644
--- a/basic/source/sbx/sbxvar.cxx
+++ b/basic/source/sbx/sbxvar.cxx
@@ -59,13 +59,17 @@ class SbxVariableImpl
friend class SbxVariable;
String m_aDeclareClassName;
Reference< XInterface > m_xComListener;
+ StarBASIC* m_pComListenerParentBasic;
SbxVariableImpl( void )
+ : m_pComListenerParentBasic( NULL )
{}
SbxVariableImpl( const SbxVariableImpl& r )
: m_aDeclareClassName( r.m_aDeclareClassName )
, m_xComListener( r.m_xComListener )
- {}
+ , m_pComListenerParentBasic( r.m_pComListenerParentBasic )
+ {
+ }
};
@@ -84,12 +88,18 @@ SbxVariable::SbxVariable() : SbxValue()
#endif
}
+void registerComListenerVariableForBasic( SbxVariable* pVar, StarBASIC* pBasic );
+
SbxVariable::SbxVariable( const SbxVariable& r )
: SvRefBase( r ), SbxValue( r ), mpPar( r.mpPar ), pInfo( r.pInfo )
{
mpSbxVariableImpl = NULL;
if( r.mpSbxVariableImpl != NULL )
+ {
mpSbxVariableImpl = new SbxVariableImpl( *r.mpSbxVariableImpl );
+ if( mpSbxVariableImpl->m_xComListener.is() )
+ registerComListenerVariableForBasic( this, mpSbxVariableImpl->m_pComListenerParentBasic );
+ }
pCst = NULL;
if( r.CanRead() )
{
@@ -126,6 +136,8 @@ SbxVariable::SbxVariable( SbxDataType t, void* p ) : SbxValue( t, p )
#endif
}
+void removeDimAsNewRecoverItem( SbxVariable* pVar );
+
SbxVariable::~SbxVariable()
{
#ifdef DBG_UTIL
@@ -136,6 +148,8 @@ SbxVariable::~SbxVariable()
maName.AssignAscii( aCellsStr, sizeof( aCellsStr )-1 );
GetSbxData_Impl()->aVars.Remove( this );
#endif
+ if( IsSet( SBX_DIM_AS_NEW ))
+ removeDimAsNewRecoverItem( this );
delete mpSbxVariableImpl;
delete pCst;
}
@@ -315,7 +329,11 @@ SbxVariable& SbxVariable::operator=( const SbxVariable& r )
SbxValue::operator=( r );
delete mpSbxVariableImpl;
if( r.mpSbxVariableImpl != NULL )
+ {
mpSbxVariableImpl = new SbxVariableImpl( *r.mpSbxVariableImpl );
+ if( mpSbxVariableImpl->m_xComListener.is() )
+ registerComListenerVariableForBasic( this, mpSbxVariableImpl->m_pComListenerParentBasic );
+ }
else
mpSbxVariableImpl = NULL;
return *this;
@@ -396,10 +414,19 @@ void SbxVariable::SetDeclareClassName( const String& rDeclareClassName )
pImpl->m_aDeclareClassName = rDeclareClassName;
}
-void SbxVariable::SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener )
+void SbxVariable::SetComListener( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xComListener,
+ StarBASIC* pParentBasic )
{
SbxVariableImpl* pImpl = getImpl();
pImpl->m_xComListener = xComListener;
+ pImpl->m_pComListenerParentBasic = pParentBasic;
+ registerComListenerVariableForBasic( this, pParentBasic );
+}
+
+void SbxVariable::ClearComListener( void )
+{
+ SbxVariableImpl* pImpl = getImpl();
+ pImpl->m_xComListener.clear();
}
diff --git a/basic/source/uno/modsizeexceeded.cxx b/basic/source/uno/modsizeexceeded.cxx
index 8bd4875cbd..acd48d8872 100644
--- a/basic/source/uno/modsizeexceeded.cxx
+++ b/basic/source/uno/modsizeexceeded.cxx
@@ -27,9 +27,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_basic.hxx"
-#include "modsizeexceeded.hxx"
+#include "basic/modsizeexceeded.hxx"
-#include <framework/interaction.hxx>
+#include <comphelper/interaction.hxx>
#include <com/sun/star/script/ModuleSizeExceededRequest.hpp>
using namespace com::sun::star;
@@ -44,8 +44,8 @@ ModuleSizeExceeded::ModuleSizeExceeded( const uno::Sequence< ::rtl::OUString >&
m_aRequest <<= aReq;
- m_xAbort.set( uno::Reference< task::XInteractionAbort >(new framework::ContinuationAbort), uno::UNO_QUERY );
- m_xApprove.set( uno::Reference< task::XInteractionApprove >(new framework::ContinuationApprove ), uno::UNO_QUERY );
+ m_xAbort.set( uno::Reference< task::XInteractionAbort >(new comphelper::OInteractionAbort), uno::UNO_QUERY );
+ m_xApprove.set( uno::Reference< task::XInteractionApprove >(new comphelper::OInteractionApprove ), uno::UNO_QUERY );
m_lContinuations.realloc( 2 );
m_lContinuations[0] = m_xApprove;
m_lContinuations[1] = m_xAbort;
@@ -54,15 +54,15 @@ ModuleSizeExceeded::ModuleSizeExceeded( const uno::Sequence< ::rtl::OUString >&
sal_Bool
ModuleSizeExceeded::isAbort() const
{
- framework::ContinuationAbort* pBase = static_cast< framework::ContinuationAbort* >( m_xAbort.get() );
- return pBase->isSelected();
+ comphelper::OInteractionAbort* pBase = static_cast< comphelper::OInteractionAbort* >( m_xAbort.get() );
+ return pBase->wasSelected();
}
sal_Bool
ModuleSizeExceeded::isApprove() const
{
- framework::ContinuationApprove* pBase = static_cast< framework::ContinuationApprove* >( m_xApprove.get() );
- return pBase->isSelected();
+ comphelper::OInteractionApprove* pBase = static_cast< comphelper::OInteractionApprove* >( m_xApprove.get() );
+ return pBase->wasSelected();
}
diff --git a/basic/source/uno/namecont.cxx b/basic/source/uno/namecont.cxx
index 2eb7a4e77e..4668ca4418 100644
--- a/basic/source/uno/namecont.cxx
+++ b/basic/source/uno/namecont.cxx
@@ -2815,19 +2815,37 @@ OUString SAL_CALL SfxLibraryContainer::getOriginalLibraryLinkURL( const OUString
void SAL_CALL SfxLibraryContainer::setVBACompatibilityMode( ::sal_Bool _vbacompatmodeon ) throw (RuntimeException)
{
- BasicManager* pBasMgr = getBasicManager();
- if( pBasMgr )
+ /* The member variable mbVBACompat must be set first, the following call
+ to getBasicManager() may call getVBACompatibilityMode() which returns
+ this value. */
+ mbVBACompat = _vbacompatmodeon;
+ if( BasicManager* pBasMgr = getBasicManager() )
{
// get the standard library
- String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) );
- if ( pBasMgr->GetName().Len() )
- aLibName = pBasMgr->GetName();
+ String aLibName = pBasMgr->GetName();
+ if ( aLibName.Len() == 0 )
+ aLibName = String( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) );
- StarBASIC* pBasic = pBasMgr->GetLib( aLibName );
- if( pBasic )
+ if( StarBASIC* pBasic = pBasMgr->GetLib( aLibName ) )
pBasic->SetVBAEnabled( _vbacompatmodeon );
+
+ /* If in VBA compatibility mode, force creation of the VBA Globals
+ object. Each application will create an instance of its own
+ implementation and store it in its Basic manager. Implementations
+ will do all necessary additional initialization, such as
+ registering the global "This***Doc" UNO constant, starting the
+ document events processor etc.
+ */
+ if( mbVBACompat ) try
+ {
+ Reference< frame::XModel > xModel( mxOwnerDocument ); // weak-ref -> ref
+ Reference< XMultiServiceFactory > xFactory( xModel, UNO_QUERY_THROW );
+ xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.VBAGlobals" ) ) );
+ }
+ catch( Exception& )
+ {
+ }
}
- mbVBACompat = _vbacompatmodeon;
}
// Methods XServiceInfo
diff --git a/basic/source/uno/scriptcont.cxx b/basic/source/uno/scriptcont.cxx
index e10d1110f1..b4222e7fb5 100644
--- a/basic/source/uno/scriptcont.cxx
+++ b/basic/source/uno/scriptcont.cxx
@@ -62,7 +62,7 @@
#include <basic/basmgr.hxx>
#include <basic/sbmod.hxx>
#include <basic/basicmanagerrepository.hxx>
-#include "modsizeexceeded.hxx"
+#include "basic/modsizeexceeded.hxx"
#include <xmlscript/xmlmod_imexp.hxx>
#include <cppuhelper/factory.hxx>
#include <com/sun/star/util/VetoException.hpp>
@@ -80,10 +80,9 @@ using namespace com::sun::star::script;
using namespace com::sun::star::xml::sax;
using namespace com::sun::star;
using namespace cppu;
-using namespace rtl;
using namespace osl;
-using com::sun::star::uno::Reference;
+using ::rtl::OUString;
//============================================================================
// Implementation class SfxScriptLibraryContainer
@@ -311,24 +310,21 @@ Any SAL_CALL SfxScriptLibraryContainer::importLibraryElement
// aMod.aName ignored
if( aMod.aModuleType.getLength() > 0 )
{
- if( !getVBACompatibilityMode() )
+ /* If in VBA compatibility mode, force creation of the VBA Globals
+ object. Each application will create an instance of its own
+ implementation and store it in its Basic manager. Implementations
+ will do all necessary additional initialization, such as
+ registering the global "This***Doc" UNO constant, starting the
+ document events processor etc.
+ */
+ if( getVBACompatibilityMode() ) try
+ {
+ Reference< frame::XModel > xModel( mxOwnerDocument ); // weak-ref -> ref
+ Reference< XMultiServiceFactory > xFactory( xModel, UNO_QUERY_THROW );
+ xFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.VBAGlobals" ) ) );
+ }
+ catch( Exception& )
{
- setVBACompatibilityMode( sal_True );
-
- Any aGlobs;
- Sequence< Any > aArgs(1);
- Reference<frame::XModel > xModel( mxOwnerDocument );
- aArgs[ 0 ] <<= xModel;
-
- BasicManager* pBasicMgr = getBasicManager();
- if( pBasicMgr )
- {
- aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs );
- pBasicMgr->SetGlobalUNOConstant( "VBAGlobals", aGlobs );
- }
- pBasicMgr = BasicManagerRepository::getApplicationBasicManager( sal_False );
- if( pBasicMgr )
- pBasicMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[0] );
}
script::ModuleInfo aModInfo;
@@ -353,25 +349,21 @@ Any SAL_CALL SfxScriptLibraryContainer::importLibraryElement
RTL_CONSTASCII_STRINGPARAM("document") ))
{
aModInfo.ModuleType = ModuleType::DOCUMENT;
- Reference<frame::XModel > xModel( mxOwnerDocument );
- Reference< XMultiServiceFactory> xSF( xModel, UNO_QUERY);
- Reference< container::XNameAccess > xVBACodeNameAccess;
- if( xSF.is() )
+
+ // #163691# use the same codename access instance for all document modules
+ if( !mxCodeNameAccess.is() ) try
{
- try
- {
- xVBACodeNameAccess.set( xSF->createInstance(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "ooo.vba.VBAObjectModuleObjectProvider"))),
- UNO_QUERY );
- }
- catch(uno::Exception&) {}
+ Reference<frame::XModel > xModel( mxOwnerDocument );
+ Reference< XMultiServiceFactory> xSF( xModel, UNO_QUERY_THROW );
+ mxCodeNameAccess.set( xSF->createInstance( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.VBAObjectModuleObjectProvider" ) ) ), UNO_QUERY );
}
- if( xVBACodeNameAccess.is() )
+ catch( Exception& ) {}
+
+ if( mxCodeNameAccess.is() )
{
try
{
- aModInfo.ModuleObject.set( xVBACodeNameAccess->getByName( aElementName), uno::UNO_QUERY );
+ aModInfo.ModuleObject.set( mxCodeNameAccess->getByName( aElementName), uno::UNO_QUERY );
}
catch(uno::Exception&)
{
diff --git a/configmgr/prj/build.lst b/configmgr/prj/build.lst
index bbd0d7f34a..6043290f09 100644
--- a/configmgr/prj/build.lst
+++ b/configmgr/prj/build.lst
@@ -1,4 +1,4 @@
-cg configmgr : BOOST:boost comphelper cppu cppuhelper offuh sal salhelper stlport xmlreader NULL
+cg configmgr : BOOST:boost LIBXSLT:libxslt comphelper cppu cppuhelper offuh sal salhelper stlport xmlreader NULL
cg configmgr\inc nmake - all cg_inc NULL
cg configmgr\source nmake - all cg_source cg_inc NULL
cg configmgr\qa\unoapi nmake - all cg_qa_unoapi NULL
diff --git a/configmgr/source/access.cxx b/configmgr/source/access.cxx
index eda60e6d61..933a414d33 100644
--- a/configmgr/source/access.cxx
+++ b/configmgr/source/access.cxx
@@ -909,11 +909,8 @@ rtl::OUString Access::getImplementationName() throw (css::uno::RuntimeException)
OSL_ASSERT(thisIs(IS_ANY));
osl::MutexGuard g(lock);
checkLocalizedPropertyAccess();
- throw css::uno::RuntimeException(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "configmgr Access has no service implementation name")),
- static_cast< cppu::OWeakObject * >(this));
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("org.openoffice-configmgr::Access"));
}
sal_Bool Access::supportsService(rtl::OUString const & ServiceName)
@@ -2092,7 +2089,8 @@ css::beans::Property Access::asProperty() {
default:
type = cppu::UnoType< css::uno::XInterface >::get(); //TODO: correct?
nillable = false;
- removable = getParentNode()->kind() == Node::KIND_SET;
+ rtl::Reference< Node > parent(getParentNode());
+ removable = parent.is() && parent->kind() == Node::KIND_SET;
break;
}
return css::beans::Property(
diff --git a/configmgr/source/childaccess.cxx b/configmgr/source/childaccess.cxx
index ef2b213d4e..d387f351de 100644
--- a/configmgr/source/childaccess.cxx
+++ b/configmgr/source/childaccess.cxx
@@ -282,9 +282,10 @@ css::uno::Any ChildAccess::asValue() {
if (!Components::allLocales(locale)) {
// Find best match using an adaption of RFC 4647 lookup matching
// rules, removing "-" or "_" delimited segments from the end;
- // defaults are the empty string locale, the "en-US" locale, the
- // first child (if any), or a nil value (even though it may be
- // illegal for the given property), in that order:
+ // defaults are the "en-US" locale, the "en" locale, the empty
+ // string locale, the first child (if any), or a nil value (even
+ // though it may be illegal for the given property), in that
+ // order:
rtl::Reference< ChildAccess > child;
for (;;) {
child = getChild(locale);
@@ -295,16 +296,26 @@ css::uno::Any ChildAccess::asValue() {
while (i > 0 && locale[i] != '-' && locale[i] != '_') {
--i;
}
+ if (i == 0) {
+ break;
+ }
locale = locale.copy(0, i);
}
if (!child.is()) {
child = getChild(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en-US")));
if (!child.is()) {
- std::vector< rtl::Reference< ChildAccess > > all(
- getAllChildren());
- if (!all.empty()) {
- child = all.front();
+ child = getChild(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")));
+ if (!child.is()) {
+ child = getChild(rtl::OUString());
+ if (!child.is()) {
+ std::vector< rtl::Reference< ChildAccess > >
+ all(getAllChildren());
+ if (!all.empty()) {
+ child = all.front();
+ }
+ }
}
}
}
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 32478e9681..2d148959ed 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -214,7 +214,7 @@ void Components::WriteThread::run() {
reference_->clear();
}
-void Components::initSingleton(
+Components & Components::getSingleton(
css::uno::Reference< css::uno::XComponentContext > const & context)
{
OSL_ASSERT(context.is());
@@ -223,10 +223,6 @@ void Components::initSingleton(
static Components theSingleton(context);
singleton = &theSingleton;
}
-}
-
-Components & Components::getSingleton() {
- OSL_ASSERT(singletonCreated);
if (singleton == 0) {
throw css::uno::RuntimeException(
rtl::OUString(
diff --git a/configmgr/source/components.hxx b/configmgr/source/components.hxx
index 1c735efca6..34b693c7e5 100644
--- a/configmgr/source/components.hxx
+++ b/configmgr/source/components.hxx
@@ -65,12 +65,10 @@ class RootAccess;
class Components: private boost::noncopyable {
public:
- static void initSingleton(
+ static Components & getSingleton(
com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
const & context);
- static Components & getSingleton();
-
static bool allLocales(rtl::OUString const & locale);
rtl::Reference< Node > resolvePathRepresentation(
diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx
index 3cd58b145b..999253118f 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -55,7 +55,7 @@
#include "cppu/unotype.hxx"
#include "cppuhelper/compbase5.hxx"
#include "cppuhelper/factory.hxx"
-#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/implbase2.hxx"
#include "cppuhelper/interfacecontainer.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/diagnose.h"
@@ -127,7 +127,6 @@ private:
virtual css::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames() throw (css::uno::RuntimeException)
{ return configuration_provider::getSupportedServiceNames(); }
- //TODO: DefaultProvider?
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(
rtl::OUString const & aServiceSpecifier)
@@ -276,8 +275,7 @@ Service::createInstanceWithArguments(
static_cast< cppu::OWeakObject * >(this));
}
osl::MutexGuard guard(lock);
- Components::initSingleton(context_);
- Components & components = Components::getSingleton();
+ Components & components = Components::getSingleton(context_);
rtl::Reference< RootAccess > root(
new RootAccess(components, nodepath, locale, update));
if (root->isValue()) {
@@ -388,14 +386,14 @@ void Service::flushModifications() const {
Components * components;
{
osl::MutexGuard guard(lock);
- Components::initSingleton(context_);
- components = &Components::getSingleton();
+ components = &Components::getSingleton(context_);
}
components->flushModifications();
}
class Factory:
- public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
+ public cppu::WeakImplHelper2<
+ css::lang::XSingleComponentFactory, css::lang::XServiceInfo >,
private boost::noncopyable
{
public:
@@ -414,6 +412,18 @@ private:
css::uno::Sequence< css::uno::Any > const & Arguments,
css::uno::Reference< css::uno::XComponentContext > const & Context)
throw (css::uno::Exception, css::uno::RuntimeException);
+
+ virtual rtl::OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException)
+ { return configuration_provider::getImplementationName(); }
+
+ virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName)
+ throw (css::uno::RuntimeException)
+ { return ServiceName == getSupportedServiceNames()[0]; } //TODO
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (css::uno::RuntimeException)
+ { return configuration_provider::getSupportedServiceNames(); }
};
css::uno::Reference< css::uno::XInterface > Factory::createInstanceWithContext(
diff --git a/configmgr/source/configurationregistry.cxx b/configmgr/source/configurationregistry.cxx
index ffd7174c0a..f4810eb34f 100644
--- a/configmgr/source/configurationregistry.cxx
+++ b/configmgr/source/configurationregistry.cxx
@@ -36,7 +36,6 @@
#include "com/sun/star/lang/XMultiComponentFactory.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/lang/XServiceInfo.hpp"
-#include "com/sun/star/lang/XSingleComponentFactory.hpp"
#include "com/sun/star/registry/InvalidRegistryException.hpp"
#include "com/sun/star/registry/InvalidValueException.hpp"
#include "com/sun/star/registry/MergeConflictException.hpp"
@@ -56,13 +55,11 @@
#include "com/sun/star/uno/XInterface.hpp"
#include "com/sun/star/util/XFlushable.hpp"
#include "cppu/unotype.hxx"
-#include "cppuhelper/factory.hxx"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase3.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/diagnose.h"
#include "osl/mutex.hxx"
-#include "rtl/unload.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
@@ -877,53 +874,12 @@ rtl::OUString RegistryKey::getResolvedName(rtl::OUString const & aKeyName)
return aKeyName;
}
-class Factory:
- public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
- private boost::noncopyable
-{
-public:
- Factory() {}
-
-private:
- virtual ~Factory() {}
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-};
-
-css::uno::Reference< css::uno::XInterface > Factory::createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
-{
- return createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any >(), Context);
}
-css::uno::Reference< css::uno::XInterface >
-Factory::createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
+css::uno::Reference< css::uno::XInterface > create(
+ css::uno::Reference< css::uno::XComponentContext > const & context)
{
- if (Arguments.getLength() != 0) {
- throw css::uno::Exception(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.ConfigurationRegistry must be"
- " instantiated without arguments")),
- static_cast< cppu::OWeakObject * >(this));
- }
- return static_cast< cppu::OWeakObject * >(new Service(Context));
-}
-
+ return static_cast< cppu::OWeakObject * >(new Service(context));
}
rtl::OUString getImplementationName() {
@@ -939,12 +895,4 @@ css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
return css::uno::Sequence< rtl::OUString >(&name, 1);
}
-css::uno::Reference< css::lang::XSingleComponentFactory > createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- css::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(())
-{
- return new Factory;
-}
-
} }
diff --git a/configmgr/source/configurationregistry.hxx b/configmgr/source/configurationregistry.hxx
index 6cba122188..417c519b97 100644
--- a/configmgr/source/configurationregistry.hxx
+++ b/configmgr/source/configurationregistry.hxx
@@ -30,28 +30,28 @@
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/Sequence.hxx"
-#include "cppuhelper/factory.hxx"
-#include "rtl/unload.h"
#include "sal/types.h"
-namespace com { namespace sun { namespace star { namespace lang {
- class XSingleComponentFactory;
-} } } }
+namespace com { namespace sun { namespace star {
+ namespace uno {
+ class XComponentContext;
+ class XInterface;
+ }
+} } }
namespace rtl { class OUString; }
namespace configmgr { namespace configuration_registry {
+com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL
+create(
+ com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
+ const & context);
+
rtl::OUString SAL_CALL getImplementationName();
com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames();
-com::sun::star::uno::Reference< com::sun::star::lang::XSingleComponentFactory >
-SAL_CALL createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- com::sun::star::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(());
-
} }
#endif
diff --git a/configmgr/source/defaultprovider.cxx b/configmgr/source/defaultprovider.cxx
index d069663290..9079d4736a 100644
--- a/configmgr/source/defaultprovider.cxx
+++ b/configmgr/source/defaultprovider.cxx
@@ -28,24 +28,16 @@
#include "precompiled_configmgr.hxx"
#include "sal/config.h"
-#include "boost/noncopyable.hpp"
-#include "com/sun/star/lang/XSingleComponentFactory.hpp"
-#include "com/sun/star/uno/Any.hxx"
-#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
-#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/Sequence.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/uno/XInterface.hpp"
-#include "cppuhelper/factory.hxx"
-#include "cppuhelper/implbase1.hxx"
-#include "cppuhelper/weak.hxx"
-#include "sal/types.h"
-#include "rtl/unload.h"
+#include "osl/mutex.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "configurationprovider.hxx"
+#include "defaultprovider.hxx"
#include "lock.hxx"
namespace configmgr { namespace default_provider {
@@ -54,58 +46,17 @@ namespace {
namespace css = com::sun::star;
-class Factory:
- public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
- private boost::noncopyable
-{
-public:
- Factory() {}
-
-private:
- virtual ~Factory() {}
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-};
-
-css::uno::Reference< css::uno::XInterface > Factory::createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
-{
- return createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any >(), Context);
}
-css::uno::Reference< css::uno::XInterface >
-Factory::createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
+css::uno::Reference< css::uno::XInterface > create(
+ css::uno::Reference< css::uno::XComponentContext > const & context)
{
- if (Arguments.getLength() != 0) {
- throw css::uno::Exception(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.DefaultProvider must be"
- " instantiated without arguments")),
- static_cast< cppu::OWeakObject * >(this));
- }
osl::MutexGuard guard(lock);
static css::uno::Reference< css::uno::XInterface > singleton(
- configuration_provider::createDefault(Context));
+ configuration_provider::createDefault(context));
return singleton;
}
-}
-
rtl::OUString getImplementationName() {
return rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
@@ -119,13 +70,4 @@ css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
return css::uno::Sequence< rtl::OUString >(&name, 1);
}
-css::uno::Reference< css::lang::XSingleComponentFactory >
-SAL_CALL createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- css::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(())
-{
- return new Factory;
-}
-
} }
diff --git a/configmgr/source/defaultprovider.hxx b/configmgr/source/defaultprovider.hxx
index 7b267a80b4..f678931d35 100644
--- a/configmgr/source/defaultprovider.hxx
+++ b/configmgr/source/defaultprovider.hxx
@@ -32,28 +32,28 @@
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/Sequence.hxx"
-#include "cppuhelper/factory.hxx"
-#include "rtl/unload.h"
#include "sal/types.h"
-namespace com { namespace sun { namespace star { namespace lang {
- class XSingleComponentFactory;
-} } } }
+namespace com { namespace sun { namespace star {
+ namespace uno {
+ class XComponentContext;
+ class XInterface;
+ }
+} } }
namespace rtl { class OUString; }
namespace configmgr { namespace default_provider {
+com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL
+create(
+ com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
+ const & context);
+
rtl::OUString SAL_CALL getImplementationName();
com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames();
-com::sun::star::uno::Reference< com::sun::star::lang::XSingleComponentFactory >
-SAL_CALL createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- com::sun::star::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(());
-
} }
#endif
diff --git a/configmgr/source/node.cxx b/configmgr/source/node.cxx
index a5a089106b..5473b6b1de 100644
--- a/configmgr/source/node.cxx
+++ b/configmgr/source/node.cxx
@@ -101,8 +101,4 @@ Node::~Node() {}
void Node::clear() {}
-rtl::Reference< Node > Node::findMember(rtl::OUString const &) {
- return rtl::Reference< Node >();
-}
-
}
diff --git a/configmgr/source/node.hxx b/configmgr/source/node.hxx
index 7c9417e68e..f79e7ba296 100644
--- a/configmgr/source/node.hxx
+++ b/configmgr/source/node.hxx
@@ -31,11 +31,12 @@
#include "sal/config.h"
#include "rtl/ref.hxx"
-#include "rtl/ustring.hxx"
#include "salhelper/simplereferenceobject.hxx"
#include "nodemap.hxx"
+namespace rtl { class OUString; }
+
namespace configmgr {
class Node: public salhelper::SimpleReferenceObject {
@@ -75,8 +76,6 @@ protected:
virtual void clear();
- virtual rtl::Reference< Node > findMember(rtl::OUString const & name);
-
int layer_;
int finalized_;
};
diff --git a/configmgr/source/services.cxx b/configmgr/source/services.cxx
index b1ef8d2169..dd01189be6 100644
--- a/configmgr/source/services.cxx
+++ b/configmgr/source/services.cxx
@@ -32,6 +32,7 @@
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/uno/XInterface.hpp"
+#include "cppuhelper/factory.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "osl/diagnose.h"
#include "uno/lbnames.h"
@@ -58,15 +59,17 @@ static cppu::ImplementationEntry const services[] = {
{ &dummy, &configmgr::configuration_provider::getImplementationName,
&configmgr::configuration_provider::getSupportedServiceNames,
&configmgr::configuration_provider::createFactory, 0, 0 },
- { &dummy, &configmgr::default_provider::getImplementationName,
+ { &configmgr::default_provider::create,
+ &configmgr::default_provider::getImplementationName,
&configmgr::default_provider::getSupportedServiceNames,
- &configmgr::default_provider::createFactory, 0, 0 },
- { &dummy, &configmgr::configuration_registry::getImplementationName,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { &configmgr::configuration_registry::create,
+ &configmgr::configuration_registry::getImplementationName,
&configmgr::configuration_registry::getSupportedServiceNames,
- &configmgr::configuration_registry::createFactory, 0, 0 },
- { &dummy, &configmgr::update::getImplementationName,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { &configmgr::update::create, &configmgr::update::getImplementationName,
&configmgr::update::getSupportedServiceNames,
- &configmgr::update::createFactory, 0, 0 },
+ &cppu::createSingleComponentFactory, 0, 0 },
{ 0, 0, 0, 0, 0, 0 }
};
diff --git a/configmgr/source/update.cxx b/configmgr/source/update.cxx
index 403b761a5a..258765158a 100644
--- a/configmgr/source/update.cxx
+++ b/configmgr/source/update.cxx
@@ -32,20 +32,15 @@
#include "boost/noncopyable.hpp"
#include "com/sun/star/configuration/XUpdate.hpp"
-#include "com/sun/star/lang/XSingleComponentFactory.hpp"
-#include "com/sun/star/uno/Any.hxx"
-#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/Sequence.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
#include "com/sun/star/uno/XInterface.hpp"
-#include "cppuhelper/factory.hxx"
#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/weak.hxx"
#include "osl/mutex.hxx"
#include "rtl/ref.hxx"
-#include "rtl/unload.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
@@ -76,7 +71,11 @@ class Service:
private boost::noncopyable
{
public:
- Service() {}
+ Service(css::uno::Reference< css::uno::XComponentContext > const context):
+ context_(context)
+ {
+ OSL_ASSERT(context.is());
+ }
private:
virtual ~Service() {}
@@ -97,6 +96,8 @@ private:
css::uno::Sequence< rtl::OUString > const & includedPaths,
css::uno::Sequence< rtl::OUString > const & excludedPaths)
throw (css::uno::RuntimeException);
+
+ css::uno::Reference< css::uno::XComponentContext > context_;
};
void Service::insertExtensionXcsFile(
@@ -104,7 +105,7 @@ void Service::insertExtensionXcsFile(
throw (css::uno::RuntimeException)
{
osl::MutexGuard g(lock);
- Components::getSingleton().insertExtensionXcsFile(shared, fileUri);
+ Components::getSingleton(context_).insertExtensionXcsFile(shared, fileUri);
}
void Service::insertExtensionXcuFile(
@@ -114,10 +115,10 @@ void Service::insertExtensionXcuFile(
Broadcaster bc;
{
osl::MutexGuard g(lock);
+ Components & components = Components::getSingleton(context_);
Modifications mods;
- Components::getSingleton().insertExtensionXcuFile(
- shared, fileUri, &mods);
- Components::getSingleton().initGlobalBroadcaster(
+ components.insertExtensionXcuFile(shared, fileUri, &mods);
+ components.initGlobalBroadcaster(
mods, rtl::Reference< RootAccess >(), &bc);
}
bc.send();
@@ -129,9 +130,10 @@ void Service::removeExtensionXcuFile(rtl::OUString const & fileUri)
Broadcaster bc;
{
osl::MutexGuard g(lock);
+ Components & components = Components::getSingleton(context_);
Modifications mods;
- Components::getSingleton().removeExtensionXcuFile(fileUri, &mods);
- Components::getSingleton().initGlobalBroadcaster(
+ components.removeExtensionXcuFile(fileUri, &mods);
+ components.initGlobalBroadcaster(
mods, rtl::Reference< RootAccess >(), &bc);
}
bc.send();
@@ -146,62 +148,22 @@ void Service::insertModificationXcuFile(
Broadcaster bc;
{
osl::MutexGuard g(lock);
+ Components & components = Components::getSingleton(context_);
Modifications mods;
- Components::getSingleton().insertModificationXcuFile(
+ components.insertModificationXcuFile(
fileUri, seqToSet(includedPaths), seqToSet(excludedPaths), &mods);
- Components::getSingleton().initGlobalBroadcaster(
+ components.initGlobalBroadcaster(
mods, rtl::Reference< RootAccess >(), &bc);
}
bc.send();
}
-class Factory:
- public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
- private boost::noncopyable
-{
-public:
- Factory() {}
-
-private:
- virtual ~Factory() {}
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException);
-};
-
-css::uno::Reference< css::uno::XInterface > Factory::createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
-{
- return createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any >(), Context);
}
-css::uno::Reference< css::uno::XInterface >
-Factory::createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const & Arguments,
- css::uno::Reference< css::uno::XComponentContext > const &)
- throw (css::uno::Exception, css::uno::RuntimeException)
+css::uno::Reference< css::uno::XInterface > create(
+ css::uno::Reference< css::uno::XComponentContext > const & context)
{
- if (Arguments.getLength() != 0) {
- throw css::uno::Exception(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.comp.configuration.Update must be"
- " instantiated without arguments")),
- static_cast< cppu::OWeakObject * >(this));
- }
- return static_cast< cppu::OWeakObject * >(new Service);
-}
-
+ return static_cast< cppu::OWeakObject * >(new Service(context));
}
rtl::OUString getImplementationName() {
@@ -216,12 +178,4 @@ css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
return css::uno::Sequence< rtl::OUString >(&name, 1);
}
-css::uno::Reference< css::lang::XSingleComponentFactory > createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- css::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(())
-{
- return new Factory;
-}
-
} }
diff --git a/configmgr/source/update.hxx b/configmgr/source/update.hxx
index faa5c86b15..a60264e67a 100644
--- a/configmgr/source/update.hxx
+++ b/configmgr/source/update.hxx
@@ -32,28 +32,28 @@
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/Sequence.hxx"
-#include "cppuhelper/factory.hxx"
-#include "rtl/unload.h"
#include "sal/types.h"
-namespace com { namespace sun { namespace star { namespace lang {
- class XSingleComponentFactory;
-} } } }
+namespace com { namespace sun { namespace star {
+ namespace uno {
+ class XComponentContext;
+ class XInterface;
+ }
+} } }
namespace rtl { class OUString; }
namespace configmgr { namespace update {
+com::sun::star::uno::Reference< com::sun::star::uno::XInterface > SAL_CALL
+create(
+ com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
+ const &);
+
rtl::OUString SAL_CALL getImplementationName();
com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames();
-com::sun::star::uno::Reference< com::sun::star::lang::XSingleComponentFactory >
-SAL_CALL createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- com::sun::star::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(());
-
} }
#endif
diff --git a/connectivity/inc/connectivity/filtermanager.hxx b/connectivity/inc/connectivity/filtermanager.hxx
index a1b0d92ae0..8c53fb83dd 100644
--- a/connectivity/inc/connectivity/filtermanager.hxx
+++ b/connectivity/inc/connectivity/filtermanager.hxx
@@ -33,7 +33,8 @@
#include <com/sun/star/sdb/XSQLQueryComposer.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
/** === end UNO includes === **/
-#include <rtl/ustring.hxx>
+
+#include <rtl/ustrbuf.hxx>
#include <vector>
#include "connectivity/dbtoolsdllapi.hxx"
@@ -111,10 +112,10 @@ namespace dbtools
/** appends one filter component to the statement in our composer
*/
- void appendFilterComponent( ::rtl::OUString& /* [inout] */ _rAppendTo, const ::rtl::OUString& _rComponent ) const;
+ void appendFilterComponent( ::rtl::OUStringBuffer& io_appendTo, const ::rtl::OUString& i_component ) const;
/// checks whether there is only one (or even no) non-empty filter component
- bool isThereAtMostOneComponent( ::rtl::OUString& _rOnlyComponent ) const;
+ bool isThereAtMostOneComponent( ::rtl::OUStringBuffer& o_singleComponent ) const;
/// returns the index of the first filter component which should be considered when building the composed filter
inline sal_Int32 getFirstApplicableFilterIndex() const
diff --git a/connectivity/inc/connectivity/sqlnode.hxx b/connectivity/inc/connectivity/sqlnode.hxx
index 53145b018e..4cdaba48e1 100644
--- a/connectivity/inc/connectivity/sqlnode.hxx
+++ b/connectivity/inc/connectivity/sqlnode.hxx
@@ -231,6 +231,7 @@ namespace connectivity
character_string_type,
other_like_predicate_part_2,
between_predicate_part_2,
+ cast_spec,
rule_count, // letzter_wert
UNKNOWN_RULE // ID indicating that a node is no rule with a matching Rule-enum value (see getKnownRuleID)
};
diff --git a/connectivity/prj/build.lst b/connectivity/prj/build.lst
index 0b15c06acf..6d70bc71c9 100644
--- a/connectivity/prj/build.lst
+++ b/connectivity/prj/build.lst
@@ -1,4 +1,4 @@
-cn connectivity : shell l10n comphelper MOZ:moz SO:moz_prebuilt svl UNIXODBC:unixODBC unoil javaunohelper HSQLDB:hsqldb qadevOOo officecfg NSS:nss NULL
+cn connectivity : shell l10n comphelper MOZ:moz SO:moz_prebuilt svl UNIXODBC:unixODBC unoil javaunohelper HSQLDB:hsqldb qadevOOo officecfg NSS:nss LIBXSLT:libxslt NULL
cn connectivity usr1 - all cn_mkout NULL
cn connectivity\inc nmake - all cn_inc NULL
cn connectivity\com\sun\star\sdbcx\comp\hsqldb nmake - all cn_jhsqldbdb cn_hsqldb cn_inc NULL
diff --git a/connectivity/prj/d.lst b/connectivity/prj/d.lst
index 01d82ba917..22bffa6382 100644
--- a/connectivity/prj/d.lst
+++ b/connectivity/prj/d.lst
@@ -2,6 +2,7 @@
..\%__SRC%\bin\*.res %_DEST%\bin%_EXT%\*.res
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
+..\%__SRC%\lib\*.jnilib %_DEST%\lib%_EXT%\*.jnilib
..\%__SRC%\slb\connectivity*.* %_DEST%\lib%_EXT%\connectivity*.*
..\%__SRC%\lib\idbt* %_DEST%\lib%_EXT%\idbt*
..\source\cpool\*.xml %_DEST%\xml%_EXT%\*.xml
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx
index 647ddaccde..de9d3d339d 100644
--- a/connectivity/source/commontools/FValue.cxx
+++ b/connectivity/source/commontools/FValue.cxx
@@ -1753,7 +1753,7 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
}
// -----------------------------------------------------------------------------
-::com::sun::star::util::Date ORowSetValue::getDate() const
+::com::sun::star::util::Date ORowSetValue::getDate() const
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "dbtools", "Ocke.Janssen@sun.com", "ORowSetValue::getDate" );
::com::sun::star::util::Date aValue;
@@ -1768,8 +1768,6 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
break;
case DataType::DECIMAL:
case DataType::NUMERIC:
- aValue = DBTypeConversion::toDate((double)*this);
- break;
case DataType::FLOAT:
case DataType::DOUBLE:
case DataType::REAL:
@@ -1787,12 +1785,28 @@ Sequence<sal_Int8> ORowSetValue::getSequence() const
aValue.Year = pDateTime->Year;
}
break;
+ case DataType::BIT:
+ case DataType::BOOLEAN:
+ case DataType::TINYINT:
+ case DataType::SMALLINT:
+ case DataType::INTEGER:
+ case DataType::BIGINT:
+ aValue = DBTypeConversion::toDate( double( sal_Int64( *this ) ) );
+ break;
+
+ case DataType::BLOB:
+ case DataType::CLOB:
+ case DataType::OBJECT:
default:
- {
- Any aAnyValue = getAny();
- aAnyValue >>= aValue;
- break;
- }
+ OSL_ENSURE( false, "ORowSetValue::getDate: cannot retrieve the data!" );
+ // NO break!
+
+ case DataType::BINARY:
+ case DataType::VARBINARY:
+ case DataType::LONGVARBINARY:
+ case DataType::TIME:
+ aValue = DBTypeConversion::toDate( (double)0 );
+ break;
}
}
return aValue;
diff --git a/connectivity/source/commontools/dbtools2.cxx b/connectivity/source/commontools/dbtools2.cxx
index 1b6459c4f4..a6d5a9a348 100644
--- a/connectivity/source/commontools/dbtools2.cxx
+++ b/connectivity/source/commontools/dbtools2.cxx
@@ -585,7 +585,6 @@ bool getDataSourceSetting( const Reference< XInterface >& _xChild, const ::rtl::
try
{
const Reference< XPropertySet> xDataSourceProperties( findDataSource( _xChild ), UNO_QUERY );
- OSL_ENSURE( xDataSourceProperties.is(), "getDataSourceSetting: invalid data source object!" );
if ( !xDataSourceProperties.is() )
return false;
diff --git a/connectivity/source/commontools/filtermanager.cxx b/connectivity/source/commontools/filtermanager.cxx
index 0888af7324..3c06b33c31 100644
--- a/connectivity/source/commontools/filtermanager.cxx
+++ b/connectivity/source/commontools/filtermanager.cxx
@@ -35,6 +35,8 @@
#include "TConnection.hxx"
#include <osl/diagnose.h>
#include "connectivity/dbtools.hxx"
+#include <tools/diagnose_ex.h>
+#include <rtl/ustrbuf.hxx>
//........................................................................
namespace dbtools
@@ -92,7 +94,7 @@ namespace dbtools
}
catch( const Exception& )
{
- OSL_ENSURE( sal_False, "FilterManager::setFilterComponent: setting the filter failed!" );
+ DBG_UNHANDLED_EXCEPTION();
}
}
@@ -113,44 +115,30 @@ namespace dbtools
}
catch( const Exception& )
{
- OSL_ENSURE( sal_False, "FilterManager::setApplyPublicFilter: setting the filter failed!" );
+ DBG_UNHANDLED_EXCEPTION();
}
}
//--------------------------------------------------------------------
- namespace
+ void FilterManager::appendFilterComponent( ::rtl::OUStringBuffer& io_appendTo, const ::rtl::OUString& i_component ) const
{
- void lcl_ensureBracketed( ::rtl::OUString& /* [inout] */ _rExpression )
+ if ( io_appendTo.getLength() > 0 )
{
- OSL_ENSURE( _rExpression.getLength(), "lcl_ensureBracketed: expression is empty!" );
- if ( _rExpression.getLength() )
- {
- if ( ( _rExpression.getStr()[0] != '(' ) || ( _rExpression.getStr()[ _rExpression.getLength() - 1 ] != ')' ) )
- {
- ::rtl::OUString sComposed( RTL_CONSTASCII_USTRINGPARAM( "(" ) );
- sComposed += _rExpression;
- sComposed += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ")" ) );
- _rExpression = sComposed;
- }
- }
+ io_appendTo.insert( 0, sal_Unicode( '(' ) );
+ io_appendTo.insert( 1, sal_Unicode( ' ' ) );
+ io_appendTo.appendAscii( " ) AND " );
}
- }
- //--------------------------------------------------------------------
- void FilterManager::appendFilterComponent( ::rtl::OUString& /* [inout] */ _rAppendTo, const ::rtl::OUString& _rComponent ) const
- {
- if ( _rAppendTo.getLength() )
- _rAppendTo += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( " AND " ) );
- ::rtl::OUString sComponent( _rComponent );
- lcl_ensureBracketed( sComponent );
- _rAppendTo += sComponent;
+ io_appendTo.appendAscii( "( " );
+ io_appendTo.append( i_component );
+ io_appendTo.appendAscii( " )" );
}
//--------------------------------------------------------------------
- bool FilterManager::isThereAtMostOneComponent( ::rtl::OUString& _rOnlyComponent ) const
+ bool FilterManager::isThereAtMostOneComponent( ::rtl::OUStringBuffer& o_singleComponent ) const
{
sal_Int32 nOnlyNonEmpty = -1;
- sal_Int32 i;
+ sal_Int32 i;
for ( i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
{
if ( m_aFilterComponents[ i ].getLength() )
@@ -164,14 +152,14 @@ namespace dbtools
}
if ( nOnlyNonEmpty == -1 )
{
- _rOnlyComponent = ::rtl::OUString();
+ o_singleComponent.makeStringAndClear();
return true;
}
if ( i == FC_COMPONENT_COUNT )
{
// we found only one non-empty filter component
- _rOnlyComponent = m_aFilterComponents[ nOnlyNonEmpty ];
+ o_singleComponent = m_aFilterComponents[ nOnlyNonEmpty ];
return true;
}
return false;
@@ -180,17 +168,17 @@ namespace dbtools
//--------------------------------------------------------------------
::rtl::OUString FilterManager::getComposedFilter( ) const
{
- ::rtl::OUString sComposedFilter;
+ ::rtl::OUStringBuffer aComposedFilter;
// if we have only one non-empty component, then there's no need to compose anything
- if ( isThereAtMostOneComponent( sComposedFilter ) )
- return sComposedFilter;
-
- // append the single components
- for ( sal_Int32 i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
- appendFilterComponent( sComposedFilter, m_aFilterComponents[ i ] );
+ if ( !isThereAtMostOneComponent( aComposedFilter ) )
+ {
+ // append the single components
+ for ( sal_Int32 i = getFirstApplicableFilterIndex(); i < FC_COMPONENT_COUNT; ++i )
+ appendFilterComponent( aComposedFilter, m_aFilterComponents[ i ] );
+ }
- return sComposedFilter;
+ return aComposedFilter.makeStringAndClear();
}
//........................................................................
diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx
index 11877004c5..f3ad9928d2 100644
--- a/connectivity/source/drivers/file/FResultSet.cxx
+++ b/connectivity/source/drivers/file/FResultSet.cxx
@@ -937,9 +937,13 @@ again:
{
m_pTable->fetchRow(m_aEvaluateRow, rTableCols, sal_True,bRetrieveData || bHasRestriction);
- if ( (!m_bShowDeleted && m_aEvaluateRow->isDeleted())
- || (bHasRestriction && //!bShowDeleted && m_aEvaluateRow->isDeleted() ||// keine Anzeige von geloeschten Saetzen
- !m_pSQLAnalyzer->evaluateRestriction())) // Auswerten der Bedingungen
+ if ( ( !m_bShowDeleted
+ && m_aEvaluateRow->isDeleted()
+ )
+ || ( bHasRestriction
+ && !m_pSQLAnalyzer->evaluateRestriction()
+ )
+ )
{ // naechsten Satz auswerten
// aktuelle Zeile loeschen im Keyset
if (m_pEvaluationKeySet)
@@ -988,12 +992,14 @@ again:
// Evaluate darf nur gesetzt sein,
// wenn der Keyset weiter aufgebaut werden soll
- if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT && !isCount() &&
- (m_pFileSet.isValid() || m_pSortIndex) && bEvaluate)
+ if ( ( m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT )
+ && !isCount()
+ && bEvaluate
+ )
{
if (m_pSortIndex)
{
- OKeyValue* pKeyValue = GetOrderbyKeyValue(m_aEvaluateRow);
+ OKeyValue* pKeyValue = GetOrderbyKeyValue( m_aSelectRow );
m_pSortIndex->AddKeyValue(pKeyValue);
}
else if (m_pFileSet.isValid())
@@ -1294,8 +1300,8 @@ void OResultSet::sortRows()
::std::vector<sal_Int32>::iterator aOrderByIter = m_aOrderbyColumnNumber.begin();
for (::std::vector<sal_Int16>::size_type i=0;aOrderByIter != m_aOrderbyColumnNumber.end(); ++aOrderByIter,++i)
{
- OSL_ENSURE((sal_Int32)m_aRow->get().size() > *aOrderByIter,"Invalid Index");
- switch ((*(m_aRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
+ OSL_ENSURE((sal_Int32)m_aSelectRow->get().size() > *aOrderByIter,"Invalid Index");
+ switch ((*(m_aSelectRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
{
case DataType::CHAR:
case DataType::VARCHAR:
@@ -1324,7 +1330,7 @@ void OResultSet::sortRows()
OSL_ASSERT("OFILECursor::Execute: Datentyp nicht implementiert");
break;
}
- (m_aEvaluateRow->get())[*aOrderByIter]->setBound(sal_True);
+ (m_aSelectRow->get())[*aOrderByIter]->setBound(sal_True);
}
m_pSortIndex = new OSortIndex(eKeyType,m_aOrderbyAscending);
@@ -1341,8 +1347,13 @@ void OResultSet::sortRows()
}
else
{
- while (ExecuteRow(IResultSetHelper::NEXT,1,TRUE))
+ while ( ExecuteRow( IResultSetHelper::NEXT, 1, FALSE, TRUE ) )
{
+ m_aSelectRow->get()[0]->setValue( m_aRow->get()[0]->getValue() );
+ if ( m_pSQLAnalyzer->hasFunctions() )
+ m_pSQLAnalyzer->setSelectionEvaluationResult( m_aSelectRow, m_aColMapping );
+ const sal_Int32 nBookmark = (*m_aRow->get().begin())->getValue();
+ ExecuteRow( IResultSetHelper::BOOKMARK, nBookmark, TRUE, FALSE );
}
}
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index 1776fba624..0c853b617e 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -451,19 +451,12 @@ void OStatement_Base::setOrderbyColumn( OSQLParseNode* pColumnRef,
return;
// Alles geprueft und wir haben den Namen der Column.
// Die wievielte Column ist das?
- try
- {
- m_aOrderbyColumnNumber.push_back(xColLocate->findColumn(aColumnName));
- }
- catch(Exception)
- {
- ::vos::ORef<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
- ::comphelper::UStringMixEqual aCase;
- OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
- if ( aFind == aSelectColumns->get().end() )
- throw SQLException();
- m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
- }
+ ::vos::ORef<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
+ ::comphelper::UStringMixEqual aCase;
+ OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
+ if ( aFind == aSelectColumns->get().end() )
+ throw SQLException();
+ m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
// Ascending or Descending?
m_aOrderbyAscending.push_back((SQL_ISTOKEN(pAscendingDescending,DESC)) ? SQL_DESC : SQL_ASC);
diff --git a/connectivity/source/drivers/file/fanalyzer.cxx b/connectivity/source/drivers/file/fanalyzer.cxx
index 9d37b51d9a..3a486a9c93 100644
--- a/connectivity/source/drivers/file/fanalyzer.cxx
+++ b/connectivity/source/drivers/file/fanalyzer.cxx
@@ -103,7 +103,26 @@ void OSQLAnalyzer::start(OSQLParseNode* pSQLParseNode)
m_pConnection->throwGenericSQLException(STR_QUERY_COMPLEX_COUNT,NULL);
}
else
- m_aSelectionEvaluations.push_back( TPredicates() );
+ {
+ if ( SQL_ISPUNCTUATION( pColumnRef, "*" )
+ || ( SQL_ISRULE( pColumnRef, column_ref )
+ && ( pColumnRef->count() == 3 )
+ && ( pColumnRef->getChild(0)->getNodeType() == SQL_NODE_NAME )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(1), "." )
+ && SQL_ISRULE( pColumnRef->getChild(2), column_val )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(2)->getChild(0), "*" )
+ )
+ )
+ {
+ // push one element for each column of our table
+ const Reference< XNameAccess > xColumnNames( m_aCompiler->getOrigColumns() );
+ const Sequence< ::rtl::OUString > aColumnNames( xColumnNames->getElementNames() );
+ for ( sal_Int32 j=0; j<aColumnNames.getLength(); ++j )
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
+ else
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
}
}
}
@@ -291,11 +310,12 @@ void OSQLAnalyzer::setSelectionEvaluationResult(OValueRefRow& _pRow,const ::std:
{
if ( aIter->second.isValid() )
{
- sal_Int32 map = nPos;
// the first column (index 0) is for convenience only. The first real select column is no 1.
- if ( (nPos > 0) && (nPos < static_cast<sal_Int32>(_rColumnMapping.size())) )
+ sal_Int32 map = nPos;
+ if ( nPos < static_cast< sal_Int32 >( _rColumnMapping.size() ) )
map = _rColumnMapping[nPos];
- aIter->second->startSelection((_pRow->get())[map]);
+ if ( map > 0 )
+ aIter->second->startSelection( (_pRow->get())[map] );
}
}
}
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index e3fbc313f9..c4548fc914 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -273,22 +273,38 @@ namespace connectivity
if ( pStream.get() )
{
ByteString sLine;
+ ByteString sVersionString;
while ( pStream->ReadLine(sLine) )
{
- if ( sLine.Equals("version=",0,sizeof("version=")-1) )
+ if ( sLine.Len() == 0 )
+ continue;
+ const ByteString sIniKey = sLine.GetToken( 0, '=' );
+ const ByteString sValue = sLine.GetToken( 1, '=' );
+ if ( sIniKey.Equals( "hsqldb.compatible_version" ) )
{
- sLine = sLine.GetToken(1,'=');
- const sal_Int32 nMajor = sLine.GetToken(0,'.').ToInt32();
- const sal_Int32 nMinor = sLine.GetToken(1,'.').ToInt32();
- const sal_Int32 nMicro = sLine.GetToken(2,'.').ToInt32();
- if ( nMajor > 1
- || ( nMajor == 1 && nMinor > 8 )
- || ( nMajor == 1 && nMinor == 8 && nMicro > 0 ) )
+ sVersionString = sValue;
+ }
+ else
+ {
+ if ( sIniKey.Equals( "version" )
+ && ( sVersionString.Len() == 0 )
+ )
{
- ::connectivity::SharedResources aResources;
- sMessage = aResources.getResourceString(STR_ERROR_NEW_VERSION);
+ sVersionString = sValue;
}
- break;
+ }
+ }
+ if ( sVersionString.Len() )
+ {
+ const sal_Int32 nMajor = sVersionString.GetToken(0,'.').ToInt32();
+ const sal_Int32 nMinor = sVersionString.GetToken(1,'.').ToInt32();
+ const sal_Int32 nMicro = sVersionString.GetToken(2,'.').ToInt32();
+ if ( nMajor > 1
+ || ( nMajor == 1 && nMinor > 8 )
+ || ( nMajor == 1 && nMinor == 8 && nMicro > 0 ) )
+ {
+ ::connectivity::SharedResources aResources;
+ sMessage = aResources.getResourceString(STR_ERROR_NEW_VERSION);
}
}
}
diff --git a/connectivity/source/drivers/hsqldb/makefile.mk b/connectivity/source/drivers/hsqldb/makefile.mk
index 5be6fa08cd..d0e22fde89 100644
--- a/connectivity/source/drivers/hsqldb/makefile.mk
+++ b/connectivity/source/drivers/hsqldb/makefile.mk
@@ -103,6 +103,7 @@ SHL1STDLIBS=\
SHL1DEPN=
+SHL1CREATEJNILIB=TRUE
SHL1IMPLIB= i$(HSQLDB_TARGET)
SHL1DEF= $(MISC)$/$(SHL1TARGET).def
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
index 5948ac028c..2c9a455197 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.cxx
@@ -51,14 +51,6 @@ using namespace ::com::sun::star::mozilla;
namespace
{
- #if defined(XP_MAC) || defined(XP_MACOSX) || defined(MACOSX)
- #define APP_REGISTRY_NAME "Application Registry"
- #elif defined(XP_WIN) || defined(XP_OS2)
- #define APP_REGISTRY_NAME "registry.dat"
- #else
- #define APP_REGISTRY_NAME "appreg"
- #endif
-
// -------------------------------------------------------------------
static ::rtl::OUString lcl_getUserDataDirectory()
{
@@ -73,15 +65,15 @@ namespace
static const char* DefaultProductDir[3][3] =
{
#if defined(XP_WIN)
- { "Mozilla/", NULL, NULL },
+ { "Mozilla/SeaMonkey/", NULL, NULL },
{ "Mozilla/Firefox/", NULL, NULL },
{ "Thunderbird/", "Mozilla/Thunderbird/", NULL }
#elif(MACOSX)
- { "../Mozilla/", NULL, NULL },
+ { "../Mozilla/SeaMonkey/", NULL, NULL },
{ "Firefox/", NULL, NULL },
{ "../Thunderbird/", NULL, NULL }
#else
- { ".mozilla/", NULL, NULL },
+ { ".mozilla/seamonkey/", NULL, NULL },
{ ".mozilla/firefox/", NULL, NULL },
{ ".thunderbird/", ".mozilla-thunderbird/", ".mozilla/thunderbird/" }
#endif
@@ -115,7 +107,7 @@ namespace
else
{
::rtl::OUString sProductDirCandidate;
- const char* pProfileRegistry = ( _product == MozillaProductType_Mozilla ) ? APP_REGISTRY_NAME : "profiles.ini";
+ const char* pProfileRegistry = "profiles.ini";
// check all possible candidates
for ( size_t i=0; i<3; ++i )
@@ -159,13 +151,3 @@ namespace
return lcl_guessProfileRoot( product );
}
-#ifndef MINIMAL_PROFILEDISCOVER
-// -----------------------------------------------------------------------
-::rtl::OUString getRegistryFileName(MozillaProductType product)
-{
- if (product == MozillaProductType_Default)
- return ::rtl::OUString();
-
- return getRegistryDir(product) + ::rtl::OUString::createFromAscii(APP_REGISTRY_NAME);
-}
-#endif
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
index 8c3c21bf62..090cc8f362 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSFolders.hxx
@@ -38,9 +38,6 @@
#include <rtl/ustring.hxx>
::rtl::OUString getRegistryDir(::com::sun::star::mozilla::MozillaProductType product);
-#ifndef MINIMAL_PROFILEDISCOVER
-::rtl::OUString getRegistryFileName(::com::sun::star::mozilla::MozillaProductType product);
-#endif
#endif
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
index 9bea0e73f2..d1f22dadba 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.cxx
@@ -144,12 +144,9 @@ namespace connectivity
sal_Int32 ProfileAccess::LoadProductsInfo()
{
-#ifndef MINIMAL_PROFILEDISCOVER
- //load mozilla profiles to m_ProductProfileList
- LoadMozillaProfiles();
-#endif
- sal_Int32 count=static_cast<sal_Int32>(m_ProductProfileList[MozillaProductType_Mozilla].mProfileList.size());
-
+ //load SeaMonkey 2 profiles to m_ProductProfileList
+ sal_Int32 count = LoadXPToolkitProfiles(MozillaProductType_Mozilla);
+
//load thunderbird profiles to m_ProductProfileList
count += LoadXPToolkitProfiles(MozillaProductType_Thunderbird);
@@ -158,117 +155,6 @@ namespace connectivity
count += LoadXPToolkitProfiles(MozillaProductType_Firefox);
return count;
}
-#ifndef MINIMAL_PROFILEDISCOVER
- nsresult ProfileAccess::LoadMozillaProfiles()
- {
- sal_Int32 index=MozillaProductType_Mozilla;
- ProductStruct &m_Product = m_ProductProfileList[index];
- nsresult rv = NS_OK;
-
- //step 1 : get mozilla registry file
- nsCOMPtr<nsILocalFile> localFile;
- ::rtl::OUString regDir( getRegistryFileName( MozillaProductType_Mozilla ) );
- // PRUnichar != sal_Unicode in mingw
- nsAutoString registryDir(reinterpret_cast_mingw_only<const PRUnichar *>(regDir.getStr()));
- rv = NS_NewLocalFile(registryDir, PR_TRUE,
- getter_AddRefs(localFile));
- NS_ENSURE_SUCCESS(rv,rv);
- PRBool bExist;
- rv = localFile->Exists(&bExist);
- NS_ENSURE_SUCCESS(rv,rv);
- if (!bExist)
- return rv;
- nsCOMPtr<nsIRegistry> registry(do_CreateInstance(NS_REGISTRY_CONTRACTID, &rv));
- NS_ENSURE_SUCCESS(rv,rv);
- //step 2: open mozilla registry file
- rv = registry->Open(localFile);
- NS_ENSURE_SUCCESS(rv,rv);
-
- nsCOMPtr<nsIEnumerator> enumKeys;
- nsRegistryKey profilesTreeKey;
-
- //step 3:Enumerator it
- rv = registry->GetKey(nsIRegistry::Common,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szProfileSubtreeString.getStr()),
- &profilesTreeKey);
- if (NS_FAILED(rv)) return rv;
-
- nsXPIDLString tmpCurrentProfile;
-
- // Get the current profile
- rv = registry->GetString(profilesTreeKey,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szCurrentProfileString.getStr()),
- getter_Copies(tmpCurrentProfile));
-
- if (tmpCurrentProfile)
- {
- // PRUnichar != sal_Unicode in mingw
- m_Product.setCurrentProfile ( reinterpret_cast_mingw_only<const sal_Unicode *>(NS_STATIC_CAST(const PRUnichar*, tmpCurrentProfile)));
- }
-
-
- rv = registry->EnumerateSubtrees( profilesTreeKey, getter_AddRefs(enumKeys));
- NS_ENSURE_SUCCESS(rv,rv);
-
- rv = enumKeys->First();
- NS_ENSURE_SUCCESS(rv,rv);
-
- while (NS_OK != enumKeys->IsDone())
- {
- nsCOMPtr<nsISupports> base;
-
- rv = enumKeys->CurrentItem( getter_AddRefs(base) );
- NS_ENSURE_SUCCESS(rv,rv);
- rv = enumKeys->Next();
- NS_ENSURE_SUCCESS(rv,rv);
-
- // Get specific interface.
- nsCOMPtr <nsIRegistryNode> node;
- nsIID nodeIID = NS_IREGISTRYNODE_IID;
-
- rv = base->QueryInterface( nodeIID, getter_AddRefs(node));
- if (NS_FAILED(rv)) continue;
-
- // Get node name.
- nsXPIDLString profile;
- rv = node->GetName(getter_Copies(profile));
- if (NS_FAILED(rv)) continue;
-
- nsRegistryKey profKey;
- rv = node->GetKey(&profKey);
- if (NS_FAILED(rv)) continue;
-
-
- nsCOMPtr<nsILocalFile> tempLocal;
-
- nsXPIDLString regData;
- rv = registry->GetString(profKey,
- // PRUnichar != sal_Unicode in mingw
- reinterpret_cast_mingw_only<const PRUnichar *>(szDirectoryString.getStr()),
- getter_Copies(regData));
- if (NS_FAILED(rv)) continue;
-
-#if defined(XP_MAC) || defined(XP_MACOSX) || defined(MACOSX)
- rv = NS_NewNativeLocalFile(nsCString(), PR_TRUE, getter_AddRefs(tempLocal));
- if (NS_SUCCEEDED(rv))
- rv = tempLocal->SetPersistentDescriptor(NS_LossyConvertUCS2toASCII(regData));
-#else
- rv = NS_NewLocalFile(regData, PR_TRUE, getter_AddRefs(tempLocal));
-#endif
- //Add found profile to profile lists
- if (NS_SUCCEEDED(rv) && tempLocal)
- {
- // PRUnichar != sal_Unicode in mingw
- ProfileStruct* profileItem = new ProfileStruct(MozillaProductType_Mozilla,reinterpret_cast_mingw_only<const sal_Unicode *>(NS_STATIC_CAST(const PRUnichar*, profile)),tempLocal);
- m_Product.mProfileList[profileItem->getProfileName()] = profileItem;
- }
-
- }
- return rv;
- }
-#endif
//Thunderbird and firefox profiles are saved in profiles.ini
sal_Int32 ProfileAccess::LoadXPToolkitProfiles(MozillaProductType product)
{
diff --git a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
index 0f57d1b940..bbb332ca5c 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MNSProfileDiscover.hxx
@@ -116,9 +116,6 @@ namespace connectivity
protected:
ProductStruct m_ProductProfileList[4];
sal_Int32 LoadProductsInfo();
-#ifndef MINIMAL_PROFILEDISCOVER
- nsresult LoadMozillaProfiles();
-#endif
sal_Int32 LoadXPToolkitProfiles(MozillaProductType product);
#ifndef MINIMAL_PROFILEDISCOVER
//used by isProfileLocked
diff --git a/connectivity/source/drivers/mozab/mozab.xcu b/connectivity/source/drivers/mozab/mozab.xcu
index 837e180ba5..638cbeb2c0 100755
--- a/connectivity/source/drivers/mozab/mozab.xcu
+++ b/connectivity/source/drivers/mozab/mozab.xcu
@@ -62,7 +62,7 @@
<value>com.sun.star.comp.sdbc.MozabDriver</value>
</prop>
<prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Mozilla Address Book</value>
+ <value xml:lang="en-US">SeaMonkey Address Book</value>
</prop>
<node oor:name="Features">
<node oor:name="EscapeDateTime" oor:op="replace">
diff --git a/connectivity/source/drivers/mozab/mozab2.xcu b/connectivity/source/drivers/mozab/mozab2.xcu
index 898c099fc7..18cb3c1eaf 100755
--- a/connectivity/source/drivers/mozab/mozab2.xcu
+++ b/connectivity/source/drivers/mozab/mozab2.xcu
@@ -32,7 +32,7 @@
<value>com.sun.star.comp.sdbc.MozabDriver</value>
</prop>
<prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Mozilla Address Book</value>
+ <value xml:lang="en-US">SeaMonkey Address Book</value>
</prop>
<node oor:name="MetaData">
<node oor:name="SupportsBrowsing" oor:op="replace">
diff --git a/connectivity/source/inc/file/fcomp.hxx b/connectivity/source/inc/file/fcomp.hxx
index 11049767a7..f61688f8a6 100644
--- a/connectivity/source/inc/file/fcomp.hxx
+++ b/connectivity/source/inc/file/fcomp.hxx
@@ -109,7 +109,7 @@ namespace connectivity
inline void startSelection(ORowSetValueDecoratorRef& _rVal)
{
- return evaluateSelection(m_rCompiler->m_aCodeList,_rVal);
+ evaluateSelection(m_rCompiler->m_aCodeList,_rVal);
}
diff --git a/connectivity/source/parse/sqlnode.cxx b/connectivity/source/parse/sqlnode.cxx
index 9b9f9fb66f..1b71a66a10 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -1425,7 +1425,8 @@ OSQLParser::OSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star:
{ OSQLParseNode::parenthesized_boolean_value_expression, "parenthesized_boolean_value_expression" },
{ OSQLParseNode::character_string_type, "character_string_type" },
{ OSQLParseNode::other_like_predicate_part_2, "other_like_predicate_part_2" },
- { OSQLParseNode::between_predicate_part_2, "between_predicate_part_2" }
+ { OSQLParseNode::between_predicate_part_2, "between_predicate_part_2" },
+ { OSQLParseNode::cast_spec, "cast_spec" }
};
size_t nRuleMapCount = sizeof( aRuleDescriptions ) / sizeof( aRuleDescriptions[0] );
OSL_ENSURE( nRuleMapCount == size_t( OSQLParseNode::rule_count ), "OSQLParser::OSQLParser: added a new rule? Adjust this map!" );
@@ -2511,6 +2512,7 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
rString.append(m_aNodeValue);
rString.appendAscii("#");
break;
+
case SQL_NODE_INTNUM:
case SQL_NODE_APPROXNUM:
{
@@ -2523,6 +2525,12 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
rString.append(aTmp);
} break;
+ case SQL_NODE_PUNCTUATION:
+ if ( getParent() && SQL_ISRULE(getParent(),cast_spec) && m_aNodeValue.toChar() == '(' ) // no spaces in front of '('
+ {
+ rString.append(m_aNodeValue);
+ break;
+ }
// fall through
default:
if (rString.getLength() && m_aNodeValue.toChar() != '.' && m_aNodeValue.toChar() != ':' )
diff --git a/desktop/prj/build.lst b/desktop/prj/build.lst
index 0fedcd4c2d..146579cab8 100644
--- a/desktop/prj/build.lst
+++ b/desktop/prj/build.lst
@@ -1,4 +1,4 @@
-dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh NULL
+dt desktop : l10n sfx2 stoc BERKELEYDB:berkeleydb sysui SO:sysui_so BOOST:boost svx xmlhelp sal unoil officecfg offuh filter LIBXSLT:libxslt NULL
dt desktop usr1 - all dt_mkout NULL
dt desktop\inc nmake - all dt_inc NULL
dt desktop\prj get - all dt_prj NULL
@@ -42,3 +42,6 @@ dt desktop\source\registration\com\sun\star\servicetag\resources get - a
dt desktop\source\registration\com\sun\star\servicetag nmake - all sn_svctag NULL
dt desktop\source\registration\com\sun\star\registration nmake - all sn_regjob sn_svctag NULL
dt desktop\qa\deployment_misc nmake - all sn_qa_deployment_misc dt_dp_misc dt_inc NULL
+dt desktop\test\deployment\active nmake - all dt_test_deployment_active NULL
+dt desktop\test\deployment\boxt nmake - all dt_test_deployment_boxt NULL
+dt desktop\test\deployment\passive nmake - all dt_test_deployment_passive NULL
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index ae3036a53e..ad95231143 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -121,6 +121,7 @@
#include <osl/module.h>
#include <osl/file.hxx>
#include <osl/signal.h>
+#include <osl/thread.hxx>
#include <rtl/uuid.h>
#include <rtl/uri.hxx>
#include <unotools/pathoptions.hxx>
@@ -347,10 +348,8 @@ CommandLineArgs* Desktop::GetCommandLineArgs()
{
::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
if ( !pArgs )
- {
pArgs = new CommandLineArgs;
}
- }
return pArgs;
}
@@ -1552,7 +1551,7 @@ void Desktop::Main()
Reference< ::com::sun::star::task::XRestartManager > xRestartManager;
sal_Bool bRestartRequested( sal_False );
sal_Bool bUseSystemFileDialog(sal_True);
- int nAcquireCount( 0 );
+ int nAcquireCount( 0 );
Reference < css::document::XEventListener > xGlobalBroadcaster;
try
{
@@ -1619,25 +1618,6 @@ void Desktop::Main()
}
String aTitle = pLabelResMgr ? String( ResId( RID_APPTITLE, *pLabelResMgr ) ) : String();
delete pLabelResMgr;
-/*
- // locale and UI locale in AppSettings are now retrieved from configuration or system directly via SvtSysLocale
- // no reason to set while starting
- // set UI language and locale
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ set locale settings" );
- //LanguageSelection langselect;
- OUString aUILocaleString = LanguageSelection::getLanguageString();
- Locale aUILocale = LanguageSelection::IsoStringToLocale(aUILocaleString);
- LanguageType eLanguage = SvtSysLocale().GetLanguage();
-
- // #i39040#, do not call anything between GetSettings and SetSettings that might have
- // a side effect on the settings (like, eg, SvtSysLocaleOptions().GetLocaleLanguageType(),
- // which changes the MiscSettings !!! )
- AllSettings aSettings( Application::GetSettings() );
- aSettings.SetUILocale( aUILocale );
- aSettings.SetLanguage( eLanguage );
- Application::SetSettings( aSettings );
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "} set locale settings" );
-*/
// Check for StarOffice/Suite specific extensions runs also with OpenOffice installation sets
OUString aTitleString( aTitle );
@@ -1657,12 +1637,9 @@ void Desktop::Main()
#endif
SetDisplayName( aTitle );
-// SetSplashScreenProgress(30);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create SvtPathOptions and SvtLanguageOptions" );
pPathOptions.reset( new SvtPathOptions);
-// SetSplashScreenProgress(40);
-// pLanguageOptions = new SvtLanguageOptions(sal_True);
-// SetSplashScreenProgress(45);
+ SetSplashScreenProgress(40);
RTL_LOGFILE_CONTEXT_TRACE( aLog, "} create SvtPathOptions and SvtLanguageOptions" );
// Check special env variable #111015#
@@ -1744,6 +1721,7 @@ void Desktop::Main()
}
SetSplashScreenProgress(50);
+
// Backing Component
sal_Bool bCrashed = sal_False;
sal_Bool bExistsRecoveryData = sal_False;
@@ -1773,43 +1751,37 @@ void Desktop::Main()
if ( !bRestartRequested )
{
- if (
- (pCmdLineArgs->IsEmptyOrAcceptOnly() ) &&
+ if ((!pCmdLineArgs->WantsToLoadDocument() ) &&
(SvtModuleOptions().IsModuleInstalled(SvtModuleOptions::E_SSTARTMODULE)) &&
(!bExistsRecoveryData ) &&
(!bExistsSessionData ) &&
- (!Application::AnyInput( INPUT_APPEVENT ) )
- )
+ (!Application::AnyInput( INPUT_APPEVENT ) ))
{
- RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
- Reference< XFrame > xDesktopFrame( xSMgr->createInstance(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
- if (xDesktopFrame.is())
- {
- // SetSplashScreenProgress(60);
- Reference< XFrame > xBackingFrame;
- Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
-
- xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
- if (xBackingFrame.is())
- xContainerWindow = xBackingFrame->getContainerWindow();
- if (xContainerWindow.is())
- {
- // set the WB_EXT_DOCUMENT style. Normally, this is done by the TaskCreator service when a "_blank"
- // frame/window is created. Since we do not use the TaskCreator here, we need to mimic its behavior,
- // otherwise documents loaded into this frame will later on miss functionality depending on the style.
- Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- OSL_ENSURE( pContainerWindow, "Desktop::Main: no implementation access to the frame's container window!" );
- pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT );
-
- SetSplashScreenProgress(75);
- Sequence< Any > lArgs(1);
- lArgs[0] <<= xContainerWindow;
-
- Reference< XController > xBackingComp(
- xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs),
- UNO_QUERY);
- // SetSplashScreenProgress(80);
+ RTL_LOGFILE_CONTEXT_TRACE( aLog, "{ create BackingComponent" );
+ Reference< XFrame > xDesktopFrame( xSMgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ))), UNO_QUERY );
+ if (xDesktopFrame.is())
+ {
+ Reference< XFrame > xBackingFrame;
+ Reference< ::com::sun::star::awt::XWindow > xContainerWindow;
+
+ xBackingFrame = xDesktopFrame->findFrame(OUString( RTL_CONSTASCII_USTRINGPARAM( "_blank" )), 0);
+ if (xBackingFrame.is())
+ xContainerWindow = xBackingFrame->getContainerWindow();
+ if (xContainerWindow.is())
+ {
+ // set the WB_EXT_DOCUMENT style. Normally, this is done by the TaskCreator service when a "_blank"
+ // frame/window is created. Since we do not use the TaskCreator here, we need to mimic its behavior,
+ // otherwise documents loaded into this frame will later on miss functionality depending on the style.
+ Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ OSL_ENSURE( pContainerWindow, "Desktop::Main: no implementation access to the frame's container window!" );
+ pContainerWindow->SetExtendedStyle( pContainerWindow->GetExtendedStyle() | WB_EXT_DOCUMENT );
+
+ SetSplashScreenProgress(75);
+ Sequence< Any > lArgs(1);
+ lArgs[0] <<= xContainerWindow;
+
+ Reference< XController > xBackingComp(
+ xSMgr->createInstanceWithArguments(OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.StartModule") ), lArgs), UNO_QUERY);
if (xBackingComp.is())
{
Reference< ::com::sun::star::awt::XWindow > xBackingWin(xBackingComp, UNO_QUERY);
@@ -1840,16 +1812,6 @@ void Desktop::Main()
FatalError( MakeStartupErrorMessage(e.Message) );
return;
}
- /*
- catch ( ... )
- {
- FatalError( MakeStartupErrorMessage(
- OUString::createFromAscii(
- "Unknown error during startup (Office wrapper service).\nInstallation could be damaged.")));
- return;
- }
- */
-// SetSplashScreenProgress(55);
SvtFontSubstConfig().Apply();
@@ -1858,7 +1820,6 @@ void Desktop::Main()
aAppearanceCfg.SetApplicationDefaults( this );
SvtAccessibilityOptions aOptions;
aOptions.SetVCLSettings();
-// SetSplashScreenProgress(60);
if ( !bRestartRequested )
{
@@ -1892,15 +1853,6 @@ void Desktop::Main()
FatalError( MakeStartupErrorMessage(e.Message) );
return;
}
- /*
- catch ( ... )
- {
- FatalError( MakeStartupErrorMessage(
- OUString::createFromAscii(
- "Unknown error during startup (TD/Desktop service).\nInstallation could be damaged.")));
- return;
- }
- */
// Post user event to startup first application component window
// We have to send this OpenClients message short before execute() to
@@ -2219,12 +2171,7 @@ IMPL_LINK( Desktop, OpenClients_Impl, void*, EMPTYARG )
// CloseStartupScreen();
CloseSplashScreen();
-
CheckFirstRun( );
-
- // allow ipc interaction
-// OfficeIPCThread::SetReady();
-
EnableOleAutomation();
if (getenv ("OOO_EXIT_POST_STARTUP"))
@@ -2721,16 +2668,6 @@ void Desktop::OpenClients()
if ( ! bAllowRecoveryAndSessionManagement )
{
- /*
- ::comphelper::ConfigurationHelper::writeDirectKey(
- ::comphelper::getProcessServiceFactory(),
- ::rtl::OUString::createFromAscii("org.openoffice.Office.Recovery"),
- ::rtl::OUString::createFromAscii("AutoSave"),
- ::rtl::OUString::createFromAscii("Enabled"),
- ::com::sun::star::uno::makeAny(sal_False),
- ::comphelper::ConfigurationHelper::E_STANDARD);
-
- */
try
{
Reference< XDispatch > xRecovery(
diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index c142c5f96a..beb8423814 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -142,15 +142,16 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
UNO_QUERY);
// parse command line arguments
- sal_Bool bPrintEvent = sal_False;
- sal_Bool bOpenEvent = sal_True;
- sal_Bool bViewEvent = sal_False;
- sal_Bool bStartEvent = sal_False;
- sal_Bool bPrintToEvent = sal_False;
- sal_Bool bPrinterName = sal_False;
- sal_Bool bForceOpenEvent = sal_False;
- sal_Bool bForceNewEvent = sal_False;
- sal_Bool bDisplaySpec = sal_False;
+ bool bOpenEvent(true);
+ bool bPrintEvent(false);
+ bool bViewEvent(false);
+ bool bStartEvent(false);
+ bool bPrintToEvent(false);
+ bool bPrinterName(false);
+ bool bForceOpenEvent(false);
+ bool bForceNewEvent(false);
+ bool bDisplaySpec(false);
+ bool bOpenDoc(false);
m_eArgumentCount = NONE;
@@ -169,8 +170,8 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
if (tmp.getLength() > 0)
aArg = tmp;
}
- String aArgStr = aArg;
+ String aArgStr = aArg;
if ( aArg.getLength() > 0 )
{
m_eArgumentCount = m_eArgumentCount == NONE ? ONE : MANY;
@@ -182,98 +183,98 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
if ( aArgStr.EqualsIgnoreCaseAscii( "-n" ))
{
// force new documents based on the following documents
- bForceNewEvent = sal_True;
- bOpenEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bPrintEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
+ bForceNewEvent = true;
+ bOpenEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
else if ( aArgStr.EqualsIgnoreCaseAscii( "-o" ))
{
- // force open documents regards if they are templates or not
- bForceOpenEvent = sal_True;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bPrintToEvent = sal_False;
- bPrintEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
+ // force open documents regardless if they are templates or not
+ bForceOpenEvent = true;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bPrintToEvent = false;
+ bPrintEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
else if ( aArgStr.EqualsIgnoreCaseAscii( "-pt" ))
{
// Print to special printer
- bPrintToEvent = sal_True;
- bPrinterName = sal_True;
- bPrintEvent = sal_False;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- bForceOpenEvent = sal_False;
- }
- else if ( aArgStr.EqualsIgnoreCaseAscii( "-p" ))
- {
+ bPrintToEvent = true;
+ bPrinterName = true;
+ bPrintEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ bForceOpenEvent = false;
+ }
+ else if ( aArgStr.EqualsIgnoreCaseAscii( "-p" ))
+ {
// Print to default printer
- bPrintEvent = sal_True;
- bPrintToEvent = sal_False;
- bOpenEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
- else if ( aArgStr.EqualsIgnoreCaseAscii( "-view" ))
- {
+ bPrintEvent = true;
+ bPrintToEvent = false;
+ bOpenEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
+ else if ( aArgStr.EqualsIgnoreCaseAscii( "-view" ))
+ {
// open in viewmode
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bViewEvent = sal_True;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
- }
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bViewEvent = true;
+ bStartEvent = false;
+ bDisplaySpec = false;
+ }
else if ( aArgStr.EqualsIgnoreCaseAscii( "-show" ))
{
// open in viewmode
- bOpenEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_True;
- bPrintEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bForceOpenEvent = sal_False;
- bDisplaySpec = sal_False;
+ bOpenEvent = false;
+ bViewEvent = false;
+ bStartEvent = true;
+ bPrintEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bForceOpenEvent = false;
+ bDisplaySpec = false;
}
else if ( aArgStr.EqualsIgnoreCaseAscii( "-display" ))
{
// set display
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_True;
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = true;
}
else if ( aArgStr.EqualsIgnoreCaseAscii( "-language" ))
{
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
}
#ifdef MACOSX
@@ -285,14 +286,14 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
else if ( aArgStr.CompareToAscii( "-psn", 4 ) == COMPARE_EQUAL )
{
// finder argument from MacOSX
- bOpenEvent = sal_False;
- bPrintEvent = sal_False;
- bForceOpenEvent = sal_False;
- bPrintToEvent = sal_False;
- bForceNewEvent = sal_False;
- bViewEvent = sal_False;
- bStartEvent = sal_False;
- bDisplaySpec = sal_False;
+ bOpenEvent = false;
+ bPrintEvent = false;
+ bForceOpenEvent = false;
+ bPrintToEvent = false;
+ bForceNewEvent = false;
+ bViewEvent = false;
+ bStartEvent = false;
+ bDisplaySpec = false;
}
#endif
}
@@ -308,29 +309,54 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
{
// handle this argument as a filename
if ( bOpenEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_OPENLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bViewEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_VIEWLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bStartEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_STARTLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bPrintEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bPrintToEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_PRINTTOLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bForceNewEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_FORCENEWLIST, aArgStr );
+ bOpenDoc = true;
+ }
else if ( bForceOpenEvent )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_FORCEOPENLIST, aArgStr );
- else if ( bDisplaySpec ){
+ bOpenDoc = true;
+ }
+ else if ( bDisplaySpec )
+ {
AddStringListParam_Impl( CMD_STRINGPARAM_DISPLAY, aArgStr );
- bDisplaySpec = sal_False; // only one display, not a lsit
- bOpenEvent = sal_True; // set back to standard
+ bDisplaySpec = false; // only one display, not a lsit
+ bOpenEvent = true; // set back to standard
}
}
}
}
}
}
+
+ if ( bOpenDoc )
+ m_bDocumentArgs = true;
}
void CommandLineArgs::AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam )
@@ -432,8 +458,8 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-help" ))
- || aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-h" ))
- || aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-?" )))
+ || aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-h" ))
+ || aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-?" )))
{
SetBoolParam_Impl( CMD_BOOLPARAM_HELP, sal_True );
return sal_True;
@@ -473,18 +499,18 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
SetBoolParam_Impl( CMD_BOOLPARAM_HELPMATH, sal_True );
return sal_True;
}
- #ifdef MACOSX
- /* #i84053# ignore -psn on Mac
- Platform dependent #ifdef here is ugly, however this is currently
- the only platform dependent parameter. Should more appear
- we should find a better solution
- */
+#ifdef MACOSX
+ /* #i84053# ignore -psn on Mac
+ Platform dependent #ifdef here is ugly, however this is currently
+ the only platform dependent parameter. Should more appear
+ we should find a better solution
+ */
else if ( aArg.compareToAscii( "-psn", 4 ) == 0 )
{
SetBoolParam_Impl( CMD_BOOLPARAM_PSN, sal_True );
return sal_True;
}
- #endif
+#endif
else if ( aArgStr.Copy(0, 8).EqualsIgnoreCaseAscii( "-accept=" ))
{
AddStringListParam_Impl( CMD_STRINGPARAM_ACCEPT, aArgStr.Copy( 8 ) );
@@ -496,7 +522,7 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
return sal_True;
}
else if ( aArgStr.CompareIgnoreCaseToAscii( "-portal," ,
- RTL_CONSTASCII_LENGTH( "-portal," )) == COMPARE_EQUAL )
+ RTL_CONSTASCII_LENGTH( "-portal," )) == COMPARE_EQUAL )
{
AddStringListParam_Impl( CMD_STRINGPARAM_PORTAL, aArgStr.Copy( RTL_CONSTASCII_LENGTH( "-portal," )) );
return sal_True;
@@ -504,13 +530,10 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
else if ( aArgStr.Copy( 0, 7 ).EqualsIgnoreCaseAscii( "-userid" ))
{
if ( aArgStr.Len() > 8 )
- {
- rtl::OUString aUserDir = aArgStr;
- AddStringListParam_Impl(
- CMD_STRINGPARAM_USERDIR,
- ::rtl::Uri::decode( aUserDir.copy( 8 ),
- rtl_UriDecodeWithCharset,
- RTL_TEXTENCODING_UTF8 ) );
+ {
+ rtl::OUString aUserDir = aArgStr;
+ AddStringListParam_Impl( CMD_STRINGPARAM_USERDIR,
+ ::rtl::Uri::decode( aUserDir.copy( 8 ), rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8 ) );
}
return sal_True;
}
@@ -533,56 +556,64 @@ sal_Bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString&
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_WRITER );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_WRITER, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_WRITER, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-calc" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_CALC );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_CALC, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_CALC, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-draw" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_DRAW );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_DRAW, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_DRAW, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-impress" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_IMPRESS );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_IMPRESS, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_IMPRESS, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-base" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_BASE );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_BASE, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_BASE, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-global" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_GLOBAL );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_GLOBAL, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_GLOBAL, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-math" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_MATH );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_MATH, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_MATH, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
else if ( aArg.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "-web" )) == sal_True )
{
sal_Bool bAlreadySet = CheckGroupMembers( CMD_GRPID_MODULE, CMD_BOOLPARAM_WEB );
if ( !bAlreadySet )
- SetBoolParam_Impl( CMD_BOOLPARAM_WEB, sal_True );
+ SetBoolParam_Impl( CMD_BOOLPARAM_WEB, sal_True );
+ m_bDocumentArgs = true;
return sal_True;
}
@@ -605,12 +636,12 @@ sal_Bool CommandLineArgs::CheckGroupMembers( GroupParamId nGroupId, BoolParam nE
void CommandLineArgs::ResetParamValues()
{
int i;
-
for ( i = 0; i < CMD_BOOLPARAM_COUNT; i++ )
m_aBoolParams[i] = sal_False;
for ( i = 0; i < CMD_STRINGPARAM_COUNT; i++ )
m_aStrSetParams[i] = sal_False;
m_eArgumentCount = NONE;
+ m_bDocumentArgs = false;
}
void CommandLineArgs::SetBoolParam( BoolParam eParam, sal_Bool bNewValue )
@@ -897,4 +928,10 @@ sal_Bool CommandLineArgs::IsEmptyOrAcceptOnly() const
( ( m_eArgumentCount == ONE ) && m_aBoolParams[ CMD_BOOLPARAM_PSN ] );
}
+sal_Bool CommandLineArgs::WantsToLoadDocument() const
+{
+ osl::MutexGuard aMutexGuard( m_aMutex );
+ return m_bDocumentArgs;
+}
+
} // namespace desktop
diff --git a/desktop/source/app/cmdlineargs.hxx b/desktop/source/app/cmdlineargs.hxx
index 569dd5ccbc..6412c2a7f2 100644
--- a/desktop/source/app/cmdlineargs.hxx
+++ b/desktop/source/app/cmdlineargs.hxx
@@ -38,7 +38,7 @@ namespace desktop
class CommandLineArgs
{
public:
- enum BoolParam // must be zero based!
+ enum BoolParam // must be zero based!
{
CMD_BOOLPARAM_MINIMIZED,
CMD_BOOLPARAM_INVISIBLE,
@@ -71,7 +71,7 @@ class CommandLineArgs
CMD_BOOLPARAM_HELPIMPRESS,
CMD_BOOLPARAM_HELPBASE,
CMD_BOOLPARAM_PSN,
- CMD_BOOLPARAM_COUNT // must be last element!
+ CMD_BOOLPARAM_COUNT // must be last element!
};
enum StringParam // must be zero based!
@@ -92,7 +92,7 @@ class CommandLineArgs
CMD_STRINGPARAM_PRINTERNAME,
CMD_STRINGPARAM_DISPLAY,
CMD_STRINGPARAM_LANGUAGE,
- CMD_STRINGPARAM_COUNT // must be last element!
+ CMD_STRINGPARAM_COUNT // must be last element!
};
enum GroupParamId
@@ -101,7 +101,8 @@ class CommandLineArgs
CMD_GRPID_COUNT
};
- struct Supplier {
+ struct Supplier
+ {
// Thrown from constructors and next:
class Exception {
public:
@@ -122,89 +123,91 @@ class CommandLineArgs
boost::optional< rtl::OUString > getCwdUrl() const { return m_cwdUrl; }
// generic methods to access parameter
- void SetBoolParam( BoolParam eParam, sal_Bool bNewValue );
+ void SetBoolParam( BoolParam eParam, sal_Bool bNewValue );
// Access to bool parameters
- sal_Bool IsMinimized() const;
- sal_Bool IsInvisible() const;
- sal_Bool IsNoRestore() const;
- sal_Bool IsNoDefault() const;
- sal_Bool IsBean() const;
- sal_Bool IsServer() const;
- sal_Bool IsHeadless() const;
- sal_Bool IsQuickstart() const;
- sal_Bool IsNoQuickstart() const;
- sal_Bool IsTerminateAfterInit() const;
- sal_Bool IsNoFirstStartWizard() const;
- sal_Bool IsNoLogo() const;
- sal_Bool IsNoLockcheck() const;
- sal_Bool IsHelp() const;
- sal_Bool IsHelpWriter() const;
- sal_Bool IsHelpCalc() const;
- sal_Bool IsHelpDraw() const;
- sal_Bool IsHelpImpress() const;
- sal_Bool IsHelpBase() const;
- sal_Bool IsHelpMath() const;
- sal_Bool IsHelpBasic() const;
- sal_Bool IsWriter() const;
- sal_Bool IsCalc() const;
- sal_Bool IsDraw() const;
- sal_Bool IsImpress() const;
- sal_Bool IsBase() const;
- sal_Bool IsGlobal() const;
- sal_Bool IsMath() const;
- sal_Bool IsWeb() const;
- sal_Bool HasModuleParam() const;
+ sal_Bool IsMinimized() const;
+ sal_Bool IsInvisible() const;
+ sal_Bool IsNoRestore() const;
+ sal_Bool IsNoDefault() const;
+ sal_Bool IsBean() const;
+ sal_Bool IsServer() const;
+ sal_Bool IsHeadless() const;
+ sal_Bool IsQuickstart() const;
+ sal_Bool IsNoQuickstart() const;
+ sal_Bool IsTerminateAfterInit() const;
+ sal_Bool IsNoFirstStartWizard() const;
+ sal_Bool IsNoLogo() const;
+ sal_Bool IsNoLockcheck() const;
+ sal_Bool IsHelp() const;
+ sal_Bool IsHelpWriter() const;
+ sal_Bool IsHelpCalc() const;
+ sal_Bool IsHelpDraw() const;
+ sal_Bool IsHelpImpress() const;
+ sal_Bool IsHelpBase() const;
+ sal_Bool IsHelpMath() const;
+ sal_Bool IsHelpBasic() const;
+ sal_Bool IsWriter() const;
+ sal_Bool IsCalc() const;
+ sal_Bool IsDraw() const;
+ sal_Bool IsImpress() const;
+ sal_Bool IsBase() const;
+ sal_Bool IsGlobal() const;
+ sal_Bool IsMath() const;
+ sal_Bool IsWeb() const;
+ sal_Bool HasModuleParam() const;
+ sal_Bool WantsToLoadDocument() const;
// Access to string parameters
- sal_Bool GetPortalConnectString( ::rtl::OUString& rPara) const;
- sal_Bool GetAcceptString( ::rtl::OUString& rPara) const;
- sal_Bool GetUnAcceptString( ::rtl::OUString& rPara) const;
- sal_Bool GetOpenList( ::rtl::OUString& rPara) const;
- sal_Bool GetViewList( ::rtl::OUString& rPara) const;
- sal_Bool GetStartList( ::rtl::OUString& rPara) const;
- sal_Bool GetForceOpenList( ::rtl::OUString& rPara) const;
- sal_Bool GetForceNewList( ::rtl::OUString& rPara) const;
- sal_Bool GetPrintList( ::rtl::OUString& rPara) const;
- sal_Bool GetPrintToList( ::rtl::OUString& rPara ) const;
- sal_Bool GetPrinterName( ::rtl::OUString& rPara ) const;
- sal_Bool GetLanguage( ::rtl::OUString& rPara ) const;
+ sal_Bool GetPortalConnectString( ::rtl::OUString& rPara) const;
+ sal_Bool GetAcceptString( ::rtl::OUString& rPara) const;
+ sal_Bool GetUnAcceptString( ::rtl::OUString& rPara) const;
+ sal_Bool GetOpenList( ::rtl::OUString& rPara) const;
+ sal_Bool GetViewList( ::rtl::OUString& rPara) const;
+ sal_Bool GetStartList( ::rtl::OUString& rPara) const;
+ sal_Bool GetForceOpenList( ::rtl::OUString& rPara) const;
+ sal_Bool GetForceNewList( ::rtl::OUString& rPara) const;
+ sal_Bool GetPrintList( ::rtl::OUString& rPara) const;
+ sal_Bool GetPrintToList( ::rtl::OUString& rPara ) const;
+ sal_Bool GetPrinterName( ::rtl::OUString& rPara ) const;
+ sal_Bool GetLanguage( ::rtl::OUString& rPara ) const;
// Special analyzed states (does not match directly to a command line parameter!)
- sal_Bool IsPrinting() const;
- sal_Bool IsEmpty() const;
- sal_Bool IsEmptyOrAcceptOnly() const;
+ sal_Bool IsPrinting() const;
+ sal_Bool IsEmpty() const;
+ sal_Bool IsEmptyOrAcceptOnly() const;
private:
enum Count { NONE, ONE, MANY };
struct GroupDefinition
{
- sal_Int32 nCount;
- BoolParam* pGroupMembers;
+ sal_Int32 nCount;
+ BoolParam* pGroupMembers;
};
// no copy and operator=
CommandLineArgs( const CommandLineArgs& );
CommandLineArgs operator=( const CommandLineArgs& );
- sal_Bool InterpretCommandLineParameter( const ::rtl::OUString& );
- void ParseCommandLine_Impl( Supplier& supplier );
- void ResetParamValues();
- sal_Bool CheckGroupMembers( GroupParamId nGroup, BoolParam nExcludeMember ) const;
+ sal_Bool InterpretCommandLineParameter( const ::rtl::OUString& );
+ void ParseCommandLine_Impl( Supplier& supplier );
+ void ResetParamValues();
+ sal_Bool CheckGroupMembers( GroupParamId nGroup, BoolParam nExcludeMember ) const;
- void AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam );
- void SetBoolParam_Impl( BoolParam eParam, sal_Bool bValue );
+ void AddStringListParam_Impl( StringParam eParam, const rtl::OUString& aParam );
+ void SetBoolParam_Impl( BoolParam eParam, sal_Bool bValue );
boost::optional< rtl::OUString > m_cwdUrl;
- sal_Bool m_aBoolParams[ CMD_BOOLPARAM_COUNT ]; // Stores boolean parameters
- rtl::OUString m_aStrParams[ CMD_STRINGPARAM_COUNT ]; // Stores string parameters
- sal_Bool m_aStrSetParams[ CMD_STRINGPARAM_COUNT ]; // Stores if string parameters are provided on cmdline
- Count m_eArgumentCount; // Number of Args
- mutable ::osl::Mutex m_aMutex;
+ sal_Bool m_aBoolParams[ CMD_BOOLPARAM_COUNT ]; // Stores boolean parameters
+ rtl::OUString m_aStrParams[ CMD_STRINGPARAM_COUNT ]; // Stores string parameters
+ sal_Bool m_aStrSetParams[ CMD_STRINGPARAM_COUNT ]; // Stores if string parameters are provided on cmdline
+ Count m_eArgumentCount; // Number of Args
+ bool m_bDocumentArgs; // A document creation/open/load arg is used
+ mutable ::osl::Mutex m_aMutex;
// static definition for groups where only one member can be true
- static GroupDefinition m_pGroupDefinitions[ CMD_GRPID_COUNT ];
+ static GroupDefinition m_pGroupDefinitions[ CMD_GRPID_COUNT ];
};
}
diff --git a/desktop/source/deployment/gui/dp_gui.hrc b/desktop/source/deployment/gui/dp_gui.hrc
index 19b2faf129..11699bd50e 100644..100755
--- a/desktop/source/deployment/gui/dp_gui.hrc
+++ b/desktop/source/deployment/gui/dp_gui.hrc
@@ -106,7 +106,7 @@
#define RID_DLG_UPDATE_LINE 8
#define RID_DLG_UPDATE_HELP 9
#define RID_DLG_UPDATE_OK 10
-#define RID_DLG_UPDATE_CANCEL 11
+#define RID_DLG_UPDATE_CLOSE 11
#define RID_DLG_UPDATE_NORMALALERT 12
#define RID_DLG_UPDATE_HIGHCONTRASTALERT 13
#define RID_DLG_UPDATE_ERROR 14
@@ -127,6 +127,11 @@
#define RID_DLG_UPDATE_RELEASENOTES_LINK 29
#define RID_DLG_UPDATE_NOUPDATE 30
#define RID_DLG_UPDATE_VERSION 31
+#define RID_DLG_UPDATE_IGNORE 32
+#define RID_DLG_UPDATE_ENABLE 33
+#define RID_DLG_UPDATE_IGNORE_ALL 34
+#define RID_DLG_UPDATE_IGNORED_UPDATE 35
+
#define RID_DLG_UPDATEINSTALL (RID_DEPLOYMENT_GUI_START + 20)
@@ -163,6 +168,7 @@
#define RID_STR_NO_ADMIN_PRIVILEGE (RID_DEPLOYMENT_GUI_START+95)
#define RID_STR_ERROR_MISSING_DEPENDENCIES (RID_DEPLOYMENT_GUI_START+96)
#define RID_STR_ERROR_MISSING_LICENSE (RID_DEPLOYMENT_GUI_START+97)
+#define RID_STR_SHOW_LICENSE_CMD (RID_DEPLOYMENT_GUI_START+98)
#define WARNINGBOX_CONCURRENTINSTANCE (RID_DEPLOYMENT_GUI_START+100)
@@ -172,6 +178,7 @@
#define RID_WARNINGBOX_REMOVE_SHARED_EXTENSION (RID_DEPLOYMENT_GUI_START+104)
#define RID_WARNINGBOX_ENABLE_SHARED_EXTENSION (RID_DEPLOYMENT_GUI_START+105)
#define RID_WARNINGBOX_DISABLE_SHARED_EXTENSION (RID_DEPLOYMENT_GUI_START+106)
+#define RID_DLG_SHOW_LICENSE (RID_DEPLOYMENT_GUI_START+107)
#define RID_DLG_LICENSE RID_DEPLOYMENT_LICENSE_START
diff --git a/desktop/source/deployment/gui/dp_gui_dialog.src b/desktop/source/deployment/gui/dp_gui_dialog.src
index cf000640c3..e61994c475 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog.src
+++ b/desktop/source/deployment/gui/dp_gui_dialog.src
@@ -119,6 +119,11 @@ String RID_STR_ERROR_MISSING_LICENSE
Text [ en-US ] = "This extension is disabled because you haven't accepted the license yet.\n";
};
+String RID_STR_SHOW_LICENSE_CMD
+{
+ Text [ en-US ] = "Show license";
+};
+
// Dialog layout
// ---------------------------------------------------
// row 1 | multi line edit
@@ -293,6 +298,35 @@ ModalDialog RID_DLG_LICENSE
};
+ModalDialog RID_DLG_SHOW_LICENSE
+{
+ Text [ en-US ] = "Extension Software License Agreement";
+ Size = MAP_APPFONT( 300, 200 );
+ OutputSize = TRUE;
+ SVLook = TRUE;
+ Moveable = TRUE;
+ Closeable = TRUE;
+ Sizeable = TRUE;
+
+ MultiLineEdit ML_LICENSE
+ {
+ Pos = MAP_APPFONT( 5, 5 );
+ Size = MAP_APPFONT( 300 - 10, 200 - 15 - RSC_CD_PUSHBUTTON_HEIGHT );
+ Border = TRUE;
+ VScroll = TRUE;
+ ReadOnly = TRUE;
+ };
+
+ OKButton RID_EM_BTN_CLOSE
+ {
+ TabStop = TRUE;
+ DefButton = TRUE;
+ Text [ en-US ] = "Close";
+ Pos = MAP_APPFONT( (300-RSC_CD_PUSHBUTTON_WIDTH)/2, 200 - 5 - RSC_CD_PUSHBUTTON_HEIGHT );
+ Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
+ };
+};
+
WarningBox RID_WARNINGBOX_INSTALL_EXTENSION {
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 5f1b35932b..41ccc69693 100644..100755
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -39,8 +39,10 @@
#include "dp_gui_theextmgr.hxx"
#include "dp_gui_extensioncmdqueue.hxx"
#include "dp_misc.h"
+#include "dp_ucb.h"
#include "dp_update.hxx"
#include "dp_identifier.hxx"
+#include "dp_descriptioninfoset.hxx"
#include "vcl/ctrl.hxx"
#include "vcl/menu.hxx"
@@ -118,7 +120,8 @@ enum MENU_COMMAND
CMD_REMOVE = 1,
CMD_ENABLE,
CMD_DISABLE,
- CMD_UPDATE
+ CMD_UPDATE,
+ CMD_SHOW_LICENSE
};
class ExtBoxWithBtns_Impl : public ExtensionBox_Impl
@@ -224,13 +227,10 @@ const Size ExtBoxWithBtns_Impl::GetMinOutputSizePixel() const
// -----------------------------------------------------------------------
void ExtBoxWithBtns_Impl::RecalcAll()
{
- ExtensionBox_Impl::RecalcAll();
-
const sal_Int32 nActive = getSelIndex();
if ( nActive != EXTENSION_LISTBOX_ENTRY_NOTFOUND )
{
- SetButtonPos( GetEntryRect( nActive ) );
SetButtonStatus( GetEntryData( nActive) );
}
else
@@ -239,6 +239,11 @@ void ExtBoxWithBtns_Impl::RecalcAll()
m_pEnableBtn->Hide();
m_pRemoveBtn->Hide();
}
+
+ ExtensionBox_Impl::RecalcAll();
+
+ if ( nActive != EXTENSION_LISTBOX_ENTRY_NOTFOUND )
+ SetButtonPos( GetEntryRect( nActive ) );
}
@@ -363,28 +368,29 @@ bool ExtBoxWithBtns_Impl::HandleTabKey( bool bReverse )
// -----------------------------------------------------------------------
MENU_COMMAND ExtBoxWithBtns_Impl::ShowPopupMenu( const Point & rPos, const long nPos )
{
- if ( ( nPos >= 0 ) && ( nPos < (long) getItemCount() ) )
- {
- if ( ! GetEntryData( nPos )->m_bLocked )
- {
- PopupMenu aPopup;
-
- aPopup.InsertItem( CMD_UPDATE, DialogHelper::getResourceString( RID_CTX_ITEM_CHECK_UPDATE ) );
+ if ( nPos >= (long) getItemCount() )
+ return CMD_NONE;
- if ( GetEntryData( nPos )->m_bUser )
- {
- if ( GetEntryData( nPos )->m_eState == REGISTERED )
- aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
- else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
- aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
- }
+ PopupMenu aPopup;
- aPopup.InsertItem( CMD_REMOVE, DialogHelper::getResourceString( RID_CTX_ITEM_REMOVE ) );
+ aPopup.InsertItem( CMD_UPDATE, DialogHelper::getResourceString( RID_CTX_ITEM_CHECK_UPDATE ) );
- return (MENU_COMMAND) aPopup.Execute( this, rPos );
+ if ( ! GetEntryData( nPos )->m_bLocked )
+ {
+ if ( GetEntryData( nPos )->m_bUser )
+ {
+ if ( GetEntryData( nPos )->m_eState == REGISTERED )
+ aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
+ else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
+ aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
}
+ aPopup.InsertItem( CMD_REMOVE, DialogHelper::getResourceString( RID_CTX_ITEM_REMOVE ) );
}
- return CMD_NONE;
+
+ if ( GetEntryData( nPos )->m_sLicenseText.Len() )
+ aPopup.InsertItem( CMD_SHOW_LICENSE, DialogHelper::getResourceString( RID_STR_SHOW_LICENSE_CMD ) );
+
+ return (MENU_COMMAND) aPopup.Execute( this, rPos );
}
//------------------------------------------------------------------------------
@@ -409,6 +415,12 @@ void ExtBoxWithBtns_Impl::MouseButtonDown( const MouseEvent& rMEvt )
break;
case CMD_REMOVE: m_pParent->removePackage( GetEntryData( nPos )->m_xPackage );
break;
+ case CMD_SHOW_LICENSE:
+ {
+ ShowLicenseDialog aLicenseDlg( m_pParent, GetEntryData( nPos )->m_xPackage );
+ aLicenseDlg.Execute();
+ break;
+ }
}
}
else if ( rMEvt.IsLeft() )
@@ -1742,6 +1754,42 @@ void UpdateRequiredDialog::disableAllEntries()
m_aCloseBtn.SetText( m_sCloseText );
}
+//------------------------------------------------------------------------------
+// ShowLicenseDialog
+//------------------------------------------------------------------------------
+ShowLicenseDialog::ShowLicenseDialog( Window * pParent,
+ const uno::Reference< deployment::XPackage > &xPackage ) :
+ ModalDialog( pParent, DialogHelper::getResId( RID_DLG_SHOW_LICENSE ) ),
+ m_aLicenseText( this, DialogHelper::getResId( ML_LICENSE ) ),
+ m_aCloseBtn( this, DialogHelper::getResId( RID_EM_BTN_CLOSE ) )
+{
+ FreeResource();
+
+ OUString aText = xPackage->getLicenseText();
+ m_aLicenseText.SetText( aText );
+}
+
+//------------------------------------------------------------------------------
+ShowLicenseDialog::~ShowLicenseDialog()
+{}
+
+//------------------------------------------------------------------------------
+void ShowLicenseDialog::Resize()
+{
+ Size aTotalSize( GetOutputSizePixel() );
+ Size aTextSize( aTotalSize.Width() - RSC_SP_DLG_INNERBORDER_LEFT - RSC_SP_DLG_INNERBORDER_RIGHT,
+ aTotalSize.Height() - RSC_SP_DLG_INNERBORDER_TOP - 2*RSC_SP_DLG_INNERBORDER_BOTTOM
+ - m_aCloseBtn.GetSizePixel().Height() );
+
+ m_aLicenseText.SetPosSizePixel( Point( RSC_SP_DLG_INNERBORDER_LEFT, RSC_SP_DLG_INNERBORDER_TOP ),
+ aTextSize );
+
+ Point aBtnPos( (aTotalSize.Width() - m_aCloseBtn.GetSizePixel().Width())/2,
+ aTotalSize.Height() - RSC_SP_DLG_INNERBORDER_BOTTOM
+ - m_aCloseBtn.GetSizePixel().Height() );
+ m_aCloseBtn.SetPosPixel( aBtnPos );
+}
+
//=================================================================================
// UpdateRequiredDialogService
//=================================================================================
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.hxx b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
index b188586e6d..50878d8778 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.hxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.hxx
@@ -35,6 +35,7 @@
#include "svtools/fixedhyper.hxx"
#include "svtools/prgsbar.hxx"
+#include "svtools/svmedit.hxx"
#include "osl/conditn.hxx"
#include "osl/mutex.hxx"
@@ -246,6 +247,20 @@ public:
};
//==============================================================================
+class ShowLicenseDialog : public ModalDialog
+{
+ MultiLineEdit m_aLicenseText;
+ OKButton m_aCloseBtn;
+
+public:
+ ShowLicenseDialog( Window * pParent,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage > &xPackage );
+ virtual ~ShowLicenseDialog();
+
+ virtual void Resize();
+};
+
+//==============================================================================
class UpdateRequiredDialogService : public ::cppu::WeakImplHelper1< ::com::sun::star::ui::dialogs::XExecutableDialog >
{
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const m_xComponentContext;
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index e1e517a55c..ec8344b85d 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -71,29 +71,35 @@ Entry_Impl::Entry_Impl( const uno::Reference< deployment::XPackage > &xPackage,
m_pPublisher( NULL ),
m_xPackage( xPackage )
{
- m_sTitle = xPackage->getDisplayName();
- m_sVersion = xPackage->getVersion();
- m_sDescription = xPackage->getDescription();
-
- beans::StringPair aInfo( m_xPackage->getPublisherInfo() );
- m_sPublisher = aInfo.First;
- m_sPublisherURL = aInfo.Second;
-
- // get the icons for the package if there are any
- uno::Reference< graphic::XGraphic > xGraphic = xPackage->getIcon( false );
- if ( xGraphic.is() )
- m_aIcon = Image( xGraphic );
-
- xGraphic = xPackage->getIcon( true );
- if ( xGraphic.is() )
- m_aIconHC = Image( xGraphic );
- else
- m_aIconHC = m_aIcon;
+ try
+ {
+ m_sTitle = xPackage->getDisplayName();
+ m_sVersion = xPackage->getVersion();
+ m_sDescription = xPackage->getDescription();
+ m_sLicenseText = xPackage->getLicenseText();
+
+ beans::StringPair aInfo( m_xPackage->getPublisherInfo() );
+ m_sPublisher = aInfo.First;
+ m_sPublisherURL = aInfo.Second;
+
+ // get the icons for the package if there are any
+ uno::Reference< graphic::XGraphic > xGraphic = xPackage->getIcon( false );
+ if ( xGraphic.is() )
+ m_aIcon = Image( xGraphic );
+
+ xGraphic = xPackage->getIcon( true );
+ if ( xGraphic.is() )
+ m_aIconHC = Image( xGraphic );
+ else
+ m_aIconHC = m_aIcon;
- if ( eState == AMBIGUOUS )
- m_sErrorText = DialogHelper::getResourceString( RID_STR_ERROR_UNKNOWN_STATUS );
- else if ( eState == NOT_REGISTERED )
- checkDependencies();
+ if ( eState == AMBIGUOUS )
+ m_sErrorText = DialogHelper::getResourceString( RID_STR_ERROR_UNKNOWN_STATUS );
+ else if ( eState == NOT_REGISTERED )
+ checkDependencies();
+ }
+ catch (deployment::ExtensionRemovedException &) {}
+ catch (uno::RuntimeException &) {}
}
//------------------------------------------------------------------------------
@@ -963,6 +969,11 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
bool bLocked = m_pManager->isReadOnly( xPackage );
TEntry_Impl pEntry( new Entry_Impl( xPackage, eState, bLocked ) );
+
+ // Don't add empty entries
+ if ( ! pEntry->m_sTitle.Len() )
+ return 0;
+
xPackage->addEventListener( uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
::osl::ClearableMutexGuard guard(m_entriesMutex);
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
index 08d1120ecb..6b4f87ae67 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.hxx
@@ -81,6 +81,7 @@ struct Entry_Impl
String m_sPublisher;
String m_sPublisherURL;
String m_sErrorText;
+ String m_sLicenseText;
Image m_aIcon;
Image m_aIconHC;
svt::FixedHyperlink *m_pPublisher;
diff --git a/desktop/source/deployment/gui/dp_gui_updatedata.hxx b/desktop/source/deployment/gui/dp_gui_updatedata.hxx
index e0dc982dff..651cd536e2 100644..100755
--- a/desktop/source/deployment/gui/dp_gui_updatedata.hxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedata.hxx
@@ -28,6 +28,7 @@
#define INCLUDED_DP_GUI_UPDATEDATA_HXX
#include "sal/config.h"
+#include "tools/solar.h"
#include "rtl/ustring.hxx"
#include "com/sun/star/uno/Reference.hxx"
@@ -80,6 +81,10 @@ struct UpdateData
//are to be ignored.
::com::sun::star::uno::Reference< ::com::sun::star::deployment::XPackage >
aUpdateSource;
+
+ // ID to find this entry in the update listbox
+ USHORT m_nID;
+ bool m_bIgnored;
};
}
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index 03c63fe56b..30f1634999 100644..100755
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -50,7 +50,9 @@
#include "com/sun/star/beans/NamedValue.hpp"
#include "com/sun/star/beans/Optional.hpp"
#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/beans/XPropertySet.hpp"
#include "com/sun/star/container/XNameAccess.hpp"
+#include "com/sun/star/container/XNameContainer.hpp"
#include "com/sun/star/deployment/DeploymentException.hpp"
#include "com/sun/star/deployment/UpdateInformationProvider.hpp"
#include "com/sun/star/deployment/XPackage.hpp"
@@ -62,6 +64,7 @@
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/lang/IllegalArgumentException.hpp"
#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/lang/XSingleServiceFactory.hpp"
#include "com/sun/star/system/SystemShellExecuteFlags.hpp"
#include "com/sun/star/system/XSystemShellExecute.hpp"
#include "com/sun/star/task/XAbortChannel.hpp"
@@ -76,6 +79,7 @@
#include "com/sun/star/uno/Sequence.hxx"
#include "com/sun/star/uno/XInterface.hpp"
#include "com/sun/star/util/URL.hpp"
+#include "com/sun/star/util/XChangesBatch.hpp"
#include "com/sun/star/util/XURLTransformer.hpp"
#include "com/sun/star/xml/dom/XElement.hpp"
#include "com/sun/star/xml/dom/XNode.hpp"
@@ -129,16 +133,23 @@ namespace com { namespace sun { namespace star { namespace uno {
class XComponentContext;
} } } }
-namespace css = ::com::sun::star;
-
+using namespace ::com::sun::star;
using dp_gui::UpdateDialog;
namespace {
static sal_Unicode const LF = 0x000A;
static sal_Unicode const CR = 0x000D;
+static const USHORT CMD_ENABLE_UPDATE = 1;
+static const USHORT CMD_IGNORE_UPDATE = 2;
+static const USHORT CMD_IGNORE_ALL_UPDATES = 3;
+
+#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
+
+#define IGNORED_UPDATES OUSTR("/org.openoffice.Office.ExtensionManager/ExtensionUpdateData/IgnoredUpdates")
+#define PROPERTY_VERSION OUSTR("Version")
-enum Kind { ENABLED_UPDATE, DISABLED_UPDATE, GENERAL_ERROR, SPECIFIC_ERROR };
+enum Kind { ENABLED_UPDATE, DISABLED_UPDATE, SPECIFIC_ERROR };
rtl::OUString confineToParagraph(rtl::OUString const & text) {
// Confine arbitrary text to a single paragraph in a dp_gui::AutoScrollEdit.
@@ -151,86 +162,64 @@ rtl::OUString confineToParagraph(rtl::OUString const & text) {
struct UpdateDialog::DisabledUpdate {
rtl::OUString name;
- css::uno::Sequence< rtl::OUString > unsatisfiedDependencies;
+ uno::Sequence< rtl::OUString > unsatisfiedDependencies;
// We also want to show release notes and publisher for disabled updates
::com::sun::star::uno::Reference< ::com::sun::star::xml::dom::XNode > aUpdateInfo;
+ USHORT m_nID;
};
struct UpdateDialog::SpecificError {
rtl::OUString name;
rtl::OUString message;
+ USHORT m_nID;
};
-union UpdateDialog::IndexUnion{
- std::vector< dp_gui::UpdateData >::size_type enabledUpdate;
- std::vector< UpdateDialog::DisabledUpdate >::size_type disabledUpdate;
- std::vector< rtl::OUString >::size_type generalError;
- std::vector< UpdateDialog::SpecificError >::size_type specificError;
-};
-
-struct UpdateDialog::Index {
- static std::auto_ptr< UpdateDialog::Index const > newEnabledUpdate(
- std::vector< dp_gui::UpdateData >::size_type n);
-
- static std::auto_ptr< UpdateDialog::Index const > newDisabledUpdate(
- std::vector< UpdateDialog::DisabledUpdate >::size_type n);
+//------------------------------------------------------------------------------
+struct UpdateDialog::IgnoredUpdate {
+ rtl::OUString sExtensionID;
+ rtl::OUString sVersion;
+ bool bRemoved;
- static std::auto_ptr< UpdateDialog::Index const > newGeneralError(
- std::vector< rtl::OUString >::size_type n);
-
- static std::auto_ptr< UpdateDialog::Index const > newSpecificError(
- std::vector< UpdateDialog::SpecificError >::size_type n);
-
- Kind kind;
- IndexUnion index;
-
-private:
- explicit Index(Kind theKind);
+ IgnoredUpdate( const rtl::OUString &rExtensionID, const rtl::OUString &rVersion );
};
-std::auto_ptr< UpdateDialog::Index const >
-UpdateDialog::Index::newEnabledUpdate(
- std::vector< dp_gui::UpdateData >::size_type n)
-{
- UpdateDialog::Index * p = new UpdateDialog::Index(ENABLED_UPDATE);
- p->index.enabledUpdate = n;
- return std::auto_ptr< UpdateDialog::Index const >(p);
-}
-
-std::auto_ptr< UpdateDialog::Index const >
-UpdateDialog::Index::newDisabledUpdate(
- std::vector< UpdateDialog::DisabledUpdate >::size_type n)
-{
- UpdateDialog::Index * p = new UpdateDialog::Index(DISABLED_UPDATE);
- p->index.disabledUpdate = n;
- return std::auto_ptr< UpdateDialog::Index const >(p);
-}
+//------------------------------------------------------------------------------
+UpdateDialog::IgnoredUpdate::IgnoredUpdate( const rtl::OUString &rExtensionID, const rtl::OUString &rVersion ):
+ sExtensionID( rExtensionID ),
+ sVersion( rVersion ),
+ bRemoved( false )
+{}
-std::auto_ptr< UpdateDialog::Index const > UpdateDialog::Index::newGeneralError(
- std::vector< rtl::OUString >::size_type n)
+//------------------------------------------------------------------------------
+struct UpdateDialog::Index
{
- UpdateDialog::Index * p = new UpdateDialog::Index(GENERAL_ERROR);
- p->index.generalError = n;
- return std::auto_ptr< UpdateDialog::Index const >(p);
-}
+ Kind m_eKind;
+ bool m_bIgnored;
+ USHORT m_nID;
+ USHORT m_nIndex;
+ rtl::OUString m_aName;
-std::auto_ptr< UpdateDialog::Index const >
-UpdateDialog::Index::newSpecificError(
- std::vector< UpdateDialog::SpecificError >::size_type n)
-{
- UpdateDialog::Index * p = new UpdateDialog::Index(SPECIFIC_ERROR);
- p->index.specificError = n;
- return std::auto_ptr< UpdateDialog::Index const >(p);
-}
+ Index( Kind theKind, USHORT nID, USHORT nIndex, const rtl::OUString &rName );
+};
-UpdateDialog::Index::Index(Kind theKind): kind(theKind) {}
+//------------------------------------------------------------------------------
+UpdateDialog::Index::Index( Kind theKind, USHORT nID, USHORT nIndex, const rtl::OUString &rName ):
+ m_eKind( theKind ),
+ m_bIgnored( false ),
+ m_nID( nID ),
+ m_nIndex( nIndex ),
+ m_aName( rName )
+{}
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
class UpdateDialog::Thread: public dp_gui::Thread {
public:
Thread(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ uno::Reference< uno::XComponentContext > const & context,
UpdateDialog & dialog,
- const std::vector< css::uno::Reference< css::deployment::XPackage > > & vExtensionList);
+ const std::vector< uno::Reference< deployment::XPackage > > & vExtensionList);
void stop();
@@ -240,16 +229,16 @@ private:
struct Entry {
explicit Entry(
- css::uno::Reference< css::deployment::XPackage > const & thePackage,
+ uno::Reference< deployment::XPackage > const & thePackage,
rtl::OUString const & theVersion);
- css::uno::Reference< css::deployment::XPackage > package;
+ uno::Reference< deployment::XPackage > package;
rtl::OUString version;
//Indicates that the extension provides its own update URLs.
//If this is true, then we must not use the default update
//URL to find the update information.
bool bProvidesOwnUpdate;
- css::uno::Reference< css::xml::dom::XNode > info;
+ uno::Reference< xml::dom::XNode > info;
UpdateDialog::DisabledUpdate disableUpdate;
dp_gui::UpdateData updateData;
};
@@ -261,20 +250,20 @@ private:
virtual void execute();
#if 0
- void handleGeneralError(css::uno::Any const & exception) const;
+ void handleGeneralError(uno::Any const & exception) const;
#endif
void handleSpecificError(
- css::uno::Reference< css::deployment::XPackage > const & package,
- css::uno::Any const & exception) const;
+ uno::Reference< deployment::XPackage > const & package,
+ uno::Any const & exception) const;
- css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > >
+ uno::Sequence< uno::Reference< xml::dom::XElement > >
getUpdateInformation(
- css::uno::Reference< css::deployment::XPackage > const & package,
- css::uno::Sequence< rtl::OUString > const & urls,
+ uno::Reference< deployment::XPackage > const & package,
+ uno::Sequence< rtl::OUString > const & urls,
rtl::OUString const & identifier) const;
void getOwnUpdateInformation(
- css::uno::Reference< css::deployment::XPackage > const & package,
+ uno::Reference< deployment::XPackage > const & package,
Map * map);
::rtl::OUString getUpdateDisplayString(
@@ -286,40 +275,40 @@ private:
dp_gui::UpdateData & out_data) const;
bool update(
- UpdateDialog::DisabledUpdate const & du,
- dp_gui::UpdateData const & data) const;
-
- css::uno::Reference< css::uno::XComponentContext > m_context;
+ UpdateDialog::DisabledUpdate & du,
+ dp_gui::UpdateData & data) const;
+
+ uno::Reference< uno::XComponentContext > m_context;
UpdateDialog & m_dialog;
- std::vector< css::uno::Reference< css::deployment::XPackage > > m_vExtensionList;
- css::uno::Reference< css::deployment::XUpdateInformationProvider > m_updateInformation;
- css::uno::Reference< css::task::XInteractionHandler > m_xInteractionHdl;
+ std::vector< uno::Reference< deployment::XPackage > > m_vExtensionList;
+ uno::Reference< deployment::XUpdateInformationProvider > m_updateInformation;
+ uno::Reference< task::XInteractionHandler > m_xInteractionHdl;
// guarded by Application::GetSolarMutex():
- css::uno::Reference< css::task::XAbortChannel > m_abort;
+ uno::Reference< task::XAbortChannel > m_abort;
bool m_stop;
};
UpdateDialog::Thread::Thread(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ uno::Reference< uno::XComponentContext > const & context,
UpdateDialog & dialog,
- const std::vector< css::uno::Reference< css::deployment::XPackage > > &vExtensionList):
+ const std::vector< uno::Reference< deployment::XPackage > > &vExtensionList):
m_context(context),
m_dialog(dialog),
m_vExtensionList(vExtensionList),
m_updateInformation(
- css::deployment::UpdateInformationProvider::create(context)),
+ deployment::UpdateInformationProvider::create(context)),
m_stop(false)
{
if( m_context.is() )
{
- css::uno::Reference< css::lang::XMultiComponentFactory > xServiceManager( m_context->getServiceManager() );
+ uno::Reference< lang::XMultiComponentFactory > xServiceManager( m_context->getServiceManager() );
if( xServiceManager.is() )
{
- m_xInteractionHdl = css::uno::Reference< css::task::XInteractionHandler > (
+ m_xInteractionHdl = uno::Reference< task::XInteractionHandler > (
xServiceManager->createInstanceWithContext( OUSTR( "com.sun.star.task.InteractionHandler" ), m_context),
- css::uno::UNO_QUERY );
+ uno::UNO_QUERY );
if ( m_xInteractionHdl.is() )
m_updateInformation->setInteractionHandler( m_xInteractionHdl );
}
@@ -327,7 +316,7 @@ UpdateDialog::Thread::Thread(
}
void UpdateDialog::Thread::stop() {
- css::uno::Reference< css::task::XAbortChannel > abort;
+ uno::Reference< task::XAbortChannel > abort;
{
vos::OGuard g(Application::GetSolarMutex());
abort = m_abort;
@@ -340,7 +329,7 @@ void UpdateDialog::Thread::stop() {
}
UpdateDialog::Thread::Entry::Entry(
- css::uno::Reference< css::deployment::XPackage > const & thePackage,
+ uno::Reference< deployment::XPackage > const & thePackage,
rtl::OUString const & theVersion):
package(thePackage),
@@ -353,7 +342,7 @@ UpdateDialog::Thread::Entry::Entry(
UpdateDialog::Thread::~Thread()
{
if ( m_xInteractionHdl.is() )
- m_updateInformation->setInteractionHandler( css::uno::Reference< css::task::XInteractionHandler > () );
+ m_updateInformation->setInteractionHandler( uno::Reference< task::XInteractionHandler > () );
}
void UpdateDialog::Thread::execute()
@@ -364,16 +353,16 @@ void UpdateDialog::Thread::execute()
return;
}
}
- css::uno::Reference<css::deployment::XExtensionManager> extMgr =
- css::deployment::ExtensionManager::get(m_context);
+ uno::Reference<deployment::XExtensionManager> extMgr =
+ deployment::ExtensionManager::get(m_context);
- std::vector<std::pair<css::uno::Reference<css::deployment::XPackage>, css::uno::Any > > errors;
+ std::vector<std::pair<uno::Reference<deployment::XPackage>, uno::Any > > errors;
dp_misc::UpdateInfoMap updateInfoMap = dp_misc::getOnlineUpdateInfos(
m_context, extMgr, m_updateInformation, &m_vExtensionList, errors);
- typedef std::vector<std::pair<css::uno::Reference<css::deployment::XPackage>,
- css::uno::Any> >::const_iterator ITERROR;
+ typedef std::vector<std::pair<uno::Reference<deployment::XPackage>,
+ uno::Any> >::const_iterator ITERROR;
for (ITERROR ite = errors.begin(); ite != errors.end(); ite ++)
handleSpecificError(ite->first, ite->second);
@@ -392,12 +381,12 @@ void UpdateDialog::Thread::execute()
rtl::OUString sVersionUser;
rtl::OUString sVersionShared;
rtl::OUString sVersionBundled;
- css::uno::Sequence< css::uno::Reference< css::deployment::XPackage> > extensions;
+ uno::Sequence< uno::Reference< deployment::XPackage> > extensions;
try {
extensions = extMgr->getExtensionsWithSameIdentifier(
dp_misc::getIdentifier(info.extension), info.extension->getName(),
- css::uno::Reference<css::ucb::XCommandEnvironment>());
- } catch (css::lang::IllegalArgumentException& ) {
+ uno::Reference<ucb::XCommandEnvironment>());
+ } catch (lang::IllegalArgumentException& ) {
OSL_ASSERT(0);
}
OSL_ASSERT(extensions.getLength() == 3);
@@ -415,7 +404,7 @@ void UpdateDialog::Thread::execute()
dp_misc::UPDATE_SOURCE sourceShared = dp_misc::isUpdateSharedExtension(
bSharedReadOnly, sVersionShared, sVersionBundled, sOnlineVersion);
- css::uno::Reference<css::deployment::XPackage> updateSource;
+ uno::Reference<deployment::XPackage> updateSource;
if (sourceUser != dp_misc::UPDATE_SOURCE_NONE)
{
if (sourceUser == dp_misc::UPDATE_SOURCE_SHARED)
@@ -452,11 +441,11 @@ void UpdateDialog::Thread::execute()
}
}
#if 0
-void UpdateDialog::Thread::handleGeneralError(css::uno::Any const & exception)
+void UpdateDialog::Thread::handleGeneralError(uno::Any const & exception)
const
{
rtl::OUString message;
- css::uno::Exception e;
+ uno::Exception e;
if (exception >>= e) {
message = e.Message;
}
@@ -468,13 +457,13 @@ void UpdateDialog::Thread::handleGeneralError(css::uno::Any const & exception)
#endif
//Parameter package can be null
void UpdateDialog::Thread::handleSpecificError(
- css::uno::Reference< css::deployment::XPackage > const & package,
- css::uno::Any const & exception) const
+ uno::Reference< deployment::XPackage > const & package,
+ uno::Any const & exception) const
{
UpdateDialog::SpecificError data;
if (package.is())
data.name = package->getDisplayName();
- css::uno::Exception e;
+ uno::Exception e;
if (exception >>= e) {
data.message = e.Message;
}
@@ -516,7 +505,7 @@ void UpdateDialog::Thread::handleSpecificError(
/** out_data will only be filled if all dependencies are ok.
*/
void UpdateDialog::Thread::prepareUpdateData(
- css::uno::Reference< css::xml::dom::XNode > const & updateInfo,
+ uno::Reference< xml::dom::XNode > const & updateInfo,
UpdateDialog::DisabledUpdate & out_du,
dp_gui::UpdateData & out_data) const
{
@@ -524,7 +513,7 @@ void UpdateDialog::Thread::prepareUpdateData(
return;
dp_misc::DescriptionInfoset infoset(m_context, updateInfo);
OSL_ASSERT(infoset.getVersion().getLength() != 0);
- css::uno::Sequence< css::uno::Reference< css::xml::dom::XElement > > ds(
+ uno::Sequence< uno::Reference< xml::dom::XElement > > ds(
dp_misc::Dependencies::check(infoset));
out_du.aUpdateInfo = updateInfo;
@@ -547,8 +536,8 @@ void UpdateDialog::Thread::prepareUpdateData(
}
bool UpdateDialog::Thread::update(
- UpdateDialog::DisabledUpdate const & du,
- dp_gui::UpdateData const & data) const
+ UpdateDialog::DisabledUpdate & du,
+ dp_gui::UpdateData & data) const
{
bool ret = false;
if (du.unsatisfiedDependencies.getLength() == 0)
@@ -570,9 +559,9 @@ bool UpdateDialog::Thread::update(
// UpdateDialog ----------------------------------------------------------
UpdateDialog::UpdateDialog(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ uno::Reference< uno::XComponentContext > const & context,
Window * parent,
- const std::vector<css::uno::Reference< css::deployment::XPackage > > &vExtensionList,
+ const std::vector<uno::Reference< deployment::XPackage > > &vExtensionList,
std::vector< dp_gui::UpdateData > * updateData):
ModalDialog(parent,DpGuiResId(RID_DLG_UPDATE)),
m_context(context),
@@ -592,7 +581,7 @@ UpdateDialog::UpdateDialog(
m_line(this, DpGuiResId(RID_DLG_UPDATE_LINE)),
m_help(this, DpGuiResId(RID_DLG_UPDATE_HELP)),
m_ok(this, DpGuiResId(RID_DLG_UPDATE_OK)),
- m_cancel(this, DpGuiResId(RID_DLG_UPDATE_CANCEL)),
+ m_close(this, DpGuiResId(RID_DLG_UPDATE_CLOSE)),
m_error(String(DpGuiResId(RID_DLG_UPDATE_ERROR))),
m_none(String(DpGuiResId(RID_DLG_UPDATE_NONE))),
m_noInstallable(String(DpGuiResId(RID_DLG_UPDATE_NOINSTALLABLE))),
@@ -604,71 +593,84 @@ UpdateDialog::UpdateDialog(
m_noDependencyCurVer(String(DpGuiResId(RID_DLG_UPDATE_NODEPENDENCY_CUR_VER))),
m_browserbased(String(DpGuiResId(RID_DLG_UPDATE_BROWSERBASED))),
m_version(String(DpGuiResId(RID_DLG_UPDATE_VERSION))),
+ m_ignoredUpdate(String(DpGuiResId(RID_DLG_UPDATE_IGNORED_UPDATE))),
m_updateData(*updateData),
m_thread(
new UpdateDialog::Thread(
context, *this, vExtensionList)),
m_nFirstLineDelta(0),
- m_nOneLineMissing(0)
+ m_nOneLineMissing(0),
+ m_nLastID(1),
+ m_bModified( false )
// TODO: check!
// ,
// m_extensionManagerDialog(extensionManagerDialog)
{
OSL_ASSERT(updateData != NULL);
- m_xExtensionManager = css::deployment::ExtensionManager::get( context );
+ m_xExtensionManager = deployment::ExtensionManager::get( context );
- css::uno::Reference< css::awt::XToolkit > toolkit;
+ uno::Reference< awt::XToolkit > toolkit;
try {
- toolkit = css::uno::Reference< css::awt::XToolkit >(
- (css::uno::Reference< css::lang::XMultiComponentFactory >(
+ toolkit = uno::Reference< awt::XToolkit >(
+ (uno::Reference< lang::XMultiComponentFactory >(
m_context->getServiceManager(),
- css::uno::UNO_QUERY_THROW)->
+ uno::UNO_QUERY_THROW)->
createInstanceWithContext(
rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.Toolkit")),
m_context)),
- css::uno::UNO_QUERY_THROW);
- } catch (css::uno::RuntimeException &) {
+ uno::UNO_QUERY_THROW);
+ } catch (uno::RuntimeException &) {
throw;
- } catch (css::uno::Exception & e) {
- throw css::uno::RuntimeException(e.Message, e.Context);
+ } catch (uno::Exception & e) {
+ throw uno::RuntimeException(e.Message, e.Context);
}
Control c(this, DpGuiResId(RID_DLG_UPDATE_THROBBER));
Point pos(c.GetPosPixel());
Size size(c.GetSizePixel());
try {
- m_throbber = css::uno::Reference< css::awt::XThrobber >(
+ m_throbber = uno::Reference< awt::XThrobber >(
toolkit->createWindow(
- css::awt::WindowDescriptor(
- css::awt::WindowClass_SIMPLE,
+ awt::WindowDescriptor(
+ awt::WindowClass_SIMPLE,
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Throbber")),
GetComponentInterface(), 0,
- css::awt::Rectangle(
+ awt::Rectangle(
pos.X(), pos.Y(), size.Width(), size.Height()),
- css::awt::WindowAttribute::SHOW)),
- css::uno::UNO_QUERY_THROW);
- } catch (css::lang::IllegalArgumentException & e) {
- throw css::uno::RuntimeException(e.Message, e.Context);
+ awt::WindowAttribute::SHOW)),
+ uno::UNO_QUERY_THROW);
+ } catch (lang::IllegalArgumentException & e) {
+ throw uno::RuntimeException(e.Message, e.Context);
}
m_updates.SetSelectHdl(LINK(this, UpdateDialog, selectionHandler));
m_all.SetToggleHdl(LINK(this, UpdateDialog, allHandler));
m_ok.SetClickHdl(LINK(this, UpdateDialog, okHandler));
- m_cancel.SetClickHdl(LINK(this, UpdateDialog, cancelHandler));
+ m_close.SetClickHdl(LINK(this, UpdateDialog, closeHandler));
if ( ! dp_misc::office_is_running())
m_help.Disable();
FreeResource();
initDescription();
+ getIgnoredUpdates();
}
-UpdateDialog::~UpdateDialog() {
- for (USHORT i = 0; i < m_updates.getItemCount(); ++i) {
- delete static_cast< UpdateDialog::Index const * >(
- m_updates.GetEntryData(i));
+//------------------------------------------------------------------------------
+UpdateDialog::~UpdateDialog()
+{
+ storeIgnoredUpdates();
+
+ for ( std::vector< UpdateDialog::Index* >::iterator i( m_ListboxEntries.begin() ); i != m_ListboxEntries.end(); ++i )
+ {
+ delete (*i);
+ }
+ for ( std::vector< UpdateDialog::IgnoredUpdate* >::iterator i( m_ignoredUpdates.begin() ); i != m_ignoredUpdates.end(); ++i )
+ {
+ delete (*i);
}
}
+//------------------------------------------------------------------------------
BOOL UpdateDialog::Close() {
m_thread->stop();
return ModalDialog::Close();
@@ -680,29 +682,45 @@ short UpdateDialog::Execute() {
return ModalDialog::Execute();
}
-UpdateDialog::CheckListBox::CheckListBox(
- UpdateDialog & dialog, ResId const & resource,
- Image const & normalStaticImage, Image const & highContrastStaticImage):
- SvxCheckListBox(
- &dialog, resource, normalStaticImage, highContrastStaticImage),
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+UpdateDialog::CheckListBox::CheckListBox( UpdateDialog & dialog, ResId const & resource,
+ Image const & normalStaticImage,
+ Image const & highContrastStaticImage ):
+ SvxCheckListBox( &dialog, resource, normalStaticImage, highContrastStaticImage ),
+ m_ignoreUpdate( String( DpGuiResId( RID_DLG_UPDATE_IGNORE ) ) ),
+ m_ignoreAllUpdates( String( DpGuiResId( RID_DLG_UPDATE_IGNORE_ALL ) ) ),
+ m_enableUpdate( String( DpGuiResId( RID_DLG_UPDATE_ENABLE ) ) ),
m_dialog(dialog)
{}
+//------------------------------------------------------------------------------
UpdateDialog::CheckListBox::~CheckListBox() {}
+//------------------------------------------------------------------------------
USHORT UpdateDialog::CheckListBox::getItemCount() const {
ULONG i = GetEntryCount();
OSL_ASSERT(i <= std::numeric_limits< USHORT >::max());
return sal::static_int_cast< USHORT >(i);
}
-void UpdateDialog::CheckListBox::MouseButtonDown(MouseEvent const & event) {
+//------------------------------------------------------------------------------
+void UpdateDialog::CheckListBox::MouseButtonDown( MouseEvent const & event )
+{
// When clicking on a selected entry in an SvxCheckListBox, the entry's
// checkbox is toggled on mouse button down:
- SvxCheckListBox::MouseButtonDown(event);
+ SvxCheckListBox::MouseButtonDown( event );
+
+ if ( event.IsRight() )
+ {
+ handlePopupMenu( event.GetPosPixel() );
+ }
+
m_dialog.enableOk();
}
+//------------------------------------------------------------------------------
void UpdateDialog::CheckListBox::MouseButtonUp(MouseEvent const & event) {
// When clicking on an entry's checkbox in an SvxCheckListBox, the entry's
// checkbox is toggled on mouse button up:
@@ -715,25 +733,82 @@ void UpdateDialog::CheckListBox::KeyInput(KeyEvent const & event) {
m_dialog.enableOk();
}
-void UpdateDialog::insertItem(
- rtl::OUString const & name, USHORT position,
- std::auto_ptr< UpdateDialog::Index const > index, SvLBoxButtonKind kind)
+//------------------------------------------------------------------------------
+void UpdateDialog::CheckListBox::handlePopupMenu( const Point &rPos )
+{
+ SvListEntry *pData = GetEntry( rPos );
+
+ if ( pData )
+ {
+ USHORT nEntryPos = GetSelectEntryPos();
+ UpdateDialog::Index * p = static_cast< UpdateDialog::Index * >( GetEntryData( nEntryPos ) );
+
+ if ( ( p->m_eKind == ENABLED_UPDATE ) || ( p->m_eKind == DISABLED_UPDATE ) )
+ {
+ PopupMenu aPopup;
+
+ if ( p->m_bIgnored )
+ aPopup.InsertItem( CMD_ENABLE_UPDATE, m_enableUpdate );
+ else
+ {
+ aPopup.InsertItem( CMD_IGNORE_UPDATE, m_ignoreUpdate );
+ aPopup.InsertItem( CMD_IGNORE_ALL_UPDATES, m_ignoreAllUpdates );
+ }
+
+ USHORT aCmd = aPopup.Execute( this, rPos );
+ if ( ( aCmd == CMD_IGNORE_UPDATE ) || ( aCmd == CMD_IGNORE_ALL_UPDATES ) )
+ {
+ p->m_bIgnored = true;
+ if ( p->m_eKind == ENABLED_UPDATE )
+ {
+ RemoveEntry( nEntryPos );
+ m_dialog.addAdditional( p, SvLBoxButtonKind_disabledCheckbox );
+ }
+ if ( aCmd == CMD_IGNORE_UPDATE )
+ m_dialog.setIgnoredUpdate( p, true, false );
+ else
+ m_dialog.setIgnoredUpdate( p, true, true );
+ // TODO: reselect entry to display new description!
+ }
+ else if ( aCmd == CMD_ENABLE_UPDATE )
+ {
+ p->m_bIgnored = false;
+ if ( p->m_eKind == ENABLED_UPDATE )
+ {
+ RemoveEntry( nEntryPos );
+ m_dialog.insertItem( p, SvLBoxButtonKind_enabledCheckbox );
+ }
+ m_dialog.setIgnoredUpdate( p, false, false );
+ }
+ }
+ }
+}
+
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
+USHORT UpdateDialog::insertItem( UpdateDialog::Index *pEntry, SvLBoxButtonKind kind )
{
- m_updates.InsertEntry(
- name, position,
- const_cast< void * >(static_cast< void const * >(index.release())),
- kind);
- //TODO #i72487#: UpdateDialog::Index potentially leaks as the exception
- // behavior of SvxCheckListBox::InsertEntry is unspecified
+ m_updates.InsertEntry( pEntry->m_aName, LISTBOX_APPEND, static_cast< void * >( pEntry ), kind );
+
+ for ( USHORT i = m_updates.getItemCount(); i != 0 ; )
+ {
+ i -= 1;
+ UpdateDialog::Index const * p = static_cast< UpdateDialog::Index const * >( m_updates.GetEntryData( i ) );
+ if ( p == pEntry )
+ return i;
+ }
+ OSL_ASSERT(0);
+ return 0;
}
-void UpdateDialog::addAdditional(
- rtl::OUString const & name, USHORT position,
- std::auto_ptr< UpdateDialog::Index const > index, SvLBoxButtonKind kind)
+//------------------------------------------------------------------------------
+void UpdateDialog::addAdditional( UpdateDialog::Index * index, SvLBoxButtonKind kind )
{
m_all.Enable();
- if (m_all.IsChecked()) {
- insertItem(name, position, index, kind);
+ if (m_all.IsChecked())
+ {
+ insertItem( index, kind );
m_update.Enable();
m_updates.Enable();
m_description.Enable();
@@ -741,71 +816,81 @@ void UpdateDialog::addAdditional(
}
}
-void UpdateDialog::addEnabledUpdate(
- rtl::OUString const & name, dp_gui::UpdateData const & data)
+//------------------------------------------------------------------------------
+void UpdateDialog::addEnabledUpdate( rtl::OUString const & name,
+ dp_gui::UpdateData & data )
{
- std::vector< dp_gui::UpdateData >::size_type n = m_enabledUpdates.size();
- m_enabledUpdates.push_back(data);
- insertItem(
- name, sal::static_int_cast< USHORT >(n),
- UpdateDialog::Index::newEnabledUpdate(n),
- SvLBoxButtonKind_enabledCheckbox);
- // position overflow is rather harmless
- m_updates.CheckEntryPos(sal::static_int_cast< USHORT >(n));
- //TODO #i72487#: fragile computation; insertItem should instead return
- // pos
+ USHORT nIndex = sal::static_int_cast< USHORT >( m_enabledUpdates.size() );
+ UpdateDialog::Index *pEntry = new UpdateDialog::Index( ENABLED_UPDATE, m_nLastID, nIndex, name );
+
+ data.m_nID = m_nLastID;
+ m_nLastID += 1;
+
+ m_enabledUpdates.push_back( data );
+ m_ListboxEntries.push_back( pEntry );
+
+ if ( ! isIgnoredUpdate( pEntry ) )
+ {
+ USHORT nPos = insertItem( pEntry, SvLBoxButtonKind_enabledCheckbox );
+ m_updates.CheckEntryPos( nPos );
+ }
+ else
+ addAdditional( pEntry, SvLBoxButtonKind_disabledCheckbox );
+
m_update.Enable();
m_updates.Enable();
m_description.Enable();
m_descriptions.Enable();
}
-void UpdateDialog::addDisabledUpdate(UpdateDialog::DisabledUpdate const & data)
+//------------------------------------------------------------------------------
+void UpdateDialog::addDisabledUpdate( UpdateDialog::DisabledUpdate & data )
{
- std::vector< UpdateDialog::DisabledUpdate >::size_type n =
- m_disabledUpdates.size();
- m_disabledUpdates.push_back(data);
- addAdditional(
- data.name, sal::static_int_cast< USHORT >(m_enabledUpdates.size() + n),
- UpdateDialog::Index::newDisabledUpdate(n),
- SvLBoxButtonKind_disabledCheckbox);
- // position overflow is rather harmless
-}
-#if 0
-void UpdateDialog::addGeneralError(rtl::OUString const & message) {
- std::vector< rtl::OUString >::size_type n = m_generalErrors.size();
- m_generalErrors.push_back(message);
- addAdditional(
- m_error,
- sal::static_int_cast< USHORT >(
- m_enabledUpdates.size() + m_disabledUpdates.size() + n),
- UpdateDialog::Index::newGeneralError(n), SvLBoxButtonKind_staticImage);
- // position overflow is rather harmless
+ USHORT nIndex = sal::static_int_cast< USHORT >( m_disabledUpdates.size() );
+ UpdateDialog::Index *pEntry = new UpdateDialog::Index( DISABLED_UPDATE, m_nLastID, nIndex, data.name );
+
+ data.m_nID = m_nLastID;
+ m_nLastID += 1;
+
+ m_disabledUpdates.push_back( data );
+ m_ListboxEntries.push_back( pEntry );
+
+ isIgnoredUpdate( pEntry );
+ addAdditional( pEntry, SvLBoxButtonKind_disabledCheckbox );
}
-#endif
-void UpdateDialog::addSpecificError(UpdateDialog::SpecificError const & data) {
- std::vector< UpdateDialog::SpecificError >::size_type n =
- m_specificErrors.size();
- m_specificErrors.push_back(data);
- addAdditional(
- data.name, LISTBOX_APPEND, UpdateDialog::Index::newSpecificError(n),
- SvLBoxButtonKind_staticImage);
+
+//------------------------------------------------------------------------------
+void UpdateDialog::addSpecificError( UpdateDialog::SpecificError & data )
+{
+ USHORT nIndex = sal::static_int_cast< USHORT >( m_specificErrors.size() );
+ UpdateDialog::Index *pEntry = new UpdateDialog::Index( DISABLED_UPDATE, m_nLastID, nIndex, data.name );
+
+ data.m_nID = m_nLastID;
+ m_nLastID += 1;
+
+ m_specificErrors.push_back( data );
+ m_ListboxEntries.push_back( pEntry );
+
+ addAdditional( pEntry, SvLBoxButtonKind_staticImage);
}
void UpdateDialog::checkingDone() {
m_checking.Hide();
m_throbber->stop();
- css::uno::Reference< css::awt::XWindow >(
- m_throbber, css::uno::UNO_QUERY_THROW)->setVisible(false);
+ uno::Reference< awt::XWindow >(
+ m_throbber, uno::UNO_QUERY_THROW)->setVisible(false);
if (m_updates.getItemCount() == 0)
{
clearDescription();
m_description.Enable();
m_descriptions.Enable();
- showDescription(
- ( m_disabledUpdates.empty() && m_generalErrors.empty() && m_specificErrors.empty() )
- ? m_none : m_noInstallable, false );
+
+ if ( m_disabledUpdates.empty() && m_specificErrors.empty() && m_ignoredUpdates.empty() )
+ showDescription( m_none, false );
+ else
+ showDescription( m_noInstallable, false );
}
+
enableOk();
}
@@ -817,7 +902,7 @@ void UpdateDialog::enableOk() {
// *********************************************************************************
void UpdateDialog::createNotifyJob( bool bPrepareOnly,
- css::uno::Sequence< css::uno::Sequence< rtl::OUString > > &rItemList )
+ uno::Sequence< uno::Sequence< rtl::OUString > > &rItemList )
{
if ( !dp_misc::office_is_running() )
return;
@@ -825,51 +910,51 @@ void UpdateDialog::createNotifyJob( bool bPrepareOnly,
// notify update check job
try
{
- css::uno::Reference< css::lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
- css::uno::Reference< css::lang::XMultiServiceFactory > xConfigProvider(
+ uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
+ uno::Reference< lang::XMultiServiceFactory > xConfigProvider(
xFactory->createInstance( OUSTR( "com.sun.star.configuration.ConfigurationProvider" )),
- css::uno::UNO_QUERY_THROW);
+ uno::UNO_QUERY_THROW);
- css::beans::PropertyValue aProperty;
+ beans::PropertyValue aProperty;
aProperty.Name = OUSTR( "nodepath" );
- aProperty.Value = css::uno::makeAny( OUSTR("org.openoffice.Office.Addons/AddonUI/OfficeHelp/UpdateCheckJob") );
+ aProperty.Value = uno::makeAny( OUSTR("org.openoffice.Office.Addons/AddonUI/OfficeHelp/UpdateCheckJob") );
- css::uno::Sequence< css::uno::Any > aArgumentList( 1 );
- aArgumentList[0] = css::uno::makeAny( aProperty );
+ uno::Sequence< uno::Any > aArgumentList( 1 );
+ aArgumentList[0] = uno::makeAny( aProperty );
- css::uno::Reference< css::container::XNameAccess > xNameAccess(
+ uno::Reference< container::XNameAccess > xNameAccess(
xConfigProvider->createInstanceWithArguments(
OUSTR("com.sun.star.configuration.ConfigurationAccess"), aArgumentList ),
- css::uno::UNO_QUERY_THROW );
+ uno::UNO_QUERY_THROW );
- css::util::URL aURL;
+ util::URL aURL;
xNameAccess->getByName(OUSTR("URL")) >>= aURL.Complete;
- css::uno::Reference < css::util::XURLTransformer > xTransformer( xFactory->createInstance( OUSTR( "com.sun.star.util.URLTransformer" ) ),
- css::uno::UNO_QUERY_THROW );
+ uno::Reference < util::XURLTransformer > xTransformer( xFactory->createInstance( OUSTR( "com.sun.star.util.URLTransformer" ) ),
+ uno::UNO_QUERY_THROW );
xTransformer->parseStrict(aURL);
- css::uno::Reference < css::frame::XDesktop > xDesktop( xFactory->createInstance( OUSTR( "com.sun.star.frame.Desktop" ) ),
- css::uno::UNO_QUERY_THROW );
- css::uno::Reference< css::frame::XDispatchProvider > xDispatchProvider( xDesktop->getCurrentFrame(),
- css::uno::UNO_QUERY_THROW );
- css::uno::Reference< css::frame::XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, rtl::OUString(), 0);
+ uno::Reference < frame::XDesktop > xDesktop( xFactory->createInstance( OUSTR( "com.sun.star.frame.Desktop" ) ),
+ uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDispatchProvider > xDispatchProvider( xDesktop->getCurrentFrame(),
+ uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XDispatch > xDispatch = xDispatchProvider->queryDispatch(aURL, rtl::OUString(), 0);
if( xDispatch.is() )
{
- css::uno::Sequence< css::beans::PropertyValue > aPropList(2);
+ uno::Sequence< beans::PropertyValue > aPropList(2);
aProperty.Name = OUSTR( "updateList" );
- aProperty.Value = css::uno::makeAny( rItemList );
+ aProperty.Value = uno::makeAny( rItemList );
aPropList[0] = aProperty;
aProperty.Name = OUSTR( "prepareOnly" );
- aProperty.Value = css::uno::makeAny( bPrepareOnly );
+ aProperty.Value = uno::makeAny( bPrepareOnly );
aPropList[1] = aProperty;
xDispatch->dispatch(aURL, aPropList );
}
}
- catch( const css::uno::Exception& e )
+ catch( const uno::Exception& e )
{
dp_misc::TRACE( OUSTR("Caught exception: ")
+ e.Message + OUSTR("\n thread terminated.\n\n"));
@@ -882,26 +967,26 @@ void UpdateDialog::notifyMenubar( bool bPrepareOnly, bool bRecheckOnly )
if ( !dp_misc::office_is_running() )
return;
- css::uno::Sequence< css::uno::Sequence< rtl::OUString > > aItemList;
+ uno::Sequence< uno::Sequence< rtl::OUString > > aItemList;
sal_Int32 nCount = 0;
if ( ! bRecheckOnly )
{
for ( sal_Int16 i = 0; i < m_updates.getItemCount(); ++i )
{
- css::uno::Sequence< rtl::OUString > aItem(2);
+ uno::Sequence< rtl::OUString > aItem(2);
UpdateDialog::Index const * p = static_cast< UpdateDialog::Index const * >(m_updates.GetEntryData(i));
- if ( p->kind == ENABLED_UPDATE )
+ if ( p->m_eKind == ENABLED_UPDATE )
{
- dp_gui::UpdateData aUpdData = m_enabledUpdates[ p->index.enabledUpdate ];
+ dp_gui::UpdateData aUpdData = m_enabledUpdates[ p->m_nIndex ];
aItem[0] = dp_misc::getIdentifier( aUpdData.aInstalledPackage );
dp_misc::DescriptionInfoset aInfoset( m_context, aUpdData.aUpdateInfo );
aItem[1] = aInfoset.getVersion();
}
- else if ( p->kind == DISABLED_UPDATE )
+ else if ( p->m_eKind == DISABLED_UPDATE )
continue;
else
continue;
@@ -911,6 +996,8 @@ void UpdateDialog::notifyMenubar( bool bPrepareOnly, bool bRecheckOnly )
nCount += 1;
}
}
+
+ storeIgnoredUpdates();
createNotifyJob( bPrepareOnly, aItemList );
}
@@ -984,17 +1071,17 @@ void UpdateDialog::clearDescription()
m_descriptions.SetPosSizePixel( m_aFirstLinePos, m_aFirstLineSize );
}
-bool UpdateDialog::showDescription(css::uno::Reference< css::xml::dom::XNode > const & aUpdateInfo)
+bool UpdateDialog::showDescription(uno::Reference< xml::dom::XNode > const & aUpdateInfo)
{
dp_misc::DescriptionInfoset infoset(m_context, aUpdateInfo);
return showDescription(infoset.getLocalizedPublisherNameAndURL(),
infoset.getLocalizedReleaseNotesURL());
}
-bool UpdateDialog::showDescription(css::uno::Reference< css::deployment::XPackage > const & aExtension)
+bool UpdateDialog::showDescription(uno::Reference< deployment::XPackage > const & aExtension)
{
OSL_ASSERT(aExtension.is());
- css::beans::StringPair pubInfo = aExtension->getPublisherInfo();
+ beans::StringPair pubInfo = aExtension->getPublisherInfo();
return showDescription(std::make_pair(pubInfo.First, pubInfo.Second),
OUSTR(""));
}
@@ -1057,7 +1144,7 @@ bool UpdateDialog::showDescription( const String& rDescription, bool bWithPublis
return true;
}
-bool UpdateDialog::isReadOnly( const css::uno::Reference< css::deployment::XPackage > &xPackage ) const
+bool UpdateDialog::isReadOnly( const uno::Reference< deployment::XPackage > &xPackage ) const
{
if ( m_xExtensionManager.is() && xPackage.is() )
{
@@ -1067,6 +1154,162 @@ bool UpdateDialog::isReadOnly( const css::uno::Reference< css::deployment::XPack
return true;
}
+//------------------------------------------------------------------------------
+void UpdateDialog::getIgnoredUpdates()
+{
+ uno::Reference< lang::XMultiServiceFactory > xConfig( m_context->getServiceManager()->createInstanceWithContext(
+ OUSTR("com.sun.star.configuration.ConfigurationProvider"), m_context ), uno::UNO_QUERY_THROW);
+ beans::NamedValue aValue( OUSTR("nodepath"), uno::Any( IGNORED_UPDATES ) );
+ uno::Sequence< uno::Any > args(1);
+ args[0] <<= aValue;
+
+ uno::Reference< container::XNameAccess > xNameAccess( xConfig->createInstanceWithArguments( OUSTR("com.sun.star.configuration.ConfigurationAccess"), args), uno::UNO_QUERY_THROW );
+ uno::Sequence< rtl::OUString > aElementNames = xNameAccess->getElementNames();
+
+ for ( sal_Int32 i = 0; i < aElementNames.getLength(); i++ )
+ {
+ ::rtl::OUString aIdentifier = aElementNames[i];
+ ::rtl::OUString aVersion;
+
+ uno::Any aPropValue( uno::Reference< beans::XPropertySet >( xNameAccess->getByName( aIdentifier ), uno::UNO_QUERY_THROW )->getPropertyValue( PROPERTY_VERSION ) );
+ aPropValue >>= aVersion;
+ IgnoredUpdate *pData = new IgnoredUpdate( aIdentifier, aVersion );
+ m_ignoredUpdates.push_back( pData );
+ }
+}
+
+//------------------------------------------------------------------------------
+void UpdateDialog::storeIgnoredUpdates()
+{
+ if ( m_bModified && ( m_ignoredUpdates.size() != 0 ) )
+ {
+ uno::Reference< lang::XMultiServiceFactory > xConfig( m_context->getServiceManager()->createInstanceWithContext(
+ OUSTR("com.sun.star.configuration.ConfigurationProvider"), m_context ), uno::UNO_QUERY_THROW );
+ beans::NamedValue aValue( OUSTR("nodepath"), uno::Any( IGNORED_UPDATES ) );
+ uno::Sequence< uno::Any > args(1);
+ args[0] <<= aValue;
+
+ uno::Reference< container::XNameContainer > xNameContainer( xConfig->createInstanceWithArguments(
+ OUSTR("com.sun.star.configuration.ConfigurationUpdateAccess"), args ), uno::UNO_QUERY_THROW );
+
+ for ( std::vector< UpdateDialog::IgnoredUpdate* >::iterator i( m_ignoredUpdates.begin() ); i != m_ignoredUpdates.end(); ++i )
+ {
+ if ( xNameContainer->hasByName( (*i)->sExtensionID ) )
+ {
+ if ( (*i)->bRemoved )
+ xNameContainer->removeByName( (*i)->sExtensionID );
+ else
+ uno::Reference< beans::XPropertySet >( xNameContainer->getByName( (*i)->sExtensionID ), uno::UNO_QUERY_THROW )->setPropertyValue( PROPERTY_VERSION, uno::Any( (*i)->sVersion ) );
+ }
+ else if ( ! (*i)->bRemoved )
+ {
+ uno::Reference< beans::XPropertySet > elem( uno::Reference< lang::XSingleServiceFactory >( xNameContainer, uno::UNO_QUERY_THROW )->createInstance(), uno::UNO_QUERY_THROW );
+ elem->setPropertyValue( PROPERTY_VERSION, uno::Any( (*i)->sVersion ) );
+ xNameContainer->insertByName( (*i)->sExtensionID, uno::Any( elem ) );
+ }
+ }
+
+ uno::Reference< util::XChangesBatch > xChangesBatch( xNameContainer, uno::UNO_QUERY );
+ if ( xChangesBatch.is() && xChangesBatch->hasPendingChanges() )
+ xChangesBatch->commitChanges();
+ }
+
+ m_bModified = false;
+}
+
+//------------------------------------------------------------------------------
+bool UpdateDialog::isIgnoredUpdate( UpdateDialog::Index * index )
+{
+ bool bIsIgnored = false;
+
+ if ( m_ignoredUpdates.size() != 0 )
+ {
+ rtl::OUString aExtensionID;
+ rtl::OUString aVersion;
+
+ if ( index->m_eKind == ENABLED_UPDATE )
+ {
+ dp_gui::UpdateData aUpdData = m_enabledUpdates[ index->m_nIndex ];
+ aExtensionID = dp_misc::getIdentifier( aUpdData.aInstalledPackage );
+ aVersion = aUpdData.updateVersion;
+ }
+ else if ( index->m_eKind == DISABLED_UPDATE )
+ {
+ DisabledUpdate &rData = m_disabledUpdates[ index->m_nIndex ];
+ dp_misc::DescriptionInfoset aInfoset( m_context, rData.aUpdateInfo );
+ ::boost::optional< ::rtl::OUString > aID( aInfoset.getIdentifier() );
+ if ( aID )
+ aExtensionID = *aID;
+ aVersion = aInfoset.getVersion();
+ }
+
+ for ( std::vector< UpdateDialog::IgnoredUpdate* >::iterator i( m_ignoredUpdates.begin() ); i != m_ignoredUpdates.end(); ++i )
+ {
+ if ( (*i)->sExtensionID == aExtensionID )
+ {
+ if ( ( (*i)->sVersion.getLength() == 0 ) || ( (*i)->sVersion == aVersion ) )
+ {
+ bIsIgnored = true;
+ index->m_bIgnored = true;
+ }
+ else // when we find another update of an ignored version, we will remove the old one to keep the ignored list small
+ (*i)->bRemoved = true;
+ break;
+ }
+ }
+ }
+
+ return bIsIgnored;
+}
+
+//------------------------------------------------------------------------------
+void UpdateDialog::setIgnoredUpdate( UpdateDialog::Index *pIndex, bool bIgnore, bool bIgnoreAll )
+{
+ rtl::OUString aExtensionID;
+ rtl::OUString aVersion;
+
+ m_bModified = true;
+
+ if ( pIndex->m_eKind == ENABLED_UPDATE )
+ {
+ dp_gui::UpdateData aUpdData = m_enabledUpdates[ pIndex->m_nIndex ];
+ aExtensionID = dp_misc::getIdentifier( aUpdData.aInstalledPackage );
+ if ( !bIgnoreAll )
+ aVersion = aUpdData.updateVersion;
+ }
+ else if ( pIndex->m_eKind == DISABLED_UPDATE )
+ {
+ DisabledUpdate &rData = m_disabledUpdates[ pIndex->m_nIndex ];
+ dp_misc::DescriptionInfoset aInfoset( m_context, rData.aUpdateInfo );
+ ::boost::optional< ::rtl::OUString > aID( aInfoset.getIdentifier() );
+ if ( aID )
+ aExtensionID = *aID;
+ if ( !bIgnoreAll )
+ aVersion = aInfoset.getVersion();
+ }
+
+ if ( aExtensionID.getLength() )
+ {
+ bool bFound = false;
+ for ( std::vector< UpdateDialog::IgnoredUpdate* >::iterator i( m_ignoredUpdates.begin() ); i != m_ignoredUpdates.end(); ++i )
+ {
+ if ( (*i)->sExtensionID == aExtensionID )
+ {
+ (*i)->sVersion = aVersion;
+ (*i)->bRemoved = !bIgnore;
+ bFound = true;
+ break;
+ }
+ }
+ if ( bIgnore && !bFound )
+ {
+ IgnoredUpdate *pData = new IgnoredUpdate( aExtensionID, aVersion );
+ m_ignoredUpdates.push_back( pData );
+ }
+ }
+}
+
+//------------------------------------------------------------------------------
IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG)
{
rtl::OUStringBuffer b;
@@ -1075,38 +1318,32 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG)
m_updates.GetEntryData(m_updates.GetSelectEntryPos()));
clearDescription();
- if (p != NULL)
+ if ( p != NULL )
{
- //When the index is greater or equal than the amount of enabled updates then the "Show all"
- //button is probably checked. Then we show first all enabled and then the disabled
- //updates.
- USHORT pos = m_updates.GetSelectEntryPos();
- const std::vector< dp_gui::UpdateData >::size_type sizeEnabled =
- m_enabledUpdates.size();
- const std::vector< UpdateDialog::DisabledUpdate >::size_type sizeDisabled =
- m_disabledUpdates.size();
- if (pos < sizeEnabled)
- {
- if (m_enabledUpdates[pos].aUpdateSource.is())
- bInserted = showDescription(m_enabledUpdates[pos].aUpdateSource);
- else
- bInserted = showDescription(m_enabledUpdates[pos].aUpdateInfo);
- }
- else if (pos >= sizeEnabled
- && pos < (sizeEnabled + sizeDisabled))
- bInserted = showDescription(m_disabledUpdates[pos - sizeEnabled].aUpdateInfo);
+ USHORT pos = p->m_nIndex;
- switch (p->kind)
+ switch (p->m_eKind)
{
case ENABLED_UPDATE:
{
- b.append(m_noDescription);
+ if ( m_enabledUpdates[ pos ].aUpdateSource.is() )
+ bInserted = showDescription( m_enabledUpdates[ pos ].aUpdateSource );
+ else
+ bInserted = showDescription( m_enabledUpdates[ pos ].aUpdateInfo );
+
+ if ( p->m_bIgnored )
+ b.append( m_ignoredUpdate );
+
break;
}
case DISABLED_UPDATE:
{
- UpdateDialog::DisabledUpdate & data = m_disabledUpdates[
- p->index.disabledUpdate];
+ bInserted = showDescription( m_disabledUpdates[pos].aUpdateInfo );
+
+ if ( p->m_bIgnored )
+ b.append( m_ignoredUpdate );
+
+ UpdateDialog::DisabledUpdate & data = m_disabledUpdates[ pos ];
if (data.unsatisfiedDependencies.getLength() != 0)
{
// create error string for version mismatch
@@ -1139,23 +1376,12 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG)
}
break;
}
- case GENERAL_ERROR:
- {
- rtl::OUString & msg = m_generalErrors[p->index.generalError];
- b.append(m_failure);
- b.append(LF);
- b.append(msg.getLength() == 0 ? m_unknownError : msg);
- break;
- }
case SPECIFIC_ERROR:
{
- UpdateDialog::SpecificError & data = m_specificErrors[
- p->index.specificError];
+ UpdateDialog::SpecificError & data = m_specificErrors[ pos ];
b.append(m_failure);
b.append(LF);
- b.append(
- data.message.getLength() == 0
- ? m_unknownError : data.message);
+ b.append( data.message.getLength() == 0 ? m_unknownError : data.message );
break;
}
default:
@@ -1164,56 +1390,37 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG)
}
}
+ if ( b.getLength() == 0 )
+ b.append( m_noDescription );
+
showDescription( b.makeStringAndClear(), bInserted );
return 0;
}
-IMPL_LINK(UpdateDialog, allHandler, void *, EMPTYARG) {
- if (m_all.IsChecked()) {
+IMPL_LINK(UpdateDialog, allHandler, void *, EMPTYARG)
+{
+ if (m_all.IsChecked())
+ {
m_update.Enable();
m_updates.Enable();
m_description.Enable();
m_descriptions.Enable();
- std::vector< UpdateDialog::DisabledUpdate >::size_type n1 = 0;
- for (std::vector< UpdateDialog::DisabledUpdate >::iterator i(
- m_disabledUpdates.begin());
- i != m_disabledUpdates.end(); ++i)
- {
- insertItem(
- i->name, LISTBOX_APPEND,
- UpdateDialog::Index::newDisabledUpdate(n1++),
- SvLBoxButtonKind_disabledCheckbox);
- }
- std::vector< rtl::OUString >::size_type n2 = 0;
- for (std::vector< rtl::OUString >::iterator i(m_generalErrors.begin());
- i != m_generalErrors.end(); ++i)
+
+ for (std::vector< UpdateDialog::Index* >::iterator i( m_ListboxEntries.begin() );
+ i != m_ListboxEntries.end(); ++i )
{
- insertItem(
- m_error, LISTBOX_APPEND,
- UpdateDialog::Index::newGeneralError(n2++),
- SvLBoxButtonKind_staticImage);
+ if ( (*i)->m_bIgnored || ( (*i)->m_eKind != ENABLED_UPDATE ) )
+ insertItem( (*i), SvLBoxButtonKind_disabledCheckbox );
}
- std::vector< UpdateDialog::SpecificError >::size_type n3 = 0;
- for (std::vector< UpdateDialog::SpecificError >::iterator i(
- m_specificErrors.begin());
- i != m_specificErrors.end(); ++i)
+ }
+ else
+ {
+ for ( USHORT i = 0; i < m_updates.getItemCount(); )
{
- insertItem(
- i->name, LISTBOX_APPEND,
- UpdateDialog::Index::newSpecificError(n3++),
- SvLBoxButtonKind_staticImage);
- }
- } else {
- for (USHORT i = 0; i < m_updates.getItemCount();) {
- UpdateDialog::Index const * p =
- static_cast< UpdateDialog::Index const * >(
- m_updates.GetEntryData(i));
- if (p->kind != ENABLED_UPDATE) {
+ UpdateDialog::Index const * p = static_cast< UpdateDialog::Index const * >( m_updates.GetEntryData(i) );
+ if ( p->m_bIgnored || ( p->m_eKind != ENABLED_UPDATE ) )
+ {
m_updates.RemoveEntry(i);
- //TODO #i72487#: UpdateDialog::Index potentially leaks as
- // SvxCheckListBox::RemoveEntry's exception behavior is
- // unspecified
- delete p;
} else {
++i;
}
@@ -1260,8 +1467,8 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG)
UpdateDialog::Index const * p =
static_cast< UpdateDialog::Index const * >(
m_updates.GetEntryData(i));
- if (p->kind == ENABLED_UPDATE && m_updates.IsChecked(i)) {
- m_updateData.push_back(m_enabledUpdates[p->index.enabledUpdate]);
+ if (p->m_eKind == ENABLED_UPDATE && m_updates.IsChecked(i)) {
+ m_updateData.push_back( m_enabledUpdates[ p->m_nIndex ] );
}
}
@@ -1269,7 +1476,7 @@ IMPL_LINK(UpdateDialog, okHandler, void *, EMPTYARG)
return 0;
}
-IMPL_LINK(UpdateDialog, cancelHandler, void *, EMPTYARG) {
+IMPL_LINK(UpdateDialog, closeHandler, void *, EMPTYARG) {
m_thread->stop();
EndDialog(RET_CANCEL);
return 0;
@@ -1285,15 +1492,15 @@ IMPL_LINK( UpdateDialog, hyperlink_clicked, svt::FixedHyperlink*, pHyperlink )
try
{
- css::uno::Reference< css::system::XSystemShellExecute > xSystemShellExecute(
+ uno::Reference< com::sun::star::system::XSystemShellExecute > xSystemShellExecute(
m_context->getServiceManager()->createInstanceWithContext(
OUSTR( "com.sun.star.system.SystemShellExecute" ),
- m_context), css::uno::UNO_QUERY_THROW);
- //throws css::lang::IllegalArgumentException, css::system::SystemShellExecuteException
+ m_context), uno::UNO_QUERY_THROW);
+ //throws lang::IllegalArgumentException, system::SystemShellExecuteException
xSystemShellExecute->execute(
- sURL, ::rtl::OUString(), css::system::SystemShellExecuteFlags::DEFAULTS);
+ sURL, ::rtl::OUString(), com::sun::star::system::SystemShellExecuteFlags::DEFAULTS);
}
- catch (css::uno::Exception& )
+ catch (uno::Exception& )
{
}
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
index ddc9cc5b77..e562c4e845 100644..100755
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.hxx
@@ -112,8 +112,7 @@ private:
struct DisabledUpdate;
struct SpecificError;
- union IndexUnion;
- friend union IndexUnion;
+ struct IgnoredUpdate;
struct Index;
friend struct Index;
class Thread;
@@ -135,40 +134,36 @@ private:
void operator =(UpdateDialog::CheckListBox &); // not defined
virtual void MouseButtonDown(MouseEvent const & event);
-
virtual void MouseButtonUp(MouseEvent const & event);
-
virtual void KeyInput(KeyEvent const & event);
+ void handlePopupMenu( const Point &rPos );
+
+ rtl::OUString m_ignoreUpdate;
+ rtl::OUString m_ignoreAllUpdates;
+ rtl::OUString m_enableUpdate;
UpdateDialog & m_dialog;
};
friend class CheckListBox;
- void insertItem(
- rtl::OUString const & name, USHORT position,
- std::auto_ptr< UpdateDialog::Index const > index,
- SvLBoxButtonKind kind);
-
- void addAdditional(
- rtl::OUString const & name, USHORT position,
- std::auto_ptr< UpdateDialog::Index const > index,
- SvLBoxButtonKind kind);
+ USHORT insertItem( UpdateDialog::Index *pIndex, SvLBoxButtonKind kind );
+ void addAdditional( UpdateDialog::Index *pIndex, SvLBoxButtonKind kind );
+ bool isIgnoredUpdate( UpdateDialog::Index *pIndex );
+ void setIgnoredUpdate( UpdateDialog::Index *pIndex, bool bIgnore, bool bIgnoreAll );
- void addEnabledUpdate(
- rtl::OUString const & name, dp_gui::UpdateData const & data);
-
- void addDisabledUpdate(UpdateDialog::DisabledUpdate const & data);
-#if 0
- void addGeneralError(rtl::OUString const & message);
-#endif
- void addSpecificError(UpdateDialog::SpecificError const & data);
+ void addEnabledUpdate( rtl::OUString const & name, dp_gui::UpdateData & data );
+ void addDisabledUpdate( UpdateDialog::DisabledUpdate & data );
+ void addSpecificError( UpdateDialog::SpecificError & data );
void checkingDone();
void enableOk();
+ void getIgnoredUpdates();
+ void storeIgnoredUpdates();
+
void initDescription();
void clearDescription();
bool showDescription(::com::sun::star::uno::Reference<
@@ -183,7 +178,7 @@ private:
DECL_LINK(selectionHandler, void *);
DECL_LINK(allHandler, void *);
DECL_LINK(okHandler, void *);
- DECL_LINK(cancelHandler, void *);
+ DECL_LINK(closeHandler, void *);
DECL_LINK(hyperlink_clicked, svt::FixedHyperlink *);
com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
@@ -202,7 +197,7 @@ private:
FixedLine m_line;
HelpButton m_help;
PushButton m_ok;
- CancelButton m_cancel;
+ PushButton m_close;
rtl::OUString m_error;
rtl::OUString m_none;
rtl::OUString m_noInstallable;
@@ -214,18 +209,22 @@ private:
rtl::OUString m_noDependencyCurVer;
rtl::OUString m_browserbased;
rtl::OUString m_version;
+ rtl::OUString m_ignoredUpdate;
std::vector< dp_gui::UpdateData > m_enabledUpdates;
std::vector< UpdateDialog::DisabledUpdate > m_disabledUpdates;
- std::vector< rtl::OUString > m_generalErrors;
std::vector< UpdateDialog::SpecificError > m_specificErrors;
+ std::vector< UpdateDialog::IgnoredUpdate* > m_ignoredUpdates;
+ std::vector< Index* > m_ListboxEntries;
std::vector< dp_gui::UpdateData > & m_updateData;
rtl::Reference< UpdateDialog::Thread > m_thread;
::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager;
- Point m_aFirstLinePos;
- Size m_aFirstLineSize;
- long m_nFirstLineDelta;
- long m_nOneLineMissing;
+ Point m_aFirstLinePos;
+ Size m_aFirstLineSize;
+ long m_nFirstLineDelta;
+ long m_nOneLineMissing;
+ USHORT m_nLastID;
+ bool m_bModified;
};
}
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.src b/desktop/source/deployment/gui/dp_gui_updatedialog.src
index ad098bb387..d926360643 100644..100755
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.src
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.src
@@ -199,7 +199,7 @@ ModalDialog RID_DLG_UPDATE {
Text[en-US] = "~Install";
DefButton = TRUE;
};
- CancelButton RID_DLG_UPDATE_CANCEL {
+ PushButton RID_DLG_UPDATE_CLOSE {
Pos = MAP_APPFONT(
RSC_SP_DLG_INNERBORDER_LEFT + LOCAL_WIDTH - RSC_CD_PUSHBUTTON_WIDTH,
(RSC_SP_DLG_INNERBORDER_TOP + RSC_CD_FIXEDTEXT_HEIGHT +
@@ -208,6 +208,7 @@ ModalDialog RID_DLG_UPDATE {
RSC_SP_CTRL_DESC_Y + LOCAL_LIST_HEIGHT2 + RSC_SP_FLGR_SPACE_Y +
RSC_CD_FIXEDLINE_HEIGHT + RSC_SP_FLGR_SPACE_Y));
Size = MAP_APPFONT(RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT);
+ Text[en-US] = "Close";
};
Image RID_DLG_UPDATE_NORMALALERT {
@@ -227,7 +228,7 @@ ModalDialog RID_DLG_UPDATE {
Text[en-US] = "No new updates are available.";
};
String RID_DLG_UPDATE_NOINSTALLABLE {
- Text[en-US] = "No installable updates are available. To see all updates, mark the check box 'Show all updates'.";
+ Text[en-US] = "No installable updates are available. To see ignored or disabled updates, mark the check box 'Show all updates'.";
};
String RID_DLG_UPDATE_FAILURE {
Text[en-US] = "An error occurred:";
@@ -236,7 +237,7 @@ ModalDialog RID_DLG_UPDATE {
Text[en-US] = "Unknown error.";
};
String RID_DLG_UPDATE_NODESCRIPTION {
- Text[en-US] = "No descriptions available for this extension.";
+ Text[en-US] = "No more details are available for this update.";
};
String RID_DLG_UPDATE_NOINSTALL {
Text[en-US] = "The extension cannot be updated because:";
@@ -250,10 +251,21 @@ ModalDialog RID_DLG_UPDATE {
String RID_DLG_UPDATE_BROWSERBASED {
Text[en-US] = "browser based update";
};
-
String RID_DLG_UPDATE_VERSION {
Text[en-US] = "Version";
};
+ String RID_DLG_UPDATE_IGNORE {
+ Text[en-US] = "Ignore this Update";
+ };
+ String RID_DLG_UPDATE_IGNORE_ALL {
+ Text[en-US] = "Ignore all Updates";
+ };
+ String RID_DLG_UPDATE_ENABLE {
+ Text[en-US] = "Enable Updates";
+ };
+ String RID_DLG_UPDATE_IGNORED_UPDATE {
+ Text[en-US] = "This update will be ignored.\n";
+ };
};
WarningBox RID_WARNINGBOX_UPDATE_SHARED_EXTENSION
diff --git a/desktop/source/deployment/misc/dp_misc.src b/desktop/source/deployment/misc/dp_misc.src
index 78e87c2078..21b386b239 100644..100755
--- a/desktop/source/deployment/misc/dp_misc.src
+++ b/desktop/source/deployment/misc/dp_misc.src
@@ -32,7 +32,7 @@ String RID_DEPLYOMENT_DEPENDENCIES_UNKNOWN {
};
String RID_DEPLYOMENT_DEPENDENCIES_MIN {
- Text[en-US] = "Extensions requires at least OpenOffice.org %VERSION";
+ Text[en-US] = "Extension requires at least OpenOffice.org %VERSION";
};
String RID_DEPLYOMENT_DEPENDENCIES_MAX {
diff --git a/desktop/source/deployment/registry/component/dp_component.cxx b/desktop/source/deployment/registry/component/dp_component.cxx
index 9ae71d5158..e1a86642c3 100644
--- a/desktop/source/deployment/registry/component/dp_component.cxx
+++ b/desktop/source/deployment/registry/component/dp_component.cxx
@@ -65,6 +65,7 @@ using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::ucb;
using ::rtl::OUString;
+namespace css = com::sun::star;
namespace dp_registry {
namespace backend {
@@ -121,14 +122,15 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
BackendImpl * getMyBackend() const;
const OUString m_loader;
- ComponentBackendDb::Data m_registeredComponentsDb;
-
+
enum reg {
REG_UNINIT, REG_VOID, REG_REGISTERED, REG_NOT_REGISTERED, REG_MAYBE_REGISTERED
} m_registered;
- Reference<loader::XImplementationLoader> getComponentInfo(
- t_stringlist * pImplNames, t_stringpairvec * pSingletons,
+ void getComponentInfo(
+ ComponentBackendDb::Data * data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > *
+ factories,
Reference<XComponentContext> const & xContext );
virtual void SAL_CALL disposing();
@@ -160,7 +162,31 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
OUString const & identifier);
};
friend class ComponentPackageImpl;
-
+
+ class ComponentsPackageImpl : public ::dp_registry::backend::Package
+ {
+ BackendImpl * getMyBackend() const;
+
+ // Package
+ virtual beans::Optional< beans::Ambiguous<sal_Bool> > isRegistered_(
+ ::osl::ResettableMutexGuard & guard,
+ ::rtl::Reference<AbortChannel> const & abortChannel,
+ Reference<XCommandEnvironment> const & xCmdEnv );
+ virtual void processPackage_(
+ ::osl::ResettableMutexGuard & guard,
+ bool registerPackage,
+ bool startup,
+ ::rtl::Reference<AbortChannel> const & abortChannel,
+ Reference<XCommandEnvironment> const & xCmdEnv );
+ public:
+ ComponentsPackageImpl(
+ ::rtl::Reference<PackageRegistryBackend> const & myBackend,
+ OUString const & url, OUString const & name,
+ Reference<deployment::XPackageTypeInfo> const & xPackageType,
+ bool bRemoved, OUString const & identifier);
+ };
+ friend class ComponentsPackageImpl;
+
class TypelibraryPackageImpl : public ::dp_registry::backend::Package
{
BackendImpl * getMyBackend() const;
@@ -194,8 +220,20 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
t_stringlist m_jar_typelibs;
t_stringlist m_rdb_typelibs;
- t_stringlist & getTypelibs( bool jar ) {
- return jar ? m_jar_typelibs : m_rdb_typelibs;
+ t_stringlist m_components;
+
+ enum RcItem { RCITEM_JAR_TYPELIB, RCITEM_RDB_TYPELIB, RCITEM_COMPONENTS };
+
+ t_stringlist & getRcItemList( RcItem kind ) {
+ switch (kind)
+ {
+ case RCITEM_JAR_TYPELIB:
+ return m_jar_typelibs;
+ case RCITEM_RDB_TYPELIB:
+ return m_rdb_typelibs;
+ default: // case RCITEM_COMPONENTS
+ return m_components;
+ }
}
bool m_unorc_inited;
@@ -217,6 +255,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
const Reference<deployment::XPackageTypeInfo> m_xDynComponentTypeInfo;
const Reference<deployment::XPackageTypeInfo> m_xJavaComponentTypeInfo;
const Reference<deployment::XPackageTypeInfo> m_xPythonComponentTypeInfo;
+ const Reference<deployment::XPackageTypeInfo> m_xComponentsTypeInfo;
const Reference<deployment::XPackageTypeInfo> m_xRDBTypelibTypeInfo;
const Reference<deployment::XPackageTypeInfo> m_xJavaTypelibTypeInfo;
Sequence< Reference<deployment::XPackageTypeInfo> > m_typeInfos;
@@ -254,14 +293,32 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
OUString const & id, Reference<XInterface> const & xObject );
void releaseObject( OUString const & id );
- bool addToUnoRc( bool jarFile, OUString const & url,
+ bool addToUnoRc( RcItem kind, OUString const & url,
Reference<XCommandEnvironment> const & xCmdEnv );
- bool removeFromUnoRc( bool jarFile, OUString const & url,
+ bool removeFromUnoRc( RcItem kind, OUString const & url,
Reference<XCommandEnvironment> const & xCmdEnv );
- bool hasInUnoRc( bool jarFile, OUString const & url );
+ bool hasInUnoRc( RcItem kind, OUString const & url );
+
+ css::uno::Reference< css::registry::XRegistryKey > openRegistryKey(
+ css::uno::Reference< css::registry::XRegistryKey > const & base,
+ rtl::OUString const & path);
+
+ void extractComponentData(
+ css::uno::Reference< css::uno::XComponentContext > const & context,
+ css::uno::Reference< css::registry::XRegistryKey > const & registry,
+ ComponentBackendDb::Data * data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > * factories,
+ css::uno::Reference< css::loader::XImplementationLoader > const *
+ componentLoader,
+ rtl::OUString const * componentUrl);
+
+ void componentLiveInsertion(
+ ComponentBackendDb::Data const & data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > const &
+ factories);
+
+ void componentLiveRemoval(ComponentBackendDb::Data const & data);
-
-
public:
BackendImpl( Sequence<Any> const & args,
Reference<XComponentContext> const & xComponentContext );
@@ -291,13 +348,7 @@ BackendImpl::ComponentPackageImpl::ComponentPackageImpl(
xPackageType, bRemoved, identifier),
m_loader( loader ),
m_registered( REG_UNINIT )
-{
- if (bRemoved)
- {
- m_registeredComponentsDb = getMyBackend()->readDataFromDb(url);
- }
-}
-
+{}
const Reference<registry::XSimpleRegistry>
BackendImpl::ComponentPackageImpl::getRDB() const
@@ -538,6 +589,13 @@ BackendImpl::BackendImpl(
RID_STR_PYTHON_COMPONENT),
RID_IMG_COMPONENT,
RID_IMG_COMPONENT_HC ) ),
+ m_xComponentsTypeInfo( new Package::TypeInfo(
+ OUSTR("application/"
+ "vnd.sun.star.uno-components"),
+ OUSTR("*.components"),
+ getResourceString(RID_STR_COMPONENTS),
+ RID_IMG_COMPONENT,
+ RID_IMG_COMPONENT_HC ) ),
m_xRDBTypelibTypeInfo( new Package::TypeInfo(
OUSTR("application/"
"vnd.sun.star.uno-typelibrary;"
@@ -553,13 +611,14 @@ BackendImpl::BackendImpl(
getResourceString(RID_STR_JAVA_TYPELIB),
RID_IMG_JAVA_TYPELIB,
RID_IMG_JAVA_TYPELIB_HC ) ),
- m_typeInfos( 5 )
+ m_typeInfos( 6 )
{
m_typeInfos[ 0 ] = m_xDynComponentTypeInfo;
m_typeInfos[ 1 ] = m_xJavaComponentTypeInfo;
m_typeInfos[ 2 ] = m_xPythonComponentTypeInfo;
- m_typeInfos[ 3 ] = m_xRDBTypelibTypeInfo;
- m_typeInfos[ 4 ] = m_xJavaTypelibTypeInfo;
+ m_typeInfos[ 3 ] = m_xComponentsTypeInfo;
+ m_typeInfos[ 4 ] = m_xRDBTypelibTypeInfo;
+ m_typeInfos[ 5 ] = m_xJavaTypelibTypeInfo;
const Reference<XCommandEnvironment> xCmdEnv;
@@ -724,6 +783,17 @@ Reference<deployment::XPackage> BackendImpl::bindPackage_(
}
}
else if (subType.EqualsIgnoreCaseAscii(
+ "vnd.sun.star.uno-components"))
+ {
+ INetContentTypeParameter const * param = params.find(
+ ByteString("platform") );
+ if (param == 0 || platform_fits( param->m_sValue )) {
+ return new BackendImpl::ComponentsPackageImpl(
+ this, url, name, m_xComponentsTypeInfo, bRemoved,
+ identifier);
+ }
+ }
+ else if (subType.EqualsIgnoreCaseAscii(
"vnd.sun.star.uno-typelibrary"))
{
INetContentTypeParameter const * param = params.find(
@@ -816,11 +886,50 @@ void BackendImpl::unorc_verify_init(
while (index >= 0);
}
if (readLine( &line, OUSTR("UNO_SERVICES="), ucb_content,
- RTL_TEXTENCODING_UTF8 )) {
- sal_Int32 start = sizeof ("UNO_SERVICES=?$ORIGIN/") - 1;
- sal_Int32 sep = line.indexOf( ' ', start );
- OSL_ASSERT( sep > 0 );
- m_commonRDB_RO = line.copy( start, sep - start );
+ RTL_TEXTENCODING_UTF8 ))
+ {
+ // The UNO_SERVICES line always has the BNF form
+ // "UNO_SERVICES="
+ // ("?$ORIGIN/" <common-rdb>)? -- first
+ // "${$ORIGIN/${_OS}_${_ARCH}rc:UNO_SERVICES}"? -- second
+ // ("?" ("BUNDLED_EXTENSIONS" | -- third
+ // "UNO_SHARED_PACKAGES_CACHE" | "UNO_USER_PACKAGES_CACHE")
+ // ...)*
+ // so can unambiguously be split into its thre parts:
+ int state = 1;
+ for (sal_Int32 i = RTL_CONSTASCII_LENGTH("UNO_SERVICES=");
+ i >= 0;)
+ {
+ rtl::OUString token(line.getToken(0, ' ', i));
+ if (token.getLength() != 0)
+ {
+ if (state == 1 &&
+ token.matchAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("?$ORIGIN/")))
+ {
+ m_commonRDB_RO = token.copy(
+ RTL_CONSTASCII_LENGTH("?$ORIGIN/"));
+ state = 2;
+ }
+ else if (state <= 2 &&
+ token.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM(
+ "${$ORIGIN/${_OS}_${_ARCH}rc:"
+ "UNO_SERVICES}")))
+ {
+ state = 3;
+ }
+ else
+ {
+ if (token[0] == '?')
+ {
+ token = token.copy(1);
+ }
+ m_components.push_back(token);
+ state = 3;
+ }
+ }
+ }
}
// native rc:
@@ -896,16 +1005,27 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv )
OUString sCommonRDB(m_commonRDB.getLength() > 0 ? m_commonRDB : m_commonRDB_RO);
OUString sNativeRDB(m_nativeRDB.getLength() > 0 ? m_nativeRDB : m_nativeRDB_RO);
- if (sCommonRDB.getLength() > 0 || sNativeRDB.getLength() > 0)
+ if (sCommonRDB.getLength() > 0 || sNativeRDB.getLength() > 0 ||
+ !m_components.empty())
{
- buf.append( RTL_CONSTASCII_STRINGPARAM("UNO_SERVICES=?$ORIGIN/") );
- buf.append( ::rtl::OUStringToOString(
- sCommonRDB, RTL_TEXTENCODING_ASCII_US ) );
+ buf.append( RTL_CONSTASCII_STRINGPARAM("UNO_SERVICES=") );
+ bool space = false;
+ if (sCommonRDB.getLength() > 0)
+ {
+ buf.append( RTL_CONSTASCII_STRINGPARAM("?$ORIGIN/") );
+ buf.append( ::rtl::OUStringToOString(
+ sCommonRDB, RTL_TEXTENCODING_ASCII_US ) );
+ space = true;
+ }
if (sNativeRDB.getLength() > 0)
{
+ if (space)
+ {
+ buf.append(' ');
+ }
buf.append( RTL_CONSTASCII_STRINGPARAM(
- " ${$ORIGIN/${_OS}_${_ARCH}rc:UNO_SERVICES}") );
- buf.append(LF);
+ "${$ORIGIN/${_OS}_${_ARCH}rc:UNO_SERVICES}") );
+ space = true;
// write native rc:
::rtl::OStringBuffer buf2;
@@ -927,6 +1047,18 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv )
xCmdEnv );
ucb_content.writeStream( xData, true /* replace existing */ );
}
+ for (t_stringlist::iterator i(m_components.begin());
+ i != m_components.end(); ++i)
+ {
+ if (space)
+ {
+ buf.append(' ');
+ }
+ buf.append('?');
+ buf.append(rtl::OUStringToOString(*i, RTL_TEXTENCODING_UTF8));
+ space = true;
+ }
+ buf.append(LF);
}
// write unorc:
@@ -943,13 +1075,13 @@ void BackendImpl::unorc_flush( Reference<XCommandEnvironment> const & xCmdEnv )
}
//______________________________________________________________________________
-bool BackendImpl::addToUnoRc( bool jarFile, OUString const & url_,
+bool BackendImpl::addToUnoRc( RcItem kind, OUString const & url_,
Reference<XCommandEnvironment> const & xCmdEnv )
{
const OUString rcterm( dp_misc::makeRcTerm(url_) );
const ::osl::MutexGuard guard( getMutex() );
unorc_verify_init( xCmdEnv );
- t_stringlist & rSet = getTypelibs(jarFile);
+ t_stringlist & rSet = getRcItemList(kind);
if (::std::find( rSet.begin(), rSet.end(), rcterm ) == rSet.end()) {
rSet.push_front( rcterm ); // prepend to list, thus overriding
// write immediately:
@@ -963,13 +1095,13 @@ bool BackendImpl::addToUnoRc( bool jarFile, OUString const & url_,
//______________________________________________________________________________
bool BackendImpl::removeFromUnoRc(
- bool jarFile, OUString const & url_,
+ RcItem kind, OUString const & url_,
Reference<XCommandEnvironment> const & xCmdEnv )
{
const OUString rcterm( dp_misc::makeRcTerm(url_) );
const ::osl::MutexGuard guard( getMutex() );
unorc_verify_init( xCmdEnv );
- getTypelibs(jarFile).remove( rcterm );
+ getRcItemList(kind).remove( rcterm );
// write immediately:
m_unorc_modified = true;
unorc_flush( xCmdEnv );
@@ -978,22 +1110,215 @@ bool BackendImpl::removeFromUnoRc(
//______________________________________________________________________________
bool BackendImpl::hasInUnoRc(
- bool jarFile, OUString const & url_ )
+ RcItem kind, OUString const & url_ )
{
const OUString rcterm( dp_misc::makeRcTerm(url_) );
const ::osl::MutexGuard guard( getMutex() );
- t_stringlist const & rSet = getTypelibs(jarFile);
+ t_stringlist const & rSet = getRcItemList(kind);
return ::std::find( rSet.begin(), rSet.end(), rcterm ) != rSet.end();
}
+css::uno::Reference< css::registry::XRegistryKey > BackendImpl::openRegistryKey(
+ css::uno::Reference< css::registry::XRegistryKey > const & base,
+ rtl::OUString const & path)
+{
+ OSL_ASSERT(base.is());
+ css::uno::Reference< css::registry::XRegistryKey > key(base->openKey(path));
+ if (!key.is()) {
+ throw css::deployment::DeploymentException(
+ (rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("missing registry entry ")) +
+ path + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" under ")) +
+ base->getKeyName()),
+ static_cast< OWeakObject * >(this), Any());
+ }
+ return key;
+}
+
+void BackendImpl::extractComponentData(
+ css::uno::Reference< css::uno::XComponentContext > const & context,
+ css::uno::Reference< css::registry::XRegistryKey > const & registry,
+ ComponentBackendDb::Data * data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > * factories,
+ css::uno::Reference< css::loader::XImplementationLoader > const *
+ componentLoader,
+ rtl::OUString const * componentUrl)
+{
+ OSL_ASSERT(context.is() && registry.is() && data != 0 && factories != 0);
+ rtl::OUString registryName(registry->getKeyName());
+ sal_Int32 prefix = registryName.getLength();
+ if (!registryName.endsWithAsciiL(RTL_CONSTASCII_STRINGPARAM("/"))) {
+ prefix += RTL_CONSTASCII_LENGTH("/");
+ }
+ css::uno::Sequence< css::uno::Reference< css::registry::XRegistryKey > >
+ keys(registry->openKeys());
+ css::uno::Reference< css::lang::XMultiComponentFactory > smgr(
+ context->getServiceManager(), css::uno::UNO_QUERY_THROW);
+ for (sal_Int32 i = 0; i < keys.getLength(); ++i) {
+ rtl::OUString name(keys[i]->getKeyName().copy(prefix));
+ data->implementationNames.push_back(name);
+ css::uno::Reference< css::registry::XRegistryKey > singletons(
+ keys[i]->openKey(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UNO/SINGLETONS"))));
+ if (singletons.is()) {
+ sal_Int32 prefix2 = keys[i]->getKeyName().getLength() +
+ RTL_CONSTASCII_LENGTH("/UNO/SINGLETONS/");
+ css::uno::Sequence<
+ css::uno::Reference< css::registry::XRegistryKey > >
+ singletonKeys(singletons->openKeys());
+ for (sal_Int32 j = 0; j < singletonKeys.getLength(); ++j) {
+ data->singletons.push_back(
+ std::pair< rtl::OUString, rtl::OUString >(
+ singletonKeys[j]->getKeyName().copy(prefix2), name));
+ }
+ }
+ css::uno::Reference< css::loader::XImplementationLoader > loader;
+ if (componentLoader == 0) {
+ rtl::OUString activator(
+ openRegistryKey(
+ keys[i],
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("UNO/ACTIVATOR")))->
+ getAsciiValue());
+ loader.set(
+ smgr->createInstanceWithContext(activator, context),
+ css::uno::UNO_QUERY);
+ if (!loader.is()) {
+ throw css::deployment::DeploymentException(
+ (rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "cannot instantiate loader ")) +
+ activator),
+ static_cast< OWeakObject * >(this), Any());
+ }
+ } else {
+ OSL_ASSERT(componentLoader->is());
+ loader = *componentLoader;
+ }
+ factories->push_back(
+ loader->activate(
+ name, rtl::OUString(),
+ (componentUrl == 0
+ ? (openRegistryKey(
+ keys[i],
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("UNO/LOCATION")))->
+ getAsciiValue())
+ : *componentUrl),
+ keys[i]));
+ }
+}
+
+void BackendImpl::componentLiveInsertion(
+ ComponentBackendDb::Data const & data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > const &
+ factories)
+{
+ css::uno::Reference< css::container::XSet > set(
+ getComponentContext()->getServiceManager(), css::uno::UNO_QUERY_THROW);
+ std::vector< css::uno::Reference< css::uno::XInterface > >::const_iterator
+ factory(factories.begin());
+ for (t_stringlist::const_iterator i(data.implementationNames.begin());
+ i != data.implementationNames.end(); ++i)
+ {
+ try {
+ set->insert(css::uno::Any(*factory++));
+ } catch (container::ElementExistException &) {
+ OSL_TRACE(
+ "implementation %s already registered",
+ rtl::OUStringToOString(*i, RTL_TEXTENCODING_UTF8).getStr());
+ }
+ }
+ if (!data.singletons.empty()) {
+ css::uno::Reference< css::container::XNameContainer >
+ rootContext(
+ getComponentContext()->getValueByName(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_root"))),
+ css::uno::UNO_QUERY);
+ if (rootContext.is()) {
+ for (t_stringpairvec::const_iterator i(data.singletons.begin());
+ i != data.singletons.end(); ++i)
+ {
+ rtl::OUString name(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/singletons/")) +
+ i->first);
+ try {
+ rootContext->removeByName(
+ name +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("/arguments")));
+ } catch (container::NoSuchElementException &) {}
+ try {
+ rootContext->insertByName(
+ (name +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("/service"))),
+ css::uno::Any(i->second));
+ } catch (container::ElementExistException &) {
+ rootContext->replaceByName(
+ (name +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("/service"))),
+ css::uno::Any(i->second));
+ }
+ try {
+ rootContext->insertByName(name, css::uno::Any());
+ } catch (container::ElementExistException &) {
+ OSL_TRACE(
+ "singleton %s already registered",
+ rtl::OUStringToOString(
+ i->first, RTL_TEXTENCODING_UTF8).getStr());
+ rootContext->replaceByName(name, css::uno::Any());
+ }
+ }
+ }
+ }
+}
+
+void BackendImpl::componentLiveRemoval(ComponentBackendDb::Data const & data) {
+ css::uno::Reference< css::container::XSet > set(
+ getComponentContext()->getServiceManager(), css::uno::UNO_QUERY_THROW);
+ for (t_stringlist::const_iterator i(data.implementationNames.begin());
+ i != data.implementationNames.end(); ++i)
+ {
+ try {
+ set->remove(css::uno::Any(*i));
+ } catch (css::container::NoSuchElementException &) {
+ // ignore if factory has not been live deployed
+ }
+ }
+ if (!data.singletons.empty()) {
+ css::uno::Reference< css::container::XNameContainer > rootContext(
+ getComponentContext()->getValueByName(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_root"))),
+ css::uno::UNO_QUERY);
+ if (rootContext.is()) {
+ for (t_stringpairvec::const_iterator i(data.singletons.begin());
+ i != data.singletons.end(); ++i)
+ {
+ rtl::OUString name(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/singletons/")) +
+ i->first);
+ try {
+ rootContext->removeByName(
+ name +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("/arguments")));
+ rootContext->removeByName(
+ name +
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/service")));
+ rootContext->removeByName(name);
+ } catch (container::NoSuchElementException &) {}
+ }
+ }
+ }
+}
+
//______________________________________________________________________________
void BackendImpl::releaseObject( OUString const & id )
{
const ::osl::MutexGuard guard( getMutex() );
- if ( m_backendObjects.erase( id ) != 1 )
- {
- OSL_ASSERT( false );
- }
+ m_backendObjects.erase( id );
}
//______________________________________________________________________________
@@ -1076,62 +1401,38 @@ Reference<XComponentContext> raise_uno_process(
}
//------------------------------------------------------------------------------
-Reference<loader::XImplementationLoader>
-BackendImpl::ComponentPackageImpl::getComponentInfo(
- t_stringlist * pImplNames, t_stringpairvec * pSingletons,
+void BackendImpl::ComponentPackageImpl::getComponentInfo(
+ ComponentBackendDb::Data * data,
+ std::vector< css::uno::Reference< css::uno::XInterface > > * factories,
Reference<XComponentContext> const & xContext )
{
const Reference<loader::XImplementationLoader> xLoader(
xContext->getServiceManager()->createInstanceWithContext(
m_loader, xContext ), UNO_QUERY );
if (! xLoader.is())
- return Reference<loader::XImplementationLoader>();
+ {
+ throw css::deployment::DeploymentException(
+ (rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("cannot instantiate loader ")) +
+ m_loader),
+ static_cast< OWeakObject * >(this), Any());
+ }
// HACK: highly dependent on stoc/source/servicemanager
// and stoc/source/implreg implementation which rely on the same
// services.rdb format!
-
+ // .../UNO/LOCATION and .../UNO/ACTIVATOR appear not to be written by
+ // writeRegistryInfo, however, but are knwon, fixed values here, so
+ // can be passed into extractComponentData
+ rtl::OUString url(getURL());
const Reference<registry::XSimpleRegistry> xMemReg(
xContext->getServiceManager()->createInstanceWithContext(
OUSTR("com.sun.star.registry.SimpleRegistry"), xContext ),
UNO_QUERY_THROW );
xMemReg->open( OUString() /* in mem */, false, true );
- xLoader->writeRegistryInfo( xMemReg->getRootKey(), OUString(), getURL() );
-
- const Sequence< Reference<registry::XRegistryKey> > keys(
- xMemReg->getRootKey()->openKeys() );
- for ( sal_Int32 pos = keys.getLength(); pos--; )
- {
- Reference<registry::XRegistryKey> const & xImplKey = keys[ pos ];
- const OUString implName(
- xImplKey->getKeyName().copy( 1 /*leading slash*/ ) );
-
- // check for singletons:
- const Reference<registry::XRegistryKey> xSingletonKey(
- xImplKey->openKey( OUSTR("UNO/SINGLETONS") ) );
- if (xSingletonKey.is() && xSingletonKey->isValid())
- {
- const Sequence< Reference<registry::XRegistryKey> > singletonKeys(
- xSingletonKey->openKeys() );
- for ( sal_Int32 i = singletonKeys.getLength(); i--; )
- {
- Reference<registry::XRegistryKey> const & xSingleton =
- singletonKeys[ i ];
- pSingletons->push_back(
- ::std::pair<OUString, OUString>(
- xSingleton->getKeyName().copy(
- implName.getLength() +
- sizeof ("//UNO/SINGLETONS/") - 1 ),
- xSingleton->getStringValue() ) );
- }
- }
- else
- {
- pImplNames->push_back( implName );
- }
- }
-
- return xLoader;
+ xLoader->writeRegistryInfo( xMemReg->getRootKey(), OUString(), url );
+ getMyBackend()->extractComponentData(
+ xContext, xMemReg->getRootKey(), data, factories, &xLoader, &url);
}
// Package
@@ -1221,224 +1522,75 @@ void BackendImpl::ComponentPackageImpl::processPackage_(
::rtl::Reference<AbortChannel> const & abortChannel,
Reference<XCommandEnvironment> const & xCmdEnv )
{
- BackendImpl * that = getMyBackend();
-
-
- const bool java = m_loader.equalsAsciiL(
- RTL_CONSTASCII_STRINGPARAM("com.sun.star.loader.Java2") );
- const OUString url( getURL() );
- bool isJavaTypelib;
- if (m_bRemoved)
- isJavaTypelib = m_registeredComponentsDb.javaTypeLibrary;
- else
- isJavaTypelib = java &&
- !jarManifestHeaderPresent( url, OUSTR("UNO-Type-Path"), xCmdEnv );
-
- ComponentBackendDb::Data data;
- data.javaTypeLibrary = isJavaTypelib;
- if (doRegisterPackage)
- {
- Reference <uno::XComponentContext> context(that->getComponentContext());
- if (! startup)
- {
- context.set(
- that->getObject( url ), UNO_QUERY );
-
- if (! context.is()) {
+ BackendImpl * that = getMyBackend();
+ rtl::OUString url(getURL());
+ if (doRegisterPackage) {
+ ComponentBackendDb::Data data;
+ css::uno::Reference< css::uno::XComponentContext > context;
+ if (startup) {
+ context = that->getComponentContext();
+ } else {
+ context.set(that->getObject(url), css::uno::UNO_QUERY);
+ if (!context.is()) {
context.set(
- that->insertObject( url, raise_uno_process(
- that->getComponentContext(),
- abortChannel ) ),
- UNO_QUERY_THROW );
+ that->insertObject(
+ url,
+ raise_uno_process(
+ that->getComponentContext(), abortChannel)),
+ css::uno::UNO_QUERY_THROW);
}
}
-
- const Reference<registry::XSimpleRegistry> xServicesRDB( getRDB() );
- const Reference<registry::XImplementationRegistration> xImplReg(
+ css::uno::Reference< css::registry::XImplementationRegistration>(
context->getServiceManager()->createInstanceWithContext(
- OUSTR("com.sun.star.registry.ImplementationRegistration"),
- context ), UNO_QUERY_THROW );
-
- xImplReg->registerImplementation( m_loader, url, xServicesRDB );
- //only write to unorc if registration was successful.
- //It may fail if there is no suitable java.
- if (isJavaTypelib)
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.registry.ImplementationRegistration")),
+ context),
+ css::uno::UNO_QUERY_THROW)->registerImplementation(
+ m_loader, url, getRDB());
+ // Only write to unorc after successful registration; it may fail if
+ // there is no suitable java
+ if (m_loader.equalsAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("com.sun.star.loader.Java2")) &&
+ !jarManifestHeaderPresent(url, OUSTR("UNO-Type-Path"), xCmdEnv))
{
- that->addToUnoRc( java, url, xCmdEnv );
+ that->addToUnoRc(RCITEM_JAR_TYPELIB, url, xCmdEnv);
data.javaTypeLibrary = true;
}
-
- t_stringlist implNames;
- t_stringpairvec singletons;
- const Reference<loader::XImplementationLoader> xLoader(
- getComponentInfo( &implNames, &singletons, context ) );
- data.implementationNames = implNames;
- data.singletons = singletons;
-
- if (!startup)
- {
- // factories live insertion:
- const Reference<container::XSet> xSet(
- that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW );
- for ( t_stringlist::const_iterator iPos( implNames.begin() );
- iPos != implNames.end(); ++iPos )
- {
- checkAborted( abortChannel );
- OUString const & implName = *iPos;
- // activate factory:
- const Reference<XInterface> xFactory(
- xLoader->activate(
- implName, OUString(), url,
- xServicesRDB->getRootKey()->openKey(
- OUSTR("/IMPLEMENTATIONS/") + implName ) ) );
- try {
- xSet->insert( Any(xFactory) );
- } // ignore if factory has already been inserted:
- catch (container::ElementExistException &) {
- OSL_ENSURE( 0, "### factory already registered?" );
- }
- }
-
- if (! singletons.empty())
- {
- // singletons live insertion:
- const Reference<container::XNameContainer> xRootContext(
- that->getComponentContext()->getValueByName(
- OUSTR("_root") ), UNO_QUERY );
- if (xRootContext.is())
- {
- for ( t_stringpairvec::const_iterator iPos(
- singletons.begin() );
- iPos != singletons.end(); ++iPos )
- {
- ::std::pair<OUString, OUString> const & sp = *iPos;
- const OUString name( OUSTR("/singletons/") + sp.first );
- // assure no arguments:
- try {
- xRootContext->removeByName( name + OUSTR("/arguments"));
- } catch (container::NoSuchElementException &) {}
- // used service:
- try {
- xRootContext->insertByName(
- name + OUSTR("/service"), Any(sp.second) );
- } catch (container::ElementExistException &) {
- xRootContext->replaceByName(
- name + OUSTR("/service"), Any(sp.second) );
- }
- // singleton entry:
- try {
- xRootContext->insertByName( name, Any() );
- } catch (container::ElementExistException & exc) {
- (void) exc; // avoid warnings
- OSL_ENSURE(
- 0, OUStringToOString(
- exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
- xRootContext->replaceByName( name, Any() );
- }
- }
- }
- }
+ std::vector< css::uno::Reference< css::uno::XInterface > > factories;
+ getComponentInfo(&data, &factories, context);
+ if (!startup) {
+ that->componentLiveInsertion(data, factories);
}
-
m_registered = REG_REGISTERED;
- getMyBackend()->addDataToDb(url, data);
- }
- else // revokePackage()
- {
- // set to VOID during revocation process:
+ that->addDataToDb(url, data);
+ } else { // revoke
m_registered = REG_VOID;
-
- //get the remote context. If it does not exist then use the local one
- Reference<XComponentContext> xContext(
- that->getObject( url ), UNO_QUERY );
- bool bRemoteContext = false;
- if (!xContext.is())
- xContext = that->getComponentContext();
- else
- bRemoteContext = true;
-
- t_stringlist implNames;
- t_stringpairvec singletons;
- if (m_bRemoved)
- {
- implNames = m_registeredComponentsDb.implementationNames;
- singletons = m_registeredComponentsDb.singletons;
+ ComponentBackendDb::Data data(that->readDataFromDb(url));
+ css::uno::Reference< css::uno::XComponentContext > context(
+ that->getObject(url), css::uno::UNO_QUERY);
+ bool remoteContext = context.is();
+ if (!remoteContext) {
+ context = that->getComponentContext();
}
- else
- {
- getComponentInfo( &implNames, &singletons, xContext );
+ if (!startup) {
+ that->componentLiveRemoval(data);
}
-
- if (!startup)
- {
- // factories live removal:
- const Reference<container::XSet> xSet(
- that->getComponentContext()->getServiceManager(), UNO_QUERY_THROW );
- for ( t_stringlist::const_iterator iPos( implNames.begin() );
- iPos != implNames.end(); ++iPos )
- {
- OUString const & implName = *iPos;
- try {
- xSet->remove( Any(implName) );
- } // ignore if factory has not been live deployed:
- catch (container::NoSuchElementException &) {
- }
- }
-
- if (! singletons.empty())
- {
- // singletons live removal:
- const Reference<container::XNameContainer> xRootContext(
- that->getComponentContext()->getValueByName(
- OUSTR("_root") ), UNO_QUERY );
- if (xRootContext.is())
- {
- for ( t_stringpairvec::const_iterator iPos(
- singletons.begin() );
- iPos != singletons.end(); ++iPos )
- {
- ::std::pair<OUString, OUString> const & sp = *iPos;
- const OUString name( OUSTR("/singletons/") + sp.first );
- // arguments:
- try {
- xRootContext->removeByName( name + OUSTR("/arguments"));
- }
- catch (container::NoSuchElementException &) {}
- // used service:
- try {
- xRootContext->removeByName( name + OUSTR("/service") );
- }
- catch (container::NoSuchElementException &) {}
- // singleton entry:
- try {
- xRootContext->removeByName( name );
- }
- catch (container::NoSuchElementException & exc) {
- (void) exc; // avoid warnings
- OSL_ENSURE(
- 0, OUStringToOString(
- exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
- }
- }
- }
- }
+ css::uno::Reference< css::registry::XImplementationRegistration >(
+ context->getServiceManager()->createInstanceWithContext(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.registry.ImplementationRegistration")),
+ context),
+ css::uno::UNO_QUERY_THROW)->revokeImplementation(url, getRDB());
+ if (data.javaTypeLibrary) {
+ that->removeFromUnoRc(RCITEM_JAR_TYPELIB, url, xCmdEnv);
+ }
+ if (remoteContext) {
+ that->releaseObject(url);
}
-
- const Reference<registry::XSimpleRegistry> xServicesRDB( getRDB() );
- const Reference<registry::XImplementationRegistration> xImplReg(
- xContext->getServiceManager()->createInstanceWithContext(
- OUSTR("com.sun.star.registry.ImplementationRegistration"),
- xContext ), UNO_QUERY_THROW );
- xImplReg->revokeImplementation( url, xServicesRDB );
-
- if (isJavaTypelib)
- that->removeFromUnoRc( java, url, xCmdEnv );
-
- if (bRemoteContext)
- that->releaseObject( url );
-
m_registered = REG_NOT_REGISTERED;
- getMyBackend()->deleteDataFromDb(url);
+ that->deleteDataFromDb(url);
}
}
@@ -1480,7 +1632,8 @@ BackendImpl::TypelibraryPackageImpl::isRegistered_(
return beans::Optional< beans::Ambiguous<sal_Bool> >(
true /* IsPresent */,
beans::Ambiguous<sal_Bool>(
- that->hasInUnoRc( m_jarFile, getURL() ),
+ that->hasInUnoRc(
+ m_jarFile ? RCITEM_JAR_TYPELIB : RCITEM_RDB_TYPELIB, getURL() ),
false /* IsAmbiguous */ ) );
}
@@ -1546,11 +1699,13 @@ void BackendImpl::TypelibraryPackageImpl::processPackage_(
}
}
- that->addToUnoRc( m_jarFile, url, xCmdEnv );
+ that->addToUnoRc( m_jarFile ? RCITEM_JAR_TYPELIB : RCITEM_RDB_TYPELIB,
+ url, xCmdEnv );
}
else // revokePackage()
{
- that->removeFromUnoRc( m_jarFile, url, xCmdEnv );
+ that->removeFromUnoRc(
+ m_jarFile ? RCITEM_JAR_TYPELIB : RCITEM_RDB_TYPELIB, url, xCmdEnv );
// revoking types at runtime, possible, sensible?
if (!m_xTDprov.is())
@@ -1570,6 +1725,97 @@ void BackendImpl::TypelibraryPackageImpl::processPackage_(
}
}
+BackendImpl * BackendImpl::ComponentsPackageImpl::getMyBackend() const
+{
+ BackendImpl * pBackend = static_cast<BackendImpl *>(m_myBackend.get());
+ if (NULL == pBackend)
+ {
+ //Throws a DisposedException
+ check();
+ //We should never get here...
+ throw RuntimeException(
+ OUSTR("Failed to get the BackendImpl"),
+ static_cast<OWeakObject*>(const_cast<ComponentsPackageImpl *>(this)));
+ }
+ return pBackend;
+}
+
+beans::Optional< beans::Ambiguous<sal_Bool> >
+BackendImpl::ComponentsPackageImpl::isRegistered_(
+ ::osl::ResettableMutexGuard &,
+ ::rtl::Reference<AbortChannel> const &,
+ Reference<XCommandEnvironment> const & )
+{
+ return beans::Optional< beans::Ambiguous<sal_Bool> >(
+ true,
+ beans::Ambiguous<sal_Bool>(
+ getMyBackend()->hasInUnoRc(RCITEM_COMPONENTS, getURL()), false));
+}
+
+void BackendImpl::ComponentsPackageImpl::processPackage_(
+ ::osl::ResettableMutexGuard &,
+ bool doRegisterPackage,
+ bool startup,
+ ::rtl::Reference<AbortChannel> const & abortChannel,
+ Reference<XCommandEnvironment> const & xCmdEnv )
+{
+ BackendImpl * that = getMyBackend();
+ rtl::OUString url(getURL());
+ if (doRegisterPackage) {
+ ComponentBackendDb::Data data;
+ data.javaTypeLibrary = false;
+ std::vector< css::uno::Reference< css::uno::XInterface > > factories;
+ css::uno::Reference< css::uno::XComponentContext > context(
+ that->getObject(url), css::uno::UNO_QUERY);
+ if (!context.is()) {
+ context.set(
+ that->insertObject(
+ url,
+ raise_uno_process(
+ that->getComponentContext(), abortChannel)),
+ css::uno::UNO_QUERY_THROW);
+ }
+ css::uno::Reference< css::registry::XSimpleRegistry > registry(
+ css::uno::Reference< css::lang::XMultiComponentFactory >(
+ that->getComponentContext()->getServiceManager(),
+ css::uno::UNO_SET_THROW)->createInstanceWithContext(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.registry.SimpleRegistry")),
+ that->getComponentContext()),
+ css::uno::UNO_QUERY_THROW);
+ registry->open(expandUnoRcUrl(url), true, false);
+ getMyBackend()->extractComponentData(
+ context,
+ that->openRegistryKey(
+ registry->getRootKey(),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IMPLEMENTATIONS"))),
+ &data, &factories, 0, 0);
+ registry->close();
+ if (!startup) {
+ that->componentLiveInsertion(data, factories);
+ }
+ that->addDataToDb(url, data);
+ that->addToUnoRc(RCITEM_COMPONENTS, url, xCmdEnv);
+ } else { // revoke
+ that->removeFromUnoRc(RCITEM_COMPONENTS, url, xCmdEnv);
+ if (!startup) {
+ that->componentLiveRemoval(that->readDataFromDb(url));
+ }
+ that->releaseObject(url);
+ that->deleteDataFromDb(url);
+ }
+}
+
+BackendImpl::ComponentsPackageImpl::ComponentsPackageImpl(
+ ::rtl::Reference<PackageRegistryBackend> const & myBackend,
+ OUString const & url, OUString const & name,
+ Reference<deployment::XPackageTypeInfo> const & xPackageType,
+ bool bRemoved, OUString const & identifier)
+ : Package( myBackend, url, name, name /* display-name */,
+ xPackageType, bRemoved, identifier)
+{}
+
} // anon namespace
namespace sdecl = comphelper::service_decl;
diff --git a/desktop/source/deployment/registry/component/dp_component.hrc b/desktop/source/deployment/registry/component/dp_component.hrc
index 5e9993ab12..82bb55068d 100644
--- a/desktop/source/deployment/registry/component/dp_component.hrc
+++ b/desktop/source/deployment/registry/component/dp_component.hrc
@@ -33,6 +33,7 @@
#define RID_STR_DYN_COMPONENT (RID_DEPLOYMENT_COMPONENT_START+10)
#define RID_STR_JAVA_COMPONENT (RID_DEPLOYMENT_COMPONENT_START+11)
#define RID_STR_PYTHON_COMPONENT (RID_DEPLOYMENT_COMPONENT_START+12)
+#define RID_STR_COMPONENTS (RID_DEPLOYMENT_COMPONENT_START+13)
#define RID_STR_RDB_TYPELIB (RID_DEPLOYMENT_COMPONENT_START+20)
#define RID_STR_JAVA_TYPELIB (RID_DEPLOYMENT_COMPONENT_START+21)
diff --git a/desktop/source/deployment/registry/component/dp_component.src b/desktop/source/deployment/registry/component/dp_component.src
index 52dfa568eb..1b2a7c3641 100644
--- a/desktop/source/deployment/registry/component/dp_component.src
+++ b/desktop/source/deployment/registry/component/dp_component.src
@@ -42,6 +42,11 @@ String RID_STR_PYTHON_COMPONENT
Text [ en-US ] = "UNO Python Component";
};
+String RID_STR_COMPONENTS
+{
+ Text [ en-US ] = "UNO Components";
+};
+
String RID_STR_RDB_TYPELIB
{
Text [ en-US ] = "UNO RDB Type Library";
diff --git a/desktop/source/deployment/registry/dp_backend.cxx b/desktop/source/deployment/registry/dp_backend.cxx
index 7562bb2a8a..e0e2c139eb 100644..100755
--- a/desktop/source/deployment/registry/dp_backend.cxx
+++ b/desktop/source/deployment/registry/dp_backend.cxx
@@ -520,6 +520,15 @@ OUString Package::getDescription() throw (
}
//______________________________________________________________________________
+OUString Package::getLicenseText() throw (
+ deployment::ExtensionRemovedException,RuntimeException)
+{
+ if (m_bRemoved)
+ throw deployment::ExtensionRemovedException();
+ return OUString();
+}
+
+//______________________________________________________________________________
Sequence<OUString> Package::getUpdateInformationURLs() throw (
deployment::ExtensionRemovedException, RuntimeException)
{
diff --git a/desktop/source/deployment/registry/help/dp_help.cxx b/desktop/source/deployment/registry/help/dp_help.cxx
index b267c34bb8..185f9be540 100644
--- a/desktop/source/deployment/registry/help/dp_help.cxx
+++ b/desktop/source/deployment/registry/help/dp_help.cxx
@@ -450,7 +450,7 @@ void BackendImpl::implProcessHelp
aJarFile, rtl_UriCharClassPchar,
rtl_UriEncodeIgnoreEscapes,
RTL_TEXTENCODING_UTF8 );
- rtl::OUString aDestBasePath = rtl::OUString::createFromAscii( "vnd.sun.star.pkg://" );
+ rtl::OUString aDestBasePath = rtl::OUString::createFromAscii( "vnd.sun.star.zip://" );
aDestBasePath += aEncodedJarFilePath;
aDestBasePath += rtl::OUString::createFromAscii( "/" );
diff --git a/desktop/source/deployment/registry/inc/dp_backend.h b/desktop/source/deployment/registry/inc/dp_backend.h
index 624b5fcf16..0c2f34da54 100644..100755
--- a/desktop/source/deployment/registry/inc/dp_backend.h
+++ b/desktop/source/deployment/registry/inc/dp_backend.h
@@ -237,6 +237,9 @@ public:
virtual ::rtl::OUString SAL_CALL getDescription()
throw (css::deployment::ExtensionRemovedException,
css::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getLicenseText()
+ throw (css::deployment::ExtensionRemovedException,
+ css::uno::RuntimeException);
virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL
getUpdateInformationURLs()
throw (css::deployment::ExtensionRemovedException,
@@ -294,7 +297,7 @@ protected:
::rtl::OUString m_context;
// currently only for library containers:
- enum context {
+ enum {
CONTEXT_UNKNOWN,
CONTEXT_USER, CONTEXT_SHARED,CONTEXT_BUNDLED, CONTEXT_TMP,
CONTEXT_DOCUMENT
diff --git a/desktop/source/deployment/registry/package/dp_package.cxx b/desktop/source/deployment/registry/package/dp_package.cxx
index 6209aad0d0..ad3efaad8f 100644..100755
--- a/desktop/source/deployment/registry/package/dp_package.cxx
+++ b/desktop/source/deployment/registry/package/dp_package.cxx
@@ -190,6 +190,9 @@ class BackendImpl : public ImplBaseT
virtual OUString SAL_CALL getDescription()
throw (deployment::ExtensionRemovedException, RuntimeException);
+ virtual OUString SAL_CALL getLicenseText()
+ throw (deployment::ExtensionRemovedException, RuntimeException);
+
virtual void SAL_CALL exportTo(
OUString const & destFolderURL, OUString const & newTitle,
sal_Int32 nameClashAction,
@@ -986,16 +989,45 @@ OUString BackendImpl::PackageImpl::getDescription()
if (sRelativeURL.getLength())
{
OUString sURL = m_url_expanded + OUSTR("/") + sRelativeURL;
- sDescription = getTextFromURL(
- css::uno::Reference< css::ucb::XCommandEnvironment >(), sURL);
+ try
+ {
+ sDescription = getTextFromURL( css::uno::Reference< css::ucb::XCommandEnvironment >(), sURL );
+ }
+ catch ( css::deployment::DeploymentException& )
+ {
+ OSL_ENSURE( 0, ::rtl::OUStringToOString( ::comphelper::anyToString( ::cppu::getCaughtException() ), RTL_TEXTENCODING_UTF8 ).getStr() );
+ }
}
+
if (sDescription.getLength())
- return sDescription;
- else if(m_oldDescription.getLength())
- return m_oldDescription;
- else
- return OUString();
+ return sDescription;
+ return m_oldDescription;
+}
+
+//______________________________________________________________________________
+OUString BackendImpl::PackageImpl::getLicenseText()
+ throw (deployment::ExtensionRemovedException, RuntimeException)
+{
+ if (m_bRemoved)
+ throw deployment::ExtensionRemovedException();
+
+ OUString sLicense;
+ DescriptionInfoset aInfo = getDescriptionInfoset();
+
+ ::boost::optional< SimpleLicenseAttributes > aSimplLicAttr = aInfo.getSimpleLicenseAttributes();
+ if ( aSimplLicAttr )
+ {
+ OUString aLicenseURL = aInfo.getLocalizedLicenseURL();
+
+ if ( aLicenseURL.getLength() )
+ {
+ OUString aFullURL = m_url_expanded + OUSTR("/") + aLicenseURL;
+ sLicense = getTextFromURL( Reference< ucb::XCommandEnvironment >(), aFullURL);
+ }
+ }
+
+ return sLicense;
}
//______________________________________________________________________________
diff --git a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx
index 5609affb0c..7979380db1 100644..100755
--- a/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx
+++ b/desktop/source/deployment/registry/sfwk/dp_sfwk.cxx
@@ -88,6 +88,7 @@ class BackendImpl : public ::dp_registry::backend::PackageRegistryBackend
OUString const & identifier);
// XPackage
virtual OUString SAL_CALL getDescription() throw (RuntimeException);
+ virtual OUString SAL_CALL getLicenseText() throw (RuntimeException);
};
friend class PackageImpl;
@@ -133,6 +134,12 @@ OUString BackendImpl::PackageImpl::getDescription() throw (RuntimeException)
}
//______________________________________________________________________________
+OUString BackendImpl::PackageImpl::getLicenseText() throw (RuntimeException)
+{
+ return Package::getDescription();
+}
+
+//______________________________________________________________________________
BackendImpl::PackageImpl::PackageImpl(
::rtl::Reference<BackendImpl> const & myBackend,
OUString const & url, OUString const & libType, bool bRemoved,
diff --git a/desktop/source/migration/wizard.cxx b/desktop/source/migration/wizard.cxx
index 92e905a79f..4bd6806dfa 100644
--- a/desktop/source/migration/wizard.cxx
+++ b/desktop/source/migration/wizard.cxx
@@ -209,7 +209,6 @@ FirstStartWizard::FirstStartWizard( Window* pParent, sal_Bool bLicenseNeedsAccep
m_aDefaultPath = defineWizardPagesDependingFromContext();
activatePath(m_aDefaultPath, sal_True);
- enterState(STATE_WELCOME);
ActivatePage();
// set text of finish putton:
diff --git a/desktop/test/deployment/active/Addons.xcu b/desktop/test/deployment/active/Addons.xcu
new file mode 100644
index 0000000000..cc75f2ab8f
--- /dev/null
+++ b/desktop/test/deployment/active/Addons.xcu
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<o:component-data xmlns:o="http://openoffice.org/2001/registry"
+ o:package="org.openoffice.Office" o:name="Addons">
+ <node o:name="AddonUI">
+ <node o:name="OfficeMenuBar">
+ <node o:name="org.openoffice.test.desktop.deployment.active"
+ o:op="replace">
+ <prop o:name="Title" xml:lang="en-US">
+ <value>active</value>
+ </prop>
+ <node o:name="Submenu">
+ <node o:name="1" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_native:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>native</value>
+ </prop>
+ </node>
+ <node o:name="2" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_java:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>java</value>
+ </prop>
+ </node>
+ <node o:name="3" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_python:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>python</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ </node>
+ </node>
+</o:component-data>
diff --git a/desktop/test/deployment/active/Dispatch.java b/desktop/test/deployment/active/Dispatch.java
new file mode 100644
index 0000000000..25443f96e0
--- /dev/null
+++ b/desktop/test/deployment/active/Dispatch.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.active_java;
+
+import com.sun.star.awt.MessageBoxButtons;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XMessageBox;
+import com.sun.star.awt.XMessageBoxFactory;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XStatusListener;
+import com.sun.star.lang.WrappedTargetRuntimeException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lib.uno.helper.WeakBase;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.URL;
+
+public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch
+{
+ public Dispatch(XComponentContext context) {
+ this.context = context;
+ }
+
+ public String getImplementationName() { return implementationName; }
+
+ public boolean supportsService(String ServiceName) {
+ return false; //TODO
+ }
+
+ public String[] getSupportedServiceNames() {
+ return serviceNames;
+ }
+
+ public void dispatch(URL URL, PropertyValue[] Arguments) {
+ try {
+ XMultiComponentFactory smgr = UnoRuntime.queryInterface(
+ XMultiComponentFactory.class, context.getServiceManager());
+ XMessageBox box = UnoRuntime.queryInterface(
+ XMessageBoxFactory.class,
+ smgr.createInstanceWithContext(
+ "com.sun.star.awt.Toolkit", context)).
+ createMessageBox(
+ UnoRuntime.queryInterface(
+ XWindowPeer.class,
+ (UnoRuntime.queryInterface(
+ XDesktop.class,
+ smgr.createInstanceWithContext(
+ "com.sun.star.frame.Desktop", context)).
+ getCurrentFrame().getComponentWindow())),
+ new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK,
+ "active", "java");
+ box.execute();
+ UnoRuntime.queryInterface(XComponent.class, box).dispose();
+ } catch (com.sun.star.uno.RuntimeException e) {
+ throw e;
+ } catch (com.sun.star.uno.Exception e) {
+ throw new WrappedTargetRuntimeException(
+ "wrapped: " + e.getMessage(), this, e);
+ }
+ }
+
+ public void addStatusListener(XStatusListener Control, URL URL) {}
+
+ public void removeStatusListener(XStatusListener Control, URL URL) {}
+
+ private final XComponentContext context;
+
+ static final String implementationName =
+ "com.sun.star.comp.test.deployment.active_java_singleton";
+
+ static final String[] serviceNames = new String[0];
+}
diff --git a/desktop/test/deployment/active/MANIFEST.MF b/desktop/test/deployment/active/MANIFEST.MF
new file mode 100644
index 0000000000..63480874dd
--- /dev/null
+++ b/desktop/test/deployment/active/MANIFEST.MF
@@ -0,0 +1,3 @@
+Sealed: true
+RegistrationClassName: com.sun.star.comp.test.deployment.active_java.Services
+UNO-Type-Path:
diff --git a/desktop/test/deployment/active/ProtocolHandler.xcu b/desktop/test/deployment/active/ProtocolHandler.xcu
new file mode 100644
index 0000000000..017bdea72b
--- /dev/null
+++ b/desktop/test/deployment/active/ProtocolHandler.xcu
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<o:component-data xmlns:o="http://openoffice.org/2001/registry"
+ o:package="org.openoffice.Office" o:name="ProtocolHandler">
+ <node o:name="HandlerSet">
+ <node o:name="com.sun.star.test.deployment.active_native" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_native:*</value>
+ </prop>
+ </node>
+ <node o:name="com.sun.star.test.deployment.active_java" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_java:*</value>
+ </prop>
+ </node>
+ <node o:name="com.sun.star.test.deployment.active_python" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.active_python:*</value>
+ </prop>
+ </node>
+ </node>
+</o:component-data>
diff --git a/desktop/test/deployment/active/Provider.java b/desktop/test/deployment/active/Provider.java
new file mode 100644
index 0000000000..df31979f4b
--- /dev/null
+++ b/desktop/test/deployment/active/Provider.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.active_java;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lib.uno.helper.WeakBase;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.URL;
+
+public final class Provider extends WeakBase
+ implements XServiceInfo, XDispatchProvider
+{
+ public Provider(XComponentContext context) {
+ this.context = context;
+ }
+
+ public String getImplementationName() { return implementationName; }
+
+ public boolean supportsService(String ServiceName) {
+ return ServiceName.equals(getSupportedServiceNames()[0]); //TODO
+ }
+
+ public String[] getSupportedServiceNames() {
+ return serviceNames;
+ }
+
+ public XDispatch queryDispatch(
+ URL URL, String TargetFrameName, int SearchFlags)
+ {
+ return UnoRuntime.queryInterface(
+ XDispatch.class,
+ context.getValueByName(
+ "/singletons/" +
+ "com.sun.star.test.deployment.active_java_singleton"));
+ }
+
+ public XDispatch[] queryDispatches(DispatchDescriptor[] Requests) {
+ XDispatch[] s = new XDispatch[Requests.length];
+ for (int i = 0; i < s.length; ++i) {
+ s[i] = queryDispatch(
+ Requests[i].FeatureURL, Requests[i].FrameName,
+ Requests[i].SearchFlags);
+ }
+ return s;
+ }
+
+ private final XComponentContext context;
+
+ static final String implementationName =
+ "com.sun.star.comp.test.deployment.active_java";
+
+ static final String[] serviceNames = new String[] {
+ "com.sun.star.test.deployment.active_java" };
+}
diff --git a/desktop/test/deployment/active/Services.java b/desktop/test/deployment/active/Services.java
new file mode 100644
index 0000000000..4ea19f4b7a
--- /dev/null
+++ b/desktop/test/deployment/active/Services.java
@@ -0,0 +1,72 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.active_java;
+
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.lib.uno.helper.Factory;
+import com.sun.star.registry.InvalidRegistryException;
+import com.sun.star.registry.XRegistryKey;
+
+public final class Services {
+ private Services() {}
+
+ public static XSingleComponentFactory __getComponentFactory(
+ String implementation)
+ {
+ if (implementation.equals(Dispatch.implementationName)) {
+ return Factory.createComponentFactory(
+ Dispatch.class, Dispatch.implementationName,
+ Dispatch.serviceNames);
+ } else if (implementation.equals(Provider.implementationName)) {
+ return Factory.createComponentFactory(
+ Provider.class, Provider.implementationName,
+ Provider.serviceNames);
+ } else {
+ return null;
+ }
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey key) {
+ if (!(Factory.writeRegistryServiceInfo(
+ Dispatch.implementationName, Dispatch.serviceNames, key) &&
+ Factory.writeRegistryServiceInfo(
+ Provider.implementationName, Provider.serviceNames, key)))
+ {
+ return false;
+ }
+ try {
+ key.
+ createKey(
+ "/" + Dispatch.implementationName +
+ "/UNO/SINGLETONS/" +
+ "com.sun.star.test.deployment.active_java_singleton").
+ setStringValue(Dispatch.implementationName);
+ } catch (InvalidRegistryException e) {
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/desktop/test/deployment/active/active_native.cxx b/desktop/test/deployment/active/active_native.cxx
new file mode 100644
index 0000000000..a34d8de88a
--- /dev/null
+++ b/desktop/test/deployment/active/active_native.cxx
@@ -0,0 +1,320 @@
+/*************************************************************************
+*
+* 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_desktop.hxx"
+#include "sal/config.h"
+
+#include "boost/noncopyable.hpp"
+#include "com/sun/star/awt/MessageBoxButtons.hpp"
+#include "com/sun/star/awt/Rectangle.hpp"
+#include "com/sun/star/awt/XMessageBox.hpp"
+#include "com/sun/star/awt/XMessageBoxFactory.hpp"
+#include "com/sun/star/awt/XWindowPeer.hpp"
+#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/frame/DispatchDescriptor.hpp"
+#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/XDispatch.hpp"
+#include "com/sun/star/frame/XDispatchProvider.hpp"
+#include "com/sun/star/frame/XFrame.hpp"
+#include "com/sun/star/frame/XStatusListener.hpp"
+#include "com/sun/star/lang/XComponent.hpp"
+#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/lang/XServiceInfo.hpp"
+#include "com/sun/star/registry/XRegistryKey.hpp"
+#include "com/sun/star/uno/DeploymentException.hpp"
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "com/sun/star/util/URL.hpp"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "cppuhelper/weak.hxx"
+#include "osl/diagnose.h"
+#include "rtl/textenc.h"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+#include "uno/lbnames.h"
+
+namespace {
+
+namespace css = com::sun::star;
+
+class Provider:
+ public cppu::WeakImplHelper2<
+ css::lang::XServiceInfo, css::frame::XDispatchProvider >,
+ private boost::noncopyable
+{
+public:
+ static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create(
+ css::uno::Reference< css::uno::XComponentContext > const & xContext)
+ SAL_THROW((css::uno::Exception))
+ { return static_cast< cppu::OWeakObject * >(new Provider(xContext)); }
+
+ static rtl::OUString SAL_CALL static_getImplementationName();
+
+ static css::uno::Sequence< rtl::OUString > SAL_CALL
+ static_getSupportedServiceNames();
+
+private:
+ Provider(
+ css::uno::Reference< css::uno::XComponentContext > const & context):
+ context_(context) { OSL_ASSERT(context.is()); }
+
+ virtual ~Provider() {}
+
+ virtual rtl::OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException)
+ { return static_getImplementationName(); }
+
+ virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName)
+ throw (css::uno::RuntimeException)
+ { return ServiceName == getSupportedServiceNames()[0]; } //TODO
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (css::uno::RuntimeException)
+ { return static_getSupportedServiceNames(); }
+
+ virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(
+ css::util::URL const &, rtl::OUString const &, sal_Int32)
+ throw (css::uno::RuntimeException);
+
+ virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
+ SAL_CALL queryDispatches(
+ css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
+ throw (css::uno::RuntimeException);
+
+ css::uno::Reference< css::uno::XComponentContext > context_;
+};
+
+rtl::OUString Provider::static_getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.comp.test.deployment.active_native"));
+}
+
+css::uno::Sequence< rtl::OUString > Provider::static_getSupportedServiceNames()
+{
+ rtl::OUString name(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.test.deployment.active_native"));
+ return css::uno::Sequence< rtl::OUString >(&name, 1);
+}
+
+css::uno::Reference< css::frame::XDispatch > Provider::queryDispatch(
+ css::util::URL const &, rtl::OUString const &, sal_Int32)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Reference< css::frame::XDispatch > dispatch;
+ if (!(context_->getValueByName(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "/singletons/com.sun.star.test.deployment."
+ "active_native_singleton"))) >>=
+ dispatch) ||
+ !dispatch.is())
+ {
+ throw css::uno::DeploymentException(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "component context fails to supply singleton"
+ " com.sun.star.test.deployment.active_native_singleton of"
+ " type com.sun.star.frame.XDispatch")),
+ context_);
+ }
+ return dispatch;
+}
+
+css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
+Provider::queryDispatches(
+ css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > s(
+ Requests.getLength());
+ for (sal_Int32 i = 0; i < s.getLength(); ++i) {
+ s[i] = queryDispatch(
+ Requests[i].FeatureURL, Requests[i].FrameName,
+ Requests[i].SearchFlags);
+ }
+ return s;
+}
+
+class Dispatch:
+ public cppu::WeakImplHelper2<
+ css::lang::XServiceInfo, css::frame::XDispatch >,
+ private boost::noncopyable
+{
+public:
+ static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create(
+ css::uno::Reference< css::uno::XComponentContext > const & xContext)
+ SAL_THROW((css::uno::Exception))
+ { return static_cast< cppu::OWeakObject * >(new Dispatch(xContext)); }
+
+ static rtl::OUString SAL_CALL static_getImplementationName();
+
+ static css::uno::Sequence< rtl::OUString > SAL_CALL
+ static_getSupportedServiceNames()
+ { return css::uno::Sequence< rtl::OUString >(); }
+
+private:
+ Dispatch(
+ css::uno::Reference< css::uno::XComponentContext > const & context):
+ context_(context) { OSL_ASSERT(context.is()); }
+
+ virtual ~Dispatch() {}
+
+ virtual rtl::OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException)
+ { return static_getImplementationName(); }
+
+ virtual sal_Bool SAL_CALL supportsService(rtl::OUString const &)
+ throw (css::uno::RuntimeException)
+ { return false; } //TODO
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (css::uno::RuntimeException)
+ { return static_getSupportedServiceNames(); }
+
+ virtual void SAL_CALL dispatch(
+ css::util::URL const &,
+ css::uno::Sequence< css::beans::PropertyValue > const &)
+ throw (css::uno::RuntimeException);
+
+ virtual void SAL_CALL addStatusListener(
+ css::uno::Reference< css::frame::XStatusListener > const &,
+ css::util::URL const &)
+ throw (css::uno::RuntimeException)
+ {}
+
+ virtual void SAL_CALL removeStatusListener(
+ css::uno::Reference< css::frame::XStatusListener > const &,
+ css::util::URL const &)
+ throw (css::uno::RuntimeException)
+ {}
+
+ css::uno::Reference< css::uno::XComponentContext > context_;
+};
+
+rtl::OUString Dispatch::static_getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.comp.test.deployment.active_native_singleton"));
+}
+
+void Dispatch::dispatch(
+ css::util::URL const &,
+ css::uno::Sequence< css::beans::PropertyValue > const &)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Reference< css::lang::XMultiComponentFactory > smgr(
+ context_->getServiceManager(), css::uno::UNO_SET_THROW);
+ css::uno::Reference< css::awt::XMessageBox > box(
+ css::uno::Reference< css::awt::XMessageBoxFactory >(
+ smgr->createInstanceWithContext(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.awt.Toolkit")), context_),
+ css::uno::UNO_QUERY_THROW)->createMessageBox(
+ css::uno::Reference< css::awt::XWindowPeer >(
+ css::uno::Reference< css::frame::XFrame >(
+ css::uno::Reference< css::frame::XDesktop >(
+ smgr->createInstanceWithContext(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.frame.Desktop")),
+ context_),
+ css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
+ css::uno::UNO_SET_THROW)->getComponentWindow(),
+ css::uno::UNO_QUERY_THROW),
+ css::awt::Rectangle(),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")),
+ css::awt::MessageBoxButtons::BUTTONS_OK,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("active")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))),
+ css::uno::UNO_SET_THROW);
+ box->execute();
+ css::uno::Reference< css::lang::XComponent >(
+ box, css::uno::UNO_QUERY_THROW)->dispose();
+}
+
+static cppu::ImplementationEntry const services[] = {
+ { &Provider::static_create, &Provider::static_getImplementationName,
+ &Provider::static_getSupportedServiceNames,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { &Dispatch::static_create, &Dispatch::static_getImplementationName,
+ &Dispatch::static_getSupportedServiceNames,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { 0, 0, 0, 0, 0, 0 }
+};
+
+}
+
+extern "C" void * SAL_CALL component_getFactory(
+ char const * pImplName, void * pServiceManager, void * pRegistryKey)
+{
+ return cppu::component_getFactoryHelper(
+ pImplName, pServiceManager, pRegistryKey, services);
+}
+
+extern "C" void SAL_CALL component_getImplementationEnvironment(
+ char const ** ppEnvTypeName, uno_Environment **)
+{
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
+
+extern "C" sal_Bool SAL_CALL component_writeInfo(
+ void * pServiceManager, void * pRegistryKey)
+{
+ if (!component_writeInfoHelper(pServiceManager, pRegistryKey, services)) {
+ return false;
+ }
+ try {
+ css::uno::Reference< css::registry::XRegistryKey >(
+ (css::uno::Reference< css::registry::XRegistryKey >(
+ static_cast< css::registry::XRegistryKey * >(pRegistryKey))->
+ createKey(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/")) +
+ Dispatch::static_getImplementationName() +
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "/UNO/SINGLETONS/com.sun.star.test.deployment."
+ "active_native_singleton")))),
+ css::uno::UNO_SET_THROW)->
+ setStringValue(Dispatch::static_getImplementationName());
+ } catch (css::uno::Exception & e) {
+ (void) e;
+ OSL_TRACE(
+ "active_native component_writeInfo exception: %s",
+ rtl::OUStringToOString(e.Message, RTL_TEXTENCODING_UTF8).getStr());
+ return false;
+ }
+ return true;
+}
diff --git a/desktop/test/deployment/active/active_python.py b/desktop/test/deployment/active/active_python.py
new file mode 100644
index 0000000000..8ba0947b6b
--- /dev/null
+++ b/desktop/test/deployment/active/active_python.py
@@ -0,0 +1,120 @@
+#*************************************************************************
+#
+# 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.
+#
+#***********************************************************************/
+
+import uno
+import unohelper
+
+from com.sun.star.awt import Rectangle
+from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK
+from com.sun.star.frame import XDispatch, XDispatchProvider
+from com.sun.star.lang import XServiceInfo
+from com.sun.star.registry import InvalidRegistryException
+
+class Provider(unohelper.Base, XServiceInfo, XDispatchProvider):
+ implementationName = "com.sun.star.comp.test.deployment.active_python"
+
+ serviceNames = ("com.sun.star.test.deployment.active_python",)
+
+ def __init__(self, context):
+ self.context = context
+
+ def getImplementationName(self):
+ return self.implementationName
+
+ def supportsService(self, ServiceName):
+ return ServiceName in self.serviceNames
+
+ def getSupportedServiceNames(self):
+ return self.serviceNames
+
+ def queryDispatch(self, URL, TargetFrame, SearchFlags):
+ return self.context.getValueByName( \
+ "/singletons/com.sun.star.test.deployment.active_python_singleton")
+
+ def queryDispatches(self, Requests):
+ tuple( \
+ self.queryDispatch(i.FeatureURL, i.FrameName, i.SearchFlags) \
+ for i in Requests)
+
+class Dispatch(unohelper.Base, XServiceInfo, XDispatch):
+ implementationName = \
+ "com.sun.star.comp.test.deployment.active_python_singleton"
+
+ serviceNames = ()
+
+ def __init__(self, context):
+ self.context = context
+
+ def getImplementationName(self):
+ return self.implementationName
+
+ def supportsService(self, ServiceName):
+ return ServiceName in self.serviceNames
+
+ def getSupportedServiceNames(self):
+ return self.serviceNames
+
+ def dispatch(self, URL, Arguments):
+ smgr = self.context.getServiceManager()
+ box = smgr.createInstanceWithContext( \
+ "com.sun.star.awt.Toolkit", self.context).createMessageBox( \
+ smgr.createInstanceWithContext( \
+ "com.sun.star.frame.Desktop", self.context). \
+ getCurrentFrame().getComponentWindow(), \
+ Rectangle(), "infobox", BUTTONS_OK, "active", "python")
+ box.execute();
+ box.dispose();
+
+ def addStatusListener(self, Control, URL):
+ pass
+
+ def removeStatusListener(self, Control, URL):
+ pass
+
+def getComponentFactory(implementationName, smgr, regKey):
+ if implementationName == Provider.implementationName:
+ return unohelper.createSingleServiceFactory( \
+ Provider, Provider.implementationName, Provider.serviceNames)
+ elif implementationName == Dispatch.implementationName:
+ return unohelper.createSingleServiceFactory( \
+ Dispatch, Dispatch.implementationName, Dispatch.serviceNames)
+ else:
+ return None
+
+def writeRegistryInfo(smgr, regKey):
+ try:
+ for i in (Provider, Dispatch):
+ key = regKey.createKey("/" + i.implementationName + "/UNO")
+ for j in i.serviceNames:
+ key.createKey("/SERVICES/" + j);
+ regKey.createKey( \
+ "/" + Dispatch.implementationName + "/UNO/SINGLETONS/" \
+ "com.sun.star.test.deployment.active_python_singleton"). \
+ setStringValue(Dispatch.implementationName)
+ except InvalidRegistryException:
+ return False
+ return True
diff --git a/desktop/test/deployment/active/description.xml b/desktop/test/deployment/active/description.xml
new file mode 100644
index 0000000000..fd7049e0cc
--- /dev/null
+++ b/desktop/test/deployment/active/description.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<d:description xmlns:d="http://openoffice.org/extensions/description/2006">
+ <d:identifier
+ value="org.openoffice/framework/desktop/test/deployment/active"/>
+ <d:version value="1"/>
+ <d:dependencies>
+ <d:OpenOffice.org-minimal-version d:name="OpenOffice.org 3.4" value="3.4"/>
+ </d:dependencies>
+</d:description>
diff --git a/desktop/test/deployment/active/makefile.mk b/desktop/test/deployment/active/makefile.mk
new file mode 100644
index 0000000000..5511a39c8b
--- /dev/null
+++ b/desktop/test/deployment/active/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# 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 = desktop
+TARGET = test_deployment_active
+
+ENABLE_EXCEPTIONS = TRUE
+
+PACKAGE = com/sun/star/comp/test/deployment/active_java
+JAVAFILES = Dispatch.java Provider.java Services.java
+JARFILES = juh.jar ridl.jar unoil.jar
+
+.INCLUDE: settings.mk
+
+DLLPRE =
+
+SLOFILES = $(SHL1OBJS)
+
+SHL1TARGET = active_native.uno
+SHL1OBJS = $(SLO)/active_native.obj
+SHL1RPATH = OXT
+SHL1STDLIBS = $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB)
+SHL1VERSIONMAP = $(SOLARENV)/src/reg-component.map
+DEF1NAME = $(SHL1TARGET)
+
+.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/active.oxt
+
+$(MISC)/active.oxt : manifest.xml description.xml Addons.xcu \
+ ProtocolHandler.xcu $(SHL1TARGETN) $(MISC)/$(TARGET)/active_java.jar \
+ active_python.py
+ $(RM) $@
+ $(RM) -r $(MISC)/$(TARGET)/active.oxt-zip
+ $(MKDIR) $(MISC)/$(TARGET)/active.oxt-zip
+ $(MKDIRHIER) $(MISC)/$(TARGET)/active.oxt-zip/META-INF
+ $(SED) -e 's|@PATH@|$(SHL1TARGETN:f)|g' \
+ -e 's|@PLATFORM@|$(RTL_OS:l)_$(RTL_ARCH:l)|g' < manifest.xml \
+ > $(MISC)/$(TARGET)/active.oxt-zip/META-INF/manifest.xml
+ $(COPY) description.xml Addons.xcu ProtocolHandler.xcu $(SHL1TARGETN) \
+ $(MISC)/$(TARGET)/active_java.jar active_python.py \
+ $(MISC)/$(TARGET)/active.oxt-zip/
+ cd $(MISC)/$(TARGET)/active.oxt-zip && zip ../../active.oxt \
+ META-INF/manifest.xml description.xml Addons.xcu ProtocolHandler.xcu \
+ $(SHL1TARGETN:f) active_java.jar active_python.py
+
+$(MISC)/$(TARGET)/active_java.jar : MANIFEST.MF $(JAVATARGET)
+ $(MKDIRHIER) $(@:d)
+ $(RM) $@
+ $(RM) -r $(MISC)/$(TARGET)/active_java.jar-zip
+ $(MKDIR) $(MISC)/$(TARGET)/active_java.jar-zip
+ $(MKDIRHIER) $(MISC)/$(TARGET)/active_java.jar-zip/META-INF \
+ $(MISC)/$(TARGET)/active_java.jar-zip/$(PACKAGE)
+ $(COPY) MANIFEST.MF $(MISC)/$(TARGET)/active_java.jar-zip/META-INF/
+ $(COPY) $(foreach,i,$(JAVAFILES:b) $(CLASSDIR)/$(PACKAGE)/$i.class) \
+ $(MISC)/$(TARGET)/active_java.jar-zip/$(PACKAGE)/
+ cd $(MISC)/$(TARGET)/active_java.jar-zip && zip ../active_java.jar \
+ META-INF/MANIFEST.MF $(foreach,i,$(JAVAFILES:b) $(PACKAGE)/$i.class)
diff --git a/desktop/test/deployment/active/manifest.xml b/desktop/test/deployment/active/manifest.xml
new file mode 100644
index 0000000000..4f07669666
--- /dev/null
+++ b/desktop/test/deployment/active/manifest.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<m:manifest xmlns:m="http://openoffice.org/2001/manifest">
+ <m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
+ m:full-path="Addons.xcu"/>
+ <m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
+ m:full-path="ProtocolHandler.xcu"/>
+ <m:file-entry
+ m:media-type="application/vnd.sun.star.uno-component;type=native;platform=@PLATFORM@"
+ m:full-path="@PATH@"/>
+ <m:file-entry
+ m:media-type="application/vnd.sun.star.uno-component;type=Java"
+ m:full-path="active_java.jar"/>
+ <m:file-entry
+ m:media-type="application/vnd.sun.star.uno-component;type=Python"
+ m:full-path="active_python.py"/>
+</m:manifest>
diff --git a/desktop/test/deployment/boxt/boxt.cxx b/desktop/test/deployment/boxt/boxt.cxx
index dc82c0c004..245617a2ad 100644
--- a/desktop/test/deployment/boxt/boxt.cxx
+++ b/desktop/test/deployment/boxt/boxt.cxx
@@ -35,8 +35,6 @@
#include "com/sun/star/frame/XDispatchProvider.hpp"
#include "com/sun/star/frame/XStatusListener.hpp"
#include "com/sun/star/lang/XServiceInfo.hpp"
-#include "com/sun/star/lang/XSingleComponentFactory.hpp"
-#include "com/sun/star/uno/Any.hxx"
#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/RuntimeException.hpp"
@@ -45,7 +43,6 @@
#include "com/sun/star/uno/XInterface.hpp"
#include "com/sun/star/util/URL.hpp"
#include "cppuhelper/factory.hxx"
-#include "cppuhelper/implbase1.hxx"
#include "cppuhelper/implbase3.hxx"
#include "cppuhelper/implementationentry.hxx"
#include "cppuhelper/weak.hxx"
@@ -61,21 +58,6 @@ namespace {
namespace css = com::sun::star;
-namespace service {
-
-rtl::OUString getImplementationName() {
- return rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.test.deployment.boxt"));
-}
-
-css::uno::Sequence< rtl::OUString > getSupportedServiceNames() {
- rtl::OUString name(
- RTL_CONSTASCII_USTRINGPARAM("com.sun.star.test.deployment.boxt"));
- return css::uno::Sequence< rtl::OUString >(&name, 1);
-}
-
-}
-
class Service:
public cppu::WeakImplHelper3<
css::lang::XServiceInfo, css::frame::XDispatchProvider,
@@ -83,14 +65,24 @@ class Service:
private boost::noncopyable
{
public:
- Service() {}
+ static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create(
+ css::uno::Reference< css::uno::XComponentContext > const &)
+ SAL_THROW((css::uno::Exception))
+ { return static_cast< cppu::OWeakObject * >(new Service); }
+
+ static rtl::OUString SAL_CALL static_getImplementationName();
+
+ static css::uno::Sequence< rtl::OUString > SAL_CALL
+ static_getSupportedServiceNames();
private:
+ Service() {}
+
virtual ~Service() {}
virtual rtl::OUString SAL_CALL getImplementationName()
throw (css::uno::RuntimeException)
- { return service::getImplementationName(); }
+ { return static_getImplementationName(); }
virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName)
throw (css::uno::RuntimeException)
@@ -98,7 +90,7 @@ private:
virtual css::uno::Sequence< rtl::OUString > SAL_CALL
getSupportedServiceNames() throw (css::uno::RuntimeException)
- { return service::getSupportedServiceNames(); }
+ { return static_getSupportedServiceNames(); }
virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(
css::util::URL const &, rtl::OUString const &, sal_Int32)
@@ -128,6 +120,17 @@ private:
{}
};
+rtl::OUString Service::static_getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.test.deployment.boxt"));
+}
+
+css::uno::Sequence< rtl::OUString > Service::static_getSupportedServiceNames() {
+ rtl::OUString name(
+ RTL_CONSTASCII_USTRINGPARAM("com.sun.star.test.deployment.boxt"));
+ return css::uno::Sequence< rtl::OUString >(&name, 1);
+}
+
css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
Service::queryDispatches(
css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
@@ -155,61 +158,10 @@ void Service::dispatch(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("test")));
}
-class Factory:
- public cppu::WeakImplHelper1< css::lang::XSingleComponentFactory >,
- private boost::noncopyable
-{
-public:
- Factory() {}
-
-private:
- virtual ~Factory() {}
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithContext(
- css::uno::Reference< css::uno::XComponentContext > const &)
- throw (css::uno::Exception, css::uno::RuntimeException)
- { return static_cast< cppu::OWeakObject * >(new Service); }
-
- virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
- createInstanceWithArgumentsAndContext(
- css::uno::Sequence< css::uno::Any > const &,
- css::uno::Reference< css::uno::XComponentContext > const & Context)
- throw (css::uno::Exception, css::uno::RuntimeException)
- { return createInstanceWithContext(Context); }
-};
-
-css::uno::Reference< css::uno::XInterface > SAL_CALL dummy(
- css::uno::Reference< css::uno::XComponentContext > const &)
- SAL_THROW((css::uno::Exception))
-{
- OSL_ASSERT(false);
- return css::uno::Reference< css::uno::XInterface >();
-}
-
-rtl::OUString SAL_CALL getImplementationName() {
- return rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.test.deployment.boxt"));
-}
-
-css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() {
- rtl::OUString name(
- RTL_CONSTASCII_USTRINGPARAM("com.sun.star.test.deployment.boxt"));
- return css::uno::Sequence< rtl::OUString >(&name, 1);
-}
-
-css::uno::Reference< css::lang::XSingleComponentFactory > SAL_CALL
-createFactory(
- cppu::ComponentFactoryFunc, rtl::OUString const &,
- css::uno::Sequence< rtl::OUString > const &, rtl_ModuleCount *)
- SAL_THROW(())
-{
- return new Factory;
-}
-
static cppu::ImplementationEntry const services[] = {
- { &dummy, &service::getImplementationName,
- &service::getSupportedServiceNames, &createFactory, 0, 0 },
+ { &Service::static_create, &Service::static_getImplementationName,
+ &Service::static_getSupportedServiceNames,
+ &cppu::createSingleComponentFactory, 0, 0 },
{ 0, 0, 0, 0, 0, 0 }
};
diff --git a/desktop/test/deployment/boxt/makefile.mk b/desktop/test/deployment/boxt/makefile.mk
index 11d736448d..88e72aef4a 100644
--- a/desktop/test/deployment/boxt/makefile.mk
+++ b/desktop/test/deployment/boxt/makefile.mk
@@ -46,7 +46,7 @@ SHL1OBJS = $(SLO)/boxt.obj
SHL1RPATH = BOXT
SHL1STDLIBS = \
$(CPPUHELPERLIB) $(CPPULIB) $(MSFILTERLIB) $(SALLIB) $(TOOLSLIB) $(VCLLIB)
-SHL1VERSIONMAP = $(SOLARENV)/src/component.map
+SHL1VERSIONMAP = $(SOLARENV)/src/reg-component.map
DEF1NAME = $(SHL1TARGET)
.INCLUDE: target.mk
diff --git a/desktop/test/deployment/locationtest/makefile.mk b/desktop/test/deployment/locationtest/makefile.mk
index 8fe1897919..24be56c28d 100644
--- a/desktop/test/deployment/locationtest/makefile.mk
+++ b/desktop/test/deployment/locationtest/makefile.mk
@@ -80,5 +80,8 @@ $(MISC)$/$(TARGET)_resort : manifest.xml $(JARTARGETN) $(MISC)$/$(ZIP1TARGET).cr
$(COPY) description.xml $(MISC)$/$(TARGET)$/description.xml
$(TOUCH) $@
+.IF "$(ZIP1TARGETN)"!=""
$(ZIP1TARGETN) : $(MISC)$/$(TARGET)_resort $(MISC)$/$(ZIP1TARGET).createdir
+.ENDIF # "$(ZIP1TARGETN)"!=""
+
diff --git a/desktop/test/deployment/passive/Addons.xcu b/desktop/test/deployment/passive/Addons.xcu
new file mode 100644
index 0000000000..61578d7426
--- /dev/null
+++ b/desktop/test/deployment/passive/Addons.xcu
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<o:component-data xmlns:o="http://openoffice.org/2001/registry"
+ o:package="org.openoffice.Office" o:name="Addons">
+ <node o:name="AddonUI">
+ <node o:name="OfficeMenuBar">
+ <node o:name="org.openoffice.test.desktop.deployment.passive"
+ o:op="replace">
+ <prop o:name="Title" xml:lang="en-US">
+ <value>passive</value>
+ </prop>
+ <node o:name="Submenu">
+ <node o:name="1" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_native:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>native</value>
+ </prop>
+ </node>
+ <node o:name="2" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_java:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>java</value>
+ </prop>
+ </node>
+ <node o:name="3" o:op="replace">
+ <prop o:name="URL">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_python:</value>
+ </prop>
+ <prop o:name="Title" xml:lang="en-US">
+ <value>python</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+ </node>
+ </node>
+</o:component-data>
diff --git a/desktop/test/deployment/passive/Dispatch.java b/desktop/test/deployment/passive/Dispatch.java
new file mode 100644
index 0000000000..295f34d599
--- /dev/null
+++ b/desktop/test/deployment/passive/Dispatch.java
@@ -0,0 +1,101 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.passive_java;
+
+import com.sun.star.awt.MessageBoxButtons;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XMessageBox;
+import com.sun.star.awt.XMessageBoxFactory;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XStatusListener;
+import com.sun.star.lang.WrappedTargetRuntimeException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lib.uno.helper.WeakBase;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.URL;
+
+public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch
+{
+ public Dispatch(XComponentContext context) {
+ this.context = context;
+ }
+
+ public String getImplementationName() { return implementationName; }
+
+ public boolean supportsService(String ServiceName) {
+ return false; //TODO
+ }
+
+ public String[] getSupportedServiceNames() {
+ return serviceNames;
+ }
+
+ public void dispatch(URL URL, PropertyValue[] Arguments) {
+ try {
+ XMultiComponentFactory smgr = UnoRuntime.queryInterface(
+ XMultiComponentFactory.class, context.getServiceManager());
+ XMessageBox box = UnoRuntime.queryInterface(
+ XMessageBoxFactory.class,
+ smgr.createInstanceWithContext(
+ "com.sun.star.awt.Toolkit", context)).
+ createMessageBox(
+ UnoRuntime.queryInterface(
+ XWindowPeer.class,
+ (UnoRuntime.queryInterface(
+ XDesktop.class,
+ smgr.createInstanceWithContext(
+ "com.sun.star.frame.Desktop", context)).
+ getCurrentFrame().getComponentWindow())),
+ new Rectangle(), "infobox", MessageBoxButtons.BUTTONS_OK,
+ "passive", "java");
+ box.execute();
+ UnoRuntime.queryInterface(XComponent.class, box).dispose();
+ } catch (com.sun.star.uno.RuntimeException e) {
+ throw e;
+ } catch (com.sun.star.uno.Exception e) {
+ throw new WrappedTargetRuntimeException(
+ "wrapped: " + e.getMessage(), this, e);
+ }
+ }
+
+ public void addStatusListener(XStatusListener Control, URL URL) {}
+
+ public void removeStatusListener(XStatusListener Control, URL URL) {}
+
+ private final XComponentContext context;
+
+ static final String implementationName =
+ "com.sun.star.comp.test.deployment.passive_java_singleton";
+
+ static final String[] serviceNames = new String[0];
+}
diff --git a/desktop/test/deployment/passive/MANIFEST.MF b/desktop/test/deployment/passive/MANIFEST.MF
new file mode 100644
index 0000000000..45a04bf263
--- /dev/null
+++ b/desktop/test/deployment/passive/MANIFEST.MF
@@ -0,0 +1,3 @@
+Sealed: true
+RegistrationClassName: com.sun.star.comp.test.deployment.passive_java.Services
+UNO-Type-Path:
diff --git a/desktop/test/deployment/passive/ProtocolHandler.xcu b/desktop/test/deployment/passive/ProtocolHandler.xcu
new file mode 100644
index 0000000000..bc0355be41
--- /dev/null
+++ b/desktop/test/deployment/passive/ProtocolHandler.xcu
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<o:component-data xmlns:o="http://openoffice.org/2001/registry"
+ o:package="org.openoffice.Office" o:name="ProtocolHandler">
+ <node o:name="HandlerSet">
+ <node o:name="com.sun.star.test.deployment.passive_native" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_native:*</value>
+ </prop>
+ </node>
+ <node o:name="com.sun.star.test.deployment.passive_java" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_java:*</value>
+ </prop>
+ </node>
+ <node o:name="com.sun.star.test.deployment.passive_python" o:op="replace">
+ <prop o:name="Protocols">
+ <value>vnd.org.openoffice.test.desktop.deployment.passive_python:*</value>
+ </prop>
+ </node>
+ </node>
+</o:component-data>
diff --git a/desktop/test/deployment/passive/Provider.java b/desktop/test/deployment/passive/Provider.java
new file mode 100644
index 0000000000..6f74ed9eb8
--- /dev/null
+++ b/desktop/test/deployment/passive/Provider.java
@@ -0,0 +1,81 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.passive_java;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lib.uno.helper.WeakBase;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.URL;
+
+public final class Provider extends WeakBase
+ implements XServiceInfo, XDispatchProvider
+{
+ public Provider(XComponentContext context) {
+ this.context = context;
+ }
+
+ public String getImplementationName() { return implementationName; }
+
+ public boolean supportsService(String ServiceName) {
+ return ServiceName.equals(getSupportedServiceNames()[0]); //TODO
+ }
+
+ public String[] getSupportedServiceNames() {
+ return serviceNames;
+ }
+
+ public XDispatch queryDispatch(
+ URL URL, String TargetFrameName, int SearchFlags)
+ {
+ return UnoRuntime.queryInterface(
+ XDispatch.class,
+ context.getValueByName(
+ "/singletons/" +
+ "com.sun.star.test.deployment.passive_java_singleton"));
+ }
+
+ public XDispatch[] queryDispatches(DispatchDescriptor[] Requests) {
+ XDispatch[] s = new XDispatch[Requests.length];
+ for (int i = 0; i < s.length; ++i) {
+ s[i] = queryDispatch(
+ Requests[i].FeatureURL, Requests[i].FrameName,
+ Requests[i].SearchFlags);
+ }
+ return s;
+ }
+
+ private final XComponentContext context;
+
+ static final String implementationName =
+ "com.sun.star.comp.test.deployment.passive_java";
+
+ static final String[] serviceNames = new String[] {
+ "com.sun.star.test.deployment.passive_java" };
+}
diff --git a/desktop/test/deployment/passive/Services.java b/desktop/test/deployment/passive/Services.java
new file mode 100644
index 0000000000..799df3e702
--- /dev/null
+++ b/desktop/test/deployment/passive/Services.java
@@ -0,0 +1,49 @@
+/*************************************************************************
+* 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.
+************************************************************************/
+
+package com.sun.star.comp.test.deployment.passive_java;
+
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.lib.uno.helper.Factory;
+
+public final class Services {
+ private Services() {}
+
+ public static XSingleComponentFactory __getComponentFactory(
+ String implementation)
+ {
+ if (implementation.equals(Dispatch.implementationName)) {
+ return Factory.createComponentFactory(
+ Dispatch.class, Dispatch.implementationName,
+ Dispatch.serviceNames);
+ } else if (implementation.equals(Provider.implementationName)) {
+ return Factory.createComponentFactory(
+ Provider.class, Provider.implementationName,
+ Provider.serviceNames);
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/desktop/test/deployment/passive/description.xml b/desktop/test/deployment/passive/description.xml
new file mode 100644
index 0000000000..468dfa065f
--- /dev/null
+++ b/desktop/test/deployment/passive/description.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<d:description xmlns:d="http://openoffice.org/extensions/description/2006">
+ <d:identifier
+ value="org.openoffice/framework/desktop/test/deployment/passive"/>
+ <d:version value="1"/>
+ <d:dependencies>
+ <d:OpenOffice.org-minimal-version d:name="OpenOffice.org 3.4" value="3.4"/>
+ </d:dependencies>
+</d:description>
diff --git a/desktop/test/deployment/passive/makefile.mk b/desktop/test/deployment/passive/makefile.mk
new file mode 100644
index 0000000000..019e5dcab8
--- /dev/null
+++ b/desktop/test/deployment/passive/makefile.mk
@@ -0,0 +1,136 @@
+#*************************************************************************
+#
+# 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 = desktop
+TARGET = test_deployment_passive
+
+ENABLE_EXCEPTIONS = TRUE
+
+PACKAGE = com/sun/star/comp/test/deployment/passive_java
+JAVAFILES = Dispatch.java Provider.java Services.java
+JARFILES = juh.jar ridl.jar unoil.jar
+
+my_platform_components = passive_native
+my_generic_components = passive_java passive_python
+
+.INCLUDE: settings.mk
+
+DLLPRE =
+
+SLOFILES = $(SHL1OBJS)
+
+SHL1TARGET = passive_native.uno
+SHL1OBJS = $(SLO)/passive_native.obj
+SHL1RPATH = OXT
+SHL1STDLIBS = $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB)
+SHL1VERSIONMAP = $(SOLARENV)/src/component.map
+DEF1NAME = $(SHL1TARGET)
+
+.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/passive.oxt
+
+$(MISC)/passive.oxt : manifest.xml description.xml Addons.xcu \
+ ProtocolHandler.xcu $(MISC)/$(TARGET)/platform.components \
+ $(MISC)/$(TARGET)/generic.components $(SHL1TARGETN) \
+ $(MISC)/$(TARGET)/passive_java.jar passive_python.py
+ $(RM) $@
+ $(RM) -r $(MISC)/$(TARGET)/passive.oxt-zip
+ $(MKDIR) $(MISC)/$(TARGET)/passive.oxt-zip
+ $(MKDIRHIER) $(MISC)/$(TARGET)/passive.oxt-zip/META-INF
+ $(SED) -e 's|@PLATFORM@|$(RTL_OS:l)_$(RTL_ARCH:l)|g' < manifest.xml \
+ > $(MISC)/$(TARGET)/passive.oxt-zip/META-INF/manifest.xml
+ $(COPY) description.xml Addons.xcu ProtocolHandler.xcu \
+ $(MISC)/$(TARGET)/platform.components \
+ $(MISC)/$(TARGET)/generic.components $(SHL1TARGETN) \
+ $(MISC)/$(TARGET)/passive_java.jar passive_python.py \
+ $(MISC)/$(TARGET)/passive.oxt-zip/
+ cd $(MISC)/$(TARGET)/passive.oxt-zip && zip ../../passive.oxt \
+ META-INF/manifest.xml description.xml Addons.xcu ProtocolHandler.xcu \
+ platform.components generic.components $(SHL1TARGETN:f) \
+ passive_java.jar passive_python.py
+
+$(MISC)/$(TARGET)/platform.components : $(SOLARENV)/bin/packcomponents.xslt \
+ $(MISC)/$(TARGET)/platform.components.input \
+ $(my_platform_components:^"$(MISC)/$(TARGET)/":+".component")
+ $(XSLTPROC) --nonet --stringparam prefix $(PWD)/$(MISC)/$(TARGET)/ -o $@ \
+ $(SOLARENV)/bin/packcomponents.xslt \
+ $(MISC)/$(TARGET)/platform.components.input
+
+$(MISC)/$(TARGET)/platform.components.input :
+ $(MKDIRHIER) $(@:d)
+ echo '<list>' \
+ '$(my_platform_components:^"<filename>":+".component</filename>")' \
+ '</list>' > $@
+
+$(MISC)/$(TARGET)/generic.components : $(SOLARENV)/bin/packcomponents.xslt \
+ $(MISC)/$(TARGET)/generic.components.input \
+ $(my_generic_components:^"$(MISC)/$(TARGET)/":+".component")
+ $(XSLTPROC) --nonet --stringparam prefix $(PWD)/$(MISC)/$(TARGET)/ -o $@ \
+ $(SOLARENV)/bin/packcomponents.xslt \
+ $(MISC)/$(TARGET)/generic.components.input
+
+$(MISC)/$(TARGET)/generic.components.input :
+ $(MKDIRHIER) $(@:d)
+ echo '<list>' \
+ '$(my_generic_components:^"<filename>":+".component</filename>")' \
+ '</list>' > $@
+
+$(MISC)/$(TARGET)/passive_native.component : \
+ $(SOLARENV)/bin/createcomponent.xslt passive_native.component
+ $(MKDIRHIER) $(@:d)
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_EXTENSION)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt passive_native.component
+
+$(MISC)/$(TARGET)/passive_java.component : \
+ $(SOLARENV)/bin/createcomponent.xslt passive_java.component
+ $(MKDIRHIER) $(@:d)
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_EXTENSION)passive_java.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt passive_java.component
+
+$(MISC)/$(TARGET)/passive_python.component : \
+ $(SOLARENV)/bin/createcomponent.xslt passive_python.component
+ $(MKDIRHIER) $(@:d)
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_EXTENSION)passive_python.py' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt passive_python.component
+
+$(MISC)/$(TARGET)/passive_java.jar : MANIFEST.MF $(JAVATARGET)
+ $(MKDIRHIER) $(@:d)
+ $(RM) $@
+ $(RM) -r $(MISC)/$(TARGET)/passive_java.jar-zip
+ $(MKDIR) $(MISC)/$(TARGET)/passive_java.jar-zip
+ $(MKDIRHIER) $(MISC)/$(TARGET)/passive_java.jar-zip/META-INF \
+ $(MISC)/$(TARGET)/passive_java.jar-zip/$(PACKAGE)
+ $(COPY) MANIFEST.MF $(MISC)/$(TARGET)/passive_java.jar-zip/META-INF/
+ $(COPY) $(foreach,i,$(JAVAFILES:b) $(CLASSDIR)/$(PACKAGE)/$i.class) \
+ $(MISC)/$(TARGET)/passive_java.jar-zip/$(PACKAGE)/
+ cd $(MISC)/$(TARGET)/passive_java.jar-zip && zip ../passive_java.jar \
+ META-INF/MANIFEST.MF $(foreach,i,$(JAVAFILES:b) $(PACKAGE)/$i.class)
diff --git a/desktop/test/deployment/passive/manifest.xml b/desktop/test/deployment/passive/manifest.xml
new file mode 100644
index 0000000000..5b8ac8419b
--- /dev/null
+++ b/desktop/test/deployment/passive/manifest.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<m:manifest xmlns:m="http://openoffice.org/2001/manifest">
+ <m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
+ m:full-path="Addons.xcu"/>
+ <m:file-entry m:media-type="application/vnd.sun.star.configuration-data"
+ m:full-path="ProtocolHandler.xcu"/>
+ <m:file-entry
+ m:media-type="application/vnd.sun.star.uno-components;platform=@PLATFORM@"
+ m:full-path="platform.components"/>
+ <m:file-entry
+ m:media-type="application/vnd.sun.star.uno-components"
+ m:full-path="generic.components"/>
+</m:manifest>
diff --git a/desktop/test/deployment/passive/passive_java.component b/desktop/test/deployment/passive/passive_java.component
new file mode 100644
index 0000000000..74be57177d
--- /dev/null
+++ b/desktop/test/deployment/passive/passive_java.component
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.test.deployment.passive_java">
+ <service name="com.sun.star.test.deployment.passive_java"/>
+ </implementation>
+ <implementation
+ name="com.sun.star.comp.test.deployment.passive_java_singleton">
+ <singleton name="com.sun.star.test.deployment.passive_java_singleton"/>
+ </implementation>
+</component>
diff --git a/desktop/test/deployment/passive/passive_native.component b/desktop/test/deployment/passive/passive_native.component
new file mode 100644
index 0000000000..c14fd7ff00
--- /dev/null
+++ b/desktop/test/deployment/passive/passive_native.component
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.test.deployment.passive_native">
+ <service name="com.sun.star.test.deployment.passive_native"/>
+ </implementation>
+ <implementation
+ name="com.sun.star.comp.test.deployment.passive_native_singleton">
+ <singleton name="com.sun.star.test.deployment.passive_native_singleton"/>
+ </implementation>
+</component>
diff --git a/desktop/test/deployment/passive/passive_native.cxx b/desktop/test/deployment/passive/passive_native.cxx
new file mode 100644
index 0000000000..39101257ad
--- /dev/null
+++ b/desktop/test/deployment/passive/passive_native.cxx
@@ -0,0 +1,289 @@
+/*************************************************************************
+*
+* 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_desktop.hxx"
+#include "sal/config.h"
+
+#include "boost/noncopyable.hpp"
+#include "com/sun/star/awt/MessageBoxButtons.hpp"
+#include "com/sun/star/awt/Rectangle.hpp"
+#include "com/sun/star/awt/XMessageBox.hpp"
+#include "com/sun/star/awt/XMessageBoxFactory.hpp"
+#include "com/sun/star/awt/XWindowPeer.hpp"
+#include "com/sun/star/beans/PropertyValue.hpp"
+#include "com/sun/star/frame/DispatchDescriptor.hpp"
+#include "com/sun/star/frame/XDesktop.hpp"
+#include "com/sun/star/frame/XDispatch.hpp"
+#include "com/sun/star/frame/XDispatchProvider.hpp"
+#include "com/sun/star/frame/XFrame.hpp"
+#include "com/sun/star/frame/XStatusListener.hpp"
+#include "com/sun/star/lang/XComponent.hpp"
+#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/lang/XServiceInfo.hpp"
+#include "com/sun/star/uno/DeploymentException.hpp"
+#include "com/sun/star/uno/Exception.hpp"
+#include "com/sun/star/uno/Reference.hxx"
+#include "com/sun/star/uno/RuntimeException.hpp"
+#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "com/sun/star/uno/XInterface.hpp"
+#include "com/sun/star/util/URL.hpp"
+#include "cppuhelper/factory.hxx"
+#include "cppuhelper/implbase2.hxx"
+#include "cppuhelper/implementationentry.hxx"
+#include "cppuhelper/weak.hxx"
+#include "osl/diagnose.h"
+#include "rtl/ustring.h"
+#include "rtl/ustring.hxx"
+#include "sal/types.h"
+#include "uno/lbnames.h"
+
+namespace {
+
+namespace css = com::sun::star;
+
+class Provider:
+ public cppu::WeakImplHelper2<
+ css::lang::XServiceInfo, css::frame::XDispatchProvider >,
+ private boost::noncopyable
+{
+public:
+ static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create(
+ css::uno::Reference< css::uno::XComponentContext > const & xContext)
+ SAL_THROW((css::uno::Exception))
+ { return static_cast< cppu::OWeakObject * >(new Provider(xContext)); }
+
+ static rtl::OUString SAL_CALL static_getImplementationName();
+
+ static css::uno::Sequence< rtl::OUString > SAL_CALL
+ static_getSupportedServiceNames();
+
+private:
+ Provider(
+ css::uno::Reference< css::uno::XComponentContext > const & context):
+ context_(context) { OSL_ASSERT(context.is()); }
+
+ virtual ~Provider() {}
+
+ virtual rtl::OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException)
+ { return static_getImplementationName(); }
+
+ virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName)
+ throw (css::uno::RuntimeException)
+ { return ServiceName == getSupportedServiceNames()[0]; } //TODO
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (css::uno::RuntimeException)
+ { return static_getSupportedServiceNames(); }
+
+ virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(
+ css::util::URL const &, rtl::OUString const &, sal_Int32)
+ throw (css::uno::RuntimeException);
+
+ virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
+ SAL_CALL queryDispatches(
+ css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
+ throw (css::uno::RuntimeException);
+
+ css::uno::Reference< css::uno::XComponentContext > context_;
+};
+
+rtl::OUString Provider::static_getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.comp.test.deployment.passive_native"));
+}
+
+css::uno::Sequence< rtl::OUString > Provider::static_getSupportedServiceNames()
+{
+ rtl::OUString name(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.test.deployment.passive_native"));
+ return css::uno::Sequence< rtl::OUString >(&name, 1);
+}
+
+css::uno::Reference< css::frame::XDispatch > Provider::queryDispatch(
+ css::util::URL const &, rtl::OUString const &, sal_Int32)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Reference< css::frame::XDispatch > dispatch;
+ if (!(context_->getValueByName(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "/singletons/com.sun.star.test.deployment."
+ "passive_native_singleton"))) >>=
+ dispatch) ||
+ !dispatch.is())
+ {
+ throw css::uno::DeploymentException(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "component context fails to supply singleton"
+ " com.sun.star.test.deployment.passive_native_singleton of"
+ " type com.sun.star.frame.XDispatch")),
+ context_);
+ }
+ return dispatch;
+}
+
+css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > >
+Provider::queryDispatches(
+ css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > s(
+ Requests.getLength());
+ for (sal_Int32 i = 0; i < s.getLength(); ++i) {
+ s[i] = queryDispatch(
+ Requests[i].FeatureURL, Requests[i].FrameName,
+ Requests[i].SearchFlags);
+ }
+ return s;
+}
+
+class Dispatch:
+ public cppu::WeakImplHelper2<
+ css::lang::XServiceInfo, css::frame::XDispatch >,
+ private boost::noncopyable
+{
+public:
+ static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create(
+ css::uno::Reference< css::uno::XComponentContext > const & xContext)
+ SAL_THROW((css::uno::Exception))
+ { return static_cast< cppu::OWeakObject * >(new Dispatch(xContext)); }
+
+ static rtl::OUString SAL_CALL static_getImplementationName();
+
+ static css::uno::Sequence< rtl::OUString > SAL_CALL
+ static_getSupportedServiceNames()
+ { return css::uno::Sequence< rtl::OUString >(); }
+
+private:
+ Dispatch(
+ css::uno::Reference< css::uno::XComponentContext > const & context):
+ context_(context) { OSL_ASSERT(context.is()); }
+
+ virtual ~Dispatch() {}
+
+ virtual rtl::OUString SAL_CALL getImplementationName()
+ throw (css::uno::RuntimeException)
+ { return static_getImplementationName(); }
+
+ virtual sal_Bool SAL_CALL supportsService(rtl::OUString const &)
+ throw (css::uno::RuntimeException)
+ { return false; } //TODO
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL
+ getSupportedServiceNames() throw (css::uno::RuntimeException)
+ { return static_getSupportedServiceNames(); }
+
+ virtual void SAL_CALL dispatch(
+ css::util::URL const &,
+ css::uno::Sequence< css::beans::PropertyValue > const &)
+ throw (css::uno::RuntimeException);
+
+ virtual void SAL_CALL addStatusListener(
+ css::uno::Reference< css::frame::XStatusListener > const &,
+ css::util::URL const &)
+ throw (css::uno::RuntimeException)
+ {}
+
+ virtual void SAL_CALL removeStatusListener(
+ css::uno::Reference< css::frame::XStatusListener > const &,
+ css::util::URL const &)
+ throw (css::uno::RuntimeException)
+ {}
+
+ css::uno::Reference< css::uno::XComponentContext > context_;
+};
+
+rtl::OUString Dispatch::static_getImplementationName() {
+ return rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.comp.test.deployment.passive_native_singleton"));
+}
+
+void Dispatch::dispatch(
+ css::util::URL const &,
+ css::uno::Sequence< css::beans::PropertyValue > const &)
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Reference< css::lang::XMultiComponentFactory > smgr(
+ context_->getServiceManager(), css::uno::UNO_SET_THROW);
+ css::uno::Reference< css::awt::XMessageBox > box(
+ css::uno::Reference< css::awt::XMessageBoxFactory >(
+ smgr->createInstanceWithContext(
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.awt.Toolkit")), context_),
+ css::uno::UNO_QUERY_THROW)->createMessageBox(
+ css::uno::Reference< css::awt::XWindowPeer >(
+ css::uno::Reference< css::frame::XFrame >(
+ css::uno::Reference< css::frame::XDesktop >(
+ smgr->createInstanceWithContext(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.frame.Desktop")),
+ context_),
+ css::uno::UNO_QUERY_THROW)->getCurrentFrame(),
+ css::uno::UNO_SET_THROW)->getComponentWindow(),
+ css::uno::UNO_QUERY_THROW),
+ css::awt::Rectangle(),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("infobox")),
+ css::awt::MessageBoxButtons::BUTTONS_OK,
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passive")),
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("native"))),
+ css::uno::UNO_SET_THROW);
+ box->execute();
+ css::uno::Reference< css::lang::XComponent >(
+ box, css::uno::UNO_QUERY_THROW)->dispose();
+}
+
+static cppu::ImplementationEntry const services[] = {
+ { &Provider::static_create, &Provider::static_getImplementationName,
+ &Provider::static_getSupportedServiceNames,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { &Dispatch::static_create, &Dispatch::static_getImplementationName,
+ &Dispatch::static_getSupportedServiceNames,
+ &cppu::createSingleComponentFactory, 0, 0 },
+ { 0, 0, 0, 0, 0, 0 }
+};
+
+}
+
+extern "C" void * SAL_CALL component_getFactory(
+ char const * pImplName, void * pServiceManager, void * pRegistryKey)
+{
+ return cppu::component_getFactoryHelper(
+ pImplName, pServiceManager, pRegistryKey, services);
+}
+
+extern "C" void SAL_CALL component_getImplementationEnvironment(
+ char const ** ppEnvTypeName, uno_Environment **)
+{
+ *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
+}
diff --git a/desktop/test/deployment/passive/passive_python.component b/desktop/test/deployment/passive/passive_python.component
new file mode 100644
index 0000000000..ea7a1992b5
--- /dev/null
+++ b/desktop/test/deployment/passive/passive_python.component
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* 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.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Python"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.test.deployment.passive_python">
+ <service name="com.sun.star.test.deployment.passive_python"/>
+ </implementation>
+ <implementation
+ name="com.sun.star.comp.test.deployment.passive_python_singleton">
+ <singleton name="com.sun.star.test.deployment.passive_python_singleton"/>
+ </implementation>
+</component>
diff --git a/desktop/test/deployment/passive/passive_python.py b/desktop/test/deployment/passive/passive_python.py
new file mode 100644
index 0000000000..dda68cccdb
--- /dev/null
+++ b/desktop/test/deployment/passive/passive_python.py
@@ -0,0 +1,101 @@
+#*************************************************************************
+#
+# 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.
+#
+#***********************************************************************/
+
+import uno
+import unohelper
+
+from com.sun.star.awt import Rectangle
+from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK
+from com.sun.star.frame import XDispatch, XDispatchProvider
+from com.sun.star.lang import XServiceInfo
+
+class Provider(unohelper.Base, XServiceInfo, XDispatchProvider):
+ implementationName = "com.sun.star.comp.test.deployment.passive_python"
+
+ serviceNames = ("com.sun.star.test.deployment.passive_python",)
+
+ def __init__(self, context):
+ self.context = context
+
+ def getImplementationName(self):
+ return self.implementationName
+
+ def supportsService(self, ServiceName):
+ return ServiceName in self.serviceNames
+
+ def getSupportedServiceNames(self):
+ return self.serviceNames
+
+ def queryDispatch(self, URL, TargetFrame, SearchFlags):
+ return self.context.getValueByName( \
+ "/singletons/com.sun.star.test.deployment.passive_python_singleton")
+
+ def queryDispatches(self, Requests):
+ tuple( \
+ self.queryDispatch(i.FeatureURL, i.FrameName, i.SearchFlags) \
+ for i in Requests)
+
+class Dispatch(unohelper.Base, XServiceInfo, XDispatch):
+ implementationName = \
+ "com.sun.star.comp.test.deployment.passive_python_singleton"
+
+ serviceNames = ()
+
+ def __init__(self, context):
+ self.context = context
+
+ def getImplementationName(self):
+ return self.implementationName
+
+ def supportsService(self, ServiceName):
+ return ServiceName in self.serviceNames
+
+ def getSupportedServiceNames(self):
+ return self.serviceNames
+
+ def dispatch(self, URL, Arguments):
+ smgr = self.context.getServiceManager()
+ box = smgr.createInstanceWithContext( \
+ "com.sun.star.awt.Toolkit", self.context).createMessageBox( \
+ smgr.createInstanceWithContext( \
+ "com.sun.star.frame.Desktop", self.context). \
+ getCurrentFrame().getComponentWindow(), \
+ Rectangle(), "infobox", BUTTONS_OK, "passive", "python")
+ box.execute();
+ box.dispose();
+
+ def addStatusListener(self, Control, URL):
+ pass
+
+ def removeStatusListener(self, Control, URL):
+ pass
+
+g_ImplementationHelper = unohelper.ImplementationHelper()
+g_ImplementationHelper.addImplementation( \
+ Provider, Provider.implementationName, Provider.serviceNames)
+g_ImplementationHelper.addImplementation( \
+ Dispatch, Dispatch.implementationName, Dispatch.serviceNames)
diff --git a/desktop/test/deployment/update/updateinfocreation/build/makefile.mk b/desktop/test/deployment/update/updateinfocreation/build/makefile.mk
index 6af3928279..b0479c942b 100755
--- a/desktop/test/deployment/update/updateinfocreation/build/makefile.mk
+++ b/desktop/test/deployment/update/updateinfocreation/build/makefile.mk
@@ -84,5 +84,8 @@ $(MISC)$/$(TARGET)_resort : manifest.xml $(JARTARGETN) $(MISC)$/$(ZIP1TARGET).cr
$(GNUCOPY) -u description.xml $(MISC)$/$(TARGET)$/description.xml
$(TOUCH) $@
+.IF "$(ZIP1TARGETN)"!=""
$(ZIP1TARGETN) : $(MISC)$/$(TARGET)_resort $(MISC)$/$(ZIP1TARGET).createdir
+.ENDIF # "$(ZIP1TARGETN)"!=""
+
diff --git a/desktop/util/ooverinfo2.rc b/desktop/util/ooverinfo2.rc
index 8bc39767f0..17af681855 100644..100755
--- a/desktop/util/ooverinfo2.rc
+++ b/desktop/util/ooverinfo2.rc
@@ -25,21 +25,7 @@
*
*************************************************************************/
-#define VERSION 3
-#define SUBVERSION 3
-//#define VERVARIANT 0
-// .0 + VER_CONCEPT
-// .100 + VER_ALPHA
-// .200 + VER_BETA
-// .300 + VER_GAMMA
-// .500 + VER_FINAL
-//#define VER_CONCEPT 0
-//#define VER_BETA 6
-#define VER_FINAL 0
-
-#define VER_DAY 1
-#define VER_MONTH 1
-#define VER_YEAR 2010
+#include "version.hrc"
// -----------------------------------------------------------------------
diff --git a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
index 269c5cfe06..41af340084 100644
--- a/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/metafileprimitive2d.cxx
@@ -248,9 +248,12 @@ namespace
if(nPushFlags)
{
OSL_ENSURE(maPropertyHolders.size(), "PropertyHolders: PUSH with no property holders (!)");
- PropertyHolder* pNew = new PropertyHolder(*maPropertyHolders.back());
- pNew->setPushFlags(nPushFlags);
- maPropertyHolders.push_back(pNew);
+ if ( !maPropertyHolders.empty() )
+ {
+ PropertyHolder* pNew = new PropertyHolder(*maPropertyHolders.back());
+ pNew->setPushFlags(nPushFlags);
+ maPropertyHolders.push_back(pNew);
+ }
}
}
@@ -354,8 +357,9 @@ namespace
PropertyHolder& Current()
{
+ static PropertyHolder aDummy;
OSL_ENSURE(maPropertyHolders.size(), "PropertyHolders: CURRENT with no property holders (!)");
- return *maPropertyHolders.back();
+ return maPropertyHolders.empty() ? aDummy : *maPropertyHolders.back();
}
~PropertyHolders()
@@ -2013,7 +2017,7 @@ namespace
if(nTextLength + nTextIndex > nStringLength)
{
- nTextLength = nStringLength - nTextIndex;
+ nTextLength = nTextIndex > nStringLength ? 0 : nStringLength - nTextIndex;
}
if(nTextLength && rPropertyHolders.Current().getTextColorActive())
diff --git a/editeng/inc/editeng/svxrtf.hxx b/editeng/inc/editeng/svxrtf.hxx
index 39f3e7a673..c1039f9347 100644
--- a/editeng/inc/editeng/svxrtf.hxx
+++ b/editeng/inc/editeng/svxrtf.hxx
@@ -38,7 +38,8 @@
#include <editeng/editengdllapi.h>
#include <deque>
-
+#include <utility>
+#include <vector>
class Font;
class Color;
class Graphic;
@@ -109,7 +110,7 @@ struct SvxRTFStyleType
// Bitmap - Mode
-
+typedef ::std::vector< ::std::pair< ::rtl::OUString, ::rtl::OUString > > PictPropertyNameValuePairs;
struct EDITENG_DLLPUBLIC SvxRTFPictureType
{
// Format der Bitmap
@@ -140,7 +141,7 @@ struct EDITENG_DLLPUBLIC SvxRTFPictureType
USHORT nWidthBytes;
USHORT nScalX, nScalY;
short nCropT, nCropB, nCropL, nCropR;
-
+ PictPropertyNameValuePairs aPropertyPairs;
SvxRTFPictureType() { ResetValues(); }
// alle Werte auf default; wird nach einlesen der Bitmap aufgerufen !
void ResetValues();
@@ -469,7 +470,7 @@ inline const Color& SvxRTFParser::GetColor( size_t nId ) const
inline SfxItemSet& SvxRTFParser::GetAttrSet()
{
SvxRTFItemStackTypePtr pTmp;
- if( bNewGroup || 0 == ( pTmp = aAttrStack.back()) )
+ if( bNewGroup || 0 == ( pTmp = aAttrStack.empty() ? 0 : aAttrStack.back()) )
pTmp = _GetAttrSet();
return pTmp->aAttrSet;
}
diff --git a/editeng/inc/pch/precompiled_editeng.hxx b/editeng/inc/pch/precompiled_editeng.hxx
index 9d432f73a7..d53bfcf1aa 100644
--- a/editeng/inc/pch/precompiled_editeng.hxx
+++ b/editeng/inc/pch/precompiled_editeng.hxx
@@ -694,7 +694,6 @@
#include "svtools/apearcfg.hxx"
#include "svl/brdcst.hxx"
#include "unotools/cacheoptions.hxx"
-#include "svl/cancel.hxx"
#include "svl/cjkoptions.hxx"
#include "unotools/cmdoptions.hxx"
#include "svl/cntwall.hxx"
diff --git a/editeng/source/editeng/eertfpar.cxx b/editeng/source/editeng/eertfpar.cxx
index 6301ecce7a..6ea9ea0b09 100644
--- a/editeng/source/editeng/eertfpar.cxx
+++ b/editeng/source/editeng/eertfpar.cxx
@@ -54,6 +54,7 @@ void SvxRTFPictureType::ResetValues()
nBitsPerPixel = nPlanes = 1;
nScalX = nScalY = 100; // Skalierung in Prozent
nCropT = nCropB = nCropL = nCropR = 0;
+ aPropertyPairs.clear();
}
ImportInfo::ImportInfo( ImportState eSt, SvParser* pPrsrs, const ESelection& rSel )
diff --git a/editeng/source/items/flditem.cxx b/editeng/source/items/flditem.cxx
index b5151dc71e..b6e2efb976 100644
--- a/editeng/source/items/flditem.cxx
+++ b/editeng/source/items/flditem.cxx
@@ -377,83 +377,46 @@ int SvxURLField::operator==( const SvxFieldData& rOther ) const
// -----------------------------------------------------------------------
-void SvxURLField::Load( SvPersistStream & rStm )
+static void write_unicode( SvPersistStream & rStm, const String& rString )
{
- USHORT nFormat;
- sal_uInt32 nFrameMarker, nCharSetMarker;
- long nUlongSize = (long)sizeof(sal_uInt32);
- String aTmpURL;
-
- rStm >> nFormat;
-
- // UNICODE: rStm >> aTmpURL;
- rStm.ReadByteString(aTmpURL);
-
- // UNICODE: rStm >> aRepresentation;
- // read to a temp string first, read text encoding and
- // convert later to stay compatible to fileformat
- ByteString aTempString;
- rtl_TextEncoding aTempEncoding = RTL_TEXTENCODING_MS_1252; // #101493# Init for old documents
- rStm.ReadByteString(aTempString);
+ USHORT nL = rString.Len();
+ rStm << nL;
+ rStm.Write( rString.GetBuffer(), nL*sizeof(sal_Unicode) );
+}
- rStm >> nFrameMarker;
- if ( nFrameMarker == FRAME_MARKER )
+static void read_unicode( SvPersistStream & rStm, String& rString )
+{
+ USHORT nL = 0;
+ rStm >> nL;
+ if ( nL )
{
- // UNICODE: rStm >> aTargetFrame;
- rStm.ReadByteString(aTargetFrame);
-
- rStm >> nCharSetMarker;
- if ( nCharSetMarker == CHARSET_MARKER )
- {
- USHORT nCharSet;
- rStm >> nCharSet;
-
- // remember encoding
- aTempEncoding = (rtl_TextEncoding)nCharSet;
- }
- else
- rStm.SeekRel( -nUlongSize );
+ rString.AllocBuffer( nL );
+ rStm.Read( rString.GetBufferAccess(), nL*sizeof(sal_Unicode) );
+ rString.ReleaseBufferAccess( nL );
}
- else
- rStm.SeekRel( -nUlongSize );
+}
- // now build representation string due to known encoding
- aRepresentation = String(aTempString, aTempEncoding);
+void SvxURLField::Load( SvPersistStream & rStm )
+{
+ USHORT nFormat = 0;
+ rStm >> nFormat;
eFormat= (SvxURLFormat)nFormat;
- // Relatives Speichern => Beim laden absolut machen.
- DBG_ERROR("No BaseURL!");
- // TODO/MBA: no BaseURL
- aURL = INetURLObject::GetAbsURL( String(), aTmpURL );
+ read_unicode( rStm, aURL );
+ read_unicode( rStm, aRepresentation );
+ read_unicode( rStm, aTargetFrame );
}
// -----------------------------------------------------------------------
void SvxURLField::Save( SvPersistStream & rStm )
{
- // Relatives Speichern der URL
- DBG_ERROR("No BaseURL!");
- // TODO/MBA: no BaseURL
- String aTmpURL = INetURLObject::GetRelURL( String(), aURL );
-
rStm << (USHORT)eFormat;
- // UNICODE: rStm << aTmpURL;
- rStm.WriteByteString(aTmpURL);
-
- // UNICODE: rStm << aRepresentation;
- rStm.WriteByteString(aRepresentation);
-
- rStm << FRAME_MARKER;
-
- // UNICODE: rStm << aTargetFrame;
- rStm.WriteByteString(aTargetFrame);
-
- rStm << CHARSET_MARKER;
-
- // #90477# rStm << (USHORT)GetStoreCharSet(gsl_getSystemTextEncoding(), rStm.GetVersion());
- rStm << (USHORT)GetSOStoreTextEncoding(gsl_getSystemTextEncoding(), (sal_uInt16)rStm.GetVersion());
+ write_unicode( rStm, aURL );
+ write_unicode( rStm, aRepresentation );
+ write_unicode( rStm, aTargetFrame );
}
MetaAction* SvxURLField::createBeginComment() const
@@ -921,16 +884,11 @@ int SvxAuthorField::operator==( const SvxFieldData& rOther ) const
void SvxAuthorField::Load( SvPersistStream & rStm )
{
- USHORT nType, nFormat;
-
- // UNICODE: rStm >> aName;
- rStm.ReadByteString(aName);
+ USHORT nType = 0, nFormat = 0;
- // UNICODE: rStm >> aFirstName;
- rStm.ReadByteString(aFirstName);
-
- // UNICODE: rStm >> aShortName;
- rStm.ReadByteString(aShortName);
+ read_unicode( rStm, aName );
+ read_unicode( rStm, aFirstName );
+ read_unicode( rStm, aShortName );
rStm >> nType;
rStm >> nFormat;
@@ -943,14 +901,9 @@ void SvxAuthorField::Load( SvPersistStream & rStm )
void SvxAuthorField::Save( SvPersistStream & rStm )
{
- // UNICODE: rStm << aName;
- rStm.WriteByteString(aName);
-
- // UNICODE: rStm << aFirstName;
- rStm.WriteByteString(aFirstName);
-
- // UNICODE: rStm << aShortName;
- rStm.WriteByteString(aShortName);
+ write_unicode( rStm, aName );
+ write_unicode( rStm, aFirstName );
+ write_unicode( rStm, aShortName );
rStm << (USHORT) eType;
rStm << (USHORT) eFormat;
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index c083f02fab..e3efca33ad 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -701,7 +701,7 @@ BOOL SvxAutoCorrect::FnAddNonBrkSpace(
bRunNext = true;
}
}
- else if ( cChar == '/' )
+ else if ( cChar == '/' && nEndPos > 1 && rTxt.Len() > (nEndPos - 1) )
{
// Remove the hardspace right before to avoid formatting URLs
sal_Unicode cPrevChar = rTxt.GetChar( nEndPos - 1 );
diff --git a/editeng/source/rtf/makefile.mk b/editeng/source/rtf/makefile.mk
index 38b2ef7b45..081cd5b506 100644
--- a/editeng/source/rtf/makefile.mk
+++ b/editeng/source/rtf/makefile.mk
@@ -29,12 +29,11 @@ PRJ=..$/..
PRJNAME=editeng
TARGET=rtf
-
+ENABLE_EXCEPTIONS=TRUE
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
# --- Files --------------------------------------------------------
EXCEPTIONSFILES= \
diff --git a/editeng/source/rtf/rtfgrf.cxx b/editeng/source/rtf/rtfgrf.cxx
index d4c50fe922..f8053f03c7 100644
--- a/editeng/source/rtf/rtfgrf.cxx
+++ b/editeng/source/rtf/rtfgrf.cxx
@@ -39,6 +39,7 @@
#include <editeng/svxrtf.hxx>
+using namespace ::rtl;
#ifndef DBG_UTIL
#undef DEBUG_JP
@@ -316,14 +317,26 @@ BOOL SvxRTFParser::ReadBmpData( Graphic& rGrf, SvxRTFPictureType& rPicType )
if( RTF_SHPPICT == GetStackPtr(0)->nTokenId )
++nValidDataBraket;
-
+ OUString sShapePropertyName, sShapePropertyValue;
+ int nShapePropertyBracket = -1;
while( _nOpenBrakets && IsParserWorking() && bValidBmp )
{
nToken = GetNextToken();
USHORT nVal = USHORT( nTokenValue );
switch( nToken )
{
- case '}': --_nOpenBrakets; break;
+ case '}':
+ --_nOpenBrakets;
+ if( nShapePropertyBracket > 0 && nShapePropertyBracket > _nOpenBrakets )
+ {
+ nShapePropertyBracket = -1;
+ if( sShapePropertyName.getLength() )
+ {
+ rPicType.aPropertyPairs.push_back( ::std::pair< OUString, OUString >( sShapePropertyName, sShapePropertyValue ) );
+ sShapePropertyName = sShapePropertyValue = ::rtl::OUString();
+ }
+ }
+ break;
case '{':
{
if( RTF_IGNOREFLAG != GetNextToken() )
@@ -439,7 +452,24 @@ BOOL SvxRTFParser::ReadBmpData( Graphic& rGrf, SvxRTFPictureType& rPicType )
case RTF_PICCROPB: rPicType.nCropB = (short)nTokenValue; break;
case RTF_PICCROPL: rPicType.nCropL = (short)nTokenValue; break;
case RTF_PICCROPR: rPicType.nCropR = (short)nTokenValue; break;
-
+ case RTF_SP:
+ //read pairs of {\sn Name}{\sv Value}
+ nShapePropertyBracket = _nOpenBrakets;
+ break;
+ case RTF_SN:
+ nToken = GetNextToken();
+ if( nToken != '}' )
+ sShapePropertyName = aToken;
+ else
+ nToken = SkipToken( -1 );
+ break;
+ case RTF_SV:
+ nToken = GetNextToken();
+ if( nToken != '}' )
+ sShapePropertyValue = aToken;
+ else
+ nToken = SkipToken( -1 );
+ break;
case RTF_TEXTTOKEN:
// JP 26.06.98: Bug #51719# - nur TextToken auf 1. Ebene
// auswerten. Alle anderen sind irgendwelche
diff --git a/editeng/source/rtf/rtfitem.cxx b/editeng/source/rtf/rtfitem.cxx
index 4e68a841e7..4f0ecccef7 100644
--- a/editeng/source/rtf/rtfitem.cxx
+++ b/editeng/source/rtf/rtfitem.cxx
@@ -228,7 +228,7 @@ void SvxRTFParser::ReadAttr( int nToken, SfxItemSet* pSet )
RTF_CharTypeDef eCharType = NOTDEF_CHARTYPE;
USHORT nFontAlign;
- int bChkStkPos = !bNewGroup && aAttrStack.back();
+ int bChkStkPos = !bNewGroup && !aAttrStack.empty();
while( bWeiter && IsParserWorking() ) // solange bekannte Attribute erkannt werden
{
@@ -250,7 +250,7 @@ void SvxRTFParser::ReadAttr( int nToken, SfxItemSet* pSet )
if( !bChkStkPos )
break;
- SvxRTFItemStackType* pAkt = aAttrStack.back();
+ SvxRTFItemStackType* pAkt = aAttrStack.empty() ? 0 : aAttrStack.back();
if( !pAkt || (pAkt->pSttNd->GetIdx() == pInsPos->GetNodeIdx() &&
pAkt->nSttCnt == pInsPos->GetCntIdx() ))
break;
@@ -269,7 +269,7 @@ void SvxRTFParser::ReadAttr( int nToken, SfxItemSet* pSet )
// alle bis hierher gueltigen Attribute "setzen"
AttrGroupEnd();
- pAkt = aAttrStack.back(); // can be changed after AttrGroupEnd!
+ pAkt = aAttrStack.empty() ? 0 : aAttrStack.back(); // can be changed after AttrGroupEnd!
pNew->aAttrSet.SetParent( pAkt ? &pAkt->aAttrSet : 0 );
aAttrStack.push_back( pNew );
@@ -305,7 +305,7 @@ void SvxRTFParser::ReadAttr( int nToken, SfxItemSet* pSet )
nStyleNo = -1 == nTokenValue ? 0 : USHORT(nTokenValue);
// setze am akt. auf dem AttrStack stehenden Style die
// StyleNummer
- SvxRTFItemStackType* pAkt = aAttrStack.back();
+ SvxRTFItemStackType* pAkt = aAttrStack.empty() ? 0 : aAttrStack.back();
if( !pAkt )
break;
@@ -1869,7 +1869,7 @@ void SvxRTFParser::ReadBackgroundAttr( int nToken, SfxItemSet& rSet,
// pard / plain abarbeiten
void SvxRTFParser::RTFPardPlain( int bPard, SfxItemSet** ppSet )
{
- if( !bNewGroup && aAttrStack.back() ) // not at the beginning of a new group
+ if( !bNewGroup && !aAttrStack.empty() ) // not at the beginning of a new group
{
SvxRTFItemStackType* pAkt = aAttrStack.back();
@@ -1887,7 +1887,7 @@ void SvxRTFParser::RTFPardPlain( int bPard, SfxItemSet** ppSet )
// alle bis hierher gueltigen Attribute "setzen"
AttrGroupEnd();
- pAkt = aAttrStack.back(); // can be changed after AttrGroupEnd!
+ pAkt = aAttrStack.empty() ? 0 : aAttrStack.back(); // can be changed after AttrGroupEnd!
pNew->aAttrSet.SetParent( pAkt ? &pAkt->aAttrSet : 0 );
aAttrStack.push_back( pNew );
pAkt = pNew;
diff --git a/editeng/source/rtf/svxrtf.cxx b/editeng/source/rtf/svxrtf.cxx
index 1fc96e45d7..83222c7033 100644
--- a/editeng/source/rtf/svxrtf.cxx
+++ b/editeng/source/rtf/svxrtf.cxx
@@ -875,7 +875,7 @@ const Font& SvxRTFParser::GetFont( USHORT nId )
SvxRTFItemStackType* SvxRTFParser::_GetAttrSet( int bCopyAttr )
{
- SvxRTFItemStackType* pAkt = aAttrStack.back();
+ SvxRTFItemStackType* pAkt = aAttrStack.empty() ? 0 : aAttrStack.back();
SvxRTFItemStackType* pNew;
if( pAkt )
pNew = new SvxRTFItemStackType( *pAkt, *pInsPos, bCopyAttr );
@@ -941,9 +941,9 @@ void SvxRTFParser::AttrGroupEnd() // den akt. Bearbeiten, vom Stack loeschen
{
if( !aAttrStack.empty() )
{
- SvxRTFItemStackType *pOld = aAttrStack.back();
+ SvxRTFItemStackType *pOld = aAttrStack.empty() ? 0 : aAttrStack.back();
aAttrStack.pop_back();
- SvxRTFItemStackType *pAkt = aAttrStack.back();
+ SvxRTFItemStackType *pAkt = aAttrStack.empty() ? 0 : aAttrStack.back();
do { // middle check loop
ULONG nOldSttNdIdx = pOld->pSttNd->GetIdx();
@@ -1118,7 +1118,7 @@ void SvxRTFParser::AttrGroupEnd() // den akt. Bearbeiten, vom Stack loeschen
// alle bis hierher gueltigen Attribute "setzen"
AttrGroupEnd();
- pAkt = aAttrStack.back(); // can be changed after AttrGroupEnd!
+ pAkt = aAttrStack.empty() ? 0 : aAttrStack.back(); // can be changed after AttrGroupEnd!
pNew->aAttrSet.SetParent( pAkt ? &pAkt->aAttrSet : 0 );
aAttrStack.push_back( pNew );
pAkt = pNew;
@@ -1181,7 +1181,7 @@ void SvxRTFParser::SetAttrSet( SvxRTFItemStackType &rSet )
// Is text wasn't inserted? (Get SttPos from the top of stack!)
int SvxRTFParser::IsAttrSttPos()
{
- SvxRTFItemStackType* pAkt = aAttrStack.back();
+ SvxRTFItemStackType* pAkt = aAttrStack.empty() ? 0 : aAttrStack.back();
return !pAkt || (pAkt->pSttNd->GetIdx() == pInsPos->GetNodeIdx() &&
pAkt->nSttCnt == pInsPos->GetCntIdx());
}
diff --git a/embeddedobj/prj/build.lst b/embeddedobj/prj/build.lst
index a61305e192..c2f366c4de 100644
--- a/embeddedobj/prj/build.lst
+++ b/embeddedobj/prj/build.lst
@@ -1,4 +1,4 @@
-eo embeddedobj : offuh sal cppu cppuhelper comphelper tools unotools vos NULL
+eo embeddedobj : offuh sal cppu cppuhelper comphelper tools unotools vos LIBXSLT:libxslt NULL
eo embeddedobj usr1 - all eo_mkout NULL
eo embeddedobj\inc nmake - all eo_inc NULL
eo embeddedobj\source\commonembedding nmake - all eo_commonembed eo_inc NULL
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index 9991e19a69..d9b590300e 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -39,6 +39,7 @@
#include <cppuhelper/typeprovider.hxx>
#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/mimeconfighelper.hxx>
#include "closepreventer.hxx"
#include "intercept.hxx"
@@ -240,6 +241,14 @@ void OCommonEmbeddedObject::LinkInit_Impl(
OSL_ENSURE( m_aLinkURL.getLength() && m_aLinkFilterName.getLength(), "Filter and URL must be provided!\n" );
+ m_bReadOnly = sal_True;
+ if ( m_aLinkFilterName.getLength() )
+ {
+ ::comphelper::MimeConfigurationHelper aHelper( m_xFactory );
+ ::rtl::OUString aExportFilterName = aHelper.GetExportFilterFromImportFilter( m_aLinkFilterName );
+ m_bReadOnly = !( aExportFilterName.equals( m_aLinkFilterName ) );
+ }
+
m_aDocMediaDescriptor = GetValuableArgs_Impl( aMediaDescr, sal_False );
uno::Reference< frame::XDispatchProviderInterceptor > xDispatchInterceptor;
diff --git a/embeddedobj/source/commonembedding/persistence.cxx b/embeddedobj/source/commonembedding/persistence.cxx
index 5cc9c03d8c..578874bd1f 100644
--- a/embeddedobj/source/commonembedding/persistence.cxx
+++ b/embeddedobj/source/commonembedding/persistence.cxx
@@ -229,11 +229,11 @@ static uno::Reference< util::XCloseable > CreateDocument( const uno::Reference<
}
catch( const uno::Exception& )
{
- // some of our embedded object implementations (in particular chart) do neither support
- // the EmbeddedObject, nor the EmbeddedScriptSupport argument. Also, they do not support
- // XInitialization, which means the default factory from cppuhelper will throw an
+ // if an embedded object implementation does not support XInitialization,
+ // the default factory from cppuhelper will throw an
// IllegalArgumentException when we try to create the instance with arguments.
// Okay, so we fall back to creating the instance without any arguments.
+ OSL_ASSERT("Consider implementing interface XInitialization to avoid duplicate construction");
xDocument = _rxFactory->createInstance( _rDocumentServiceName );
}
@@ -978,7 +978,21 @@ void SAL_CALL OCommonEmbeddedObject::setPersistentEntry(
if ( m_bWaitSaveCompleted )
{
if ( nEntryConnectionMode == embed::EntryInitModes::NO_INIT )
- saveCompleted( ( m_xParentStorage != xStorage || !m_aEntryName.equals( sEntName ) ) );
+ {
+ // saveCompleted is expected, handle it accordingly
+ if ( m_xNewParentStorage == xStorage && m_aNewEntryName.equals( sEntName ) )
+ {
+ saveCompleted( sal_True );
+ return;
+ }
+
+ // if a completely different entry is provided, switch first back to the old persistence in saveCompleted
+ // and then switch to the target persistence
+ sal_Bool bSwitchFurther = ( m_xParentStorage != xStorage || !m_aEntryName.equals( sEntName ) );
+ saveCompleted( sal_False );
+ if ( !bSwitchFurther )
+ return;
+ }
else
throw embed::WrongStateException(
::rtl::OUString::createFromAscii( "The object waits for saveCompleted() call!\n" ),
diff --git a/eventattacher/prj/build.lst b/eventattacher/prj/build.lst
index aa931705fd..dda1cd7a48 100644
--- a/eventattacher/prj/build.lst
+++ b/eventattacher/prj/build.lst
@@ -1,4 +1,4 @@
-ea eventattacher : offapi cppuhelper vos NULL
+ea eventattacher : offapi cppuhelper vos LIBXSLT:libxslt NULL
ea eventattacher usr1 - all ea_mkout NULL
ea eventattacher\prj get - all ea_prj NULL
ea eventattacher\source nmake - all ea_source NULL
diff --git a/fileaccess/prj/build.lst b/fileaccess/prj/build.lst
index a60a92e9c1..0349810c38 100644
--- a/fileaccess/prj/build.lst
+++ b/fileaccess/prj/build.lst
@@ -1,3 +1,3 @@
-fa fileaccess : unotools rdbmaker tools ucbhelper NULL
+fa fileaccess : unotools rdbmaker tools ucbhelper LIBXSLT:libxslt NULL
fa fileaccess usr1 - all fa_mkout NULL
fa fileaccess\source nmake - all fa_src NULL
diff --git a/formula/prj/build.lst b/formula/prj/build.lst
index f26377c457..109a798ea3 100644
--- a/formula/prj/build.lst
+++ b/formula/prj/build.lst
@@ -1,4 +1,4 @@
-fml formula : BOOST:boost comphelper svx NULL
+fml formula : BOOST:boost LIBXSLT:libxslt comphelper svx NULL
fml formula usr1 - all fml_mkout NULL
fml formula\inc nmake - all fml_inc NULL
fml formula\source\core\api nmake - all fml_api fml_inc NULL
diff --git a/formula/source/ui/dlg/structpg.cxx b/formula/source/ui/dlg/structpg.cxx
index c32d3dfa3b..95b8b59442 100644
--- a/formula/source/ui/dlg/structpg.cxx
+++ b/formula/source/ui/dlg/structpg.cxx
@@ -112,7 +112,7 @@ StructPage::StructPage(Window* pParent):
maImgErrorHC ( ModuleRes( BMP_STR_ERROR_H ) ),
pSelectedToken ( NULL )
{
- aTlbStruct.SetWindowBits(WB_HASLINES|WB_CLIPCHILDREN|
+ aTlbStruct.SetStyle(aTlbStruct.GetStyle()|WB_HASLINES|WB_CLIPCHILDREN|
WB_HASBUTTONS|WB_HSCROLL|WB_NOINITIALSELECTION);
aTlbStruct.SetNodeDefaultImages();
diff --git a/fpicker/prj/build.lst b/fpicker/prj/build.lst
index 434f22660f..52d99ec075 100644
--- a/fpicker/prj/build.lst
+++ b/fpicker/prj/build.lst
@@ -1,4 +1,4 @@
-fp fpicker : l10n rdbmaker svtools NULL
+fp fpicker : LIBXSLT:libxslt l10n rdbmaker svtools NULL
fp fpicker\inc nmake - all fp_inc NULL
fp fpicker\source\generic nmake - all fp_generic fp_inc NULL
fp fpicker\source\office nmake - all fp_office fp_inc NULL
diff --git a/framework/AllLangResTarget_fwe.mk b/framework/AllLangResTarget_fwe.mk
new file mode 100644
index 0000000000..031cb24117
--- /dev/null
+++ b/framework/AllLangResTarget_fwe.mk
@@ -0,0 +1,63 @@
+#*************************************************************************
+#
+# 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,fwe))
+
+$(eval $(call gb_AllLangResTarget_set_reslocation,fwe,framework))
+
+$(eval $(call gb_AllLangResTarget_add_srs,fwe,\
+ fwe/fwk_classes \
+ fwe/fwk_services \
+))
+
+
+$(eval $(call gb_SrsTarget_SrsTarget,fwe/fwk_classes))
+
+$(eval $(call gb_SrsTarget_set_include,fwe/fwk_classes,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/framework/inc \
+ -I$(SRCDIR)/framework/inc/classes \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_SrsTarget_add_files,fwe/fwk_classes,\
+ framework/source/classes/resource.src \
+))
+
+$(eval $(call gb_SrsTarget_SrsTarget,fwe/fwk_services))
+
+$(eval $(call gb_SrsTarget_set_include,fwe/fwk_services,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/framework/inc \
+ -I$(SRCDIR)/framework/inc/services \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_SrsTarget_add_files,fwe/fwk_services,\
+ framework/source/services/fwk_services.src \
+))
+# vim: set noet sw=4 ts=4:
diff --git a/framework/Library_fwe.mk b/framework/Library_fwe.mk
new file mode 100644
index 0000000000..33d8959a47
--- /dev/null
+++ b/framework/Library_fwe.mk
@@ -0,0 +1,115 @@
+#*************************************************************************
+#
+# 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,fwe))
+
+$(eval $(call gb_Library_set_include,fwe,\
+ -I$(SRCDIR)/framework/inc/pch \
+ -I$(SRCDIR)/framework/source/inc \
+ -I$(SRCDIR)/framework/inc \
+ -I$(WORKDIR)/inc/framework/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/framework \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_set_defs,fwe,\
+ $$(DEFS) \
+ -DFWE_DLLIMPLEMENTATION\
+))
+
+$(eval $(call gb_Library_add_linked_libs,fwe,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwi \
+ sal \
+ stl \
+ svl \
+ svt \
+ tl \
+ utl \
+ vcl \
+ vos3 \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fwe,\
+ framework/source/fwe/classes/actiontriggercontainer \
+ framework/source/fwe/classes/actiontriggerpropertyset \
+ framework/source/fwe/classes/actiontriggerseparatorpropertyset \
+ framework/source/fwe/classes/addonmenu \
+ framework/source/fwe/classes/addonsoptions \
+ framework/source/fwe/classes/bmkmenu \
+ framework/source/fwe/classes/framelistanalyzer \
+ framework/source/fwe/classes/fwkresid \
+ framework/source/fwe/classes/imagewrapper \
+ framework/source/fwe/classes/menuextensionsupplier \
+ framework/source/fwe/classes/rootactiontriggercontainer \
+ framework/source/fwe/classes/sfxhelperfunctions \
+ framework/source/fwe/dispatch/interaction \
+ framework/source/fwe/helper/acceleratorinfo \
+ framework/source/fwe/helper/actiontriggerhelper \
+ framework/source/fwe/helper/configimporter \
+ framework/source/fwe/helper/imageproducer \
+ framework/source/fwe/helper/propertysetcontainer \
+ framework/source/fwe/helper/titlehelper \
+ framework/source/fwe/helper/uiconfigelementwrapperbase \
+ framework/source/fwe/helper/uielementwrapperbase \
+ framework/source/fwe/interaction/preventduplicateinteraction \
+ framework/source/fwe/xml/eventsconfiguration \
+ framework/source/fwe/xml/eventsdocumenthandler \
+ framework/source/fwe/xml/imagesconfiguration \
+ framework/source/fwe/xml/imagesdocumenthandler \
+ framework/source/fwe/xml/menuconfiguration \
+ framework/source/fwe/xml/menudocumenthandler \
+ framework/source/fwe/xml/saxnamespacefilter \
+ framework/source/fwe/xml/statusbarconfiguration \
+ framework/source/fwe/xml/statusbardocumenthandler \
+ framework/source/fwe/xml/toolboxconfiguration \
+ framework/source/fwe/xml/toolboxdocumenthandler \
+ framework/source/fwe/xml/xmlnamespaces \
+))
+
+ifeq ($(OS),LINUX)
+
+$(eval $(call gb_Library_set_cxxflags,fwe,$$(filter-out -fvisibility=hidden,$$(CXXFLAGS))))
+
+$(eval $(call gb_Library_add_linked_libs,fwe,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fwe,\
+ kernel32 \
+ msvcrt \
+ uwinapi \
+))
+endif
+# TODO: visibility
+# vim: set noet sw=4 ts=4:
diff --git a/framework/Library_fwi.mk b/framework/Library_fwi.mk
new file mode 100644
index 0000000000..568f0a1eb2
--- /dev/null
+++ b/framework/Library_fwi.mk
@@ -0,0 +1,97 @@
+#*************************************************************************
+#
+# 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,fwi))
+
+$(eval $(call gb_Library_add_package_headers,fwi,framework_inc))
+
+$(eval $(call gb_Library_set_defs,fwi,\
+ $$(DEFS) \
+ -DFWI_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_set_include,fwi,\
+ -I$(SRCDIR)/framework/inc/pch \
+ -I$(SRCDIR)/framework/source/inc \
+ -I$(SRCDIR)/framework/inc \
+ -I$(WORKDIR)/inc/framework/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/framework \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_add_linked_libs,fwi,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ i18nisolang1 \
+ sal \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ utl \
+ vcl \
+ vos3 \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fwi,\
+ framework/source/fwi/classes/converter \
+ framework/source/fwi/classes/propertysethelper \
+ framework/source/fwi/classes/protocolhandlercache \
+ framework/source/fwi/helper/mischelper \
+ framework/source/fwi/helper/networkdomain \
+ framework/source/fwi/helper/shareablemutex \
+ framework/source/fwi/jobs/configaccess \
+ framework/source/fwi/jobs/jobconst \
+ framework/source/fwi/threadhelp/lockhelper \
+ framework/source/fwi/threadhelp/transactionmanager \
+ framework/source/fwi/uielement/constitemcontainer \
+ framework/source/fwi/uielement/itemcontainer \
+ framework/source/fwi/uielement/rootitemcontainer \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,fwi,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fwi,\
+ advapi32 \
+ kernel32 \
+ msvcrt \
+ stl \
+ unicows \
+ uwinapi \
+))
+endif
+# TODO: visibility
+# vim: set noet sw=4 ts=4:
diff --git a/framework/Library_fwk.mk b/framework/Library_fwk.mk
new file mode 100644
index 0000000000..50c16b83b4
--- /dev/null
+++ b/framework/Library_fwk.mk
@@ -0,0 +1,199 @@
+#*************************************************************************
+#
+# 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,fwk))
+
+$(eval $(call gb_Library_add_precompiled_header,fwk,$(SRCDIR)/framework/inc/pch/precompiled_framework))
+
+$(eval $(call gb_Library_set_componentfile,fwk,framework/util/fwk))
+
+$(eval $(call gb_Library_set_include,fwk,\
+ -I$(SRCDIR)/framework/inc/pch \
+ -I$(SRCDIR)/framework/source/inc \
+ -I$(SRCDIR)/framework/inc \
+ -I$(WORKDIR)/inc/framework/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/framework \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_add_linked_libs,fwk,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwe \
+ fwi \
+ i18nisolang1 \
+ sal \
+ sot \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fwk,\
+ framework/source/accelerators/acceleratorcache \
+ framework/source/accelerators/acceleratorconfiguration \
+ framework/source/accelerators/documentacceleratorconfiguration \
+ framework/source/accelerators/globalacceleratorconfiguration \
+ framework/source/accelerators/keymapping \
+ framework/source/accelerators/moduleacceleratorconfiguration \
+ framework/source/accelerators/presethandler \
+ framework/source/accelerators/storageholder \
+ framework/source/classes/droptargetlistener \
+ framework/source/classes/framecontainer \
+ framework/source/classes/fwktabwindow \
+ framework/source/classes/menumanager \
+ framework/source/classes/taskcreator \
+ framework/source/constant/containerquery \
+ framework/source/constant/contenthandler \
+ framework/source/constant/frameloader \
+ framework/source/dispatch/closedispatcher \
+ framework/source/dispatch/dispatchinformationprovider \
+ framework/source/dispatch/dispatchprovider \
+ framework/source/dispatch/helpagentdispatcher \
+ framework/source/dispatch/interceptionhelper \
+ framework/source/dispatch/loaddispatcher \
+ framework/source/dispatch/menudispatcher \
+ framework/source/dispatch/startmoduledispatcher \
+ framework/source/dispatch/windowcommanddispatch \
+ framework/source/helper/dockingareadefaultacceptor \
+ framework/source/helper/ocomponentaccess \
+ framework/source/helper/ocomponentenumeration \
+ framework/source/helper/oframes \
+ framework/source/helper/persistentwindowstate \
+ framework/source/helper/statusindicator \
+ framework/source/helper/statusindicatorfactory \
+ framework/source/helper/tagwindowasmodified \
+ framework/source/helper/titlebarupdate \
+ framework/source/helper/vclstatusindicator \
+ framework/source/helper/wakeupthread \
+ framework/source/interaction/quietinteraction \
+ framework/source/jobs/job \
+ framework/source/jobs/jobdata \
+ framework/source/jobs/jobdispatch \
+ framework/source/jobs/jobexecutor \
+ framework/source/jobs/jobresult \
+ framework/source/jobs/joburl \
+ framework/source/layoutmanager/helpers \
+ framework/source/layoutmanager/layoutmanager \
+ framework/source/layoutmanager/panel \
+ framework/source/layoutmanager/panelmanager \
+ framework/source/layoutmanager/toolbarlayoutmanager \
+ framework/source/layoutmanager/uielement \
+ framework/source/loadenv/loadenv \
+ framework/source/loadenv/targethelper \
+ framework/source/register/registerservices \
+ framework/source/services/autorecovery \
+ framework/source/services/backingcomp \
+ framework/source/services/backingwindow \
+ framework/source/services/desktop \
+ framework/source/services/frame \
+ framework/source/services/modelwinservice \
+ framework/source/services/modulemanager \
+ framework/source/services/pathsettings \
+ framework/source/services/sessionlistener \
+ framework/source/services/substitutepathvars \
+ framework/source/services/tabwindowservice \
+ framework/source/services/taskcreatorsrv \
+ framework/source/services/uriabbreviation \
+ framework/source/services/urltransformer \
+ framework/source/uiconfiguration/globalsettings \
+ framework/source/uiconfiguration/graphicnameaccess \
+ framework/source/uiconfiguration/imagemanager \
+ framework/source/uiconfiguration/imagemanagerimpl \
+ framework/source/uiconfiguration/moduleimagemanager \
+ framework/source/uiconfiguration/moduleuicfgsupplier \
+ framework/source/uiconfiguration/moduleuiconfigurationmanager \
+ framework/source/uiconfiguration/uicategorydescription \
+ framework/source/uiconfiguration/uiconfigurationmanager \
+ framework/source/uiconfiguration/uiconfigurationmanagerimpl \
+ framework/source/uiconfiguration/windowstateconfiguration \
+ framework/source/uielement/addonstoolbarmanager \
+ framework/source/uielement/addonstoolbarwrapper \
+ framework/source/uielement/buttontoolbarcontroller \
+ framework/source/uielement/comboboxtoolbarcontroller \
+ framework/source/uielement/complextoolbarcontroller \
+ framework/source/uielement/controlmenucontroller \
+ framework/source/uielement/dropdownboxtoolbarcontroller \
+ framework/source/uielement/edittoolbarcontroller \
+ framework/source/uielement/generictoolbarcontroller \
+ framework/source/uielement/imagebuttontoolbarcontroller \
+ framework/source/uielement/langselectionstatusbarcontroller \
+ framework/source/uielement/menubarmanager \
+ framework/source/uielement/menubarmerger \
+ framework/source/uielement/menubarwrapper \
+ framework/source/uielement/objectmenucontroller \
+ framework/source/uielement/panelwindow \
+ framework/source/uielement/panelwrapper \
+ framework/source/uielement/progressbarwrapper \
+ framework/source/uielement/recentfilesmenucontroller \
+ framework/source/uielement/spinfieldtoolbarcontroller \
+ framework/source/uielement/statusbar \
+ framework/source/uielement/statusbarmanager \
+ framework/source/uielement/statusbarwrapper \
+ framework/source/uielement/statusindicatorinterfacewrapper \
+ framework/source/uielement/togglebuttontoolbarcontroller \
+ framework/source/uielement/toolbar \
+ framework/source/uielement/toolbarmanager \
+ framework/source/uielement/toolbarmerger \
+ framework/source/uielement/toolbarwrapper \
+ framework/source/uielement/uicommanddescription \
+ framework/source/uifactory/addonstoolboxfactory \
+ framework/source/uifactory/factoryconfiguration \
+ framework/source/uifactory/menubarfactory \
+ framework/source/uifactory/popupmenucontrollerfactory \
+ framework/source/uifactory/statusbarcontrollerfactory \
+ framework/source/uifactory/statusbarfactory \
+ framework/source/uifactory/toolbarcontrollerfactory \
+ framework/source/uifactory/toolboxfactory \
+ framework/source/uifactory/uielementfactorymanager \
+ framework/source/uifactory/windowcontentfactorymanager \
+ framework/source/xml/acceleratorconfigurationreader \
+ framework/source/xml/acceleratorconfigurationwriter \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,fwk,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fwk,\
+ kernel32 \
+ msvcrt \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/framework/Library_fwl.mk b/framework/Library_fwl.mk
new file mode 100644
index 0000000000..d2002115ea
--- /dev/null
+++ b/framework/Library_fwl.mk
@@ -0,0 +1,99 @@
+#*************************************************************************
+#
+# 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,fwl))
+
+$(eval $(call gb_Library_set_componentfile,fwl,framework/util/fwl))
+
+$(eval $(call gb_Library_set_include,fwl,\
+ -I$(SRCDIR)/framework/inc \
+ -I$(SRCDIR)/framework/inc/pch \
+ -I$(SRCDIR)/framework/source/inc \
+ -I$(WORKDIR)/inc/framework/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/framework \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_add_linked_libs,fwl,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwe \
+ fwi \
+ i18nisolang1 \
+ sal \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ utl \
+ vcl \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fwl,\
+ framework/source/classes/fwlresid \
+ framework/source/dispatch/mailtodispatcher \
+ framework/source/dispatch/oxt_handler \
+ framework/source/dispatch/popupmenudispatcher \
+ framework/source/dispatch/servicehandler \
+ framework/source/recording/dispatchrecorder \
+ framework/source/recording/dispatchrecordersupplier \
+ framework/source/register/registertemp \
+ framework/source/services/dispatchhelper \
+ framework/source/services/license \
+ framework/source/services/mediatypedetectionhelper \
+ framework/source/services/uriabbreviation \
+ framework/source/uielement/fontmenucontroller \
+ framework/source/uielement/fontsizemenucontroller \
+ framework/source/uielement/footermenucontroller \
+ framework/source/uielement/headermenucontroller \
+ framework/source/uielement/langselectionmenucontroller \
+ framework/source/uielement/logoimagestatusbarcontroller \
+ framework/source/uielement/logotextstatusbarcontroller \
+ framework/source/uielement/macrosmenucontroller \
+ framework/source/uielement/newmenucontroller \
+ framework/source/uielement/popupmenucontroller \
+ framework/source/uielement/simpletextstatusbarcontroller \
+ framework/source/uielement/toolbarsmenucontroller \
+))
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,fwl,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fwl,\
+ kernel32 \
+ msvcrt \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/framework/Library_fwm.mk b/framework/Library_fwm.mk
new file mode 100644
index 0000000000..9ff4971914
--- /dev/null
+++ b/framework/Library_fwm.mk
@@ -0,0 +1,81 @@
+#*************************************************************************
+#
+# 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,fwm))
+
+$(eval $(call gb_Library_set_componentfile,fwm,framework/util/fwm))
+
+$(eval $(call gb_Library_set_include,fwm,\
+ -I$(SRCDIR)/framework/inc/pch \
+ -I$(SRCDIR)/framework/inc \
+ -I$(SRCDIR)/framework/source/inc \
+ -I$(WORKDIR)/inc/framework/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/framework \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_add_linked_libs,fwm,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwi \
+ sal \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ utl \
+ vcl \
+ vos3 \
+))
+
+$(eval $(call gb_Library_add_exception_objects,fwm,\
+ framework/source/dispatch/systemexec \
+ framework/source/jobs/helponstartup \
+ framework/source/jobs/shelljob \
+ framework/source/register/register3rdcomponents \
+ framework/source/tabwin/tabwindow \
+ framework/source/tabwin/tabwinfactory \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,fwm,\
+ dl \
+ m \
+ pthread \
+))
+endif
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,fwm,\
+ kernel32 \
+ msvcrt \
+ uwinapi \
+))
+endif
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/source/explorer/makefile.mk b/framework/Makefile
index 75a15ebdb8..a79aff8310 100644
--- a/sfx2/source/explorer/makefile.mk
+++ b/framework/Makefile
@@ -25,23 +25,14 @@
#
#*************************************************************************
-PRJ=..$/..
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
-PRJNAME=sfx2
-TARGET=explorer
-ENABLE_EXCEPTIONS=TRUE
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/nochaos.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.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/framework/Module_framework.mk b/framework/Module_framework.mk
new file mode 100644
index 0000000000..28b2e087b6
--- /dev/null
+++ b/framework/Module_framework.mk
@@ -0,0 +1,43 @@
+#*************************************************************************
+#
+# 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,framework))
+
+$(eval $(call gb_Module_add_targets,framework,\
+ AllLangResTarget_fwe \
+ Library_fwe \
+ Library_fwi \
+ Library_fwk \
+ Library_fwl \
+ Library_fwm \
+ Package_dtd \
+ Package_inc \
+ Package_uiconfig \
+ Package_unotypes \
+))
+
+# vim: set noet ts=4 sw=4:
diff --git a/framework/inc/makefile.mk b/framework/Package_dtd.mk
index e2f1bedf4e..db23783c4e 100644
--- a/framework/inc/makefile.mk
+++ b/framework/Package_dtd.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,34 +14,22 @@
#
# 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=framework
-TARGET=inc
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-.IF "$(ENABLE_PCH)"!=""
-ALLTAR : \
- $(SLO)$/precompiled.pch \
- $(SLO)$/precompiled_ex.pch
-
-.ENDIF # "$(ENABLE_PCH)"!=""
+$(eval $(call gb_Package_Package,framework_dtd,$(SRCDIR)/framework/dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/accelerator.dtd,accelerator.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/event.dtd,event.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/groupuinames.dtd,groupuinames.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/image.dtd,image.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/menubar.dtd,menubar.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/statusbar.dtd,statusbar.dtd))
+$(eval $(call gb_Package_add_file,framework_dtd,bin/toolbar.dtd,toolbar.dtd))
diff --git a/framework/Package_inc.mk b/framework/Package_inc.mk
new file mode 100644
index 0000000000..adefc3ccbd
--- /dev/null
+++ b/framework/Package_inc.mk
@@ -0,0 +1,48 @@
+#*************************************************************************
+#
+# 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,framework_inc,$(SRCDIR)/framework/inc))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/acceleratorinfo.hxx,framework/acceleratorinfo.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/actiontriggerhelper.hxx,framework/actiontriggerhelper.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/addonmenu.hxx,framework/addonmenu.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/addonsoptions.hxx,framework/addonsoptions.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/bmkmenu.hxx,framework/bmkmenu.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/configimporter.hxx,framework/configimporter.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/eventsconfiguration.hxx,framework/eventsconfiguration.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/framelistanalyzer.hxx,framework/framelistanalyzer.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/imageproducer.hxx,framework/imageproducer.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/imagesconfiguration.hxx,framework/imagesconfiguration.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/interaction.hxx,framework/interaction.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/menuconfiguration.hxx,framework/menuconfiguration.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/menuextensionsupplier.hxx,framework/menuextensionsupplier.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/preventduplicateinteraction.hxx,framework/preventduplicateinteraction.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/sfxhelperfunctions.hxx,framework/sfxhelperfunctions.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/titlehelper.hxx,framework/titlehelper.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/toolboxconfiguration.hxx,framework/toolboxconfiguration.hxx))
+$(eval $(call gb_Package_add_file,framework_inc,inc/framework/fwedllapi.h,framework/fwedllapi.h))
+$(eval $(call gb_Package_add_file,framework_inc,inc/fwkdllapi.h,fwkdllapi.h))
+$(eval $(call gb_Package_add_file,framework_inc,inc/fwidllapi.h,fwidllapi.h))
diff --git a/framework/qa/complex/dispatches/helper/makefile.mk b/framework/Package_uiconfig.mk
index 2b2ccab5eb..295be6c872 100644
--- a/framework/qa/complex/dispatches/helper/makefile.mk
+++ b/framework/Package_uiconfig.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,34 +14,18 @@
#
# 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 = ../../../..
-TARGET = checkdispatchapi
-PRJNAME = framework
-PACKAGE = complex/dispatches/helper
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar Generator.jar
-JAVAFILES = Interceptor.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
-
-MAXLINELENGTH = 100000
-
-.INCLUDE : target.mk
-
-
+$(eval $(call gb_Package_Package,framework_uiconfig,$(SRCDIR)/framework/uiconfig))
+$(eval $(call gb_Package_add_file,framework_uiconfig,xml/uiconfig/modules/StartModule/menubar/menubar.xml,startmodule/menubar/menubar.xml))
+$(eval $(call gb_Package_add_file,framework_uiconfig,xml/uiconfig/modules/StartModule/statusbar/statusbar.xml,startmodule/statusbar/statusbar.xml))
+$(eval $(call gb_Package_add_file,framework_uiconfig,xml/uiconfig/modules/StartModule/toolbar/standardbar.xml,startmodule/toolbar/standardbar.xml))
diff --git a/framework/Package_unotypes.mk b/framework/Package_unotypes.mk
new file mode 100644
index 0000000000..01069ae93d
--- /dev/null
+++ b/framework/Package_unotypes.mk
@@ -0,0 +1,30 @@
+#*************************************************************************
+#
+# 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,framework_unotypes,$(SRCDIR)/framework/source/unotypes))
+$(eval $(call gb_Package_add_file,framework_unotypes,xml/fwk.xml,fwk.xml))
+$(eval $(call gb_Package_add_file,framework_unotypes,xml/fwl.xml,fwl.xml))
diff --git a/framework/inc/classes/actiontriggercontainer.hxx b/framework/inc/classes/actiontriggercontainer.hxx
index f53ddac470..072c5d4f2d 100644
--- a/framework/inc/classes/actiontriggercontainer.hxx
+++ b/framework/inc/classes/actiontriggercontainer.hxx
@@ -32,14 +32,16 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <framework/fwedllapi.h>
#define SERVICENAME_ACTIONTRIGGERCONTAINER "com.sun.star.ui.ActionTriggerContainer"
#define IMPLEMENTATIONNAME_ACTIONTRIGGERCONTAINER "com.sun.star.comp.ui.ActionTriggerContainer"
+
namespace framework
{
-class ActionTriggerContainer : public PropertySetContainer,
+class FWE_DLLPUBLIC ActionTriggerContainer : public PropertySetContainer,
public com::sun::star::lang::XMultiServiceFactory,
public com::sun::star::lang::XServiceInfo,
public com::sun::star::lang::XTypeProvider
@@ -49,17 +51,17 @@ class ActionTriggerContainer : public PropertySetContainer,
virtual ~ActionTriggerContainer();
// XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL acquire() throw ();
virtual void SAL_CALL release() throw ();
// XMultiServiceFactory
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier )
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier )
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames()
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames()
throw (::com::sun::star::uno::RuntimeException);
// XServiceInfo
@@ -71,7 +73,7 @@ class ActionTriggerContainer : public PropertySetContainer,
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
};
-
+
}
#endif // __FRAMEWORK_CLASSES_ACTIONTRIGGERCONTAINER_HXX_
diff --git a/framework/inc/classes/actiontriggerpropertyset.hxx b/framework/inc/classes/actiontriggerpropertyset.hxx
index 020aafddf2..e71e98d276 100644
--- a/framework/inc/classes/actiontriggerpropertyset.hxx
+++ b/framework/inc/classes/actiontriggerpropertyset.hxx
@@ -41,6 +41,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
+#include <framework/fwedllapi.h>
#define SERVICENAME_ACTIONTRIGGER "com.sun.star.ui.ActionTrigger"
#define IMPLEMENTATIONNAME_ACTIONTRIGGER "com.sun.star.comp.ui.ActionTrigger"
@@ -48,7 +49,7 @@
namespace framework
{
-class ActionTriggerPropertySet : public ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
+class ActionTriggerPropertySet : public ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::com::sun::star::lang::XServiceInfo ,
public ::com::sun::star::lang::XTypeProvider,
public ::cppu::OBroadcastHelper ,
@@ -56,23 +57,23 @@ class ActionTriggerPropertySet : public ThreadHelpBase , // Struct for righ
public ::cppu::OWeakObject
{
public:
- ActionTriggerPropertySet( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
- virtual ~ActionTriggerPropertySet();
+ FWE_DLLPUBLIC ActionTriggerPropertySet( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
+ FWE_DLLPUBLIC virtual ~ActionTriggerPropertySet();
// XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw ();
- virtual void SAL_CALL release() throw ();
+ virtual FWE_DLLPUBLIC void SAL_CALL acquire() throw ();
+ virtual FWE_DLLPUBLIC void SAL_CALL release() throw ();
// XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw (::com::sun::star::uno::RuntimeException);
// XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId( ) throw (::com::sun::star::uno::RuntimeException);
private:
//---------------------------------------------------------------------------------------------------------
@@ -81,11 +82,11 @@ class ActionTriggerPropertySet : public ThreadHelpBase , // Struct for righ
virtual sal_Bool SAL_CALL convertFastPropertyValue( com::sun::star::uno::Any& aConvertedValue,
com::sun::star::uno::Any& aOldValue,
sal_Int32 nHandle,
- const com::sun::star::uno::Any& aValue )
+ const com::sun::star::uno::Any& aValue )
throw( com::sun::star::lang::IllegalArgumentException );
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue )
+ virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue )
throw( com::sun::star::uno::Exception );
using cppu::OPropertySetHelper::getFastPropertyValue;
@@ -93,7 +94,7 @@ class ActionTriggerPropertySet : public ThreadHelpBase , // Struct for righ
virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
- virtual com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
+ virtual com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
throw (::com::sun::star::uno::RuntimeException);
static const com::sun::star::uno::Sequence< com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
diff --git a/framework/inc/classes/actiontriggerseparatorpropertyset.hxx b/framework/inc/classes/actiontriggerseparatorpropertyset.hxx
index ce85a5d527..acc4014e00 100644
--- a/framework/inc/classes/actiontriggerseparatorpropertyset.hxx
+++ b/framework/inc/classes/actiontriggerseparatorpropertyset.hxx
@@ -37,10 +37,12 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
+#include <framework/fwedllapi.h>
#define SERVICENAME_ACTIONTRIGGERSEPARATOR "com.sun.star.ui.ActionTriggerSeparator"
#define IMPLEMENTATIONNAME_ACTIONTRIGGERSEPARATOR "com.sun.star.comp.ui.ActionTriggerSeparator"
+
namespace framework
{
@@ -56,7 +58,7 @@ class ActionTriggerSeparatorPropertySet : public ThreadHelpBase , // Struct
virtual ~ActionTriggerSeparatorPropertySet();
// XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL acquire() throw ();
virtual void SAL_CALL release() throw ();
@@ -77,11 +79,11 @@ class ActionTriggerSeparatorPropertySet : public ThreadHelpBase , // Struct
virtual sal_Bool SAL_CALL convertFastPropertyValue( com::sun::star::uno::Any& aConvertedValue,
com::sun::star::uno::Any& aOldValue,
sal_Int32 nHandle,
- const com::sun::star::uno::Any& aValue )
+ const com::sun::star::uno::Any& aValue )
throw( com::sun::star::lang::IllegalArgumentException );
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue )
+ virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue )
throw( com::sun::star::uno::Exception );
using cppu::OPropertySetHelper::getFastPropertyValue;
@@ -89,7 +91,7 @@ class ActionTriggerSeparatorPropertySet : public ThreadHelpBase , // Struct
virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
- virtual com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
+ virtual com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
throw (::com::sun::star::uno::RuntimeException);
static const com::sun::star::uno::Sequence< com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
diff --git a/framework/inc/classes/converter.hxx b/framework/inc/classes/converter.hxx
index 65c3277c95..7cabaff4cf 100644
--- a/framework/inc/classes/converter.hxx
+++ b/framework/inc/classes/converter.hxx
@@ -47,6 +47,7 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
#include <tools/datetime.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -62,7 +63,7 @@ namespace framework{
// exported definitions
//_________________________________________________________________________________________________________________
-class Converter
+class FWI_DLLPUBLIC Converter
{
public:
// Seq<Any> <=> Seq<beans.PropertyValue>
diff --git a/framework/inc/classes/fwkresid.hxx b/framework/inc/classes/fwkresid.hxx
index 58ed7d38e7..b4f8bb3b74 100644
--- a/framework/inc/classes/fwkresid.hxx
+++ b/framework/inc/classes/fwkresid.hxx
@@ -29,16 +29,17 @@
#define __FRAMEWORK_CLASSES_FWKRESID_HXX_
#include <tools/resid.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
-class FwkResId : public ResId
+class FWE_DLLPUBLIC FwkResId : public ResId
{
public:
FwkResId( sal_uInt16 nId );
-
- static ResMgr* GetResManager();
+
+ static ResMgr* GetResManager();
};
}
diff --git a/framework/inc/classes/imagewrapper.hxx b/framework/inc/classes/imagewrapper.hxx
index 57c4515124..32a364f815 100644
--- a/framework/inc/classes/imagewrapper.hxx
+++ b/framework/inc/classes/imagewrapper.hxx
@@ -34,11 +34,12 @@
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <cppuhelper/implbase2.hxx>
#include <vcl/image.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
-class ImageWrapper : public ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
+class FWE_DLLPUBLIC ImageWrapper : public ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::cppu::WeakImplHelper2< ::com::sun::star::awt::XBitmap,
::com::sun::star::lang::XUnoTunnel >
{
diff --git a/framework/inc/classes/propertysethelper.hxx b/framework/inc/classes/propertysethelper.hxx
index a5de798d77..c3dbf271a8 100644
--- a/framework/inc/classes/propertysethelper.hxx
+++ b/framework/inc/classes/propertysethelper.hxx
@@ -49,6 +49,7 @@
// other includes
#include <cppuhelper/weakref.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -66,7 +67,7 @@ namespace framework{
* Further the derived and this base class share the same lock.
* So it's possible to be threadsafe if it's needed.
*/
-class PropertySetHelper : public css::beans::XPropertySet
+class FWI_DLLPUBLIC PropertySetHelper : public css::beans::XPropertySet
, public css::beans::XPropertySetInfo
{
//-------------------------------------------------------------------------
diff --git a/framework/inc/classes/protocolhandlercache.hxx b/framework/inc/classes/protocolhandlercache.hxx
index d28b79bdd2..f260767091 100644
--- a/framework/inc/classes/protocolhandlercache.hxx
+++ b/framework/inc/classes/protocolhandlercache.hxx
@@ -47,6 +47,7 @@
#include <unotools/configitem.hxx>
#include <rtl/ustring.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -76,7 +77,7 @@ namespace framework{
This struct holds the information about one such registered protocol handler.
A list of handler objects is defined as ProtocolHandlerHash. see below
*/
-struct ProtocolHandler
+struct FWI_DLLPUBLIC ProtocolHandler
{
/* member */
public:
@@ -94,7 +95,7 @@ struct ProtocolHandler
uno implementation names as value. Overloading of the index operator makes it possible
to search for a key by using a full qualified URL on list of all possible pattern keys.
*/
-class PatternHash : public BaseHash< ::rtl::OUString >
+class FWI_DLLPUBLIC PatternHash : public BaseHash< ::rtl::OUString >
{
/* interface */
public:
@@ -133,7 +134,7 @@ typedef BaseHash< ProtocolHandler > HandlerHash;
*/
class HandlerCFGAccess;
-class HandlerCache
+class FWI_DLLPUBLIC HandlerCache
{
/* member */
private:
@@ -178,7 +179,7 @@ class HandlerCache
@modified 30.04.2002 09:58, as96863
*/
-class HandlerCFGAccess : public ::utl::ConfigItem
+class FWI_DLLPUBLIC HandlerCFGAccess : public ::utl::ConfigItem
{
private:
HandlerCache* m_pCache;
diff --git a/framework/inc/classes/rootactiontriggercontainer.hxx b/framework/inc/classes/rootactiontriggercontainer.hxx
index 5c11f41c9f..d3e1acbf9d 100644
--- a/framework/inc/classes/rootactiontriggercontainer.hxx
+++ b/framework/inc/classes/rootactiontriggercontainer.hxx
@@ -35,14 +35,15 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <framework/fwedllapi.h>
-#define IMPLEMENTATIONNAME_ROOTACTIONTRIGGERCONTAINER "com.sun.star.comp.ui.RootActionTriggerContainer"
+#define IMPLEMENTATIONNAME_ROOTACTIONTRIGGERCONTAINER "com.sun.star.comp.ui.RootActionTriggerContainer"
namespace framework
{
-class RootActionTriggerContainer : public PropertySetContainer,
+class FWE_DLLPUBLIC RootActionTriggerContainer : public PropertySetContainer,
public com::sun::star::lang::XMultiServiceFactory,
public com::sun::star::lang::XServiceInfo,
public com::sun::star::lang::XUnoTunnel,
@@ -53,47 +54,47 @@ class RootActionTriggerContainer : public PropertySetContainer,
RootActionTriggerContainer( const Menu* pMenu, const ::rtl::OUString* pMenuIdentifier, const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager );
virtual ~RootActionTriggerContainer();
- const Menu* GetMenu();
-
+ const Menu* GetMenu();
+
::com::sun::star::uno::Sequence< sal_Int8 > GetUnoTunnelId() const;
// XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL acquire() throw ();
virtual void SAL_CALL release() throw ();
// XMultiServiceFactory
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier )
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier )
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments )
throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames()
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames()
throw (::com::sun::star::uno::RuntimeException);
// XIndexContainer
- virtual void SAL_CALL insertByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element )
+ virtual void SAL_CALL insertByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element )
throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
-
- virtual void SAL_CALL removeByIndex( sal_Int32 Index )
+
+ virtual void SAL_CALL removeByIndex( sal_Int32 Index )
throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
// XIndexReplace
- virtual void SAL_CALL replaceByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element )
+ virtual void SAL_CALL replaceByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element )
throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
// XIndexAccess
- virtual sal_Int32 SAL_CALL getCount()
+ virtual sal_Int32 SAL_CALL getCount()
throw (::com::sun::star::uno::RuntimeException);
-
- virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
+
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index )
throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
// XElementAccess
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
throw (::com::sun::star::uno::RuntimeException);
-
- virtual sal_Bool SAL_CALL hasElements()
+
+ virtual sal_Bool SAL_CALL hasElements()
throw (::com::sun::star::uno::RuntimeException);
// XServiceInfo
@@ -111,17 +112,17 @@ class RootActionTriggerContainer : public PropertySetContainer,
// XNamed
virtual ::rtl::OUString SAL_CALL getName( ) throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
-
+
private:
void FillContainer();
- sal_Bool m_bContainerCreated;
- sal_Bool m_bContainerChanged;
- sal_Bool m_bInContainerCreation;
- const Menu* m_pMenu;
+ sal_Bool m_bContainerCreated;
+ sal_Bool m_bContainerChanged;
+ sal_Bool m_bInContainerCreation;
+ const Menu* m_pMenu;
const ::rtl::OUString* m_pMenuIdentifier;
};
-
+
}
#endif // __FRAMEWORK_CLASSES_ROOTACTIONTRIGGERCONTAINER_HXX_
diff --git a/framework/inc/dispatch/interaction.hxx b/framework/inc/dispatch/interaction.hxx
deleted file mode 100644
index 07a10f48f5..0000000000
--- a/framework/inc/dispatch/interaction.hxx
+++ /dev/null
@@ -1,325 +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 __FRAMEWORK_DISPATCH_INTERACTION_HXX_
-#define __FRAMEWORK_DISPATCH_INTERACTION_HXX_
-
-//_________________________________________________________________________________________________________________
-// my own includes
-//_________________________________________________________________________________________________________________
-
-//_________________________________________________________________________________________________________________
-// interface includes
-//_________________________________________________________________________________________________________________
-
-#include <com/sun/star/task/XInteractionRequest.hpp>
-#include <com/sun/star/task/XInteractionContinuation.hpp>
-#include <com/sun/star/task/XInteractionAbort.hpp>
-#include <com/sun/star/task/XInteractionApprove.hpp>
-#include <com/sun/star/task/XInteractionDisapprove.hpp>
-#include <com/sun/star/task/XInteractionRetry.hpp>
-#include <com/sun/star/document/XInteractionFilterSelect.hpp>
-#include <com/sun/star/document/NoSuchFilterRequest.hpp>
-#include <com/sun/star/document/AmbigousFilterRequest.hpp>
-#include <com/sun/star/uno/RuntimeException.hpp>
-
-//_________________________________________________________________________________________________________________
-// includes of other projects
-//_________________________________________________________________________________________________________________
-#include <rtl/ustring.hxx>
-#include <cppuhelper/implbase1.hxx>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-
-//_________________________________________________________________________________________________________________
-// namespace
-//_________________________________________________________________________________________________________________
-
-namespace framework{
-
-//_________________________________________________________________________________________________________________
-// non exported const
-//_________________________________________________________________________________________________________________
-
-//_________________________________________________________________________________________________________________
-// non exported definitions
-//_________________________________________________________________________________________________________________
-
-//_________________________________________________________________________________________________________________
-// declarations
-//_________________________________________________________________________________________________________________
-
-/*-************************************************************************************************************//**
- @short base for continuation classes
- @descr An interaction continuation could be used on XInteractionHandler/XInteractionRequest
- to abort or react for it.
- Base functionality is everytime the same - handler mark right continuation by calling
- interface method "select()". User of interaction can detect it by testing c++ method "isSelected()"!
- Superclasses can add additional interfaces or methods to support additional features ...
- but selection of it is supported here!
-
- @implements XInterface
- XTypeProvider (supported by WeakImplHelper!)
- XInteractionContinuation
-
- @base WeakImplHelper1
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-template< class TContinuationType >
-class ContinuationBase : public ::cppu::WeakImplHelper1< TContinuationType >
-{
- // c++ interface
- public:
-
- //---------------------------------------------------------------------------------------------------------
- // initialize continuation with right start values
- //---------------------------------------------------------------------------------------------------------
- ContinuationBase()
- : m_bSelected( sal_False )
- {
- }
-
- //---------------------------------------------------------------------------------------------------------
- // was continuation selected by handler?
- //---------------------------------------------------------------------------------------------------------
- sal_Bool isSelected() const
- {
- return m_bSelected;
- }
-
- //---------------------------------------------------------------------------------------------------------
- // make using more then once possible
- //---------------------------------------------------------------------------------------------------------
- void reset()
- {
- m_bSelected = sal_False;
- }
-
- // uno interface
- public:
-
- //---------------------------------------------------------------------------------------------------------
- // called by handler to mark continuation as the only possible solution for started interaction
- //---------------------------------------------------------------------------------------------------------
- virtual void SAL_CALL select() throw( ::com::sun::star::uno::RuntimeException )
- {
- m_bSelected = sal_True;
- }
-
- // member
- private:
-
- sal_Bool m_bSelected;
-
-}; // class ContinuationBase
-
-/*-************************************************************************************************************//**
- @short declaration of some simple continuations
- @descr These derived classes implements some simple continuations, which doesnt need and additional
- interfaces or methods. Her selected state is the only neccessary feature. User of it can
- distinguish by type between different functionality!
-
- @implements -
-
- @base ContinuationBase
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-typedef ContinuationBase< ::com::sun::star::task::XInteractionAbort > ContinuationAbort;
-typedef ContinuationBase< ::com::sun::star::task::XInteractionApprove > ContinuationApprove;
-typedef ContinuationBase< ::com::sun::star::task::XInteractionDisapprove > ContinuationDisapprove;
-typedef ContinuationBase< ::com::sun::star::task::XInteractionRetry > ContinuationRetry;
-
-/*-************************************************************************************************************//**
- @short declaration of special continuation for filter selection
- @descr Sometimes filter detection during loading document failed. Then we need a possibility
- to ask user for his decision. These continuation transport selected filter by user to
- code user of interaction.
-
- @attention This implementation could be used one times only. We don't support a resetable continuation yet!
- Why? Normaly interaction should show a filter selection dialog and ask user for his decision.
- He can select any filter - then instances of these class will be called by handler ... or user
- close dialog without any selection. Then another continuation should be slected by handler to
- abort continuations ... Retrying isn't very usefull here ... I think.
-
- @implements XInteractionFilterSelect
-
- @base ImplInheritanceHelper1
- ContinuationBase
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-class ContinuationFilterSelect : public ContinuationBase< ::com::sun::star::document::XInteractionFilterSelect >
-{
- // c++ interface
- public:
- ContinuationFilterSelect();
-
- // uno interface
- public:
- virtual void SAL_CALL setFilter( const ::rtl::OUString& sFilter ) throw( ::com::sun::star::uno::RuntimeException );
- virtual ::rtl::OUString SAL_CALL getFilter( ) throw( ::com::sun::star::uno::RuntimeException );
-
- // member
- private:
- ::rtl::OUString m_sFilter;
-
-}; // class ContinuationFilterSelect
-
-/*-************************************************************************************************************//**
- @short special request for interaction to ask user for right filter
- @descr These helper can be used to ask user for right filter, if filter detection failed.
- It capsulate communication with any interaction handler and supports an easy
- access on interaction results for user of these class.
- Use it and forget complex mechanism of interaction ...
-
- @example RequestFilterSelect* pRequest = new RequestFilterSelect;
- Reference< XInteractionRequest > xRequest ( pRequest );
- xInteractionHandler->handle( xRequest );
- if( ! pRequest.isAbort() )
- {
- OUString sFilter = pRequest->getFilter();
- }
-
- @implements XInteractionRequest
-
- @base WeakImplHelper1
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-class RequestFilterSelect : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
-{
- // c++ interface
- public:
- RequestFilterSelect( const ::rtl::OUString& sURL );
- sal_Bool isAbort () const;
- ::rtl::OUString getFilter() const;
-
- // uno interface
- public:
- virtual ::com::sun::star::uno::Any SAL_CALL getRequest () throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
-
- // member
- private:
- ::com::sun::star::uno::Any m_aRequest ;
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
- ContinuationAbort* m_pAbort ;
- ContinuationFilterSelect* m_pFilter ;
-
-}; // class RequestFilterSelect
-
-/*-************************************************************************************************************//**
- @short special request for interaction
- @descr User must decide between a preselected and another detected filter.
- It capsulate communication with any interaction handler and supports an easy
- access on interaction results for user of these class.
-
- @implements XInteractionRequest
-
- @base WeakImplHelper1
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-class RequestAmbigousFilter : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
-{
- // c++ interface
- public:
- RequestAmbigousFilter( const ::rtl::OUString& sURL ,
- const ::rtl::OUString& sSelectedFilter ,
- const ::rtl::OUString& sDetectedFilter );
- sal_Bool isAbort () const;
- ::rtl::OUString getFilter() const;
-
- // uno interface
- public:
- virtual ::com::sun::star::uno::Any SAL_CALL getRequest () throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
-
- // member
- private:
- ::com::sun::star::uno::Any m_aRequest ;
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
- ContinuationAbort* m_pAbort ;
- ContinuationFilterSelect* m_pFilter ;
-
-}; // class RequestFilterSelect
-
-/*-************************************************************************************************************//**
- @short special request for interaction
- @descr User must decide between a preselected and another detected filter.
- It capsulate communication with any interaction handler and supports an easy
- access on interaction results for user of these class.
-
- @implements XInteractionRequest
-
- @base WeakImplHelper1
-
- @devstatus ready to use
- @threadsafe no (used on once position only!)
-*//*-*************************************************************************************************************/
-class InteractionRequest : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
-{
- // c++ interface
- public:
- InteractionRequest( const ::com::sun::star::uno::Any& aRequest ,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > lContinuations )
- {
- m_aRequest = aRequest ;
- m_lContinuations = lContinuations;
- }
-
- // uno interface
- public:
- virtual ::com::sun::star::uno::Any SAL_CALL getRequest()
- throw( ::com::sun::star::uno::RuntimeException )
- {
- return m_aRequest;
- }
-
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations()
- throw( ::com::sun::star::uno::RuntimeException )
- {
- return m_lContinuations;
- }
-
- // member
- private:
- ::com::sun::star::uno::Any m_aRequest ;
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
-
-}; // class RequestFilterSelect
-
-} // namespace framework
-
-#endif // #define __FRAMEWORK_DISPATCH_INTERACTION_HXX_
diff --git a/framework/inc/helper/acceleratorinfo.hxx b/framework/inc/framework/acceleratorinfo.hxx
index e4f203c6e6..9ca9c6a306 100644
--- a/framework/inc/helper/acceleratorinfo.hxx
+++ b/framework/inc/framework/acceleratorinfo.hxx
@@ -31,6 +31,7 @@
#include <com/sun/star/frame/XFrame.hpp>
#include <vcl/keycod.hxx>
#include <rtl/ustring.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
diff --git a/framework/inc/helper/actiontriggerhelper.hxx b/framework/inc/framework/actiontriggerhelper.hxx
index 70dff36296..8990126ee3 100644
--- a/framework/inc/helper/actiontriggerhelper.hxx
+++ b/framework/inc/framework/actiontriggerhelper.hxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -33,11 +33,12 @@
// #110897#
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <vcl/menu.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
- class ActionTriggerHelper
+ class FWE_DLLPUBLIC ActionTriggerHelper
{
public:
// Fills the submitted menu with the structure contained in the second
@@ -45,10 +46,10 @@ namespace framework
// @param pNewMenu = must be a valid and empty menu
// @param rActionTriggerContainer = must be an instance of service "com.sun.star.ui.ActionTriggerContaienr"
static void
- CreateMenuFromActionTriggerContainer(
+ CreateMenuFromActionTriggerContainer(
Menu* pNewMenu,
const com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer >& rActionTriggerContainer );
-
+
// Creates a "com::sun::star::ui::ActionTriggerContainer" with the structure of the menu
// provided as a parameter. The implementation class stores the menu pointer
// to optimize the time of creation of a menu from a actiontrigger structure.
@@ -68,7 +69,7 @@ namespace framework
// @param rActionTriggerContainer = must be an instance of service "com.sun.star.ui.ActionTriggerContainer"
// @param pNewMenu = must be a valid menu
static void
- FillActionTriggerContainerFromMenu(
+ FillActionTriggerContainerFromMenu(
com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer >& rActionTriggerContainer,
const Menu* pMenu );
diff --git a/framework/inc/classes/addonmenu.hxx b/framework/inc/framework/addonmenu.hxx
index 7c7d606b8b..20e0dab761 100644
--- a/framework/inc/classes/addonmenu.hxx
+++ b/framework/inc/framework/addonmenu.hxx
@@ -40,6 +40,7 @@
//_________________________________________________________________________________________________________________
#include <vcl/menu.hxx>
+#include <framework/fwedllapi.h>
#define ADDONMENU_ITEMID_START 2000
#define ADDONMENU_ITEMID_END 3000
@@ -47,7 +48,7 @@
namespace framework
{
-class AddonMenu : public PopupMenu
+class FWE_DLLPUBLIC AddonMenu : public PopupMenu
{
public:
AddonMenu( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
@@ -58,29 +59,29 @@ class AddonMenu : public PopupMenu
};
class AddonMenuManager;
-class AddonPopupMenu : public AddonMenu
+class FWE_DLLPUBLIC AddonPopupMenu : public AddonMenu
{
public:
~AddonPopupMenu();
-
+
// Check if command URL string has the unique prefix to identify addon popup menus
static sal_Bool IsCommandURLPrefix( const rtl::OUString& aCmdURL );
-
+
void SetCommandURL( const rtl::OUString& aCmdURL ) { m_aCommandURL = aCmdURL; }
const rtl::OUString& GetCommandURL() const { return m_aCommandURL; }
protected:
void Initialize( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rAddonPopupMenuDefinition );
-
+
private:
AddonPopupMenu( const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame );
rtl::OUString m_aCommandURL;
-
+
friend class AddonMenuManager;
};
-class AddonMenuManager
+class FWE_DLLPUBLIC AddonMenuManager
{
public:
enum MenuType
@@ -91,9 +92,9 @@ class AddonMenuManager
static sal_Bool HasAddonMenuElements();
static sal_Bool HasAddonHelpMenuElements();
-
+
static sal_Bool IsAddonMenuId( sal_uInt16 nId ) { return (( nId >= ADDONMENU_ITEMID_START ) && ( nId < ADDONMENU_ITEMID_END )); }
-
+
// Check if the context string matches the provided xModel context
static sal_Bool IsCorrectContext( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& rModel, const rtl::OUString& aContext );
@@ -102,7 +103,7 @@ class AddonMenuManager
// Create the Add-Ons menu
static AddonMenu* CreateAddonMenu( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
-
+
// Merge the Add-Ons help menu items into the given menu bar at a defined pos
static void MergeAddonHelpMenu( const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame,
MenuBar* pMergeMenuBar );
@@ -112,16 +113,27 @@ class AddonMenuManager
const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rModel,
sal_uInt16 nMergeAtPos,
MenuBar* pMergeMenuBar );
-
+
// Returns the next position to insert a menu item/sub menu
+<<<<<<< local
static sal_uInt16 GetNextPos( sal_uInt16 nPos );
+=======
+ static USHORT GetNextPos( USHORT nPos );
+
+>>>>>>> other
// Build up the menu item and sub menu into the provided pCurrentMenu. The sub menus should be of type nSubMenuType.
static void BuildMenu( PopupMenu* pCurrentMenu,
MenuType nSubMenuType,
+<<<<<<< local
sal_uInt16 nInsPos,
sal_uInt16& nUniqueMenuId,
com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > > aAddonMenuDefinition,
+=======
+ USHORT nInsPos,
+ USHORT& nUniqueMenuId,
+ com::sun::star::uno::Sequence< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > > aAddonMenuDefinition,
+>>>>>>> other
const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame,
const com::sun::star::uno::Reference< com::sun::star::frame::XModel >& rModel );
diff --git a/framework/inc/classes/addonsoptions.hxx b/framework/inc/framework/addonsoptions.hxx
index 040b357add..150146bc42 100644
--- a/framework/inc/classes/addonsoptions.hxx
+++ b/framework/inc/framework/addonsoptions.hxx
@@ -28,7 +28,7 @@
#define __FRAMEWORK_CLASSES_ADDONSOPTIONS_HXX_
//_________________________________________________________________________________________________________________
-// includes
+// includes
//_________________________________________________________________________________________________________________
#include <sal/types.h>
@@ -38,13 +38,13 @@
#include <vcl/svapp.hxx>
#include <com/sun/star/uno/Sequence.h>
#include <com/sun/star/beans/PropertyValue.hpp>
-
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
-// types, enums, ...
+// types, enums, ...
//_________________________________________________________________________________________________________________
/*-************************************************************************************************************//**
- @descr The method GetAddonsMenu() returns a list of property values.
+ @descr The method GetAddonsMenu() returns a list of property values.
Use follow defines to seperate values by names.
*//*-*************************************************************************************************************/
#define ADDONSMENUITEM_STRING_URL "URL"
@@ -63,25 +63,25 @@
#define ADDONSMENUITEM_CONTEXT_LEN 7
#define ADDONSMENUITEM_IMAGEIDENTIFIER_LEN 15
-#define ADDONSMENUITEM_PROPERTYNAME_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_URL ))
-#define ADDONSMENUITEM_PROPERTYNAME_TITLE ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_TITLE ))
-#define ADDONSMENUITEM_PROPERTYNAME_TARGET ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_TARGET ))
-#define ADDONSMENUITEM_PROPERTYNAME_IMAGEIDENTIFIER ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_IMAGEIDENTIFIER ))
-#define ADDONSMENUITEM_PROPERTYNAME_CONTEXT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_CONTEXT ))
-#define ADDONSMENUITEM_PROPERTYNAME_SUBMENU ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_SUBMENU ))
-#define ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_CONTROLTYPE ))
-#define ADDONSMENUITEM_PROPERTYNAME_WIDTH ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_WIDTH ))
+#define ADDONSMENUITEM_PROPERTYNAME_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_URL ))
+#define ADDONSMENUITEM_PROPERTYNAME_TITLE ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_TITLE ))
+#define ADDONSMENUITEM_PROPERTYNAME_TARGET ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_TARGET ))
+#define ADDONSMENUITEM_PROPERTYNAME_IMAGEIDENTIFIER ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_IMAGEIDENTIFIER ))
+#define ADDONSMENUITEM_PROPERTYNAME_CONTEXT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_CONTEXT ))
+#define ADDONSMENUITEM_PROPERTYNAME_SUBMENU ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_SUBMENU ))
+#define ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_CONTROLTYPE ))
+#define ADDONSMENUITEM_PROPERTYNAME_WIDTH ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(ADDONSMENUITEM_STRING_WIDTH ))
-#define ADDONSPOPUPMENU_URL_PREFIX_STR "private:menu/Addon"
+#define ADDONSPOPUPMENU_URL_PREFIX_STR "private:menu/Addon"
-#define ADDONSPOPUPMENU_URL_PREFIX ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( ADDONSPOPUPMENU_URL_PREFIX_STR ))
+#define ADDONSPOPUPMENU_URL_PREFIX ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( ADDONSPOPUPMENU_URL_PREFIX_STR ))
namespace framework
{
typedef ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > > MergeMenuDefinition;
-struct MergeMenuInstruction
+struct FWE_DLLPUBLIC MergeMenuInstruction
{
::rtl::OUString aMergePoint;
::rtl::OUString aMergeCommand;
@@ -92,7 +92,7 @@ struct MergeMenuInstruction
};
typedef ::std::vector< MergeMenuInstruction > MergeMenuInstructionContainer;
-struct MergeToolbarInstruction
+struct FWE_DLLPUBLIC MergeToolbarInstruction
{
::rtl::OUString aMergeToolbar;
::rtl::OUString aMergePoint;
@@ -106,12 +106,12 @@ struct MergeToolbarInstruction
typedef ::std::vector< MergeToolbarInstruction > MergeToolbarInstructionContainer;
//_________________________________________________________________________________________________________________
-// forward declarations
+// forward declarations
//_________________________________________________________________________________________________________________
/*-************************************************************************************************************//**
- @short forward declaration to our private date container implementation
- @descr We use these class as internal member to support small memory requirements.
+ @short forward declaration to our private date container implementation
+ @descr We use these class as internal member to support small memory requirements.
You can create the container if it is neccessary. The class which use these mechanism
is faster and smaller then a complete implementation!
*//*-*************************************************************************************************************/
@@ -119,94 +119,94 @@ typedef ::std::vector< MergeToolbarInstruction > MergeToolbarInstructionContaine
class AddonsOptions_Impl;
//_________________________________________________________________________________________________________________
-// declarations
+// declarations
//_________________________________________________________________________________________________________________
/*-************************************************************************************************************//**
- @short collect informations about menu features
+ @short collect informations about menu features
@descr -
- @implements -
- @base -
+ @implements -
+ @base -
- @devstatus ready to use
+ @devstatus ready to use
*//*-*************************************************************************************************************/
-class AddonsOptions
+class FWE_DLLPUBLIC AddonsOptions
{
//-------------------------------------------------------------------------------------------------------------
- // public methods
+ // public methods
//-------------------------------------------------------------------------------------------------------------
public:
//---------------------------------------------------------------------------------------------------------
- // constructor / destructor
+ // constructor / destructor
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
- @short standard constructor and destructor
- @descr This will initialize an instance with default values.
+ @short standard constructor and destructor
+ @descr This will initialize an instance with default values.
We implement these class with a refcount mechanism! Every instance of this class increase it
at create and decrease it at delete time - but all instances use the same data container!
He is implemented as a static member ...
- @seealso member m_nRefCount
- @seealso member m_pDataContainer
+ @seealso member m_nRefCount
+ @seealso member m_pDataContainer
- @param -
- @return -
+ @param -
+ @return -
- @onerror -
+ @onerror -
*//*-*****************************************************************************************************/
AddonsOptions();
~AddonsOptions();
//---------------------------------------------------------------------------------------------------------
- // interface
+ // interface
//---------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
- @short clears completely the addons menu
+ @short clears completely the addons menu
@descr Call this methods to clear the addons menu
To fill it again use AppendItem().
- @seealso -
+ @seealso -
@param "eMenu" select right menu to clear.
- @return -
+ @return -
- @onerror -
+ @onerror -
*//*-*****************************************************************************************************/
void Clear();
/*-****************************************************************************************************//**
- @short returns if an addons menu is available
+ @short returns if an addons menu is available
@descr Call to retrieve if a addons menu is available
- @return sal_True if there is a menu otherwise sal_False
+ @return sal_True if there is a menu otherwise sal_False
*//*-*****************************************************************************************************/
- sal_Bool HasAddonsMenu() const;
+ sal_Bool HasAddonsMenu() const;
/*-****************************************************************************************************//**
- @short returns if an addons help menu is available
+ @short returns if an addons help menu is available
@descr Call to retrieve if a addons menu is available
- @return sal_True if there is a menu otherwise sal_False
+ @return sal_True if there is a menu otherwise sal_False
*//*-*****************************************************************************************************/
- sal_Bool HasAddonsHelpMenu() const;
+ sal_Bool HasAddonsHelpMenu() const;
/*-****************************************************************************************************//**
- @short returns number of addons toolbars
+ @short returns number of addons toolbars
@descr Call to retrieve the number of addons toolbars
- @return number of addons toolbars
+ @return number of addons toolbars
*//*-*****************************************************************************************************/
sal_Int32 GetAddonsToolBarCount() const ;
@@ -215,7 +215,7 @@ class AddonsOptions
@descr Call it to get all entries of the addon menu.
We return a list of all nodes with his names and properties.
- @seealso -
+ @seealso -
@return A list of menu items is returned.
@@ -228,7 +228,7 @@ class AddonsOptions
@short Gets the menu bar part of all addon components registered
@descr -
- @seealso -
+ @seealso -
@return A complete
@@ -241,7 +241,7 @@ class AddonsOptions
@short Gets a toolbar part of an single addon
@descr -
- @seealso -
+ @seealso -
@return A complete
@@ -254,7 +254,7 @@ class AddonsOptions
@short Gets a unique toolbar resource name of an single addon
@descr -
- @seealso -
+ @seealso -
@return A complete
@@ -267,7 +267,7 @@ class AddonsOptions
@short Retrieves all available merge instructions for the Office menu bar
@descr -
- @seealso -
+ @seealso -
@return The filled MergeMenuDefinitionContaier
@@ -280,7 +280,7 @@ class AddonsOptions
@short Retrieves all available merge instructions for a single toolbar
@descr -
- @seealso -
+ @seealso -
@return The filled
@@ -292,7 +292,7 @@ class AddonsOptions
@short Gets the Add-On help menu part of all addon components registered
@descr -
- @seealso -
+ @seealso -
@return A complete
@@ -304,7 +304,7 @@ class AddonsOptions
@short Retrieve an image for a command URL which is defined inside the addon menu configuration
@descr Call it to retrieve an image for a command URL which is defined inside the addon menu configuration
- @seealso -
+ @seealso -
@return An image which was defined in the configuration for the menu item. The image can be empty
no bitmap was defined for the request image properties.
@@ -316,42 +316,42 @@ class AddonsOptions
Image GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast ) const;
//-------------------------------------------------------------------------------------------------------------
- // private methods
+ // private methods
//-------------------------------------------------------------------------------------------------------------
/*-****************************************************************************************************//**
- @short return a reference to a static mutex
- @descr These class is partially threadsafe (for de-/initialization only).
+ @short return a reference to a static mutex
+ @descr These class is partially threadsafe (for de-/initialization only).
All access methods are'nt safe!
We create a static mutex only for one ime and use at different times.
- @seealso -
+ @seealso -
- @param -
- @return A reference to a static mutex member.
+ @param -
+ @return A reference to a static mutex member.
- @onerror -
+ @onerror -
*//*-*****************************************************************************************************/
static ::osl::Mutex& GetOwnStaticMutex();
/*-****************************************************************************************************//**
- @short return a reference to a static mutex
- @descr These class is partially threadsafe (for de-/initialization only).
+ @short return a reference to a static mutex
+ @descr These class is partially threadsafe (for de-/initialization only).
All access methods are'nt safe!
We create a static mutex only for one ime and use at different times.
- @seealso -
+ @seealso -
- @param -
- @return A reference to a static mutex member.
+ @param -
+ @return A reference to a static mutex member.
- @onerror -
+ @onerror -
*//*-*****************************************************************************************************/
DECL_STATIC_LINK( AddonsOptions, Notify, void* );
//-------------------------------------------------------------------------------------------------------------
- // private member
+ // private member
//-------------------------------------------------------------------------------------------------------------
private:
@@ -364,11 +364,11 @@ class AddonsOptions
Do it in your source only.
*/
- static AddonsOptions_Impl* m_pDataContainer ; /// impl. data container as dynamic pointer for smaller memory requirements!
- static sal_Int32 m_nRefCount ; /// internal ref count mechanism
+ static AddonsOptions_Impl* m_pDataContainer ; /// impl. data container as dynamic pointer for smaller memory requirements!
+ static sal_Int32 m_nRefCount ; /// internal ref count mechanism
-}; // class SvtMenuOptions
+}; // class SvtMenuOptions
}
-#endif // #ifndef __FRAMEWORK_CLASSES_ADDONSOPTIONS_HXX_
+#endif // #ifndef __FRAMEWORK_CLASSES_ADDONSOPTIONS_HXX_
diff --git a/framework/inc/classes/bmkmenu.hxx b/framework/inc/framework/bmkmenu.hxx
index 7028762b52..aa7d199249 100644
--- a/framework/inc/classes/bmkmenu.hxx
+++ b/framework/inc/framework/bmkmenu.hxx
@@ -27,13 +27,13 @@
#ifndef __FRAMEWORK_CLASSES_BMKMENU_HXX
#define __FRAMEWORK_CLASSES_BMKMENU_HXX
-#include "classes/addonmenu.hxx"
+#include "framework/addonmenu.hxx"
//_________________________________________________________________________________________________________________
// interface includes
//_________________________________________________________________________________________________________________
#include <com/sun/star/frame/XFrame.hpp>
-
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// includes of other projects
//_________________________________________________________________________________________________________________
@@ -50,16 +50,16 @@ namespace framework
{
class BmkMenu_Impl;
-class BmkMenu : public AddonMenu
+class FWE_DLLPUBLIC BmkMenu : public AddonMenu
{
public:
enum BmkMenuType
- {
- BMK_NEWMENU,
+ {
+ BMK_NEWMENU,
BMK_WIZARDMENU
};
-
- BmkMenu( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
+
+ BmkMenu( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
BmkMenuType nType );
~BmkMenu();
@@ -70,7 +70,7 @@ class BmkMenu : public AddonMenu
sal_uInt16 CreateMenuId();
private:
- BmkMenu( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
+ BmkMenu( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame,
BmkMenuType, BmkMenu* pRoot );
BmkMenu_Impl* _pImp;
diff --git a/framework/inc/helper/configimporter.hxx b/framework/inc/framework/configimporter.hxx
index 9e4a6f5229..de633e6bdf 100644
--- a/framework/inc/helper/configimporter.hxx
+++ b/framework/inc/framework/configimporter.hxx
@@ -34,13 +34,14 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <rtl/ustring.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
- class UIConfigurationImporterOOo1x
+ class FWE_DLLPUBLIC UIConfigurationImporterOOo1x
{
public:
- static sal_Bool ImportCustomToolbars(
+ static sal_Bool ImportCustomToolbars(
const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager >& rContainerFactory,
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > >& rSeqContainer,
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
diff --git a/framework/inc/xml/eventsconfiguration.hxx b/framework/inc/framework/eventsconfiguration.hxx
index 0aacbdc4e9..9ba8b43ca0 100644
--- a/framework/inc/xml/eventsconfiguration.hxx
+++ b/framework/inc/framework/eventsconfiguration.hxx
@@ -28,6 +28,7 @@
#ifndef __FRAMEWORK_XML_EVENTSCONFIGURATION_HXX_
#define __FRAMEWORK_XML_EVENTSCONFIGURATION_HXX_
+#include <framework/fwedllapi.h>
#include <svl/svarray.hxx>
#include <tools/string.hxx>
#include <tools/stream.hxx>
@@ -40,22 +41,22 @@
namespace framework
{
-struct EventsConfig
+struct FWE_DLLPUBLIC EventsConfig
{
::com::sun::star::uno::Sequence< ::rtl::OUString > aEventNames;
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > aEventsProperties;
};
-class EventsConfiguration
+class FWE_DLLPUBLIC EventsConfiguration
{
public:
// #110897#
- static sal_Bool LoadEventsConfig(
+ static sal_Bool LoadEventsConfig(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
SvStream& rInStream, EventsConfig& aItems );
// #110897#
- static sal_Bool StoreEventsConfig(
+ static sal_Bool StoreEventsConfig(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
SvStream& rOutStream, const EventsConfig& aItems );
};
diff --git a/framework/inc/classes/framelistanalyzer.hxx b/framework/inc/framework/framelistanalyzer.hxx
index 34eeabd03d..0e3c6b6419 100644
--- a/framework/inc/classes/framelistanalyzer.hxx
+++ b/framework/inc/framework/framelistanalyzer.hxx
@@ -34,6 +34,7 @@
//_______________________________________________
// other includes
+#include <framework/fwedllapi.h>
//_______________________________________________
// namespace
@@ -53,7 +54,7 @@ namespace framework{
to switch into the backing mode, close the current active frame only or
exit the whole application explicitly or implicitly.
*/
-class FrameListAnalyzer
+class FWE_DLLPUBLIC FrameListAnalyzer
{
//_______________________________________
// types
diff --git a/framework/inc/framework/fwedllapi.h b/framework/inc/framework/fwedllapi.h
new file mode 100644
index 0000000000..c3aa1bb81d
--- /dev/null
+++ b/framework/inc/framework/fwedllapi.h
@@ -0,0 +1,13 @@
+#ifndef INCLUDED_FWEDLLAPI_H
+#define INCLUDED_FWEDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(FWE_DLLIMPLEMENTATION)
+#define FWE_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define FWE_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define FWE_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /* INCLUDED_FWEDLLAPI_H */
diff --git a/framework/inc/helper/imageproducer.hxx b/framework/inc/framework/imageproducer.hxx
index 6450f33cbc..982ae62e92 100644
--- a/framework/inc/helper/imageproducer.hxx
+++ b/framework/inc/framework/imageproducer.hxx
@@ -35,15 +35,16 @@
#include <com/sun/star/frame/XFrame.hpp>
#include <vcl/image.hxx>
#include <rtl/ustring.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
typedef Image ( *pfunc_getImage)( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast );
-pfunc_getImage SAL_CALL SetImageProducer( pfunc_getImage pGetImageFunc );
+pfunc_getImage FWE_DLLPUBLIC SAL_CALL SetImageProducer( pfunc_getImage pGetImageFunc );
-Image SAL_CALL GetImageFromURL( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast );
+Image FWE_DLLPUBLIC SAL_CALL GetImageFromURL( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast );
}
diff --git a/framework/inc/xml/imagesconfiguration.hxx b/framework/inc/framework/imagesconfiguration.hxx
index bb75947dbd..01fa44ac70 100644
--- a/framework/inc/xml/imagesconfiguration.hxx
+++ b/framework/inc/framework/imagesconfiguration.hxx
@@ -28,6 +28,7 @@
#ifndef __FRAMEWORK_XML_IMAGESCONFIGURATION_HXX_
#define __FRAMEWORK_XML_IMAGESCONFIGURATION_HXX_
+#include <framework/fwedllapi.h>
#include <svl/svarray.hxx>
#include <tools/string.hxx>
#include <tools/stream.hxx>
@@ -49,7 +50,7 @@ enum ImageMaskMode
ImageMaskMode_Bitmap
};
-struct ImageItemDescriptor
+struct FWE_DLLPUBLIC ImageItemDescriptor
{
ImageItemDescriptor() : nIndex( -1 ) {}
@@ -57,7 +58,7 @@ struct ImageItemDescriptor
long nIndex; // index of the bitmap inside the bitmaplist
};
-struct ExternalImageItemDescriptor
+struct FWE_DLLPUBLIC ExternalImageItemDescriptor
{
String aCommandURL; // URL command to dispatch
String aURL; // a URL to an external bitmap
@@ -69,11 +70,11 @@ SV_DECL_PTRARR_DEL( ImageItemListDescriptor, ImageItemDescriptorPtr, 10, 2)
typedef ExternalImageItemDescriptor* ExternalImageItemDescriptorPtr;
SV_DECL_PTRARR_DEL( ExternalImageItemListDescriptor, ExternalImageItemDescriptorPtr, 10, 2)
-struct ImageListItemDescriptor
+struct FWE_DLLPUBLIC ImageListItemDescriptor
{
ImageListItemDescriptor() : nMaskMode( ImageMaskMode_Color ),
pImageItemList( 0 ) {}
-
+
~ImageListItemDescriptor() { delete pImageItemList; }
String aURL; // an URL to a bitmap with several images inside
@@ -88,7 +89,7 @@ struct ImageListItemDescriptor
typedef ImageListItemDescriptor* ImageListItemDescriptorPtr;
SV_DECL_PTRARR_DEL( ImageListDescriptor, ImageListItemDescriptorPtr, 10, 2)
-struct ImageListsDescriptor
+struct FWE_DLLPUBLIC ImageListsDescriptor
{
ImageListsDescriptor() : pImageList( 0 ),
pExternalImageList( 0 ) {}
@@ -98,7 +99,7 @@ struct ImageListsDescriptor
ExternalImageItemListDescriptor* pExternalImageList;
};
-class ImagesConfiguration
+class FWE_DLLPUBLIC ImagesConfiguration
{
public:
// #110897#
diff --git a/framework/inc/framework/interaction.hxx b/framework/inc/framework/interaction.hxx
new file mode 100644
index 0000000000..d0fff667fe
--- /dev/null
+++ b/framework/inc/framework/interaction.hxx
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * 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 __FRAMEWORK_DISPATCH_INTERACTION_HXX_
+#define __FRAMEWORK_DISPATCH_INTERACTION_HXX_
+
+#include <com/sun/star/task/XInteractionRequest.hpp>
+#include <com/sun/star/task/XInteractionContinuation.hpp>
+#include <com/sun/star/task/XInteractionAbort.hpp>
+#include <com/sun/star/task/XInteractionApprove.hpp>
+#include <com/sun/star/task/XInteractionDisapprove.hpp>
+#include <com/sun/star/task/XInteractionRetry.hpp>
+#include <com/sun/star/document/XInteractionFilterSelect.hpp>
+#include <com/sun/star/document/NoSuchFilterRequest.hpp>
+#include <com/sun/star/document/AmbigousFilterRequest.hpp>
+#include <com/sun/star/uno/RuntimeException.hpp>
+
+//_________________________________________________________________________________________________________________
+// includes of other projects
+//_________________________________________________________________________________________________________________
+#include <rtl/ustring.hxx>
+#include <cppuhelper/implbase1.hxx>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <framework/fwedllapi.h>
+
+namespace framework{
+
+/*-************************************************************************************************************//**
+ @short special request for interaction to ask user for right filter
+ @descr These helper can be used to ask user for right filter, if filter detection failed.
+ It capsulate communication with any interaction handler and supports an easy
+ access on interaction results for user of these class.
+ Use it and forget complex mechanism of interaction ...
+
+ @example RequestFilterSelect* pRequest = new RequestFilterSelect;
+ Reference< XInteractionRequest > xRequest ( pRequest );
+ xInteractionHandler->handle( xRequest );
+ if( ! pRequest.isAbort() )
+ {
+ OUString sFilter = pRequest->getFilter();
+ }
+
+ @implements XInteractionRequest
+
+ @base WeakImplHelper1
+
+ @devstatus ready to use
+ @threadsafe no (used on once position only!)
+*//*-*************************************************************************************************************/
+class RequestFilterSelect_Impl;
+class FWE_DLLPUBLIC RequestFilterSelect
+{
+ RequestFilterSelect_Impl* pImp;
+
+ public:
+ RequestFilterSelect( const ::rtl::OUString& sURL );
+ ~RequestFilterSelect();
+ sal_Bool isAbort () const;
+ ::rtl::OUString getFilter() const;
+ com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > GetRequest();
+};
+
+/*-************************************************************************************************************//**
+ @short special request for interaction
+ @descr User must decide between a preselected and another detected filter.
+ It capsulate communication with any interaction handler and supports an easy
+ access on interaction results for user of these class.
+
+ @implements XInteractionRequest
+
+ @base WeakImplHelper1
+
+ @devstatus ready to use
+ @threadsafe no (used on once position only!)
+*//*-*************************************************************************************************************/
+class FWE_DLLPUBLIC InteractionRequest
+{
+public:
+ static com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest >
+ CreateRequest( const ::com::sun::star::uno::Any& aRequest,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > lContinuations );
+};
+
+/*-************************************************************************************************************//**
+ @short special request for interaction
+ @descr User must decide between a preselected and another detected filter.
+ It capsulate communication with any interaction handler and supports an easy
+ access on interaction results for user of these class.
+
+ @implements XInteractionRequest
+
+ @base WeakImplHelper1
+
+ @devstatus ready to use
+ @threadsafe no (used on once position only!)
+*//*-*************************************************************************************************************/
+/*
+class RequestAmbigousFilter_Impl;
+class RequestAmbigousFilter // seems to be unused currently
+{
+ RequestAmbigousFilter_Impl* pImp;
+
+ // c++ interface
+public:
+ RequestAmbigousFilter( const ::rtl::OUString& sURL,
+ const ::rtl::OUString& sSelectedFilter ,
+ const ::rtl::OUString& sDetectedFilter );
+ ~RequestAmbigousFilter();
+ sal_Bool isAbort () const;
+ ::rtl::OUString getFilter() const;
+ com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > GetRequest();
+};
+ */
+
+} // namespace framework
+
+#endif // #define __FRAMEWORK_DISPATCH_INTERACTION_HXX_
diff --git a/framework/inc/xml/menuconfiguration.hxx b/framework/inc/framework/menuconfiguration.hxx
index 6e1ad818f5..3e758c6b77 100644
--- a/framework/inc/xml/menuconfiguration.hxx
+++ b/framework/inc/framework/menuconfiguration.hxx
@@ -40,6 +40,7 @@
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// includes of other projects
@@ -55,7 +56,7 @@
// Prepare for inclusion by framework and sfx
// Please consider that there is a corresponding define also in sfxsids.hrc!! (SID_SFX_START)/(SID_ADDONS)
-#define FWK_SID_SFX_START 5000
+#define FWK_SID_SFX_START 5000
#define FWK_SID_ADDONS (FWK_SID_SFX_START+1678)
#define FWK_SID_ADDONHELP (FWK_SID_SFX_START+1684)
@@ -70,7 +71,7 @@ const sal_uInt16 ITEMID_ADDONHELP = FWK_SID_ADDONHELP;
namespace framework
{
-class MenuConfiguration
+class FWE_DLLPUBLIC MenuConfiguration
{
public:
struct Attributes
@@ -78,13 +79,13 @@ class MenuConfiguration
Attributes() {}
Attributes( const ::rtl::OUString& aFrame, const ::rtl::OUString& aImageIdStr ) :
aTargetFrame( aFrame ), aImageId( aImageIdStr ) {}
-
+
::rtl::OUString aTargetFrame;
::rtl::OUString aImageId;
::com::sun::star::uno::WeakReference< ::com::sun::star::frame::XDispatchProvider > xDispatchProvider;
sal_Int16 nStyle;
};
-
+
MenuConfiguration(
// #110897#-1 use const when giving a uno reference by reference
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager );
@@ -111,7 +112,7 @@ class MenuConfiguration
void StoreToolBox( ToolBox* pToolBox,
::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rOutputStream )
throw ( ::com::sun::star::lang::WrappedTargetException );
-
+
static sal_Bool IsPickListItemId( sal_uInt16 nId );
static sal_Bool IsWindowListItemId( sal_uInt16 nId );
diff --git a/framework/inc/classes/menuextensionsupplier.hxx b/framework/inc/framework/menuextensionsupplier.hxx
index eda9f9eb52..4d7b22cd27 100644
--- a/framework/inc/classes/menuextensionsupplier.hxx
+++ b/framework/inc/framework/menuextensionsupplier.hxx
@@ -29,8 +29,9 @@
#define __FRAMEWORK_CLASSES_MENUEXTENSIONSUPPLIER_HXX_
#include <rtl/ustring.hxx>
+#include <framework/fwedllapi.h>
-struct MenuExtensionItem
+struct FWE_DLLPUBLIC MenuExtensionItem
{
rtl::OUString aLabel;
rtl::OUString aURL;
@@ -41,9 +42,9 @@ typedef MenuExtensionItem ( *pfunc_setMenuExtensionSupplier)();
namespace framework
{
-pfunc_setMenuExtensionSupplier SAL_CALL SetMenuExtensionSupplier( pfunc_setMenuExtensionSupplier pSetMenuExtensionSupplier );
+FWE_DLLPUBLIC pfunc_setMenuExtensionSupplier SAL_CALL SetMenuExtensionSupplier( pfunc_setMenuExtensionSupplier pSetMenuExtensionSupplier );
-MenuExtensionItem SAL_CALL GetMenuExtension();
+FWE_DLLPUBLIC MenuExtensionItem SAL_CALL GetMenuExtension();
}
diff --git a/framework/inc/interaction/preventduplicateinteraction.hxx b/framework/inc/framework/preventduplicateinteraction.hxx
index 444b5a18b7..d4b0c68b7e 100644
--- a/framework/inc/interaction/preventduplicateinteraction.hxx
+++ b/framework/inc/framework/preventduplicateinteraction.hxx
@@ -28,6 +28,7 @@
#ifndef __FRAMEWORK_INTERACTION_PREVENTDUPLICATEINTERACTION_HXX_
#define __FRAMEWORK_INTERACTION_PREVENTDUPLICATEINTERACTION_HXX_
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
@@ -82,7 +83,7 @@ struct ThreadHelpBase2
mutable ::osl::Mutex m_aLock;
};
-class PreventDuplicateInteraction : private ThreadHelpBase2
+class FWE_DLLPUBLIC PreventDuplicateInteraction : private ThreadHelpBase2
,public ::cppu::WeakImplHelper1< css::task::XInteractionHandler2 >
{
//_____________________________________
diff --git a/framework/inc/classes/sfxhelperfunctions.hxx b/framework/inc/framework/sfxhelperfunctions.hxx
index 71194fba98..54effceb43 100644
--- a/framework/inc/classes/sfxhelperfunctions.hxx
+++ b/framework/inc/framework/sfxhelperfunctions.hxx
@@ -28,6 +28,7 @@
#ifndef __FRAMEWORK_CLASSES_SFXHELPERFUNCTIONS_HXX_
#define __FRAMEWORK_CLASSES_SFXHELPERFUNCTIONS_HXX_
+#include <framework/fwedllapi.h>
#include <com/sun/star/frame/XFrame.hpp>
#include <rtl/ustring.hxx>
#include <vcl/toolbox.hxx>
@@ -45,29 +46,29 @@ typedef void ( *pfunc_activateToolPanel)( const ::com::sun::star::uno::Reference
namespace framework
{
-pfunc_setToolBoxControllerCreator SAL_CALL SetToolBoxControllerCreator( pfunc_setToolBoxControllerCreator pSetToolBoxControllerCreator );
+FWE_DLLPUBLIC pfunc_setToolBoxControllerCreator SAL_CALL SetToolBoxControllerCreator( pfunc_setToolBoxControllerCreator pSetToolBoxControllerCreator );
-svt::ToolboxController* SAL_CALL CreateToolBoxController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, ToolBox* pToolbox, unsigned short nID, const ::rtl::OUString& aCommandURL );
+FWE_DLLPUBLIC svt::ToolboxController* SAL_CALL CreateToolBoxController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, ToolBox* pToolbox, unsigned short nID, const ::rtl::OUString& aCommandURL );
-pfunc_setStatusBarControllerCreator SAL_CALL SetStatusBarControllerCreator( pfunc_setStatusBarControllerCreator pSetStatusBarControllerCreator );
+FWE_DLLPUBLIC pfunc_setStatusBarControllerCreator SAL_CALL SetStatusBarControllerCreator( pfunc_setStatusBarControllerCreator pSetStatusBarControllerCreator );
-svt::StatusbarController* SAL_CALL CreateStatusBarController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, StatusBar* pStatusBar, unsigned short nID, const ::rtl::OUString& aCommandURL );
+FWE_DLLPUBLIC svt::StatusbarController* SAL_CALL CreateStatusBarController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, StatusBar* pStatusBar, unsigned short nID, const ::rtl::OUString& aCommandURL );
-pfunc_getRefreshToolbars SAL_CALL SetRefreshToolbars( pfunc_getRefreshToolbars pRefreshToolbarsFunc );
+FWE_DLLPUBLIC pfunc_getRefreshToolbars SAL_CALL SetRefreshToolbars( pfunc_getRefreshToolbars pRefreshToolbarsFunc );
-void SAL_CALL RefreshToolbars( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
+FWE_DLLPUBLIC void SAL_CALL RefreshToolbars( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
-pfunc_createDockingWindow SAL_CALL SetDockingWindowCreator( pfunc_createDockingWindow pCreateDockingWindow );
+FWE_DLLPUBLIC pfunc_createDockingWindow SAL_CALL SetDockingWindowCreator( pfunc_createDockingWindow pCreateDockingWindow );
-void SAL_CALL CreateDockingWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& rResourceURL );
+FWE_DLLPUBLIC void SAL_CALL CreateDockingWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& rResourceURL );
-pfunc_isDockingWindowVisible SAL_CALL SetIsDockingWindowVisible( pfunc_isDockingWindowVisible pIsDockingWindowVisible );
+FWE_DLLPUBLIC pfunc_isDockingWindowVisible SAL_CALL SetIsDockingWindowVisible( pfunc_isDockingWindowVisible pIsDockingWindowVisible );
-bool SAL_CALL IsDockingWindowVisible( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& rResourceURL );
+FWE_DLLPUBLIC bool SAL_CALL IsDockingWindowVisible( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& rResourceURL );
-pfunc_activateToolPanel SAL_CALL SetActivateToolPanel( pfunc_activateToolPanel i_pActivator );
+FWE_DLLPUBLIC pfunc_activateToolPanel SAL_CALL SetActivateToolPanel( pfunc_activateToolPanel i_pActivator );
-void SAL_CALL ActivateToolPanel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame, const ::rtl::OUString& i_rPanelURL );
+FWE_DLLPUBLIC void SAL_CALL ActivateToolPanel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame, const ::rtl::OUString& i_rPanelURL );
}
#endif // __FRAMEWORK_CLASSES_SFXHELPERFUNCTIONS_HXX_
diff --git a/framework/inc/xml/statusbarconfiguration.hxx b/framework/inc/framework/statusbarconfiguration.hxx
index 550d1fcbc2..bd5293389d 100644
--- a/framework/inc/xml/statusbarconfiguration.hxx
+++ b/framework/inc/framework/statusbarconfiguration.hxx
@@ -1,6 +1,33 @@
+/*************************************************************************
+ *
+ * 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 __FRAMEWORK_CLASSES_STATUSBARCONFIGURATION_HXX_
#define __FRAMEWORK_CLASSES_STATUSBARCONFIGURATION_HXX_
+#include <framework/fwedllapi.h>
#include <svl/svarray.hxx>
#include <tools/string.hxx>
#include <tools/stream.hxx>
@@ -14,7 +41,7 @@
namespace framework
{
-struct StatusBarItemDescriptor
+struct FWE_DLLPUBLIC StatusBarItemDescriptor
{
String aURL; // URL command to dispatch
long nItemBits; // properties for this statusbar item (WinBits)
@@ -31,23 +58,23 @@ struct StatusBarItemDescriptor
typedef StatusBarItemDescriptor* StatusBarItemDescriptorPtr;
SV_DECL_PTRARR_DEL( StatusBarDescriptor, StatusBarItemDescriptorPtr, 10, 2)
-class StatusBarConfiguration
+class FWE_DLLPUBLIC StatusBarConfiguration
{
public:
- static sal_Bool LoadStatusBar(
+ static sal_Bool LoadStatusBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
SvStream& rInStream, StatusBarDescriptor& aItems );
- static sal_Bool StoreStatusBar(
+ static sal_Bool StoreStatusBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
SvStream& rOutStream, const StatusBarDescriptor& aItems );
- static sal_Bool LoadStatusBar(
+ static sal_Bool LoadStatusBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xInputStream,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rStatusbarConfiguration );
- static sal_Bool StoreStatusBar(
+ static sal_Bool StoreStatusBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& xOutputStream,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& rStatusbarConfiguration );
diff --git a/framework/inc/helper/titlehelper.hxx b/framework/inc/framework/titlehelper.hxx
index c62be93006..b7e7d0e849 100644
--- a/framework/inc/helper/titlehelper.hxx
+++ b/framework/inc/framework/titlehelper.hxx
@@ -51,6 +51,7 @@
#include <rtl/ustrbuf.hxx>
#include <hash_map>
+#include <framework/fwedllapi.h>
//_______________________________________________
// namespace
@@ -67,10 +68,10 @@ namespace framework{
// definitions
/** @short can be used as implementation helper of interface css.frame.XTitle
-
+
@threadsafe
*/
-class TitleHelper : private ::cppu::BaseMutex
+class FWE_DLLPUBLIC TitleHelper : private ::cppu::BaseMutex
, public ::cppu::WeakImplHelper5< css::frame::XTitle ,
css::frame::XTitleChangeBroadcaster,
css::frame::XTitleChangeListener ,
@@ -83,42 +84,42 @@ class TitleHelper : private ::cppu::BaseMutex
//---------------------------------------
/** @short lightweight constructor.
- */
+ */
TitleHelper(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR);
-
+
//---------------------------------------
/** @short free all internaly used resources.
- */
+ */
virtual ~TitleHelper();
-
+
//---------------------------------------
/** set an outside component which uses this container and must be set
as source of all broadcasted messages, exceptions.
-
+
It's holded weak only so we do not need any complex dispose sessions.
-
+
Note: Passing NULL as parameter will be alloed. It will reset the internal
member reference only.
-
+
@param xOwner
the new owner of this collection.
*/
void setOwner (const css::uno::Reference< css::uno::XInterface >& xOwner);
-
+
//---------------------------------------
/** set an outside component which provides the righht string and number for
an untitled component.
-
+
It's holded weak only so we do not need any complex dispose sessions.
-
+
Note: Passing NULL as parameter will be alloed. It will reset the internal
member reference only.
-
+
@param xNumbers
the right numbered collection for this helper.
*/
void connectWithUntitledNumbers (const css::uno::Reference< css::frame::XUntitledNumbers >& xNumbers);
-
+
//---------------------------------------
/** @see XTitle */
virtual ::rtl::OUString SAL_CALL getTitle()
@@ -133,22 +134,22 @@ class TitleHelper : private ::cppu::BaseMutex
/** @see XTitleChangeBroadcaster */
virtual void SAL_CALL addTitleChangeListener(const css::uno::Reference< css::frame::XTitleChangeListener >& xListener)
throw (css::uno::RuntimeException);
-
+
//---------------------------------------
/** @see XTitleChangeBroadcaster */
virtual void SAL_CALL removeTitleChangeListener(const css::uno::Reference< css::frame::XTitleChangeListener >& xListener)
throw (css::uno::RuntimeException);
-
+
//---------------------------------------
/** @see XTitleChangeListener */
virtual void SAL_CALL titleChanged(const css::frame::TitleChangedEvent& aEvent)
throw (css::uno::RuntimeException);
-
+
//---------------------------------------
/** @see css.document.XEventListener */
virtual void SAL_CALL notifyEvent(const css::document::EventObject& aEvent)
throw (css::uno::RuntimeException);
-
+
//---------------------------------------
/** @see css.lang.XEventListener */
virtual void SAL_CALL disposing(const css::lang::EventObject& aEvent)
@@ -158,23 +159,23 @@ class TitleHelper : private ::cppu::BaseMutex
/** @see css.frame.XFrameActionListener */
virtual void SAL_CALL frameAction(const css::frame::FrameActionEvent& aEvent)
throw(css::uno::RuntimeException);
-
+
//-------------------------------------------
// internal
private:
void impl_sendTitleChangedEvent ();
-
+
void impl_updateTitle ();
void impl_updateTitleForModel (const css::uno::Reference< css::frame::XModel >& xModel);
void impl_updateTitleForController (const css::uno::Reference< css::frame::XController >& xController);
void impl_updateTitleForFrame (const css::uno::Reference< css::frame::XFrame >& xFrame);
-
+
void impl_startListeningForModel (const css::uno::Reference< css::frame::XModel >& xModel);
void impl_startListeningForController (const css::uno::Reference< css::frame::XController >& xController);
void impl_startListeningForFrame (const css::uno::Reference< css::frame::XFrame >& xFrame);
void impl_updateListeningForFrame (const css::uno::Reference< css::frame::XFrame >& xFrame);
-
+
void impl_appendComponentTitle ( ::rtl::OUStringBuffer& sTitle ,
const css::uno::Reference< css::uno::XInterface >& xComponent);
void impl_appendProductName (::rtl::OUStringBuffer& sTitle);
@@ -182,40 +183,40 @@ class TitleHelper : private ::cppu::BaseMutex
void impl_appendModuleName (::rtl::OUStringBuffer& sTitle);
void impl_appendDebugVersion (::rtl::OUStringBuffer& sTitle);
void impl_appendEvalVersion (::rtl::OUStringBuffer& sTitle);
-
+
void impl_setSubTitle (const css::uno::Reference< css::frame::XTitle >& xSubTitle);
::rtl::OUString impl_getSubTitle ();
-
+
::rtl::OUString impl_convertURL2Title(const ::rtl::OUString& sURL);
-
+
//-------------------------------------------
// member
private:
-
+
/** points to the global uno service manager. */
css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
-
+
/** reference to the outside UNO class using this helper. */
css::uno::WeakReference< css::uno::XInterface > m_xOwner;
-
+
/** used to know how an "Untitled X" string can be created right :-) */
css::uno::WeakReference< css::frame::XUntitledNumbers > m_xUntitledNumbers;
-
+
/** provides parts of our own title and we listen there for changes too. */
css::uno::WeakReference< css::frame::XTitle > m_xSubTitle;
-
+
/** if it's set to sal_True the member m_sTitle has not to be changed internaly.
It was set from outside and so outside code has to make sure it will be
updated.
*/
::sal_Bool m_bExternalTitle;
-
+
/** the actual title value */
::rtl::OUString m_sTitle;
-
+
/** knows the leased number which must be used for untitled components. */
::sal_Int32 m_nLeasedNumber;
-
+
/** contains all title change listener */
::cppu::OMultiTypeInterfaceContainerHelper m_aListener;
};
diff --git a/framework/inc/xml/toolboxconfiguration.hxx b/framework/inc/framework/toolboxconfiguration.hxx
index f1f0949e4e..b0f14efa16 100644
--- a/framework/inc/xml/toolboxconfiguration.hxx
+++ b/framework/inc/framework/toolboxconfiguration.hxx
@@ -1,6 +1,33 @@
+/*************************************************************************
+ *
+ * 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 __FRAMEWORK_XML_TOOLBOXCONFIGURATION_HXX_
#define __FRAMEWORK_XML_TOOLBOXCONFIGURATION_HXX_
+#include <framework/fwedllapi.h>
#include <svl/svarray.hxx>
#include <vcl/bitmap.hxx>
#include <tools/string.hxx>
@@ -17,17 +44,17 @@
namespace framework
{
-class ToolBoxConfiguration
+class FWE_DLLPUBLIC ToolBoxConfiguration
{
public:
// #110897#
- static sal_Bool LoadToolBox(
+ static sal_Bool LoadToolBox(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& rInputStream,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rToolbarConfiguration );
// #110897#
- static sal_Bool StoreToolBox(
+ static sal_Bool StoreToolBox(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& rOutputStream,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& rToolbarConfiguration );
diff --git a/framework/inc/fwidllapi.h b/framework/inc/fwidllapi.h
new file mode 100644
index 0000000000..8f4b50cf77
--- /dev/null
+++ b/framework/inc/fwidllapi.h
@@ -0,0 +1,13 @@
+#ifndef INCLUDED_FWIDLLAPI_H
+#define INCLUDED_FWIDLLAPI_H
+
+#include "sal/types.h"
+
+#if defined(FWI_DLLIMPLEMENTATION)
+#define FWI_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define FWI_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+#define FWI_DLLPRIVATE SAL_DLLPRIVATE
+
+#endif /* INCLUDED_FWIDLLAPI_H */
diff --git a/framework/inc/fwkdllapi.h b/framework/inc/fwkdllapi.h
new file mode 100644
index 0000000000..a22303386b
--- /dev/null
+++ b/framework/inc/fwkdllapi.h
@@ -0,0 +1,8 @@
+#ifndef INCLUDED_FWKDLLAPI_H
+#define INCLUDED_FWKDLLAPI_H
+
+#include "sal/types.h"
+
+#include <fwidllapi.h>
+
+#endif /* INCLUDED_FWKDLLAPI_H */
diff --git a/svx/inc/srchitem.hxx b/framework/inc/helper/ilayoutnotifications.hxx
index 7ae414c729..2b5823ddc7 100644..100755
--- a/svx/inc/srchitem.hxx
+++ b/framework/inc/helper/ilayoutnotifications.hxx
@@ -6,6 +6,9 @@
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -24,11 +27,26 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef _SVX_SRCHITEM_HXX
-#define _SVX_SRCHITEM_HXX
-#include <svl/srchitem.hxx>
+#ifndef __FRAMEWORK_LAYOUTMANAGER_ILAYOUTNOTIFICATIONS_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_ILAYOUTNOTIFICATIONS_HXX_
+
+namespace framework
+{
+
+class ILayoutNotifications
+{
+ public:
+ enum Hint
+ {
+ HINT_NOT_SPECIFIED,
+ HINT_TOOLBARSPACE_HAS_CHANGED,
+ HINT_COUNT
+ };
-#endif
+ virtual void requestLayout( Hint eHint = HINT_NOT_SPECIFIED ) = 0;
+};
+}
+#endif // __FRAMEWORK_LAYOUTMANAGER_ILAYOUTNOTIFICATIONS_HXX_
diff --git a/framework/inc/helper/mischelper.hxx b/framework/inc/helper/mischelper.hxx
index 8efbbac090..5ea549926f 100755
--- a/framework/inc/helper/mischelper.hxx
+++ b/framework/inc/helper/mischelper.hxx
@@ -35,6 +35,7 @@
#include <i18npool/lang.h>
#include <svl/languageoptions.hxx>
#include <rtl/ustring.hxx>
+#include <fwidllapi.h>
#include <set>
@@ -90,7 +91,7 @@ inline bool IsScriptTypeMatchingToLanguage( sal_Int16 nScriptType, LanguageType
}
-class LanguageGuessingHelper
+class FWI_DLLPUBLIC LanguageGuessingHelper
{
mutable ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > m_xLanguageGuesser;
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
@@ -101,7 +102,7 @@ public:
::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > GetGuesser() const;
};
-::rtl::OUString RetrieveLabelFromCommand( const ::rtl::OUString& aCmdURL
+FWI_DLLPUBLIC ::rtl::OUString RetrieveLabelFromCommand( const ::rtl::OUString& aCmdURL
,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xServiceFactory
,::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _xUICommandLabels
,const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _xFrame
@@ -109,7 +110,7 @@ public:
,sal_Bool& _rIni
,const sal_Char* _pName);
-void FillLangItems( std::set< ::rtl::OUString > &rLangItems,
+FWI_DLLPUBLIC void FillLangItems( std::set< ::rtl::OUString > &rLangItems,
const SvtLanguageTable &rLanguageTable,
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > &rxFrame,
const LanguageGuessingHelper & rLangGuessHelper,
diff --git a/framework/inc/helper/networkdomain.hxx b/framework/inc/helper/networkdomain.hxx
index 6cc1c27290..282831e24e 100644
--- a/framework/inc/helper/networkdomain.hxx
+++ b/framework/inc/helper/networkdomain.hxx
@@ -29,11 +29,12 @@
#define __FRAMEWORK_HELPER_NETWORKDOMAIN_HXX_
#include <rtl/ustring.hxx>
+#include <fwidllapi.h>
namespace framework
{
-class NetworkDomain
+class FWI_DLLPUBLIC NetworkDomain
{
public:
static rtl::OUString GetNTDomainName();
diff --git a/framework/inc/helper/propertysetcontainer.hxx b/framework/inc/helper/propertysetcontainer.hxx
index 29b3beb742..f1cc769392 100644
--- a/framework/inc/helper/propertysetcontainer.hxx
+++ b/framework/inc/helper/propertysetcontainer.hxx
@@ -37,11 +37,12 @@
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <threadhelp/threadhelpbase.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
-class PropertySetContainer : public com::sun::star::container::XIndexContainer ,
+class FWE_DLLPUBLIC PropertySetContainer : public com::sun::star::container::XIndexContainer ,
public ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::cppu::OWeakObject
{
diff --git a/framework/inc/helper/shareablemutex.hxx b/framework/inc/helper/shareablemutex.hxx
index a551e88776..5d1da61194 100644
--- a/framework/inc/helper/shareablemutex.hxx
+++ b/framework/inc/helper/shareablemutex.hxx
@@ -30,11 +30,12 @@
#include <osl/interlck.h>
#include <osl/mutex.hxx>
+#include <fwidllapi.h>
namespace framework
{
-class ShareableMutex
+class FWI_DLLPUBLIC ShareableMutex
{
public:
ShareableMutex();
@@ -52,12 +53,12 @@ class ShareableMutex
{
MutexRef() : m_refCount(0) {}
void acquire()
- {
+ {
osl_incrementInterlockedCount( &m_refCount );
}
-
+
void release()
- {
+ {
if ( osl_decrementInterlockedCount( &m_refCount ) == 0 )
delete this;
}
@@ -77,7 +78,7 @@ class ShareGuard
{
m_rShareMutex.acquire();
}
-
+
~ShareGuard()
{
m_rShareMutex.release();
@@ -89,7 +90,7 @@ class ShareGuard
ShareableMutex& m_rShareMutex;
};
-
+
}
#endif // #ifndef __FRAMEWORK_HELPER_SHAREABLEMUTEX_HXX_
diff --git a/framework/inc/helper/uiconfigelementwrapperbase.hxx b/framework/inc/helper/uiconfigelementwrapperbase.hxx
index 69a81ca0f6..f16db9ffc8 100644
--- a/framework/inc/helper/uiconfigelementwrapperbase.hxx
+++ b/framework/inc/helper/uiconfigelementwrapperbase.hxx
@@ -58,6 +58,7 @@
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <cppuhelper/weak.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
@@ -78,45 +79,48 @@ class UIConfigElementWrapperBase : public ::com::sun::star::lang::XTypeProvider
// public methods
//-------------------------------------------------------------------------------------------------------------
public:
- UIConfigElementWrapperBase( sal_Int16 nType,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xServiceFactory );
- virtual ~UIConfigElementWrapperBase();
-
- //---------------------------------------------------------------------------------------------------------
- // XInterface, XTypeProvider
- //---------------------------------------------------------------------------------------------------------
- FWK_DECLARE_XINTERFACE
- FWK_DECLARE_XTYPEPROVIDER
+ FWE_DLLPUBLIC UIConfigElementWrapperBase( sal_Int16 nType,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xServiceFactory );
+ virtual FWE_DLLPUBLIC ~UIConfigElementWrapperBase();
+
+ // XInterface
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual FWE_DLLPUBLIC void SAL_CALL acquire() throw();
+ virtual FWE_DLLPUBLIC void SAL_CALL release() throw();
+
+ // XTypeProvider
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw( ::com::sun::star::uno::RuntimeException );
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw( ::com::sun::star::uno::RuntimeException );
// XComponent
- virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException) = 0;
- virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual FWE_DLLPUBLIC void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
// XInitialization
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
-
+ virtual FWE_DLLPUBLIC void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+
// XUIElementSettings
- virtual void SAL_CALL updateSettings() throw (::com::sun::star::uno::RuntimeException) = 0;
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getSettings( sal_Bool bWriteable ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setSettings( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& UISettings ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL updateSettings() throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getSettings( sal_Bool bWriteable ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL setSettings( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& UISettings ) throw (::com::sun::star::uno::RuntimeException);
// XUIElement
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SAL_CALL getFrame() throw (::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getResourceURL() throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Int16 SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getRealInterface() throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SAL_CALL getFrame() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::rtl::OUString SAL_CALL getResourceURL() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::sal_Int16 SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getRealInterface() throw (::com::sun::star::uno::RuntimeException) = 0;
// XUpdatable
- virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
// XUIConfigurationListener
- virtual void SAL_CALL elementInserted( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL elementRemoved( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL elementInserted( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL elementRemoved( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
// XEventListener
using cppu::OPropertySetHelper::disposing;
- virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& aEvent ) throw(::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& aEvent ) throw(::com::sun::star::uno::RuntimeException);
//-------------------------------------------------------------------------------------------------------------
// protected methods
@@ -124,21 +128,21 @@ class UIConfigElementWrapperBase : public ::com::sun::star::lang::XTypeProvider
protected:
// OPropertySetHelper
- virtual sal_Bool SAL_CALL convertFastPropertyValue ( com::sun::star::uno::Any& aConvertedValue ,
+ virtual FWE_DLLPUBLIC sal_Bool SAL_CALL convertFastPropertyValue ( com::sun::star::uno::Any& aConvertedValue ,
com::sun::star::uno::Any& aOldValue ,
sal_Int32 nHandle ,
const com::sun::star::uno::Any& aValue ) throw( com::sun::star::lang::IllegalArgumentException );
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
+ virtual FWE_DLLPUBLIC void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception );
using cppu::OPropertySetHelper::getFastPropertyValue;
- virtual void SAL_CALL getFastPropertyValue( com::sun::star::uno::Any& aValue ,
+ virtual FWE_DLLPUBLIC void SAL_CALL getFastPropertyValue( com::sun::star::uno::Any& aValue ,
sal_Int32 nHandle ) const;
- virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
- virtual ::com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException);
- virtual void impl_fillNewData();
+ virtual FWE_DLLPUBLIC void impl_fillNewData();
- static const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
+ static FWE_DLLPUBLIC const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
sal_Int16 m_nType;
bool m_bPersistent : 1,
diff --git a/framework/inc/helper/uielementwrapperbase.hxx b/framework/inc/helper/uielementwrapperbase.hxx
index 7ccf9ac973..81b060fbea 100644
--- a/framework/inc/helper/uielementwrapperbase.hxx
+++ b/framework/inc/helper/uielementwrapperbase.hxx
@@ -53,6 +53,7 @@
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <cppuhelper/weak.hxx>
+#include <framework/fwedllapi.h>
namespace framework
{
@@ -71,31 +72,34 @@ class UIElementWrapperBase : public ::com::sun::star::lang::XTypeProvider
// public methods
//-------------------------------------------------------------------------------------------------------------
public:
- UIElementWrapperBase( sal_Int16 nType );
- virtual ~UIElementWrapperBase();
+ FWE_DLLPUBLIC UIElementWrapperBase( sal_Int16 nType );
+ virtual FWE_DLLPUBLIC ~UIElementWrapperBase();
- //---------------------------------------------------------------------------------------------------------
- // XInterface, XTypeProvider
- //---------------------------------------------------------------------------------------------------------
- FWK_DECLARE_XINTERFACE
- FWK_DECLARE_XTYPEPROVIDER
+ // XInterface
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual FWE_DLLPUBLIC void SAL_CALL acquire() throw();
+ virtual FWE_DLLPUBLIC void SAL_CALL release() throw();
+
+ // XTypeProvider
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw( ::com::sun::star::uno::RuntimeException );
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw( ::com::sun::star::uno::RuntimeException );
// XComponent
- virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException) = 0;
- virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual FWE_DLLPUBLIC void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException);
// XInitialization
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
// XUpdatable
- virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
// XUIElement
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SAL_CALL getFrame() throw (::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getResourceURL() throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Int16 SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getRealInterface() throw (::com::sun::star::uno::RuntimeException) = 0;
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > SAL_CALL getFrame() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::rtl::OUString SAL_CALL getResourceURL() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::sal_Int16 SAL_CALL getType() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getRealInterface() throw (::com::sun::star::uno::RuntimeException) = 0;
//-------------------------------------------------------------------------------------------------------------
// protected methods
@@ -103,19 +107,19 @@ class UIElementWrapperBase : public ::com::sun::star::lang::XTypeProvider
protected:
// OPropertySetHelper
- virtual sal_Bool SAL_CALL convertFastPropertyValue ( com::sun::star::uno::Any& aConvertedValue ,
+ virtual FWE_DLLPUBLIC sal_Bool SAL_CALL convertFastPropertyValue ( com::sun::star::uno::Any& aConvertedValue ,
com::sun::star::uno::Any& aOldValue ,
sal_Int32 nHandle ,
const com::sun::star::uno::Any& aValue ) throw( com::sun::star::lang::IllegalArgumentException );
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
+ virtual FWE_DLLPUBLIC void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception );
using cppu::OPropertySetHelper::getFastPropertyValue;
- virtual void SAL_CALL getFastPropertyValue( com::sun::star::uno::Any& aValue ,
+ virtual FWE_DLLPUBLIC void SAL_CALL getFastPropertyValue( com::sun::star::uno::Any& aValue ,
sal_Int32 nHandle ) const;
- virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
- virtual ::com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException);
+ virtual FWE_DLLPUBLIC ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
+ virtual FWE_DLLPUBLIC ::com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException);
- static const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
+ static FWE_DLLPUBLIC const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
rtl::OUString m_aResourceURL;
diff --git a/framework/inc/jobs/configaccess.hxx b/framework/inc/jobs/configaccess.hxx
index 68b76c6ffe..5e01c38337 100644
--- a/framework/inc/jobs/configaccess.hxx
+++ b/framework/inc/jobs/configaccess.hxx
@@ -42,6 +42,7 @@
//_______________________________________
// other includes
#include <rtl/ustring.hxx>
+#include <fwidllapi.h>
//_______________________________________
// namespace
@@ -58,7 +59,7 @@ namespace framework{
instead of using soecialize config items of the svtools
project. This class can wrapp such configuration access.
*/
-class ConfigAccess : public ThreadHelpBase
+class FWI_DLLPUBLIC ConfigAccess : public ThreadHelpBase
{
//___________________________________
// const
diff --git a/framework/inc/jobs/jobconst.hxx b/framework/inc/jobs/jobconst.hxx
index 369e02a99a..6325c69c55 100644
--- a/framework/inc/jobs/jobconst.hxx
+++ b/framework/inc/jobs/jobconst.hxx
@@ -41,6 +41,7 @@
// other includes
#include <rtl/ustring.hxx>
+#include <fwidllapi.h>
//_______________________________________
// namespace
@@ -59,10 +60,9 @@ namespace framework{
it's code. Typos can occure or code will be changed by new developers ...
Shared set of constant values can help to improve the mentainance of this code.
*/
-class JobConst
+class FWI_DLLPUBLIC JobConst
{
public:
-
static const ::rtl::OUString ANSWER_DEACTIVATE_JOB();
static const ::rtl::OUString ANSWER_SAVE_ARGUMENTS();
static const ::rtl::OUString ANSWER_SEND_DISPATCHRESULT();
diff --git a/framework/inc/jobs/jobdata.hxx b/framework/inc/jobs/jobdata.hxx
index 95233ef1eb..1f8b39f0a3 100644
--- a/framework/inc/jobs/jobdata.hxx
+++ b/framework/inc/jobs/jobdata.hxx
@@ -80,6 +80,8 @@ class JobData : private ThreadHelpBase
static const sal_Char* JOBCFG_PROP_ARGUMENTS;
/// define the cfg key "Service" of a job relativ to JOBCFG_ROOT/<job alias>
static const sal_Char* JOBCFG_PROP_SERVICE;
+ /// define the cfg key "Context" of a job relativ to JOBCFG_ROOT/<job alias>
+ static const sal_Char* JOBCFG_PROP_CONTEXT;
/// specifies the root package and key to find event registrations
static const sal_Char* EVENTCFG_ROOT;
@@ -105,6 +107,7 @@ class JobData : private ThreadHelpBase
static const sal_Char* PROP_FRAME;
static const sal_Char* PROP_MODEL;
static const sal_Char* PROP_SERVICE;
+ static const sal_Char* PROP_CONTEXT;
//___________________________________
// structs
@@ -210,6 +213,12 @@ class JobData : private ThreadHelpBase
::rtl::OUString m_sService;
/**
+ the module context list of this job.
+ It's readed from the configuration. Don't set it from outside!
+ */
+ ::rtl::OUString m_sContext;
+
+ /**
a job can be registered for an event.
It can be an empty value! But it will be set from outside any times.
Because it's not clear which job this instance should represent if an event
@@ -255,6 +264,7 @@ class JobData : private ThreadHelpBase
css::uno::Sequence< css::beans::NamedValue > getJobConfig () const;
sal_Bool hasConfig () const;
+ sal_Bool hasCorrectContext ( const ::rtl::OUString& rModuleIdent ) const;
void setEnvironment ( EEnvironment eEnvironment );
void setAlias ( const ::rtl::OUString& sAlias );
diff --git a/framework/inc/jobs/jobdispatch.hxx b/framework/inc/jobs/jobdispatch.hxx
index 1f381a3d69..a8a8faeeeb 100644
--- a/framework/inc/jobs/jobdispatch.hxx
+++ b/framework/inc/jobs/jobdispatch.hxx
@@ -101,6 +101,9 @@ class JobDispatch : public css::lang::XTypeProvider
/** reference to the frame, inside which this dispatch is used */
css::uno::Reference< css::frame::XFrame > m_xFrame;
+ /** name of module (writer, impress etc.) the frame is for */
+ ::rtl::OUString m_sModuleIdentifier;
+
//___________________________________
// native interface methods
diff --git a/framework/inc/jobs/jobexecutor.hxx b/framework/inc/jobs/jobexecutor.hxx
index 28c1426a58..5864fe6686 100644
--- a/framework/inc/jobs/jobexecutor.hxx
+++ b/framework/inc/jobs/jobexecutor.hxx
@@ -48,6 +48,7 @@
#include <com/sun/star/container/XContainerListener.hpp>
#include <com/sun/star/lang/XEventListener.hpp>
#include <com/sun/star/document/XEventListener.hpp>
+#include <com/sun/star/frame/XModuleManager.hpp>
//_______________________________________
// other includes
@@ -85,6 +86,9 @@ class JobExecutor : public css::lang::XTypeProvider
/** reference to the uno service manager */
css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ /** reference to the module info service */
+ css::uno::Reference< css::frame::XModuleManager > m_xModuleManager;
+
/** cached list of all registered event names of cfg for call optimization. */
OUStringList m_lEvents;
diff --git a/framework/inc/services.h b/framework/inc/services.h
index a104dd2942..e80ca18d76 100644
--- a/framework/inc/services.h
+++ b/framework/inc/services.h
@@ -125,6 +125,8 @@ namespace framework{
#define SERVICENAME_TABWINDOWSERVICE DECLARE_ASCII("com.sun.star.ui.dialogs.TabContainerWindow" )
#define SERVICENAME_WINDOWCONTENTFACTORYMANAGER DECLARE_ASCII("com.sun.star.ui.WindowContentFactoryManager" )
#define SERVICENAME_DISPLAYACCESS DECLARE_ASCII("com.sun.star.awt.DisplayAccess" )
+#define SERVICENAME_PANELFACTORY DECLARE_ASCII("com.sun.star.ui.PanelFactory" )
+#define SERVICENAME_MODELWINSERVICE DECLARE_ASCII("com.sun.star.ui.ModelWinService" )
//_________________________________________________________________________________________________________________
// used implementationnames by framework
@@ -211,6 +213,8 @@ namespace framework{
#define IMPLEMENTATIONNAME_IMAGEMANAGER DECLARE_ASCII("com.sun.star.comp.framework.ImageManager" )
#define IMPLEMENTATIONNAME_TABWINDOWSERVICE DECLARE_ASCII("com.sun.star.comp.framework.TabWindowService" )
#define IMPLEMENTATIONNAME_WINDOWCONTENTFACTORYMANAGER DECLARE_ASCII("com.sun.star.comp.framework.WindowContentFactoryManager" )
+#define IMPLEMENTATIONNAME_PANELFACTORY DECLARE_ASCII("com.sun.star.comp.framework.PanelFactory" )
+#define IMPLEMENTATIONNAME_MODELWINSERVICE DECLARE_ASCII("com.sun.star.comp.framework.ModelWinService" )
} // namespace framework
diff --git a/framework/inc/services/layoutmanager.hxx b/framework/inc/services/layoutmanager.hxx
index 680ee5303f..81ad71c71a 100644
--- a/framework/inc/services/layoutmanager.hxx
+++ b/framework/inc/services/layoutmanager.hxx
@@ -6,6 +6,9 @@
*
* OpenOffice.org - a multi-platform office productivity suite
*
+ * $RCSfile: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -49,7 +52,10 @@
#include <stdtypes.h>
#include <uielement/menubarmanager.hxx>
#include <uiconfiguration/windowstateconfiguration.hxx>
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
+#include <uielement/panelwindow.hxx>
+#include <uielement/uielement.hxx>
+#include <helper/ilayoutnotifications.hxx>
//_________________________________________________________________________________________________________________
// interface includes
@@ -76,7 +82,7 @@
// other includes
//_________________________________________________________________________________________________________________
#include <cppuhelper/propshlp.hxx>
-#include <cppuhelper/implbase9.hxx>
+#include <cppuhelper/implbase8.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/propertycontainer.hxx>
#include <vcl/wintypes.hxx>
@@ -87,14 +93,15 @@
class MenuBar;
namespace framework
{
+ class ToolbarLayoutManager;
+ class PanelManager;
class GlobalSettings;
- typedef ::cppu::WeakImplHelper9 < ::com::sun::star::lang::XServiceInfo
+ typedef ::cppu::WeakImplHelper8 < ::com::sun::star::lang::XServiceInfo
, ::com::sun::star::frame::XLayoutManager
, ::com::sun::star::awt::XWindowListener
, ::com::sun::star::frame::XFrameActionListener
, ::com::sun::star::ui::XUIConfigurationListener
, ::com::sun::star::frame::XInplaceLayout
- , ::com::sun::star::awt::XDockableWindowListener
, ::com::sun::star::frame::XMenuBarMergingAcceptor
, ::com::sun::star::frame::XLayoutManagerEventBroadcaster
> LayoutManager_Base;
@@ -104,6 +111,7 @@ namespace framework
// Order is neccessary for right initialization!
private ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::cppu::OBroadcastHelper ,
+ public ILayoutNotifications ,
public LayoutManager_PBase
{
public:
@@ -121,7 +129,7 @@ namespace framework
// XLayoutManager
//---------------------------------------------------------------------------------------------------------
virtual void SAL_CALL attachFrame( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& Frame ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL reset( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL reset() throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::awt::Rectangle SAL_CALL getCurrentDockingArea( ) throw (::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::ui::XDockingAreaAcceptor > SAL_CALL getDockingAreaAcceptor() throw (::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setDockingAreaAcceptor( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XDockingAreaAcceptor >& xDockingAreaAcceptor ) throw (::com::sun::star::uno::RuntimeException);
@@ -192,17 +200,6 @@ namespace framework
virtual void SAL_CALL elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
//---------------------------------------------------------------------------------------------------------
- // XDockableWindowListener
- //---------------------------------------------------------------------------------------------------------
- virtual void SAL_CALL startDocking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::awt::DockingData SAL_CALL docking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL endDocking( const ::com::sun::star::awt::EndDockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL prepareToggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL toggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL closed( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL endPopupMode( const ::com::sun::star::awt::EndPopupModeEvent& e ) throw (::com::sun::star::uno::RuntimeException);
-
- //---------------------------------------------------------------------------------------------------------
// XLayoutManagerEventBroadcaster
//---------------------------------------------------------------------------------------------------------
virtual void SAL_CALL addLayoutManagerEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManagerListener >& aLayoutManagerListener ) throw (::com::sun::star::uno::RuntimeException);
@@ -211,196 +208,64 @@ namespace framework
DECL_LINK( MenuBarClose, MenuBar * );
DECL_LINK( WindowEventListener, VclSimpleEvent* );
- struct DockedData
- {
- DockedData() : m_aPos( LONG_MAX, LONG_MAX ),
- m_nDockedArea( ::com::sun::star::ui::DockingArea_DOCKINGAREA_TOP ),
- m_bLocked( sal_False ) {}
-
- Point m_aPos;
- Size m_aSize;
- sal_Int16 m_nDockedArea;
- sal_Bool m_bLocked;
- };
- struct FloatingData
- {
- FloatingData() : m_aPos( LONG_MAX, LONG_MAX ),
- m_nLines( 1 ),
- m_bIsHorizontal( sal_True ) {}
-
- Point m_aPos;
- Size m_aSize;
- sal_Int16 m_nLines;
- sal_Bool m_bIsHorizontal;
- };
- struct SingleRowColumnWindowData
- {
- SingleRowColumnWindowData() : nVarSize( 0 ), nStaticSize( 0 ), nSpace( 0 ) {}
-
- std::vector< rtl::OUString > aUIElementNames;
- std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > > aRowColumnWindows;
- std::vector< ::com::sun::star::awt::Rectangle > aRowColumnWindowSizes;
- std::vector< sal_Int32 > aRowColumnSpace;
- ::com::sun::star::awt::Rectangle aRowColumnRect;
- sal_Int32 nVarSize;
- sal_Int32 nStaticSize;
- sal_Int32 nSpace;
- sal_Int32 nRowColumn;
- };
+ //---------------------------------------------------------------------------------------------------------
+ // ILayoutNotifications
+ //---------------------------------------------------------------------------------------------------------
+ virtual void requestLayout( Hint eHint );
protected:
DECL_LINK( AsyncLayoutHdl, Timer * );
private:
- enum DockingOperation
- {
- DOCKOP_BEFORE_COLROW,
- DOCKOP_ON_COLROW,
- DOCKOP_AFTER_COLROW
- };
- struct UIElement
- {
- UIElement() : m_bFloating( sal_False ),
- m_bVisible( sal_True ),
- m_bUserActive( sal_False ),
- m_bCreateNewRowCol0( sal_False ),
- m_bDeactiveHide( sal_False ),
- m_bMasterHide( sal_False ),
- m_bContextSensitive( sal_False ),
- m_bContextActive( sal_True ),
- m_bNoClose( sal_False ),
- m_bSoftClose( sal_False ),
- m_bStateRead( sal_False ),
- m_nStyle( BUTTON_SYMBOL )
- {}
-
- UIElement( const rtl::OUString& rName,
- const rtl::OUString& rType,
- const com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& rUIElement,
- sal_Bool bFloating = sal_False
- ) : m_aType( rType ),
- m_aName( rName ),
- m_xUIElement( rUIElement ),
- m_bFloating( bFloating ),
- m_bVisible( sal_True ),
- m_bUserActive( sal_False ),
- m_bCreateNewRowCol0( sal_False ),
- m_bDeactiveHide( sal_False ),
- m_bMasterHide( sal_False ),
- m_bContextSensitive( sal_False ),
- m_bContextActive( sal_True ),
- m_bNoClose( sal_False ),
- m_bSoftClose( sal_False ),
- m_bStateRead( sal_False ),
- m_nStyle( BUTTON_SYMBOL ) {}
-
- bool operator< ( const UIElement& aUIElement ) const;
- UIElement& operator=( const UIElement& rUIElement );
-
- rtl::OUString m_aType;
- rtl::OUString m_aName;
- rtl::OUString m_aUIName;
- com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > m_xUIElement;
- sal_Bool m_bFloating,
- m_bVisible,
- m_bUserActive,
- m_bCreateNewRowCol0,
- m_bDeactiveHide,
- m_bMasterHide,
- m_bContextSensitive,
- m_bContextActive;
- sal_Bool m_bNoClose,
- m_bSoftClose,
- m_bStateRead;
- sal_Int16 m_nStyle;
- DockedData m_aDockedData;
- FloatingData m_aFloatingData;
- };
-
- typedef std::vector< UIElement > UIElementVector;
-
//---------------------------------------------------------------------------------------------------------
// helper
//---------------------------------------------------------------------------------------------------------
-
+
//---------------------------------------------------------------------------------------------------------
- // helper
+ // menu bar
//---------------------------------------------------------------------------------------------------------
void impl_clearUpMenuBar();
void implts_reset( sal_Bool bAttach );
+ void implts_setMenuBarCloser(sal_Bool bCloserState);
void implts_updateMenuBarClose();
sal_Bool implts_resetMenuBar();
+ //---------------------------------------------------------------------------------------------------------
+ // locking
+ //---------------------------------------------------------------------------------------------------------
void implts_lock();
sal_Bool implts_unlock();
- sal_Bool implts_findElement( const rtl::OUString& aName, rtl::OUString& aElementType, rtl::OUString& aElementName, ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& xSettings );
- sal_Bool implts_findElement( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xUIElement, UIElement& aElementData );
- sal_Bool implts_findElement( const rtl::OUString& aName, UIElement& aElementData );
+ //---------------------------------------------------------------------------------------------------------
+ // query
+ //---------------------------------------------------------------------------------------------------------
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > implts_findElement( const rtl::OUString& aName );
UIElement& impl_findElement( const rtl::OUString& aName );
- sal_Bool implts_insertUIElement( const UIElement& rUIElement );
- void implts_refreshContextToolbarsVisibility();
void implts_writeNewStateData( const rtl::OUString aName, const ::com::sun::star::uno::Reference< com::sun::star::awt::XWindow >& xWindow );
sal_Bool implts_readWindowStateData( const rtl::OUString& rName, UIElement& rElementData );
void implts_writeWindowStateData( const rtl::OUString& rName, const UIElement& rElementData );
void implts_setElementData( UIElement& rUIElement, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XDockableWindow >& rDockWindow );
void implts_sortUIElements();
void implts_destroyElements();
- void implts_destroyDockingAreaWindows();
- void implts_createAddonsToolBars();
- void implts_createCustomToolBars();
- void implts_createNonContextSensitiveToolBars();
- void implts_createCustomToolBars( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > >& aCustomTbxSeq );
- void implts_createCustomToolBar( const rtl::OUString& aTbxResName, const rtl::OUString& aTitle );
void implts_toggleFloatingUIElementsVisibility( sal_Bool bActive );
void implts_reparentChildWindows();
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > implts_createDockingWindow( const ::rtl::OUString& aElementName );
sal_Bool implts_isEmbeddedLayoutManager() const;
sal_Int16 implts_getCurrentSymbolsSize();
sal_Int16 implts_getCurrentSymbolsStyle();
- ::com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer > implts_createToolkitWindow( const ::com::sun::star::uno::Reference< com::sun::star::awt::XWindowPeer >& rParent );
::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > implts_createElement( const rtl::OUString& aName );
- rtl::OUString implts_generateGenericAddonToolbarTitle( sal_Int32 nNumber ) const;
-
- // docking methods
- ::Rectangle implts_calcHotZoneRect( const ::Rectangle& rRect, sal_Int32 nHotZoneOffset );
- void implts_calcDockingPosSize( UIElement& aUIElement, DockingOperation& eDockOperation, ::Rectangle& rTrackingRect, const Point& rMousePos );
- DockingOperation implts_determineDockingOperation( ::com::sun::star::ui::DockingArea DockingArea, const ::Rectangle& rRowColRect, const Point& rMousePos );
- ::Rectangle implts_getWindowRectFromRowColumn( ::com::sun::star::ui::DockingArea DockingArea, const SingleRowColumnWindowData& rRowColumnWindowData, const ::Point& rMousePos, const rtl::OUString& rExcludeElementName );
- ::Rectangle implts_determineFrontDockingRect( ::com::sun::star::ui::DockingArea eDockingArea,
- sal_Int32 nRowCol,
- const ::Rectangle& rDockedElementRect,
- const ::rtl::OUString& rMovedElementName,
- const ::Rectangle& rMovedElementRect );
- void implts_calcWindowPosSizeOnSingleRowColumn( sal_Int32 nDockingArea,
- sal_Int32 nOffset,
- SingleRowColumnWindowData& rRowColumnWindowData,
- const ::Size& rContainerSize );
- ::Rectangle implts_calcTrackingAndElementRect( ::com::sun::star::ui::DockingArea eDockingArea,
- sal_Int32 nRowCol,
- UIElement& rUIElement,
- const ::Rectangle& rTrackingRect,
- const ::Rectangle& rRowColumnRect,
- const ::Size& rContainerWinSize );
- void implts_renumberRowColumnData( ::com::sun::star::ui::DockingArea eDockingArea, DockingOperation eDockingOperation, const UIElement& rUIElement );
// layouting methods
- sal_Bool implts_compareRectangles( const ::com::sun::star::awt::Rectangle& rRect1, const ::com::sun::star::awt::Rectangle& rRect2 );
sal_Bool implts_resizeContainerWindow( const ::com::sun::star::awt::Size& rContainerSize, const ::com::sun::star::awt::Point& rComponentPos );
::Size implts_getTopBottomDockingAreaSizes();
::Size implts_getContainerWindowOutputSize();
- ::com::sun::star::awt::Rectangle implts_getDockingAreaWindowSizes();
- void implts_getDockingAreaElementInfos( ::com::sun::star::ui::DockingArea DockingArea, std::vector< SingleRowColumnWindowData >& rRowColumnsWindowData );
- void implts_getDockingAreaElementInfoOnSingleRowCol( ::com::sun::star::ui::DockingArea,
- sal_Int32 nRowCol,
- SingleRowColumnWindowData& rRowColumnWindowData );
- ::Point implts_findNextCascadeFloatingPos();
- void implts_findNextDockingPos( ::com::sun::star::ui::DockingArea DockingArea, const ::Size& aUIElementSize, ::Point& rVirtualPos, ::Point& rPixelPos );
+
+ void implts_setDockingAreaWindowSizes( const css::awt::Rectangle& rBorderSpace );
::com::sun::star::awt::Rectangle implts_calcDockingAreaSizes();
- void implts_setDockingAreaWindowSizes( const com::sun::star::awt::Rectangle& rBorderSpace );
sal_Bool implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_Bool bOuterResize );
- void implts_doLayout_notify( sal_Bool bOuterResize );
+ void implts_doLayout_notify( sal_Bool bOuterResize );
// internal methods to control status/progress bar
::Size implts_getStatusBarSize();
@@ -415,6 +280,7 @@ namespace framework
sal_Bool implts_showProgressBar();
sal_Bool implts_hideProgressBar();
void implts_backupProgressBarWrapper();
+ void implts_setOffset( const sal_Int32 nBottomOffset );
void implts_setInplaceMenuBar(
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& xMergedMenuBar )
@@ -425,12 +291,7 @@ namespace framework
void implts_setVisibleState( sal_Bool bShow );
void implts_updateUIElementsVisibleState( sal_Bool bShow );
void implts_setCurrentUIVisibility( sal_Bool bShow );
- sal_Bool impl_parseResourceURL( const rtl::OUString aResourceURL, rtl::OUString& aElementType, rtl::OUString& aElementName );
-
void implts_notifyListeners( short nEvent, ::com::sun::star::uno::Any aInfoParam );
-#ifdef DBG_UTIL
- void implts_checkElementContainer();
-#endif
DECL_LINK( OptionsChanged, void* );
DECL_LINK( SettingsChanged, void* );
@@ -459,9 +320,7 @@ namespace framework
css::uno::WeakReference< css::frame::XModel > m_xModel;
css::uno::Reference< css::awt::XWindow > m_xContainerWindow;
css::uno::Reference< css::awt::XTopWindow2 > m_xContainerTopWindow;
- css::uno::Reference< css::awt::XWindow > m_xDockAreaWindows[DOCKINGAREAS_COUNT];
sal_Int32 m_nLockCount;
- UIElementVector m_aUIElements;
bool m_bActive;
bool m_bInplaceMenuSet;
bool m_bDockingInProgress;
@@ -476,11 +335,9 @@ namespace framework
bool m_bHideCurrentUI;
bool m_bGlobalSettings;
bool m_bPreserveContentSize;
- DockingOperation m_eDockOperation;
- UIElement m_aDockUIElement;
+ bool m_bMenuBarCloser;
css::awt::Rectangle m_aDockingArea;
css::uno::Reference< ::com::sun::star::ui::XDockingAreaAcceptor > m_xDockingAreaAcceptor;
- Point m_aStartDockMousePos;
css::uno::Reference< ::com::sun::star::lang::XComponent > m_xInplaceMenuBar;
MenuBarManager* m_pInplaceMenuBar;
css::uno::Reference< ::com::sun::star::ui::XUIElement > m_xMenuBar;
@@ -489,14 +346,10 @@ namespace framework
com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > m_xProgressBarBackup;
css::uno::Reference< ::com::sun::star::frame::XModuleManager > m_xModuleManager;
css::uno::Reference< ::com::sun::star::ui::XUIElementFactory > m_xUIElementFactoryManager;
- bool m_bMenuBarCloser;
css::uno::Reference< ::com::sun::star::container::XNameAccess > m_xPersistentWindowState;
css::uno::Reference< ::com::sun::star::container::XNameAccess > m_xPersistentWindowStateSupplier;
GlobalSettings* m_pGlobalSettings;
rtl::OUString m_aModuleIdentifier;
- rtl::OUString m_aCustomTbxPrefix;
- rtl::OUString m_aFullCustomTbxPrefix;
- rtl::OUString m_aFullAddonTbxPrefix;
rtl::OUString m_aStatusBarAlias;
rtl::OUString m_aProgressBarAlias;
rtl::OUString m_aPropDocked;
@@ -509,12 +362,13 @@ namespace framework
rtl::OUString m_aPropStyle;
rtl::OUString m_aPropLocked;
rtl::OUString m_aCustomizeCmd;
- AddonsOptions* m_pAddonOptions;
- SvtMiscOptions* m_pMiscOptions;
sal_Int16 m_eSymbolsSize;
sal_Int16 m_eSymbolsStyle;
- Timer m_aAsyncLayoutTimer;
+ Timer m_aAsyncLayoutTimer;
::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; // container for ALL Listener
+ PanelManager* m_pPanelManager;
+ ToolbarLayoutManager* m_pToolbarManager;
+ css::uno::Reference< ::com::sun::star::ui::XUIConfigurationListener > m_xToolbarManager;
};
} // namespace framework
diff --git a/framework/inc/services/modelwinservice.hxx b/framework/inc/services/modelwinservice.hxx
new file mode 100755
index 0000000000..8a334253ff
--- /dev/null
+++ b/framework/inc/services/modelwinservice.hxx
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * 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: urltransformer.hxx,v $
+ * $Revision: 1.8 $
+ *
+ * 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 __FRAMEWORK_SERVICES_MODELWINSERVICE_HXX_
+#define __FRAMEWORK_SERVICES_MODELWINSERVICE_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <threadhelp/threadhelpbase.hxx>
+#include <macros/generic.hxx>
+#include <macros/debug.hxx>
+#include <macros/xinterface.hxx>
+#include <macros/xtypeprovider.hxx>
+#include <macros/xserviceinfo.hxx>
+#include <general.h>
+#include <stdtypes.h>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/awt/XWindow.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/awt/XControlModel.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <cppuhelper/weak.hxx>
+#include <vcl/window.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework{
+
+class IModelWin
+{
+ public:
+ virtual void registerModelForXWindow( const css::uno::Reference< css::awt::XWindow >& rWindow, const css::uno::Reference< css::awt::XControlModel >& rModel ) = 0;
+ virtual void deregisterModelForXWindow( const css::uno::Reference< css::awt::XWindow >& rWindow ) = 0;
+};
+
+class ModelWinService : public css::lang::XTypeProvider
+ , public css::lang::XServiceInfo
+ , public css::container::XNameAccess
+ , public IModelWin
+ , public ::cppu::OWeakObject
+{
+ public:
+ ModelWinService(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager );
+ virtual ~ModelWinService();
+
+ //---------------------------------------------------------------------------------------------------------
+ // XInterface, XTypeProvider, XServiceInfo
+ //---------------------------------------------------------------------------------------------------------
+
+ FWK_DECLARE_XINTERFACE
+ FWK_DECLARE_XTYPEPROVIDER
+ DECLARE_XSERVICEINFO
+
+ //---------------------------------------------------------------------------------------------------------
+ // IModelWin
+ //---------------------------------------------------------------------------------------------------------
+ virtual void registerModelForXWindow( const css::uno::Reference< css::awt::XWindow >& rWindow, const css::uno::Reference< css::awt::XControlModel >& rModel );
+ virtual void deregisterModelForXWindow( const css::uno::Reference< css::awt::XWindow >& rWindow );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XNameAccess
+ //---------------------------------------------------------------------------------------------------------
+ virtual css::uno::Any SAL_CALL getByName( const ::rtl::OUString& sName ) throw( css::container::NoSuchElementException ,
+ css::lang::WrappedTargetException ,
+ css::uno::RuntimeException );
+ virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() throw( css::uno::RuntimeException );
+ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& sName ) throw( css::uno::RuntimeException );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XElementAccess
+ //---------------------------------------------------------------------------------------------------------
+ virtual css::uno::Type SAL_CALL getElementType() throw( css::uno::RuntimeException );
+ virtual sal_Bool SAL_CALL hasElements() throw( css::uno::RuntimeException );
+
+ private:
+ css::uno::Reference< css::lang::XMultiServiceFactory > m_xServiceManager;
+};
+
+}
+
+#endif // __FRAMEWORK_SERVICES_MODELWINSERVICE_HXX_
diff --git a/framework/inc/threadhelp/lockhelper.hxx b/framework/inc/threadhelp/lockhelper.hxx
index e199bdb45c..9ab6d55bae 100644
--- a/framework/inc/threadhelp/lockhelper.hxx
+++ b/framework/inc/threadhelp/lockhelper.hxx
@@ -46,6 +46,7 @@
//_________________________________________________________________________________________________________________
#include <osl/mutex.hxx>
#include <vos/mutex.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -104,7 +105,7 @@ enum ELockType
@devstatus draft
*//*-*************************************************************************************************************/
-class LockHelper : public IMutex
+class FWI_DLLPUBLIC LockHelper : public IMutex
, public IRWLock
, private INonCopyable
{
diff --git a/framework/inc/threadhelp/transactionmanager.hxx b/framework/inc/threadhelp/transactionmanager.hxx
index e8cf8f9bd9..cd2921802d 100644
--- a/framework/inc/threadhelp/transactionmanager.hxx
+++ b/framework/inc/threadhelp/transactionmanager.hxx
@@ -49,6 +49,7 @@
// other includes
//_________________________________________________________________________________________________________________
#include <osl/mutex.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -78,7 +79,7 @@ namespace framework{
@devstatus draft
*//*-*************************************************************************************************************/
-class TransactionManager : public ITransactionManager
+class FWI_DLLPUBLIC TransactionManager : public ITransactionManager
, private INonCopyable
{
//-------------------------------------------------------------------------------------------------------------
diff --git a/framework/inc/uielement/constitemcontainer.hxx b/framework/inc/uielement/constitemcontainer.hxx
index c112205ad9..3aa0295f6c 100644
--- a/framework/inc/uielement/constitemcontainer.hxx
+++ b/framework/inc/uielement/constitemcontainer.hxx
@@ -56,13 +56,14 @@
#include <cppuhelper/propshlp.hxx>
#include <vector>
+#include <fwidllapi.h>
namespace framework
{
class RootItemContainer;
class ItemContainer;
-class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
+class FWI_DLLPUBLIC ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
public com::sun::star::container::XIndexAccess ,
public ::com::sun::star::lang::XUnoTunnel ,
public ::com::sun::star::beans::XFastPropertySet,
@@ -71,7 +72,7 @@ class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
{
friend class RootItemContainer;
friend class ItemContainer;
-
+
public:
ConstItemContainer();
ConstItemContainer( const ItemContainer& rtemContainer );
@@ -84,12 +85,12 @@ class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
//---------------------------------------------------------------------------------------------------------
FWK_DECLARE_XINTERFACE
FWK_DECLARE_XTYPEPROVIDER
-
+
// XUnoTunnel
static const ::com::sun::star::uno::Sequence< sal_Int8 >& GetUnoTunnelId() throw();
static ConstItemContainer* GetImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxIFace ) throw();
sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier ) throw(::com::sun::star::uno::RuntimeException);
-
+
// XIndexAccess
virtual sal_Int32 SAL_CALL getCount()
throw (::com::sun::star::uno::RuntimeException);
@@ -115,7 +116,7 @@ class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
-
+
// XFastPropertySet
virtual void SAL_CALL setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue( sal_Int32 nHandle ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
@@ -123,7 +124,7 @@ class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
private:
::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
const com::sun::star::uno::Sequence< com::sun::star::beans::Property > impl_getStaticPropertyDescriptor();
- static ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > SAL_CALL createPropertySetInfo( ::cppu::IPropertyArrayHelper & rProperties ) SAL_THROW( () );
+ static ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > SAL_CALL createPropertySetInfo( ::cppu::IPropertyArrayHelper & rProperties ) SAL_THROW( () );
void copyItemContainer( const std::vector< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > >& rSourceVector );
com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > deepCopyContainer( const com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& rSubContainer );
@@ -131,7 +132,7 @@ class ConstItemContainer : public ::com::sun::star::lang::XTypeProvider ,
std::vector< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > > m_aItemVector;
rtl::OUString m_aUIName;
};
-
+
}
#endif // #ifndef __FRAMEWORK_UIELEMENT_CONSTITEMCONTAINER_HXX_
diff --git a/framework/inc/uielement/itemcontainer.hxx b/framework/inc/uielement/itemcontainer.hxx
index cff28fd628..5ea507deed 100644
--- a/framework/inc/uielement/itemcontainer.hxx
+++ b/framework/inc/uielement/itemcontainer.hxx
@@ -52,12 +52,12 @@
#include <cppuhelper/implbase1.hxx>
#include <vector>
+#include <fwidllapi.h>
namespace framework
{
-
class ConstItemContainer;
-class ItemContainer : public ::cppu::WeakImplHelper1< ::com::sun::star::container::XIndexContainer>
+class FWI_DLLPUBLIC ItemContainer : public ::cppu::WeakImplHelper1< ::com::sun::star::container::XIndexContainer>
{
friend class ConstItemContainer;
@@ -74,7 +74,7 @@ class ItemContainer : public ::cppu::WeakImplHelper1< ::com::sun::star::contai
static const ::com::sun::star::uno::Sequence< sal_Int8 >& GetUnoTunnelId() throw();
static ItemContainer* GetImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxIFace ) throw();
sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier ) throw(::com::sun::star::uno::RuntimeException);
-
+
// XIndexContainer
virtual void SAL_CALL insertByIndex( sal_Int32 Index, const ::com::sun::star::uno::Any& Element )
throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
@@ -107,11 +107,11 @@ class ItemContainer : public ::cppu::WeakImplHelper1< ::com::sun::star::contai
ItemContainer();
void copyItemContainer( const std::vector< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > >& rSourceVector, const ShareableMutex& rMutex );
com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > deepCopyContainer( const com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& rSubContainer, const ShareableMutex& rMutex );
-
+
mutable ShareableMutex m_aShareMutex;
std::vector< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > > m_aItemVector;
};
-
+
}
#endif // #ifndef __FRAMEWORK_UIELEMENT_ITEMCONTAINER_HXX_
diff --git a/framework/inc/uielement/menubarmanager.hxx b/framework/inc/uielement/menubarmanager.hxx
index 9a9ec3df57..ef17edb09f 100644
--- a/framework/inc/uielement/menubarmanager.hxx
+++ b/framework/inc/uielement/menubarmanager.hxx
@@ -72,7 +72,7 @@
#include <toolkit/awt/vclxmenu.hxx>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/interfacecontainer.hxx>
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
namespace framework
{
diff --git a/framework/inc/uielement/panelwindow.hxx b/framework/inc/uielement/panelwindow.hxx
new file mode 100755
index 0000000000..5ae692413c
--- /dev/null
+++ b/framework/inc/uielement/panelwindow.hxx
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_PANELWINDOW_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_PANELWINDOW_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <vcl/dockwin.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework
+{
+
+class PanelWindow : public DockingWindow
+{
+ public:
+ PanelWindow( Window* pParent, WinBits nWinBits =0);
+ virtual ~PanelWindow();
+
+ const ::rtl::OUString& getResourceURL() const;
+ void setResourceURL(const ::rtl::OUString& rResourceURL);
+ Window* getContentWindow() const;
+ void setContentWindow( Window* pContentWindow );
+
+ virtual void Command ( const CommandEvent& rCEvt );
+ virtual void StateChanged( StateChangedType nType );
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+ virtual void Resize();
+
+ // Provide additional handlers to support external implementations
+ void SetCommandHdl( const Link& aLink ) { m_aCommandHandler = aLink; }
+ const Link& GetCommandHdl() const { return m_aCommandHandler; }
+ void SetStateChangedHdl( const Link& aLink ) { m_aStateChangedHandler = aLink; }
+ const Link& GetStateChangedHdl() const { return m_aStateChangedHandler; }
+ void SetDataChangedHdl( const Link& aLink ) { m_aDataChangedHandler = aLink; }
+ const Link& GetDataChangedHdl() { return m_aDataChangedHandler; }
+
+ private:
+ ::rtl::OUString m_aResourceURL;
+ Link m_aCommandHandler;
+ Link m_aStateChangedHandler;
+ Link m_aDataChangedHandler;
+ Window* m_pContentWindow;
+};
+
+}
+
+#endif // __FRAMEWORK_UIELEMENT_PANELWINDOW_HXX_
diff --git a/framework/inc/uielement/panelwrapper.hxx b/framework/inc/uielement/panelwrapper.hxx
new file mode 100755
index 0000000000..bd8fd63317
--- /dev/null
+++ b/framework/inc/uielement/panelwrapper.hxx
@@ -0,0 +1,68 @@
+
+
+#ifndef __FRAMEWORK_UIELEMENT_PANELWRAPPER_HXX_
+#define __FRAMEWORK_UIELEMENT_PANELWRAPPER_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <helper/uielementwrapperbase.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+namespace framework
+{
+
+class PanelWrapper : public UIElementWrapperBase
+{
+ public:
+ PanelWrapper( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
+ virtual ~PanelWrapper();
+
+ // XInterface
+ virtual void SAL_CALL acquire() throw();
+ virtual void SAL_CALL release() throw();
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );
+
+ // XComponent
+ virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException);
+
+ // XInitialization
+ virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
+
+ // XUIElement
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getRealInterface() throw (::com::sun::star::uno::RuntimeException);
+
+ // XUpdatable
+ virtual void SAL_CALL update() throw (::com::sun::star::uno::RuntimeException);
+
+ // XEventListener
+ using cppu::OPropertySetHelper::disposing;
+ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException);
+
+ //-------------------------------------------------------------------------------------------------------------
+ // protected methods
+ //-------------------------------------------------------------------------------------------------------------
+ protected:
+ virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception );
+
+ private:
+ com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
+ com::sun::star::uno::Reference< com::sun::star::awt::XWindow > m_xPanelWindow;
+ bool m_bNoClose;
+};
+
+}
+
+#endif // __FRAMEWORK_UIELEMENT_PANELWRAPPER_HXX_
diff --git a/framework/inc/uielement/rootitemcontainer.hxx b/framework/inc/uielement/rootitemcontainer.hxx
index c770796319..8d8b7112ea 100644
--- a/framework/inc/uielement/rootitemcontainer.hxx
+++ b/framework/inc/uielement/rootitemcontainer.hxx
@@ -57,13 +57,12 @@
#include <cppuhelper/interfacecontainer.hxx>
#include <vector>
+#include <fwidllapi.h>
namespace framework
{
-
class ConstItemContainer;
-class ItemContainer;
-class RootItemContainer : public ::com::sun::star::lang::XTypeProvider ,
+class RootItemContainer : public ::com::sun::star::lang::XTypeProvider ,
public ::com::sun::star::container::XIndexContainer ,
public ::com::sun::star::lang::XSingleComponentFactory ,
public ::com::sun::star::lang::XUnoTunnel ,
@@ -75,20 +74,20 @@ class RootItemContainer : public ::com::sun::star::lang::XTypeProvider
friend class ConstItemContainer;
public:
- RootItemContainer();
- RootItemContainer( const ConstItemContainer& rConstItemContainer );
- RootItemContainer( const com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& rItemAccessContainer );
- virtual ~RootItemContainer();
+ FWI_DLLPUBLIC RootItemContainer();
+ FWI_DLLPUBLIC RootItemContainer( const ConstItemContainer& rConstItemContainer );
+ FWI_DLLPUBLIC RootItemContainer( const com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess >& rItemAccessContainer );
+ virtual FWI_DLLPUBLIC ~RootItemContainer();
//---------------------------------------------------------------------------------------------------------
// XInterface, XTypeProvider
//---------------------------------------------------------------------------------------------------------
FWK_DECLARE_XINTERFACE
- FWK_DECLARE_XTYPEPROVIDER
+ FWK_DECLARE_XTYPEPROVIDER
// XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 >& GetUnoTunnelId() throw();
- static RootItemContainer* GetImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxIFace ) throw();
+ static FWI_DLLPUBLIC const ::com::sun::star::uno::Sequence< sal_Int8 >& GetUnoTunnelId() throw();
+ static FWI_DLLPUBLIC RootItemContainer* GetImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxIFace ) throw();
sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rIdentifier ) throw(::com::sun::star::uno::RuntimeException);
// XIndexContainer
@@ -150,7 +149,7 @@ class RootItemContainer : public ::com::sun::star::lang::XTypeProvider
std::vector< com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > > m_aItemVector;
rtl::OUString m_aUIName;
};
-
+
}
#endif // #ifndef __FRAMEWORK_UIELEMENT_ROOTITEMCONTAINER_HXX_
diff --git a/framework/inc/uielement/uielement.hxx b/framework/inc/uielement/uielement.hxx
new file mode 100755
index 0000000000..6afa94b676
--- /dev/null
+++ b/framework/inc/uielement/uielement.hxx
@@ -0,0 +1,146 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_UIELEMENT_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_UIELEMENT_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/ui/XUIElement.hpp>
+#include <com/sun/star/ui/DockingArea.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <rtl/ustring.hxx>
+#include <vcl/toolbox.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework
+{
+
+struct DockedData
+{
+ DockedData() : m_aPos( LONG_MAX, LONG_MAX ),
+ m_nDockedArea( ::com::sun::star::ui::DockingArea_DOCKINGAREA_TOP ),
+ m_bLocked( false ) {}
+
+ Point m_aPos;
+ Size m_aSize;
+ sal_Int16 m_nDockedArea;
+ bool m_bLocked;
+};
+
+struct FloatingData
+{
+ FloatingData() : m_aPos( LONG_MAX, LONG_MAX ),
+ m_nLines( 1 ),
+ m_bIsHorizontal( true ) {}
+
+ Point m_aPos;
+ Size m_aSize;
+ sal_Int16 m_nLines;
+ bool m_bIsHorizontal;
+};
+
+struct UIElement
+{
+ UIElement() : m_bFloating( false ),
+ m_bVisible( true ),
+ m_bUserActive( false ),
+ m_bCreateNewRowCol0( false ),
+ m_bDeactiveHide( false ),
+ m_bMasterHide( false ),
+ m_bContextSensitive( false ),
+ m_bContextActive( true ),
+ m_bNoClose( false ),
+ m_bSoftClose( false ),
+ m_bStateRead( false ),
+ m_nStyle( BUTTON_SYMBOL )
+ {}
+
+ UIElement( const rtl::OUString& rName,
+ const rtl::OUString& rType,
+ const com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& rUIElement,
+ bool bFloating = false
+ ) : m_aType( rType ),
+ m_aName( rName ),
+ m_xUIElement( rUIElement ),
+ m_bFloating( bFloating ),
+ m_bVisible( true ),
+ m_bUserActive( false ),
+ m_bCreateNewRowCol0( false ),
+ m_bDeactiveHide( false ),
+ m_bMasterHide( false ),
+ m_bContextSensitive( false ),
+ m_bContextActive( true ),
+ m_bNoClose( false ),
+ m_bSoftClose( false ),
+ m_bStateRead( false ),
+ m_nStyle( BUTTON_SYMBOL ) {}
+
+ bool operator< ( const UIElement& aUIElement ) const;
+ UIElement& operator=( const UIElement& rUIElement );
+
+ rtl::OUString m_aType;
+ rtl::OUString m_aName;
+ rtl::OUString m_aUIName;
+ com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > m_xUIElement;
+ bool m_bFloating,
+ m_bVisible,
+ m_bUserActive,
+ m_bCreateNewRowCol0,
+ m_bDeactiveHide,
+ m_bMasterHide,
+ m_bContextSensitive,
+ m_bContextActive;
+ bool m_bNoClose,
+ m_bSoftClose,
+ m_bStateRead;
+ sal_Int16 m_nStyle;
+ DockedData m_aDockedData;
+ FloatingData m_aFloatingData;
+};
+
+typedef std::vector< UIElement > UIElementVector;
+
+} // namespace framework
+
+#endif // __FRAMEWORK_LAYOUTMANAGER_UIELEMENT_HXX_
diff --git a/framework/inc/xml/eventsdocumenthandler.hxx b/framework/inc/xml/eventsdocumenthandler.hxx
index 8d32d5d1f9..57a937762d 100644
--- a/framework/inc/xml/eventsdocumenthandler.hxx
+++ b/framework/inc/xml/eventsdocumenthandler.hxx
@@ -29,7 +29,7 @@
#define __FRAMEWORK_XML_EVENTSDOCUMENTHANDLER_HXX_
#ifndef __FRAMEWORK_XML_TOOLBOXCONFIGURATION_HXX_
-#include <xml/eventsconfiguration.hxx>
+#include <framework/eventsconfiguration.hxx>
#endif
//_________________________________________________________________________________________________________________
@@ -50,6 +50,7 @@
#include <hash_map>
#include <stdtypes.h>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
@@ -59,7 +60,7 @@ namespace framework{
//*****************************************************************************************************************
// Hash code function for using in all hash maps of follow implementation.
-class OReadEventsDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OReadEventsDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -82,9 +83,9 @@ class OReadEventsDocumentHandler : private ThreadHelpBase, // Struct for right i
EV_NS_XLINK,
EV_XML_NAMESPACES_COUNT
};
-
+
OReadEventsDocumentHandler( EventsConfig& aItems );
-
+
// XDocumentHandler
virtual void SAL_CALL startDocument(void)
@@ -149,7 +150,7 @@ class OReadEventsDocumentHandler : private ThreadHelpBase, // Struct for right i
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
};
-class OWriteEventsDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OWriteEventsDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
{
public:
OWriteEventsDocumentHandler(
@@ -160,10 +161,10 @@ class OWriteEventsDocumentHandler : private ThreadHelpBase // Struct for right i
void WriteEventsDocument() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
protected:
- virtual void WriteEvent(
- const ::rtl::OUString& aEventName,
+ virtual void WriteEvent(
+ const ::rtl::OUString& aEventName,
const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aPropertyValue ) throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
diff --git a/framework/inc/xml/imagesdocumenthandler.hxx b/framework/inc/xml/imagesdocumenthandler.hxx
index 6d4e8d5992..3fee39a751 100644
--- a/framework/inc/xml/imagesdocumenthandler.hxx
+++ b/framework/inc/xml/imagesdocumenthandler.hxx
@@ -28,6 +28,8 @@
#ifndef __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
#define __FRAMEWORK_XML_IMAGEDOCUMENTHANDLER_HXX_
+#include <framework/fwedllapi.h>
+
//_________________________________________________________________________________________________________________
// interface includes
//_________________________________________________________________________________________________________________
@@ -39,7 +41,7 @@
//_________________________________________________________________________________________________________________
// other includes
//_________________________________________________________________________________________________________________
-#include <xml/imagesconfiguration.hxx>
+#include <framework/imagesconfiguration.hxx>
#include <threadhelp/threadhelpbase.hxx>
#include <rtl/ustring.hxx>
#include <cppuhelper/implbase1.hxx>
@@ -47,6 +49,7 @@
#include <hash_map>
#include <stdtypes.h>
+
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
@@ -56,7 +59,7 @@ namespace framework{
//*****************************************************************************************************************
// Hash code function for using in all hash maps of follow implementation.
-class OReadImagesDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OReadImagesDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -84,7 +87,7 @@ class OReadImagesDocumentHandler : private ThreadHelpBase, // Struct for right i
IMG_NS_XLINK,
TBL_XML_NAMESPACES_COUNT
};
-
+
OReadImagesDocumentHandler( ImageListsDescriptor& aItems );
virtual ~OReadImagesDocumentHandler();
@@ -157,7 +160,7 @@ class OReadImagesDocumentHandler : private ThreadHelpBase, // Struct for right i
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
};
-class OWriteImagesDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OWriteImagesDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
{
public:
OWriteImagesDocumentHandler(
@@ -168,7 +171,7 @@ class OWriteImagesDocumentHandler : private ThreadHelpBase // Struct for right i
void WriteImagesDocument() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
protected:
virtual void WriteImageList( const ImageListItemDescriptor* ) throw
( ::com::sun::star::xml::sax::SAXException,
diff --git a/framework/inc/xml/menudocumenthandler.hxx b/framework/inc/xml/menudocumenthandler.hxx
index 67d783a40d..8c7137eae2 100644
--- a/framework/inc/xml/menudocumenthandler.hxx
+++ b/framework/inc/xml/menudocumenthandler.hxx
@@ -48,6 +48,7 @@
#include <rtl/ustring.hxx>
#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -55,7 +56,7 @@
namespace framework{
-class ReadMenuDocumentHandlerBase : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses.
+class FWE_DLLPUBLIC ReadMenuDocumentHandlerBase : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -118,11 +119,11 @@ class ReadMenuDocumentHandlerBase : public ThreadHelpBase, // Struct for right i
};
-class OReadMenuDocumentHandler : public ReadMenuDocumentHandlerBase
+class FWE_DLLPUBLIC OReadMenuDocumentHandler : public ReadMenuDocumentHandlerBase
{
public:
// #110897#
- OReadMenuDocumentHandler(
+ OReadMenuDocumentHandler(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer >& rItemContainer );
virtual ~OReadMenuDocumentHandler();
@@ -162,11 +163,11 @@ class OReadMenuDocumentHandler : public ReadMenuDocumentHandlerBase
}; // OReadMenuDocumentHandler
-class OReadMenuBarHandler : public ReadMenuDocumentHandlerBase
+class FWE_DLLPUBLIC OReadMenuBarHandler : public ReadMenuDocumentHandlerBase
{
public:
// #110897#
- OReadMenuBarHandler(
+ OReadMenuBarHandler(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuBarContainer,
const com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >& rContainerFactory );
@@ -209,7 +210,7 @@ class OReadMenuBarHandler : public ReadMenuDocumentHandlerBase
}; // OReadMenuBarHandler
-class OReadMenuHandler : public ReadMenuDocumentHandlerBase
+class FWE_DLLPUBLIC OReadMenuHandler : public ReadMenuDocumentHandlerBase
{
public:
OReadMenuHandler( const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuContainer,
@@ -247,7 +248,7 @@ class OReadMenuHandler : public ReadMenuDocumentHandlerBase
}; // OReadMenuHandler
-class OReadMenuPopupHandler : public ReadMenuDocumentHandlerBase
+class FWE_DLLPUBLIC OReadMenuPopupHandler : public ReadMenuDocumentHandlerBase
{
public:
OReadMenuPopupHandler( const com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& rMenuContainer,
@@ -290,7 +291,7 @@ class OReadMenuPopupHandler : public ReadMenuDocumentHandlerBase
}; // OReadMenuPopupHandler
-class OWriteMenuDocumentHandler
+class FWE_DLLPUBLIC OWriteMenuDocumentHandler
{
public:
OWriteMenuDocumentHandler(
diff --git a/framework/inc/xml/saxnamespacefilter.hxx b/framework/inc/xml/saxnamespacefilter.hxx
index fc83628b2e..4a5fef8c56 100644
--- a/framework/inc/xml/saxnamespacefilter.hxx
+++ b/framework/inc/xml/saxnamespacefilter.hxx
@@ -36,6 +36,7 @@
#include <cppuhelper/implbase1.hxx>
#include <stack>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -44,7 +45,7 @@
namespace framework
{
-class SaxNamespaceFilter : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses.
+class FWE_DLLPUBLIC SaxNamespaceFilter : public ThreadHelpBase, // Struct for right initalization of mutex member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -53,37 +54,37 @@ class SaxNamespaceFilter : public ThreadHelpBase, // Struct for right initalizat
// XDocumentHandler
virtual void SAL_CALL startDocument(void)
- throw ( ::com::sun::star::xml::sax::SAXException,
+ throw ( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void SAL_CALL endDocument(void)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void SAL_CALL startElement(
const rtl::OUString& aName,
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void SAL_CALL endElement(const rtl::OUString& aName)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void SAL_CALL characters(const rtl::OUString& aChars)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget,
const rtl::OUString& aData)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
- virtual void SAL_CALL setDocumentLocator(
+
+ virtual void SAL_CALL setDocumentLocator(
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator)
throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
@@ -92,7 +93,7 @@ class SaxNamespaceFilter : public ThreadHelpBase, // Struct for right initalizat
typedef ::std::stack< XMLNamespaces > NamespaceStack;
::rtl::OUString getErrorLineString();
-
+
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler> xDocumentHandler;
NamespaceStack m_aNamespaceStack;
diff --git a/framework/inc/xml/statusbardocumenthandler.hxx b/framework/inc/xml/statusbardocumenthandler.hxx
index 86b25bf776..e41903393d 100644
--- a/framework/inc/xml/statusbardocumenthandler.hxx
+++ b/framework/inc/xml/statusbardocumenthandler.hxx
@@ -29,7 +29,7 @@
#define __FRAMEWORK_XML_STATUSBARDOCUMENTHANDLER_HXX_
#ifndef __FRAMEWORK_XML_STATUSBARCONFIGURATION_HXX_
-#include <xml/statusbarconfiguration.hxx>
+#include <framework/statusbarconfiguration.hxx>
#endif
//_________________________________________________________________________________________________________________
@@ -49,6 +49,7 @@
#include <hash_map>
#include <stdtypes.h>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
// namespace
@@ -59,7 +60,7 @@ namespace framework{
//*****************************************************************************************************************
// Hash code function for using in all hash maps of follow implementation.
-class OReadStatusBarDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OReadStatusBarDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -84,7 +85,7 @@ class OReadStatusBarDocumentHandler : private ThreadHelpBase, // Struct for righ
SB_NS_XLINK,
SB_XML_NAMESPACES_COUNT
};
-
+
OReadStatusBarDocumentHandler( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer >& aStatusBarItems );
virtual ~OReadStatusBarDocumentHandler();
@@ -148,7 +149,7 @@ class OReadStatusBarDocumentHandler : private ThreadHelpBase, // Struct for righ
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
};
-class OWriteStatusBarDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OWriteStatusBarDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
{
public:
OWriteStatusBarDocumentHandler(
@@ -159,9 +160,9 @@ class OWriteStatusBarDocumentHandler : private ThreadHelpBase // Struct for righ
void WriteStatusBarDocument() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
protected:
- virtual void WriteStatusBarItem(
+ virtual void WriteStatusBarItem(
const rtl::OUString& rCommandURL,
const rtl::OUString& rHelpURL,
sal_Int16 nOffset,
diff --git a/framework/inc/xml/toolboxconfigurationdefines.hxx b/framework/inc/xml/toolboxconfigurationdefines.hxx
index 3aee5d1f70..4159dc5bd1 100644
--- a/framework/inc/xml/toolboxconfigurationdefines.hxx
+++ b/framework/inc/xml/toolboxconfigurationdefines.hxx
@@ -1,3 +1,29 @@
+/*************************************************************************
+ *
+ * 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 __FRAMEWORK_XML_TOOLBOXCONFIGURATIONDEFINES_HXX_
#define __FRAMEWORK_XML_TOOLBOXCONFIGURATIONDEFINES_HXX_
diff --git a/framework/inc/xml/toolboxdocumenthandler.hxx b/framework/inc/xml/toolboxdocumenthandler.hxx
index 6fe49ab801..08113ec55b 100644
--- a/framework/inc/xml/toolboxdocumenthandler.hxx
+++ b/framework/inc/xml/toolboxdocumenthandler.hxx
@@ -28,24 +28,25 @@
#ifndef __FRAMEWORK_XML_TOOLBOXDOCUMENTHANDLER_HXX_
#define __FRAMEWORK_XML_TOOLBOXDOCUMENTHANDLER_HXX_
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/toolboxconfiguration.hxx>
//_________________________________________________________________________________________________________________
-// interface includes
+// interface includes
//_________________________________________________________________________________________________________________
#include <com/sun/star/xml/sax/XDocumentHandler.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
//_________________________________________________________________________________________________________________
-// other includes
+// other includes
//_________________________________________________________________________________________________________________
#include <threadhelp/threadhelpbase.hxx>
#include <rtl/ustring.hxx>
#include <cppuhelper/implbase1.hxx>
#include <stdtypes.h>
+#include <framework/fwedllapi.h>
//_________________________________________________________________________________________________________________
-// namespace
+// namespace
//_________________________________________________________________________________________________________________
namespace framework{
@@ -53,7 +54,7 @@ namespace framework{
//*****************************************************************************************************************
// Hash code function for using in all hash maps of follow implementation.
-class OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right initalization of lock member! Must be first of baseclasses.
public ::cppu::WeakImplHelper1< ::com::sun::star::xml::sax::XDocumentHandler >
{
public:
@@ -90,48 +91,48 @@ class OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right
// XDocumentHandler
virtual void SAL_CALL startDocument(void)
- throw ( ::com::sun::star::xml::sax::SAXException,
+ throw ( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL endDocument(void)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL startElement(
const rtl::OUString& aName,
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > &xAttribs)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL endElement(const rtl::OUString& aName)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL characters(const rtl::OUString& aChars)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL ignorableWhitespace(const rtl::OUString& aWhitespaces)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL processingInstruction(const rtl::OUString& aTarget,
const rtl::OUString& aData)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL setDocumentLocator(
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > &xLocator)
- throw( ::com::sun::star::xml::sax::SAXException,
+ throw( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
private:
::rtl::OUString getErrorLineString();
- class ToolBoxHashMap : public ::std::hash_map< ::rtl::OUString ,
- ToolBox_XML_Entry ,
- OUStringHashCode ,
- ::std::equal_to< ::rtl::OUString > >
+ class ToolBoxHashMap : public ::std::hash_map< ::rtl::OUString ,
+ ToolBox_XML_Entry ,
+ OUStringHashCode ,
+ ::std::equal_to< ::rtl::OUString > >
{
public:
inline void free()
@@ -140,22 +141,22 @@ class OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right
}
};
- sal_Bool m_bToolBarStartFound : 1;
- sal_Bool m_bToolBarEndFound : 1;
- sal_Bool m_bToolBarItemStartFound : 1;
- sal_Bool m_bToolBarSpaceStartFound : 1;
- sal_Bool m_bToolBarBreakStartFound : 1;
- sal_Bool m_bToolBarSeparatorStartFound : 1;
- ToolBoxHashMap m_aToolBoxMap;
+ sal_Bool m_bToolBarStartFound : 1;
+ sal_Bool m_bToolBarEndFound : 1;
+ sal_Bool m_bToolBarItemStartFound : 1;
+ sal_Bool m_bToolBarSpaceStartFound : 1;
+ sal_Bool m_bToolBarBreakStartFound : 1;
+ sal_Bool m_bToolBarSeparatorStartFound : 1;
+ ToolBoxHashMap m_aToolBoxMap;
com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer > m_rItemContainer;
- ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
-
- sal_Int32 m_nHashCode_Style_Radio;
- sal_Int32 m_nHashCode_Style_Auto;
- sal_Int32 m_nHashCode_Style_Left;
- sal_Int32 m_nHashCode_Style_AutoSize;
- sal_Int32 m_nHashCode_Style_DropDown;
- sal_Int32 m_nHashCode_Style_Repeat;
+ ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator > m_xLocator;
+
+ sal_Int32 m_nHashCode_Style_Radio;
+ sal_Int32 m_nHashCode_Style_Auto;
+ sal_Int32 m_nHashCode_Style_Left;
+ sal_Int32 m_nHashCode_Style_AutoSize;
+ sal_Int32 m_nHashCode_Style_DropDown;
+ sal_Int32 m_nHashCode_Style_Repeat;
sal_Int32 m_nHashCode_Style_DropDownOnly;
sal_Int32 m_nHashCode_Style_Text;
sal_Int32 m_nHashCode_Style_Image;
@@ -169,7 +170,7 @@ class OReadToolBoxDocumentHandler : private ThreadHelpBase, // Struct for right
};
-class OWriteToolBoxDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
+class FWE_DLLPUBLIC OWriteToolBoxDocumentHandler : private ThreadHelpBase // Struct for right initalization of lock member! Must be first of baseclasses.
{
public:
OWriteToolBoxDocumentHandler(
@@ -190,22 +191,22 @@ class OWriteToolBoxDocumentHandler : private ThreadHelpBase // Struct for right
virtual void WriteToolBoxSpace() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void WriteToolBoxBreak() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
-
+
virtual void WriteToolBoxSeparator() throw
( ::com::sun::star::xml::sax::SAXException,
::com::sun::star::uno::RuntimeException );
- ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler;
- ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList;
+ ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xWriteDocumentHandler;
+ ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList > m_xEmptyList;
com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > m_rItemAccess;
- ::rtl::OUString m_aXMLToolbarNS;
- ::rtl::OUString m_aXMLXlinkNS;
- ::rtl::OUString m_aAttributeType;
- ::rtl::OUString m_aAttributeURL;
+ ::rtl::OUString m_aXMLToolbarNS;
+ ::rtl::OUString m_aXMLXlinkNS;
+ ::rtl::OUString m_aAttributeType;
+ ::rtl::OUString m_aAttributeURL;
};
} // namespace framework
diff --git a/framework/inc/xml/xmlnamespaces.hxx b/framework/inc/xml/xmlnamespaces.hxx
index c398211278..ccbecc3171 100644
--- a/framework/inc/xml/xmlnamespaces.hxx
+++ b/framework/inc/xml/xmlnamespaces.hxx
@@ -31,25 +31,26 @@
#include <com/sun/star/xml/sax/SAXException.hpp>
#include <map>
+#include <framework/fwedllapi.h>
namespace framework
{
-class XMLNamespaces
+class FWE_DLLPUBLIC XMLNamespaces
{
public:
XMLNamespaces();
XMLNamespaces( const XMLNamespaces& );
virtual ~XMLNamespaces();
- void addNamespace( const ::rtl::OUString& aName, const ::rtl::OUString& aValue )
- throw( ::com::sun::star::xml::sax::SAXException );
+ void addNamespace( const ::rtl::OUString& aName, const ::rtl::OUString& aValue )
+ throw( ::com::sun::star::xml::sax::SAXException );
- ::rtl::OUString applyNSToAttributeName( const ::rtl::OUString& ) const
- throw( ::com::sun::star::xml::sax::SAXException );
+ ::rtl::OUString applyNSToAttributeName( const ::rtl::OUString& ) const
+ throw( ::com::sun::star::xml::sax::SAXException );
::rtl::OUString applyNSToElementName( const ::rtl::OUString& ) const
- throw( ::com::sun::star::xml::sax::SAXException );
-
+ throw( ::com::sun::star::xml::sax::SAXException );
+
private:
typedef ::std::map< ::rtl::OUString, ::rtl::OUString > NamespaceMap;
@@ -57,7 +58,7 @@ class XMLNamespaces
throw( ::com::sun::star::xml::sax::SAXException );
::rtl::OUString m_aDefaultNamespace;
- NamespaceMap m_aNamespaceMap;
+ NamespaceMap m_aNamespaceMap;
};
}
diff --git a/framework/prj/build.lst b/framework/prj/build.lst
index cf99460469..2c847918fe 100644
--- a/framework/prj/build.lst
+++ b/framework/prj/build.lst
@@ -1,57 +1,2 @@
-fr framework : l10n svtools NULL
-fr framework usr1 - all fr_mkout NULL
-fr framework\inc nmake - all fr_inc NULL
-fr framework\source\constant nmake - all fr_constant fr_inc NULL
-fr framework\source\threadhelp nmake - all fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\loadenv nmake - all fr_loadenv fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\classes nmake - all fr_classes fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\jobs nmake - all fr_jobs fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\interaction nmake - all fr_interaction fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\helper nmake - all fr_helper fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\dispatch nmake - all fr_dispatch fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\services nmake - all fr_services fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\register nmake - all fr_register fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\recording nmake - all fr_recording fr_threadhelp fr_constant fr_inc NULL
-fr framework\source\xml nmake - all fr_xml fr_threadhelp fr_inc NULL
-fr framework\source\layoutmanager nmake - all fr_layoutmanager fr_threadhelp fr_inc NULL
-fr framework\source\uielement nmake - all fr_uielement fr_threadhelp fr_inc NULL
-fr framework\source\uifactory nmake - all fr_uifactory fr_threadhelp fr_inc NULL
-fr framework\source\uiconfiguration nmake - all fr_uiconfiguration fr_threadhelp fr_inc NULL
-fr framework\source\accelerators nmake - all fr_accelerators fr_threadhelp fr_inc NULL
-fr framework\source\tabwin nmake - all fr_tabwin fr_threadhelp fr_inc NULL
-fr framework\util nmake - all fr_util fr_constant fr_threadhelp fr_classes fr_loadenv fr_jobs fr_interaction fr_helper fr_dispatch fr_services fr_register fr_recording fr_layoutmanager fr_uielement fr_uifactory fr_xml fr_uiconfiguration fr_accelerators fr_tabwin NULL
-fr framework\qa\unoapi nmake - all fr_qa_unoapi NULL
-
-# complex tests
-# fails on unxsoli4
-# fr framework\qa\complex\ModuleManager nmake - all fr_qa_complex_modulemanager NULL
-# fr framework\qa\complex\XUserInputInterception nmake - all fr_qa_complex_xuserinputinterception NULL
-
-# fr framework\qa\complex\accelerators nmake - all fr_qa_complex_accel fr_qa_complex_accel_helper NULL
-
-# unclear should be remove
-# fr framework\qa\complex\api_internal nmake - all fr_qa_complex_api_internal NULL
-
-# BUG! opens an error box
-# fr framework\qa\complex\broken_document nmake - all fr_qa_complex_broken_doc NULL
-
-# failed:
-# fr framework\qa\complex\desktop nmake - all fr_qa_complex_desktop NULL
-
-# fr framework\qa\complex\dispatches nmake - all fr_qa_complex_dispatches fr_qa_complex_dispatches_helper NULL
-# fr framework\qa\complex\disposing nmake - all fr_qa_complex_disposing NULL
-
-# GPF
-# fr framework\qa\complex\framework\autosave nmake - all fr_qa_complex_framework_autosave NULL
-
-# much too complex, will not change to new junit
-# fr framework\qa\complex\framework\recovery nmake - all fr_qa_complex_framework_recovery NULL
-
-# fr framework\qa\complex\imageManager nmake - all fr_qa_complex_imageManager fr_qa_complex_imageManager_interfaces NULL
-
-# fr framework\qa\complex\loadAllDocuments nmake - all fr_qa_complex_loadAllDocuments fr_qa_complex_loadAllDocuments_helper NULL
-
-# need cleanups
-# fr framework\qa\complex\path_settings nmake - all fr_qa_complex_path_settings NULL
-# fr framework\qa\complex\path_substitution nmake - all fr_qa_complex_path_substitution NULL
-
+fr framework : LIBXSLT:libxslt l10n svtools NULL
+fr framework\prj nmake - all fr_all NULL
diff --git a/framework/prj/d.lst b/framework/prj/d.lst
index d3a3d6dd15..e69de29bb2 100644
--- a/framework/prj/d.lst
+++ b/framework/prj/d.lst
@@ -1,55 +0,0 @@
-mkdir: %COMMON_DEST%\bin%_EXT%\hid
-mkdir: %_DEST%\inc%_EXT%\framework
-mkdir: %_DEST%\xml%_EXT%\uiconfig
-mkdir: %_DEST%\xml%_EXT%\uiconfig\modules
-mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\StartModule
-mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\menubar
-mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\toolbar
-mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\statusbar
-
-..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
-..\%__SRC%\bin\*.res %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\*.exe %_DEST%\bin%_EXT%\*
-..\%__SRC%\bin\login %_DEST%\bin%_EXT%\login.bin
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
-..\%__SRC%\lib\lib*.dylib %_DEST%\lib%_EXT%
-
-..\dtd\menubar.dtd %_DEST%\bin%_EXT%\menubar.dtd
-..\dtd\toolbar.dtd %_DEST%\bin%_EXT%\toolbar.dtd
-..\dtd\statusbar.dtd %_DEST%\bin%_EXT%\statusbar.dtd
-..\dtd\event.dtd %_DEST%\bin%_EXT%\event.dtd
-..\dtd\accelerator.dtd %_DEST%\bin%_EXT%\accelerator.dtd
-..\dtd\image.dtd %_DEST%\bin%_EXT%\image.dtd
-..\dtd\groupuinames.dtd %_DEST%\bin%_EXT%\groupuinames.dtd
-
-..\%__SRC%\lib\ifwe.lib %_DEST%\lib%_EXT%\ifwe.lib
-..\%__SRC%\lib\ifwi.lib %_DEST%\lib%_EXT%\ifwi.lib
-..\inc\helper\imageproducer.hxx %_DEST%\inc%_EXT%\framework\imageproducer.hxx
-..\inc\helper\acceleratorinfo.hxx %_DEST%\inc%_EXT%\framework\acceleratorinfo.hxx
-..\inc\helper\actiontriggerhelper.hxx %_DEST%\inc%_EXT%\framework\actiontriggerhelper.hxx
-..\inc\xml\menuconfiguration.hxx %_DEST%\inc%_EXT%\framework\menuconfiguration.hxx
-..\inc\classes\bmkmenu.hxx %_DEST%\inc%_EXT%\framework\bmkmenu.hxx
-..\inc\xml\toolboxconfiguration.hxx %_DEST%\inc%_EXT%\framework\toolboxconfiguration.hxx
-..\inc\xml\statusbarconfiguration.hxx %_DEST%\inc%_EXT%\framework\statusbarconfiguration.hxx
-..\inc\xml\eventsconfiguration.hxx %_DEST%\inc%_EXT%\framework\eventsconfiguration.hxx
-..\inc\xml\imagesconfiguration.hxx %_DEST%\inc%_EXT%\framework\imagesconfiguration.hxx
-..\inc\classes\addonsoptions.hxx %_DEST%\inc%_EXT%\framework\addonsoptions.hxx
-..\inc\dispatch\interaction.hxx %_DEST%\inc%_EXT%\framework\interaction.hxx
-..\inc\classes\addonmenu.hxx %_DEST%\inc%_EXT%\framework\addonmenu.hxx
-..\inc\classes\sfxhelperfunctions.hxx %_DEST%\inc%_EXT%\framework\sfxhelperfunctions.hxx
-..\inc\helper\configimporter.hxx %_DEST%\inc%_EXT%\framework\configimporter.hxx
-..\inc\classes\menuextensionsupplier.hxx %_DEST%\inc%_EXT%\framework\menuextensionsupplier.hxx
-..\inc\interaction\preventduplicateinteraction.hxx %_DEST%\inc%_EXT%\framework\preventduplicateinteraction.hxx
-..\inc\helper\titlehelper.hxx %_DEST%\inc%_EXT%\framework\titlehelper.hxx
-..\inc\classes\framelistanalyzer.hxx %_DEST%\inc%_EXT%\framework\framelistanalyzer.hxx
-
-..\uiconfig\startmodule\menubar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\menubar\*.xml
-..\uiconfig\startmodule\toolbar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\toolbar\*.xml
-..\uiconfig\startmodule\statusbar\*.xml %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\statusbar\*.xml
-
-..\source\unotypes\fw?.xml %_DEST%\xml%_EXT%\*.xml
-
-..\%__SRC%\misc\fwk.component %_DEST%\xml%_EXT%\fwk.component
-..\%__SRC%\misc\fwl.component %_DEST%\xml%_EXT%\fwl.component
-..\%__SRC%\misc\fwm.component %_DEST%\xml%_EXT%\fwm.component
diff --git a/framework/source/application/makefile.mk b/framework/prj/makefile.mk
index 96bd84de23..c73a3d944b 100644
--- a/framework/source/application/makefile.mk
+++ b/framework/prj/makefile.mk
@@ -24,22 +24,17 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-PRJ=..$/..
-PRJNAME= framework
-TARGET= framework
-LIBTARGET= NO
-ENABLE_EXCEPTIONS= TRUE
+PRJ=..
+TARGET=prj
-# --- Settings -----------------------------------------------------
+.INCLUDE : settings.mk
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/login.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/framework/qa/complex/ModuleManager/makefile.mk b/framework/qa/complex/ModuleManager/makefile.mk
deleted file mode 100644
index 4ad6d89290..0000000000
--- a/framework/qa/complex/ModuleManager/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 "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_ModuleManager
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/ModuleManager
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckXModuleManager.java
-
-# 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
-
diff --git a/framework/qa/complex/XUserInputInterception/makefile.mk b/framework/qa/complex/XUserInputInterception/makefile.mk
deleted file mode 100644
index 8b08bec171..0000000000
--- a/framework/qa/complex/XUserInputInterception/makefile.mk
+++ /dev/null
@@ -1,133 +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
-
-# we don't want something like this.
-# .IF "$(OS)"=="LINUX"
-# nothing .PHONY:
-# @echo "Test marked as failed on this platform"
-# .END
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_xuserinputinterception
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/XUserInputInterception
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- EventTest.java
-
-# 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
-
-#
-#
-#
-# PRJ = ..$/..$/..
-# TARGET = EventTest
-# PRJNAME = framework
-# PACKAGE = complex$/XUserInputInterception
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
-# OOoRunner.jar mysql.jar
-# JAVAFILES = EventTest.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 ------------------------------------------------------
-#
-# .IF "$(depend)" == ""
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-# .ELSE
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-# .ENDIF
-#
-# .INCLUDE : target.mk
-#
-# #$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props
-# # cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-# # jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
-#
-#
-#
diff --git a/framework/qa/complex/accelerators/helper/makefile.mk b/framework/qa/complex/accelerators/helper/makefile.mk
deleted file mode 100644
index 189a5fddba..0000000000
--- a/framework/qa/complex/accelerators/helper/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 = ../../../..
-TARGET = AcceleratorsConfigurationTest
-PRJNAME = framework
-PACKAGE = complex/accelerators/helper
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
- Generator.jar OOoRunner.jar
-JAVAFILES = KeyMapping.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-
-MAXLINELENGTH = 100000
-
-.INCLUDE : target.mk
diff --git a/framework/qa/complex/accelerators/makefile.mk b/framework/qa/complex/accelerators/makefile.mk
deleted file mode 100644
index 7d54603248..0000000000
--- a/framework/qa/complex/accelerators/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.
-#
-#*************************************************************************
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_accelerators
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/accelerators
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- AcceleratorsConfigurationTest.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- KeyMapping.java
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
-# OOoRunner.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
-
-
-
-
-
diff --git a/framework/qa/complex/api_internal/makefile.mk b/framework/qa/complex/api_internal/makefile.mk
deleted file mode 100755
index f1a22011a8..0000000000
--- a/framework/qa/complex/api_internal/makefile.mk
+++ /dev/null
@@ -1,63 +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 = framework
-TARGET = qa_complex_api_internal
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/api_internal
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckAPI.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES)
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
-# OOoRunner.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
-
diff --git a/framework/qa/complex/broken_document/makefile.mk b/framework/qa/complex/broken_document/makefile.mk
deleted file mode 100755
index 8b1cf2ac3b..0000000000
--- a/framework/qa/complex/broken_document/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.
-#
-#*************************************************************************
-
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_broken_document
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/broken_document
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- LoadDocument.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- TestDocument.java
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
-# OOoRunner.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
-
diff --git a/framework/qa/complex/contextMenuInterceptor/makefile.mk b/framework/qa/complex/contextMenuInterceptor/makefile.mk
deleted file mode 100644
index 574d986414..0000000000
--- a/framework/qa/complex/contextMenuInterceptor/makefile.mk
+++ /dev/null
@@ -1,63 +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 = framework
-TARGET = qa_complex_contextMenuInterceptor
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/contextMenuInterceptor
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckContextMenuInterceptor.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- ContextMenuInterceptor.java
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
-# OOoRunner.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
diff --git a/framework/qa/complex/desktop/makefile.mk b/framework/qa/complex/desktop/makefile.mk
deleted file mode 100755
index 74db8d34e1..0000000000
--- a/framework/qa/complex/desktop/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.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_desktop
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/desktop
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- DesktopTerminate.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES)
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar
-#JARFILES = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar \
-# OOoRunner.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
diff --git a/framework/qa/complex/dispatches/makefile.mk b/framework/qa/complex/dispatches/makefile.mk
deleted file mode 100644
index 6a5ff79dd7..0000000000
--- a/framework/qa/complex/dispatches/makefile.mk
+++ /dev/null
@@ -1,131 +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 = framework
-TARGET = qa_complex_dispatches
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/dispatches
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- checkdispatchapi.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- Interceptor.java
-
-JARFILES = OOoRunner.jar ridl.jar test.jar unoil.jar ConnectivityTools.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 = checkdispatchapi
-# PRJNAME = framework
-# PACKAGE = complex$/dispatches
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
-# OOoRunner.jar mysql.jar ConnectivityTools.jar
-# JAVAFILES = checkdispatchapi.java
-#
-# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-#
-# SUBDIRS=helper
-#
-# #----- 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 ------------------------------------------------------
-#
-# .IF "$(depend)" == ""
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-# .ELSE
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-# .ENDIF
-#
-# .INCLUDE : target.mk
-#
-# #$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props
-# # cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-# # jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
-#
-#
-#
diff --git a/framework/qa/complex/disposing/makefile.mk b/framework/qa/complex/disposing/makefile.mk
deleted file mode 100755
index f24960421f..0000000000
--- a/framework/qa/complex/disposing/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.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_disposing
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/disposing
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- GetServiceWhileDisposingOffice.java
-
-# 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
-
diff --git a/framework/qa/complex/framework/autosave/makefile.mk b/framework/qa/complex/framework/autosave/makefile.mk
deleted file mode 100644
index 2e8e3dca1f..0000000000
--- a/framework/qa/complex/framework/autosave/makefile.mk
+++ /dev/null
@@ -1,127 +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 = framework
-TARGET = qa_complex_framework_autosave
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/framework/autosave
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- AutoSave.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- ConfigHelper.java \
- Protocol.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 = AutoSave
-# PRJNAME = framework
-# PACKAGE = complex$/framework$/autosave
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
-# OOoRunner.jar mysql.jar
-# JAVAFILES = AutoSave.java ConfigHelper.java Protocol.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 ------------------------------------------------------
-#
-# .IF "$(depend)" == ""
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-# .ELSE
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-# .ENDIF
-#
-# .INCLUDE : target.mk
-#
-# #$(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props
-# # cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-# # jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST)
-#
-#
-#
diff --git a/framework/qa/complex/framework/recovery/makefile.mk b/framework/qa/complex/framework/recovery/makefile.mk
deleted file mode 100755
index 4a9f80b4b2..0000000000
--- a/framework/qa/complex/framework/recovery/makefile.mk
+++ /dev/null
@@ -1,103 +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 = RecoveryTest
-PRJNAME = framework
-PACKAGE = complex$/framework$/recovery
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = mysql.jar mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = RecoveryTest.java RecoveryTools.java CrashThread.java TimeoutThread.java KlickButtonThread.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
-
-#------ some information how to run the test -----------------------
-
-MYTAR: ALLTAR
- @echo
- @echo ########################### N O T E ######################################
- @echo
- @echo To run the test successfully you have to extend your LD_LIBRARY_PATH
- @echo to your office program directory!
- @echo Example:
- @echo setenv LD_LIBRARY_PATH /myOffice/program:\$$LD_LIBRARY_PATH
- @echo
- @echo To run the you have to use the parameter cmd:
- @echo cmd="PATH_TO_OFFICE_BINARY -accept=socket,host=localhost,port=8100;urp;"
- @echo
- @echo Example:
- @echo dmake run cmd="/myOffice/program/soffice -accept=socket,host=localhost,port=8100;urp;"
- @echo
-
-
-# --- Parameters for the test --------------------------------------
-
-# start an office if the parameter is set for the makefile
-.IF "$(cmd)" == ""
-CT_APPEXECCOMMAND =
-.ELSE
-CT_APPEXECCOMMAND = -cmd "$(cmd)"
-#CT_APPEXECCOMMAND = -AppExecutionCommand \
-# "$(OFFICE)$/soffice -accept=socket,host=localhost,port=8100;urp;"
-.ENDIF
-
-# test base is java complex
-CT_TESTBASE = -TestBase java_complex
-
-# replace $/ with . in package name
-CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
-
-# start the runner application
-CT_APP = org.openoffice.Runner
-
-CT_NOOFFICE = -NoOffice true
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-RUN: run
-# muss noch angepasst werden: es soll auf -AppExecutionCommand und -NoOffice gepr??ft werden
-#.IF "$(OFFICE)" == ""
-#run:
-# @echo Exit
-#.ELSE
-run:
- +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_NOOFFICE) $(CT_PACKAGE).RecoveryTest
-
diff --git a/framework/qa/complex/imageManager/interfaces/makefile.mk b/framework/qa/complex/imageManager/interfaces/makefile.mk
deleted file mode 100755
index f7b6f5ebf0..0000000000
--- a/framework/qa/complex/imageManager/interfaces/makefile.mk
+++ /dev/null
@@ -1,63 +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 = ImageManager
-PRJNAME = framework
-PACKAGE = complex/imageManager/interfaces
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-
-JAVAFILES = \
-_XComponent.java \
-_XUIConfiguration.java \
-_XImageManager.java \
-_XUIConfigurationPersistence.java \
-_XInitialization.java \
-_XTypeProvider.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
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
diff --git a/framework/qa/complex/imageManager/makefile.mk b/framework/qa/complex/imageManager/makefile.mk
deleted file mode 100755
index 133e522b13..0000000000
--- a/framework/qa/complex/imageManager/makefile.mk
+++ /dev/null
@@ -1,123 +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 = framework
-TARGET = qa_complex_imageManager
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/imageManager
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckImageManager.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- _XComponent.java \
- _XImageManager.java \
- _XInitialization.java \
- _XTypeProvider.java \
- _XUIConfiguration.java \
- _XUIConfigurationPersistence.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 = ImageManager
-# PRJNAME = framework
-# PACKAGE = imageManager
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-# JAVAFILES = CheckImageManager.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
-#
-# # replace $/ with . in package name
-# CT_PACKAGE = -o $(PACKAGE:s\$/\.\)
-#
-# # 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_PACKAGE).CheckImageManager
-#
-#
diff --git a/framework/qa/complex/loadAllDocuments/makefile.mk b/framework/qa/complex/loadAllDocuments/makefile.mk
deleted file mode 100644
index ebf0265620..0000000000
--- a/framework/qa/complex/loadAllDocuments/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 = framework
-TARGET = qa_complex_loadAllDocuments
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/loadAllDocuments
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- CheckXComponentLoader.java
-
-# put here all other files
-JAVAFILES = $(JAVATESTFILES) \
- InteractionHandler.java \
- StatusIndicator.java \
- StreamSimulator.java \
- TestDocument.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 = CheckXComponentLoader
-# PRJNAME = framework
-# PACKAGE = complex$/loadAllDocuments
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = mysql.jar ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar \
-# OOoRunner.jar mysql.jar
-# JAVAFILES =
-# JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)
-#
-# SUBDIRS = helper
-#
-# #----- 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 ------------------------------------------------------
-#
-# .IF "$(depend)" == ""
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLTAR
-# .ELSE
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
-# .ENDIF
-#
-# .INCLUDE : target.mk
-#
-# $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : $(JAVAFILES:b).props
-# cp $(JAVAFILES:b).props $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props
-# jar uf $(CLASSDIR)$/$(JARTARGET) -C $(CLASSDIR) $(PACKAGE)$/$(JAVAFILES:b).props
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) $(CT_TEST) -tdoc $(PWD)$/testdocuments
-#
-#
-#
diff --git a/framework/qa/complex/path_settings/makefile.mk b/framework/qa/complex/path_settings/makefile.mk
deleted file mode 100755
index 05900d46e1..0000000000
--- a/framework/qa/complex/path_settings/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.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-# @echo "OOO_SUBSEQUENT_TESTS not set, do nothing."
-.ELSE
-
-PRJ = ../../..
-PRJNAME = framework
-TARGET = qa_complex_path_settings
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/path_settings
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- PathSettingsTest.java
-
-# 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
-
diff --git a/framework/qa/complex/path_substitution/makefile.mk b/framework/qa/complex/path_substitution/makefile.mk
deleted file mode 100755
index 338affbf70..0000000000
--- a/framework/qa/complex/path_substitution/makefile.mk
+++ /dev/null
@@ -1,122 +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 = framework
-TARGET = qa_complex_path_substitution
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/path_substitution
-
-# here store only Files which contain a @Test
-JAVATESTFILES = \
- PathSubstitutionTest.java
-
-# 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
-
-
-#
-#
-#
-#
-# PRJ = ..$/..$/..
-# TARGET = PathSubstitution
-# PRJNAME = $(TARGET)
-# PACKAGE = complex$/path_substitution
-#
-# # --- Settings -----------------------------------------------------
-# .INCLUDE: settings.mk
-#
-#
-# #----- compile .java files -----------------------------------------
-#
-# JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar mysql.jar
-# JAVAFILES = PathSubstitutionTest.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 ------------------------------------------------------
-#
-# .IF "$(depend)" == ""
-# ALL : ALLTAR
-# .ELSE
-# ALL: ALLDEP
-# .ENDIF
-#
-# .INCLUDE : target.mk
-#
-# RUN: run
-#
-# run:
-# +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
-#
diff --git a/framework/qa/unoapi/makefile.mk b/framework/qa/unoapi/makefile.mk
deleted file mode 100755
index 38a6cf7cce..0000000000
--- a/framework/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 = framework
-TARGET = qa_unoapi
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = org/openoffice/framework/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/framework/source/accelerators/makefile.mk b/framework/source/accelerators/makefile.mk
deleted file mode 100644
index 23a60dd187..0000000000
--- a/framework/source/accelerators/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= framework
-TARGET= fwk_accelerators
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/keymapping.obj \
- $(SLO)$/storageholder.obj \
- $(SLO)$/presethandler.obj \
- $(SLO)$/acceleratorcache.obj \
- $(SLO)$/acceleratorconfiguration.obj \
- $(SLO)$/globalacceleratorconfiguration.obj \
- $(SLO)$/moduleacceleratorconfiguration.obj \
- $(SLO)$/documentacceleratorconfiguration.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/classes/fwktabwindow.cxx b/framework/source/classes/fwktabwindow.cxx
index 373dda21b0..1072c4d581 100644
--- a/framework/source/classes/fwktabwindow.cxx
+++ b/framework/source/classes/fwktabwindow.cxx
@@ -30,7 +30,7 @@
#include <classes/fwktabwindow.hxx>
#include "framework.hrc"
-#include <classes/fwlresid.hxx>
+#include <classes/fwkresid.hxx>
#include <com/sun/star/awt/PosSize.hpp>
#include <com/sun/star/awt/XContainerWindowEventHandler.hpp>
@@ -205,9 +205,9 @@ void FwkTabPage::Resize()
FwkTabWindow::FwkTabWindow( Window* pParent ) :
- Window( pParent, FwlResId( WIN_TABWINDOW ) ),
+ Window( pParent, FwkResId( WIN_TABWINDOW ) ),
- m_aTabCtrl ( this, FwlResId( TC_TABCONTROL ) )
+ m_aTabCtrl ( this, FwkResId( TC_TABCONTROL ) )
{
uno::Reference < lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
m_xWinProvider = uno::Reference < awt::XContainerWindowProvider >(
diff --git a/framework/source/classes/makefile.mk b/framework/source/classes/makefile.mk
deleted file mode 100644
index 22e8a6d540..0000000000
--- a/framework/source/classes/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= framework
-TARGET= fwk_classes
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/propertysethelper.obj \
- $(SLO)$/framecontainer.obj \
- $(SLO)$/taskcreator.obj \
- $(SLO)$/menumanager.obj \
- $(SLO)$/bmkmenu.obj \
- $(SLO)$/droptargetlistener.obj \
- $(SLO)$/converter.obj \
- $(SLO)$/actiontriggerpropertyset.obj \
- $(SLO)$/actiontriggerseparatorpropertyset.obj \
- $(SLO)$/actiontriggercontainer.obj \
- $(SLO)$/imagewrapper.obj \
- $(SLO)$/rootactiontriggercontainer.obj \
- $(SLO)$/protocolhandlercache.obj \
- $(SLO)$/addonmenu.obj \
- $(SLO)$/addonsoptions.obj \
- $(SLO)$/fwkresid.obj \
- $(SLO)$/fwlresid.obj \
- $(SLO)$/framelistanalyzer.obj \
- $(SLO)$/sfxhelperfunctions.obj \
- $(SLO)$/menuextensionsupplier.obj \
- $(SLO)$/fwktabwindow.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES =\
- resource.src
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/classes/menumanager.cxx b/framework/source/classes/menumanager.cxx
index 34da93f5bf..af0456c2dd 100644
--- a/framework/source/classes/menumanager.cxx
+++ b/framework/source/classes/menumanager.cxx
@@ -33,12 +33,12 @@
// my own includes
//_________________________________________________________________________________________________________________
#include <classes/menumanager.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <classes/bmkmenu.hxx>
-#include <classes/addonmenu.hxx>
-#include <helper/imageproducer.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/bmkmenu.hxx>
+#include <framework/addonmenu.hxx>
+#include <framework/imageproducer.hxx>
#include <threadhelp/resetableguard.hxx>
-#include "classes/addonsoptions.hxx"
+#include "framework/addonsoptions.hxx"
#include <classes/fwkresid.hxx>
#include <services.h>
#include "classes/resource.hrc"
diff --git a/framework/source/constant/makefile.mk b/framework/source/constant/makefile.mk
deleted file mode 100644
index 05fc28870d..0000000000
--- a/framework/source/constant/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= framework
-TARGET= fwk_constant
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= $(SLO)$/frameloader.obj \
- $(SLO)$/contenthandler.obj \
- $(SLO)$/containerquery.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/dispatch/closedispatcher.cxx b/framework/source/dispatch/closedispatcher.cxx
index 8bec3e8c8d..69fff06f86 100644
--- a/framework/source/dispatch/closedispatcher.cxx
+++ b/framework/source/dispatch/closedispatcher.cxx
@@ -34,7 +34,7 @@
#include <pattern/frame.hxx>
#include <threadhelp/readguard.hxx>
#include <threadhelp/writeguard.hxx>
-#include <classes/framelistanalyzer.hxx>
+#include <framework/framelistanalyzer.hxx>
#include <services.h>
#include <general.h>
diff --git a/framework/source/dispatch/makefile.mk b/framework/source/dispatch/makefile.mk
deleted file mode 100644
index b969d71ea9..0000000000
--- a/framework/source/dispatch/makefile.mk
+++ /dev/null
@@ -1,63 +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= framework
-TARGET= fwk_dispatch
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- defines ------------------------------------------------------
-
-CDEFS+=-DCOMPMOD_NAMESPACE=framework
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/closedispatcher.obj \
- $(SLO)$/dispatchinformationprovider.obj \
- $(SLO)$/dispatchprovider.obj \
- $(SLO)$/helpagentdispatcher.obj \
- $(SLO)$/interaction.obj \
- $(SLO)$/interceptionhelper.obj \
- $(SLO)$/loaddispatcher.obj \
- $(SLO)$/mailtodispatcher.obj \
- $(SLO)$/menudispatcher.obj \
- $(SLO)$/oxt_handler.obj \
- $(SLO)$/popupmenudispatcher.obj \
- $(SLO)$/servicehandler.obj \
- $(SLO)$/systemexec.obj \
- $(SLO)$/windowcommanddispatch.obj \
- $(SLO)$/startmoduledispatcher.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/dispatch/menudispatcher.cxx b/framework/source/dispatch/menudispatcher.cxx
index c167173a9f..58c7374155 100644
--- a/framework/source/dispatch/menudispatcher.cxx
+++ b/framework/source/dispatch/menudispatcher.cxx
@@ -33,8 +33,8 @@
//_________________________________________________________________________________________________________________
#include <dispatch/menudispatcher.hxx>
#include <general.h>
-#include <xml/menuconfiguration.hxx>
-#include <classes/addonmenu.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/addonmenu.hxx>
#include <services.h>
//_________________________________________________________________________________________________________________
diff --git a/framework/source/dispatch/popupmenudispatcher.cxx b/framework/source/dispatch/popupmenudispatcher.cxx
index d9ef9ed12d..f28017116f 100644
--- a/framework/source/dispatch/popupmenudispatcher.cxx
+++ b/framework/source/dispatch/popupmenudispatcher.cxx
@@ -34,8 +34,8 @@
#include <dispatch/popupmenudispatcher.hxx>
#include <general.h>
-#include <xml/menuconfiguration.hxx>
-#include <classes/addonmenu.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/addonmenu.hxx>
#include <services.h>
#include <properties.h>
diff --git a/framework/source/dispatch/startmoduledispatcher.cxx b/framework/source/dispatch/startmoduledispatcher.cxx
index 48096762ec..ed36e354f7 100644
--- a/framework/source/dispatch/startmoduledispatcher.cxx
+++ b/framework/source/dispatch/startmoduledispatcher.cxx
@@ -36,7 +36,7 @@
#include <pattern/frame.hxx>
#include <threadhelp/readguard.hxx>
#include <threadhelp/writeguard.hxx>
-#include <classes/framelistanalyzer.hxx>
+#include <framework/framelistanalyzer.hxx>
#include <dispatchcommands.h>
#include <targets.h>
#include <services.h>
diff --git a/framework/source/classes/actiontriggercontainer.cxx b/framework/source/fwe/classes/actiontriggercontainer.cxx
index 6152ab5f09..6152ab5f09 100644
--- a/framework/source/classes/actiontriggercontainer.cxx
+++ b/framework/source/fwe/classes/actiontriggercontainer.cxx
diff --git a/framework/source/classes/actiontriggerpropertyset.cxx b/framework/source/fwe/classes/actiontriggerpropertyset.cxx
index 26d39d7b61..7d3dd1aba5 100644
--- a/framework/source/classes/actiontriggerpropertyset.cxx
+++ b/framework/source/fwe/classes/actiontriggerpropertyset.cxx
@@ -41,6 +41,8 @@ using namespace com::sun::star::beans;
using namespace com::sun::star::lang;
using namespace com::sun::star::awt;
+//struct SAL_DLLPUBLIC_IMPORT ::cppu::OBroadcastHelperVar< OMultiTypeInterfaceContainerHelper, OMultiTypeInterfaceContainerHelper::keyType >;
+
// Handles for properties
// (PLEASE SORT THIS FIELD, IF YOU ADD NEW PROPERTIES!)
// We use an enum to define these handles, to use all numbers from 0 to nn and
diff --git a/framework/source/classes/actiontriggerseparatorpropertyset.cxx b/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx
index 4fca992c07..4fca992c07 100644
--- a/framework/source/classes/actiontriggerseparatorpropertyset.cxx
+++ b/framework/source/fwe/classes/actiontriggerseparatorpropertyset.cxx
diff --git a/framework/source/classes/addonmenu.cxx b/framework/source/fwe/classes/addonmenu.cxx
index 519c624050..28344d29fe 100644
--- a/framework/source/classes/addonmenu.cxx
+++ b/framework/source/fwe/classes/addonmenu.cxx
@@ -31,12 +31,12 @@
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
-#include "classes/addonmenu.hxx"
-#include "classes/addonsoptions.hxx"
+#include "framework/addonmenu.hxx"
+#include "framework/addonsoptions.hxx"
#include <general.h>
#include <macros/debug/assertion.hxx>
-#include <helper/imageproducer.hxx>
-#include <xml/menuconfiguration.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/menuconfiguration.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/classes/addonsoptions.cxx b/framework/source/fwe/classes/addonsoptions.cxx
index a1b22c2de5..86a31825d6 100644
--- a/framework/source/classes/addonsoptions.cxx
+++ b/framework/source/fwe/classes/addonsoptions.cxx
@@ -31,7 +31,7 @@
//_________________________________________________________________________________________________________________
// includes
//_________________________________________________________________________________________________________________
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#include <unotools/configmgr.hxx>
#include <unotools/configitem.hxx>
#include <unotools/ucbstreamhelper.hxx>
diff --git a/framework/source/classes/bmkmenu.cxx b/framework/source/fwe/classes/bmkmenu.cxx
index 58c0124421..b6c85e4a84 100644
--- a/framework/source/classes/bmkmenu.cxx
+++ b/framework/source/fwe/classes/bmkmenu.cxx
@@ -34,11 +34,11 @@
#include <limits.h>
-#include "classes/bmkmenu.hxx"
+#include "framework/bmkmenu.hxx"
#include <general.h>
#include <macros/debug/assertion.hxx>
-#include <helper/imageproducer.hxx>
-#include <xml/menuconfiguration.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/menuconfiguration.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/classes/framelistanalyzer.cxx b/framework/source/fwe/classes/framelistanalyzer.cxx
index 80702d8108..987cf376b0 100644
--- a/framework/source/classes/framelistanalyzer.cxx
+++ b/framework/source/fwe/classes/framelistanalyzer.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include "classes/framelistanalyzer.hxx"
+#include "framework/framelistanalyzer.hxx"
//_______________________________________________
// my own includes
diff --git a/framework/source/classes/fwkresid.cxx b/framework/source/fwe/classes/fwkresid.cxx
index ad450b7894..ad450b7894 100644
--- a/framework/source/classes/fwkresid.cxx
+++ b/framework/source/fwe/classes/fwkresid.cxx
diff --git a/framework/source/classes/imagewrapper.cxx b/framework/source/fwe/classes/imagewrapper.cxx
index b348e0cb90..b348e0cb90 100644
--- a/framework/source/classes/imagewrapper.cxx
+++ b/framework/source/fwe/classes/imagewrapper.cxx
diff --git a/framework/source/classes/menuextensionsupplier.cxx b/framework/source/fwe/classes/menuextensionsupplier.cxx
index d6ed70103b..03a022945b 100644
--- a/framework/source/classes/menuextensionsupplier.cxx
+++ b/framework/source/fwe/classes/menuextensionsupplier.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <classes/menuextensionsupplier.hxx>
+#include <framework/menuextensionsupplier.hxx>
#include <osl/mutex.hxx>
static pfunc_setMenuExtensionSupplier pMenuExtensionSupplierFunc = NULL;
diff --git a/framework/source/classes/rootactiontriggercontainer.cxx b/framework/source/fwe/classes/rootactiontriggercontainer.cxx
index 9af6a4dfeb..0975c08481 100644
--- a/framework/source/classes/rootactiontriggercontainer.cxx
+++ b/framework/source/fwe/classes/rootactiontriggercontainer.cxx
@@ -32,7 +32,7 @@
#include <classes/actiontriggercontainer.hxx>
#include <classes/actiontriggerpropertyset.hxx>
#include <classes/actiontriggerseparatorpropertyset.hxx>
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <threadhelp/resetableguard.hxx>
#include <osl/mutex.hxx>
#include <vcl/svapp.hxx>
diff --git a/framework/source/classes/sfxhelperfunctions.cxx b/framework/source/fwe/classes/sfxhelperfunctions.cxx
index d6acc6a879..b08947bc91 100644
--- a/framework/source/classes/sfxhelperfunctions.cxx
+++ b/framework/source/fwe/classes/sfxhelperfunctions.cxx
@@ -28,9 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#ifndef __FRAMEWORK_CLASSES_SFXHELPERFUNCTIONS_CXX_
-#include <classes/sfxhelperfunctions.hxx>
-#endif
+#include <framework/sfxhelperfunctions.hxx>
#include <tools/diagnose_ex.h>
diff --git a/framework/source/dispatch/interaction.cxx b/framework/source/fwe/dispatch/interaction.cxx
index 9cca0bb922..03a99a0510 100644
--- a/framework/source/dispatch/interaction.cxx
+++ b/framework/source/fwe/dispatch/interaction.cxx
@@ -31,34 +31,51 @@
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
-#include <dispatch/interaction.hxx>
+#include <comphelper/interaction.hxx>
+#include <framework/interaction.hxx>
#include <general.h>
-//_________________________________________________________________________________________________________________
-// interface includes
-//_________________________________________________________________________________________________________________
+using namespace ::com::sun::star;
-//_________________________________________________________________________________________________________________
-// includes of other projects
-//_________________________________________________________________________________________________________________
+namespace framework{
-//_________________________________________________________________________________________________________________
-// namespace
-//_________________________________________________________________________________________________________________
+/*-************************************************************************************************************//**
+ @short declaration of special continuation for filter selection
+ @descr Sometimes filter detection during loading document failed. Then we need a possibility
+ to ask user for his decision. These continuation transport selected filter by user to
+ code user of interaction.
-namespace framework{
+ @attention This implementation could be used one times only. We don't support a resetable continuation yet!
+ Why? Normaly interaction should show a filter selection dialog and ask user for his decision.
+ He can select any filter - then instances of these class will be called by handler ... or user
+ close dialog without any selection. Then another continuation should be slected by handler to
+ abort continuations ... Retrying isn't very usefull here ... I think.
-//_________________________________________________________________________________________________________________
-// non exported const
-//_________________________________________________________________________________________________________________
+ @implements XInteractionFilterSelect
-//_________________________________________________________________________________________________________________
-// non exported definitions
-//_________________________________________________________________________________________________________________
+ @base ImplInheritanceHelper1
+ ContinuationBase
+
+ @devstatus ready to use
+ @threadsafe no (used on once position only!)
+*//*-*************************************************************************************************************/
+class ContinuationFilterSelect : public comphelper::OInteraction< ::com::sun::star::document::XInteractionFilterSelect >
+{
+ // c++ interface
+ public:
+ ContinuationFilterSelect();
+
+ // uno interface
+ public:
+ virtual void SAL_CALL setFilter( const ::rtl::OUString& sFilter ) throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::rtl::OUString SAL_CALL getFilter( ) throw( ::com::sun::star::uno::RuntimeException );
+
+ // member
+ private:
+ ::rtl::OUString m_sFilter;
+
+}; // class ContinuationFilterSelect
-//_________________________________________________________________________________________________________________
-// declarations
-//_________________________________________________________________________________________________________________
//---------------------------------------------------------------------------------------------------------
// initialize continuation with right start values
@@ -84,11 +101,29 @@ void SAL_CALL ContinuationFilterSelect::setFilter( const ::rtl::OUString& sFilte
return m_sFilter;
}
+class RequestFilterSelect_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
+{
+public:
+ RequestFilterSelect_Impl( const ::rtl::OUString& sURL );
+ sal_Bool isAbort () const;
+ ::rtl::OUString getFilter() const;
+
+public:
+ virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
+
+private:
+ ::com::sun::star::uno::Any m_aRequest ;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
+ comphelper::OInteractionAbort* m_pAbort;
+ ContinuationFilterSelect* m_pFilter;
+};
+
//---------------------------------------------------------------------------------------------------------
// initialize instance with all neccessary informations
// We use it without any further checks on our member then ...!
//---------------------------------------------------------------------------------------------------------
-RequestFilterSelect::RequestFilterSelect( const ::rtl::OUString& sURL )
+RequestFilterSelect_Impl::RequestFilterSelect_Impl( const ::rtl::OUString& sURL )
{
::rtl::OUString temp;
css::uno::Reference< css::uno::XInterface > temp2;
@@ -97,7 +132,7 @@ RequestFilterSelect::RequestFilterSelect( const ::rtl::OUString& sURL )
sURL );
m_aRequest <<= aFilterRequest;
- m_pAbort = new ContinuationAbort ;
+ m_pAbort = new comphelper::OInteractionAbort;
m_pFilter = new ContinuationFilterSelect;
m_lContinuations.realloc( 2 );
@@ -109,16 +144,16 @@ RequestFilterSelect::RequestFilterSelect( const ::rtl::OUString& sURL )
// return abort state of interaction
// If it is true, return value of method "getFilter()" will be unspecified then!
//---------------------------------------------------------------------------------------------------------
-sal_Bool RequestFilterSelect::isAbort() const
+sal_Bool RequestFilterSelect_Impl::isAbort() const
{
- return m_pAbort->isSelected();
+ return m_pAbort->wasSelected();
}
//---------------------------------------------------------------------------------------------------------
// return user selected filter
// Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
//---------------------------------------------------------------------------------------------------------
-::rtl::OUString RequestFilterSelect::getFilter() const
+::rtl::OUString RequestFilterSelect_Impl::getFilter() const
{
return m_pFilter->getFilter();
}
@@ -127,7 +162,7 @@ sal_Bool RequestFilterSelect::isAbort() const
// handler call it to get type of request
// Is hard coded to "please select filter" here. see ctor for further informations.
//---------------------------------------------------------------------------------------------------------
-css::uno::Any SAL_CALL RequestFilterSelect::getRequest() throw( css::uno::RuntimeException )
+css::uno::Any SAL_CALL RequestFilterSelect_Impl::getRequest() throw( css::uno::RuntimeException )
{
return m_aRequest;
}
@@ -138,16 +173,102 @@ css::uno::Any SAL_CALL RequestFilterSelect::getRequest() throw( css::uno::Runtim
// After interaction we support read access on these continuations on our c++ interface to
// return user decision.
//---------------------------------------------------------------------------------------------------------
-css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestFilterSelect::getContinuations() throw( css::uno::RuntimeException )
+css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestFilterSelect_Impl::getContinuations() throw( css::uno::RuntimeException )
{
return m_lContinuations;
}
+
+RequestFilterSelect::RequestFilterSelect( const ::rtl::OUString& sURL )
+{
+ pImp = new RequestFilterSelect_Impl( sURL );
+ pImp->acquire();
+}
+
+RequestFilterSelect::~RequestFilterSelect()
+{
+ pImp->release();
+}
+
+
+//---------------------------------------------------------------------------------------------------------
+// return abort state of interaction
+// If it is true, return value of method "getFilter()" will be unspecified then!
+//---------------------------------------------------------------------------------------------------------
+sal_Bool RequestFilterSelect::isAbort() const
+{
+ return pImp->isAbort();
+}
+
+//---------------------------------------------------------------------------------------------------------
+// return user selected filter
+// Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
+//---------------------------------------------------------------------------------------------------------
+::rtl::OUString RequestFilterSelect::getFilter() const
+{
+ return pImp->getFilter();
+}
+
+uno::Reference < task::XInteractionRequest > RequestFilterSelect::GetRequest()
+{
+ return uno::Reference < task::XInteractionRequest > (pImp);
+}
+
+/*
+class RequestAmbigousFilter_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
+{
+public:
+ RequestAmbigousFilter_Impl( const ::rtl::OUString& sURL ,
+ const ::rtl::OUString& sSelectedFilter ,
+ const ::rtl::OUString& sDetectedFilter );
+ sal_Bool isAbort () const;
+ ::rtl::OUString getFilter() const;
+
+ virtual ::com::sun::star::uno::Any SAL_CALL getRequest () throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
+
+ ::com::sun::star::uno::Any m_aRequest ;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
+ ContinuationAbort* m_pAbort ;
+ ContinuationFilterSelect* m_pFilter ;
+};
+
+RequestAmbigousFilter::RequestAmbigousFilter( const ::rtl::OUString& sURL, const ::rtl::OUString& sSelectedFilter,
+ const ::rtl::OUString& sDetectedFilter )
+{
+ pImp = new RequestAmbigousFilter_Impl( sURL, sSelectedFilter, sDetectedFilter );
+ pImp->acquire();
+}
+
+RequestAmbigousFilter::~RequestAmbigousFilter()
+{
+ pImp->release();
+}
+
+sal_Bool RequestAmbigousFilter::isAbort() const
+{
+ return pImp->isAbort();
+}
+
+//---------------------------------------------------------------------------------------------------------
+// return user selected filter
+// Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
+//---------------------------------------------------------------------------------------------------------
+::rtl::OUString RequestAmbigousFilter::getFilter() const
+{
+ return pImp->getFilter();
+}
+
+uno::Reference < task::XInteractionRequest > RequestAmbigousFilter::GetRequest()
+{
+ return uno::Reference < task::XInteractionRequest > (pImp);
+}
+
//---------------------------------------------------------------------------------------------------------
// initialize instance with all neccessary informations
// We use it without any further checks on our member then ...!
//---------------------------------------------------------------------------------------------------------
-RequestAmbigousFilter::RequestAmbigousFilter( const ::rtl::OUString& sURL ,
+RequestAmbigousFilter_Impl::RequestAmbigousFilter_Impl( const ::rtl::OUString& sURL ,
const ::rtl::OUString& sSelectedFilter ,
const ::rtl::OUString& sDetectedFilter )
{
@@ -172,7 +293,7 @@ RequestAmbigousFilter::RequestAmbigousFilter( const ::rtl::OUString& sURL
// return abort state of interaction
// If it is true, return value of method "getFilter()" will be unspecified then!
//---------------------------------------------------------------------------------------------------------
-sal_Bool RequestAmbigousFilter::isAbort() const
+sal_Bool RequestAmbigousFilter_Impl::isAbort() const
{
return m_pAbort->isSelected();
}
@@ -181,7 +302,7 @@ sal_Bool RequestAmbigousFilter::isAbort() const
// return user selected filter
// Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
//---------------------------------------------------------------------------------------------------------
-::rtl::OUString RequestAmbigousFilter::getFilter() const
+::rtl::OUString RequestAmbigousFilter_Impl::getFilter() const
{
return m_pFilter->getFilter();
}
@@ -190,7 +311,7 @@ sal_Bool RequestAmbigousFilter::isAbort() const
// handler call it to get type of request
// Is hard coded to "please select filter" here. see ctor for further informations.
//---------------------------------------------------------------------------------------------------------
-css::uno::Any SAL_CALL RequestAmbigousFilter::getRequest() throw( css::uno::RuntimeException )
+css::uno::Any SAL_CALL RequestAmbigousFilter_Impl::getRequest() throw( css::uno::RuntimeException )
{
return m_aRequest;
}
@@ -201,9 +322,45 @@ css::uno::Any SAL_CALL RequestAmbigousFilter::getRequest() throw( css::uno::Runt
// After interaction we support read access on these continuations on our c++ interface to
// return user decision.
//---------------------------------------------------------------------------------------------------------
-css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestAmbigousFilter::getContinuations() throw( css::uno::RuntimeException )
+css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestAmbigousFilter_Impl::getContinuations() throw( css::uno::RuntimeException )
+{
+ return m_lContinuations;
+}
+*/
+
+class InteractionRequest_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
+{
+ uno::Any m_aRequest;
+ uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
+
+public:
+ InteractionRequest_Impl( const ::com::sun::star::uno::Any& aRequest,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > lContinuations )
+ {
+ m_aRequest = aRequest;
+ m_lContinuations = lContinuations;
+ }
+
+ virtual uno::Any SAL_CALL getRequest() throw( uno::RuntimeException );
+ virtual uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL getContinuations()
+ throw( uno::RuntimeException );
+};
+
+uno::Any SAL_CALL InteractionRequest_Impl::getRequest() throw( uno::RuntimeException )
+{
+ return m_aRequest;
+}
+
+uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL InteractionRequest_Impl::getContinuations()
+ throw( uno::RuntimeException )
{
return m_lContinuations;
}
+uno::Reference < task::XInteractionRequest > InteractionRequest::CreateRequest(
+ const uno::Any& aRequest, const uno::Sequence< uno::Reference< task::XInteractionContinuation > > lContinuations )
+{
+ return new InteractionRequest_Impl( aRequest, lContinuations );
+}
+
} // namespace framework
diff --git a/framework/source/helper/acceleratorinfo.cxx b/framework/source/fwe/helper/acceleratorinfo.cxx
index e3b22da241..edd9bbd374 100644
--- a/framework/source/helper/acceleratorinfo.cxx
+++ b/framework/source/fwe/helper/acceleratorinfo.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <helper/acceleratorinfo.hxx>
+#include <framework/acceleratorinfo.hxx>
namespace framework
{
diff --git a/framework/source/helper/actiontriggerhelper.cxx b/framework/source/fwe/helper/actiontriggerhelper.cxx
index 38d2a67931..e5c0ee8576 100644
--- a/framework/source/helper/actiontriggerhelper.cxx
+++ b/framework/source/fwe/helper/actiontriggerhelper.cxx
@@ -27,11 +27,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <classes/actiontriggerseparatorpropertyset.hxx>
#include <classes/rootactiontriggercontainer.hxx>
#include <classes/imagewrapper.hxx>
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/awt/XBitmap.hpp>
diff --git a/framework/source/helper/configimporter.cxx b/framework/source/fwe/helper/configimporter.cxx
index a94db6d8df..818e149226 100644
--- a/framework/source/helper/configimporter.cxx
+++ b/framework/source/fwe/helper/configimporter.cxx
@@ -28,8 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <helper/configimporter.hxx>
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/configimporter.hxx>
+#include <framework/toolboxconfiguration.hxx>
#include <com/sun/star/embed/ElementModes.hpp>
#include <rtl/ustrbuf.hxx>
diff --git a/framework/source/helper/imageproducer.cxx b/framework/source/fwe/helper/imageproducer.cxx
index 2aaf7f184c..29b2c83939 100644
--- a/framework/source/helper/imageproducer.cxx
+++ b/framework/source/fwe/helper/imageproducer.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <helper/imageproducer.hxx>
+#include <framework/imageproducer.hxx>
namespace framework
{
diff --git a/framework/source/helper/propertysetcontainer.cxx b/framework/source/fwe/helper/propertysetcontainer.cxx
index 4f8eec9c2f..4f8eec9c2f 100644
--- a/framework/source/helper/propertysetcontainer.cxx
+++ b/framework/source/fwe/helper/propertysetcontainer.cxx
diff --git a/framework/source/helper/titlehelper.cxx b/framework/source/fwe/helper/titlehelper.cxx
index e95617064b..7ad0b7dd09 100644
--- a/framework/source/helper/titlehelper.cxx
+++ b/framework/source/fwe/helper/titlehelper.cxx
@@ -31,7 +31,7 @@
//_______________________________________________
// includes
-#include <helper/titlehelper.hxx>
+#include <framework/titlehelper.hxx>
#include <services.h>
#include <properties.h>
diff --git a/framework/source/helper/uiconfigelementwrapperbase.cxx b/framework/source/fwe/helper/uiconfigelementwrapperbase.cxx
index 2612b559ef..2612b559ef 100644
--- a/framework/source/helper/uiconfigelementwrapperbase.cxx
+++ b/framework/source/fwe/helper/uiconfigelementwrapperbase.cxx
diff --git a/framework/source/helper/uielementwrapperbase.cxx b/framework/source/fwe/helper/uielementwrapperbase.cxx
index d1dd3a8ac3..d1dd3a8ac3 100644
--- a/framework/source/helper/uielementwrapperbase.cxx
+++ b/framework/source/fwe/helper/uielementwrapperbase.cxx
diff --git a/framework/source/interaction/preventduplicateinteraction.cxx b/framework/source/fwe/interaction/preventduplicateinteraction.cxx
index d032aa1f24..01f38cce44 100644
--- a/framework/source/interaction/preventduplicateinteraction.cxx
+++ b/framework/source/fwe/interaction/preventduplicateinteraction.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include "interaction/preventduplicateinteraction.hxx"
+#include "framework/preventduplicateinteraction.hxx"
//_________________________________________________________________________________________________________________
// my own includes
diff --git a/framework/source/xml/eventsconfiguration.cxx b/framework/source/fwe/xml/eventsconfiguration.cxx
index eb79b31984..3c9b57ba50 100644
--- a/framework/source/xml/eventsconfiguration.cxx
+++ b/framework/source/fwe/xml/eventsconfiguration.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <xml/eventsconfiguration.hxx>
+#include <framework/eventsconfiguration.hxx>
#include <xml/eventsdocumenthandler.hxx>
#include <services.h>
diff --git a/framework/source/xml/eventsdocumenthandler.cxx b/framework/source/fwe/xml/eventsdocumenthandler.cxx
index 4cc61462dc..32625b1bda 100644
--- a/framework/source/xml/eventsdocumenthandler.cxx
+++ b/framework/source/fwe/xml/eventsdocumenthandler.cxx
@@ -28,6 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
+#include <framework/fwedllapi.h>
#include <stdio.h>
//_________________________________________________________________________________________________________________
diff --git a/framework/source/xml/imagesconfiguration.cxx b/framework/source/fwe/xml/imagesconfiguration.cxx
index 55bcd3564b..846cac222b 100644
--- a/framework/source/xml/imagesconfiguration.cxx
+++ b/framework/source/fwe/xml/imagesconfiguration.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <xml/imagesconfiguration.hxx>
+#include <framework/imagesconfiguration.hxx>
#include <services.h>
#ifndef __FRAMEWORK_CLASSES_IMAGESDOCUMENTHANDLER_HXX_
diff --git a/framework/source/xml/imagesdocumenthandler.cxx b/framework/source/fwe/xml/imagesdocumenthandler.cxx
index 0622d2bf0c..0622d2bf0c 100644
--- a/framework/source/xml/imagesdocumenthandler.cxx
+++ b/framework/source/fwe/xml/imagesdocumenthandler.cxx
diff --git a/framework/source/xml/menuconfiguration.cxx b/framework/source/fwe/xml/menuconfiguration.cxx
index 90339204b5..d8bf5c1d1b 100644
--- a/framework/source/xml/menuconfiguration.cxx
+++ b/framework/source/fwe/xml/menuconfiguration.cxx
@@ -31,12 +31,12 @@
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
-#include <xml/menuconfiguration.hxx>
+#include <framework/menuconfiguration.hxx>
#ifndef __FRAMEWORK_CLASSES_BMKMENU_HXX_
-#include <classes/bmkmenu.hxx>
+#include <framework/bmkmenu.hxx>
#endif
-#include <classes/addonmenu.hxx>
+#include <framework/addonmenu.hxx>
#include <xml/menudocumenthandler.hxx>
#include <xml/saxnamespacefilter.hxx>
#include <services.h>
diff --git a/framework/source/xml/menudocumenthandler.cxx b/framework/source/fwe/xml/menudocumenthandler.cxx
index 86ef30cfd0..bb2e16d58e 100644
--- a/framework/source/xml/menudocumenthandler.cxx
+++ b/framework/source/fwe/xml/menudocumenthandler.cxx
@@ -34,8 +34,8 @@
// my own includes
//_________________________________________________________________________________________________________________
#include <xml/menudocumenthandler.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <classes/addonmenu.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/addonmenu.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/xml/saxnamespacefilter.cxx b/framework/source/fwe/xml/saxnamespacefilter.cxx
index 2514e67b21..2514e67b21 100644
--- a/framework/source/xml/saxnamespacefilter.cxx
+++ b/framework/source/fwe/xml/saxnamespacefilter.cxx
diff --git a/framework/source/xml/statusbarconfiguration.cxx b/framework/source/fwe/xml/statusbarconfiguration.cxx
index 26853a6995..8f653f9f89 100644
--- a/framework/source/xml/statusbarconfiguration.cxx
+++ b/framework/source/fwe/xml/statusbarconfiguration.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <xml/statusbarconfiguration.hxx>
+#include <framework/statusbarconfiguration.hxx>
#include <xml/statusbardocumenthandler.hxx>
#include <xml/saxnamespacefilter.hxx>
#include <services.h>
diff --git a/framework/source/xml/statusbardocumenthandler.cxx b/framework/source/fwe/xml/statusbardocumenthandler.cxx
index cc4950c73c..cc4950c73c 100644
--- a/framework/source/xml/statusbardocumenthandler.cxx
+++ b/framework/source/fwe/xml/statusbardocumenthandler.cxx
diff --git a/framework/source/xml/toolboxconfiguration.cxx b/framework/source/fwe/xml/toolboxconfiguration.cxx
index 4ed368af21..26e4fbe118 100644
--- a/framework/source/xml/toolboxconfiguration.cxx
+++ b/framework/source/fwe/xml/toolboxconfiguration.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/toolboxconfiguration.hxx>
#include <xml/toolboxdocumenthandler.hxx>
#include <xml/saxnamespacefilter.hxx>
#include <services.h>
diff --git a/framework/source/xml/toolboxdocumenthandler.cxx b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
index 6500dc90a5..6500dc90a5 100644
--- a/framework/source/xml/toolboxdocumenthandler.cxx
+++ b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
diff --git a/framework/source/fwe/xml/toolboxlayoutdocumenthandler.cxx b/framework/source/fwe/xml/toolboxlayoutdocumenthandler.cxx
new file mode 100644
index 0000000000..039eaffad2
--- /dev/null
+++ b/framework/source/fwe/xml/toolboxlayoutdocumenthandler.cxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_framework.hxx"
+
+#include <stdio.h>
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <threadhelp/resetableguard.hxx>
+#include <xml/toolboxlayoutdocumenthandler.hxx>
+#include <macros/debug.hxx>
+#include <xml/toolboxconfigurationdefines.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#ifndef __COM_SUN_STAR_XML_SAX_XEXTENDEDDOCUMENTHANDLER_HPP_
+#include <com/sun/star/xml/sax/XExtendedDocumentHandler.hpp>
+#endif
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+#include <vcl/svapp.hxx>
+#include <vcl/toolbox.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
diff --git a/framework/source/xml/xmlnamespaces.cxx b/framework/source/fwe/xml/xmlnamespaces.cxx
index 924fdcfef8..924fdcfef8 100644
--- a/framework/source/xml/xmlnamespaces.cxx
+++ b/framework/source/fwe/xml/xmlnamespaces.cxx
diff --git a/framework/source/classes/converter.cxx b/framework/source/fwi/classes/converter.cxx
index 72fdb5d333..72fdb5d333 100644
--- a/framework/source/classes/converter.cxx
+++ b/framework/source/fwi/classes/converter.cxx
diff --git a/framework/source/classes/propertysethelper.cxx b/framework/source/fwi/classes/propertysethelper.cxx
index 7f05c15c1d..7f05c15c1d 100644
--- a/framework/source/classes/propertysethelper.cxx
+++ b/framework/source/fwi/classes/propertysethelper.cxx
diff --git a/framework/source/classes/protocolhandlercache.cxx b/framework/source/fwi/classes/protocolhandlercache.cxx
index 82fded63fc..c516c2ae8a 100644
--- a/framework/source/classes/protocolhandlercache.cxx
+++ b/framework/source/fwi/classes/protocolhandlercache.cxx
@@ -332,7 +332,7 @@ void HandlerCFGAccess::read( HandlerHash** ppHandler ,
(**ppPattern)[*pItem] = lNames[nSource];
}
- // �nsert the handler info into the normal handler cache
+ // ï¿œnsert the handler info into the normal handler cache
(**ppHandler)[lNames[nSource]] = aHandler;
++nSource;
}
diff --git a/framework/source/helper/mischelper.cxx b/framework/source/fwi/helper/mischelper.cxx
index 2a72f3b75d..e87b89c0e6 100644
--- a/framework/source/helper/mischelper.cxx
+++ b/framework/source/fwi/helper/mischelper.cxx
@@ -127,14 +127,17 @@ uno::Reference< linguistic2::XLanguageGuessing > LanguageGuessingHelper::GetGues
{
rtl::OUString aStr;
Sequence< PropertyValue > aPropSeq;
- if ( _xUICommandLabels->getByName( aCmdURL ) >>= aPropSeq )
+ if( _xUICommandLabels->hasByName( aCmdURL ) )
{
- for ( sal_Int32 i = 0; i < aPropSeq.getLength(); i++ )
+ if ( _xUICommandLabels->getByName( aCmdURL ) >>= aPropSeq )
{
- if ( aPropSeq[i].Name.equalsAscii( _pName/*"Label"*/ ))
+ for ( sal_Int32 i = 0; i < aPropSeq.getLength(); i++ )
{
- aPropSeq[i].Value >>= aStr;
- break;
+ if ( aPropSeq[i].Name.equalsAscii( _pName/*"Label"*/ ))
+ {
+ aPropSeq[i].Value >>= aStr;
+ break;
+ }
}
}
}
diff --git a/framework/source/helper/networkdomain.cxx b/framework/source/fwi/helper/networkdomain.cxx
index d1a74b16e8..d1a74b16e8 100644
--- a/framework/source/helper/networkdomain.cxx
+++ b/framework/source/fwi/helper/networkdomain.cxx
diff --git a/framework/source/helper/shareablemutex.cxx b/framework/source/fwi/helper/shareablemutex.cxx
index bdc5f131aa..bdc5f131aa 100644
--- a/framework/source/helper/shareablemutex.cxx
+++ b/framework/source/fwi/helper/shareablemutex.cxx
diff --git a/framework/source/jobs/configaccess.cxx b/framework/source/fwi/jobs/configaccess.cxx
index 39ee0f9b66..39ee0f9b66 100644
--- a/framework/source/jobs/configaccess.cxx
+++ b/framework/source/fwi/jobs/configaccess.cxx
diff --git a/framework/source/jobs/jobconst.cxx b/framework/source/fwi/jobs/jobconst.cxx
index 4b895c60ca..4b895c60ca 100644
--- a/framework/source/jobs/jobconst.cxx
+++ b/framework/source/fwi/jobs/jobconst.cxx
diff --git a/framework/source/threadhelp/lockhelper.cxx b/framework/source/fwi/threadhelp/lockhelper.cxx
index c69906dacc..c69906dacc 100644
--- a/framework/source/threadhelp/lockhelper.cxx
+++ b/framework/source/fwi/threadhelp/lockhelper.cxx
diff --git a/framework/source/threadhelp/transactionmanager.cxx b/framework/source/fwi/threadhelp/transactionmanager.cxx
index 0c09f309a6..df0bdb3d5c 100644
--- a/framework/source/threadhelp/transactionmanager.cxx
+++ b/framework/source/fwi/threadhelp/transactionmanager.cxx
@@ -36,6 +36,7 @@
#include <macros/debug.hxx>
#include <macros/generic.hxx>
+#include <fwidllapi.h>
//_________________________________________________________________________________________________________________
// interface includes
@@ -180,7 +181,7 @@ void TransactionManager::setWorkingMode( EWorkingMode eMode )
// Make member access threadsafe!
ResetableGuard aGuard( m_aMutex );
- // Check working mode again .. because anoz�ther instance could be faster.
+ // Check working mode again .. because anozï¿œther instance could be faster.
// (It's possible to set this guard at first of this method too!)
if( m_aTransactionManager.getWorkingMode() == E_INIT )
{
diff --git a/framework/source/uielement/constitemcontainer.cxx b/framework/source/fwi/uielement/constitemcontainer.cxx
index 979c6085bd..979c6085bd 100644
--- a/framework/source/uielement/constitemcontainer.cxx
+++ b/framework/source/fwi/uielement/constitemcontainer.cxx
diff --git a/framework/source/uielement/itemcontainer.cxx b/framework/source/fwi/uielement/itemcontainer.cxx
index d1358e54a4..d1358e54a4 100644
--- a/framework/source/uielement/itemcontainer.cxx
+++ b/framework/source/fwi/uielement/itemcontainer.cxx
diff --git a/framework/source/uielement/rootitemcontainer.cxx b/framework/source/fwi/uielement/rootitemcontainer.cxx
index d4b9348f08..d4b9348f08 100644
--- a/framework/source/uielement/rootitemcontainer.cxx
+++ b/framework/source/fwi/uielement/rootitemcontainer.cxx
diff --git a/framework/source/helper/dockingareadefaultacceptor.cxx b/framework/source/helper/dockingareadefaultacceptor.cxx
index 91dbe941d2..06f5129545 100644..100755
--- a/framework/source/helper/dockingareadefaultacceptor.cxx
+++ b/framework/source/helper/dockingareadefaultacceptor.cxx
@@ -76,7 +76,7 @@ using namespace ::rtl ;
//*****************************************************************************************************************
// constructor
//*****************************************************************************************************************
-DockingAreaDefaultAcceptor::DockingAreaDefaultAcceptor( const Reference< XFrame >& xOwner )
+DockingAreaDefaultAcceptor::DockingAreaDefaultAcceptor( const css::uno::Reference< XFrame >& xOwner )
// Init baseclasses first
: ThreadHelpBase ( &Application::GetSolarMutex() )
// Init member
@@ -100,8 +100,8 @@ css::uno::Reference< css::awt::XWindow > SAL_CALL DockingAreaDefaultAcceptor::ge
ResetableGuard aGuard( m_aLock );
// Try to "lock" the frame for access to taskscontainer.
- Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
- Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
+ css::uno::Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
return xContainerWindow;
}
@@ -112,13 +112,13 @@ sal_Bool SAL_CALL DockingAreaDefaultAcceptor::requestDockingAreaSpace( const css
ResetableGuard aGuard( m_aLock );
// Try to "lock" the frame for access to taskscontainer.
- Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
aGuard.unlock();
if ( xFrame.is() == sal_True )
{
- Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
- Reference< css::awt::XWindow > xComponentWindow( xFrame->getComponentWindow() );
+ css::uno::Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
+ css::uno::Reference< css::awt::XWindow > xComponentWindow( xFrame->getComponentWindow() );
if (( xContainerWindow.is() == sal_True ) &&
( xComponentWindow.is() == sal_True ) )
@@ -152,11 +152,11 @@ void SAL_CALL DockingAreaDefaultAcceptor::setDockingAreaSpace( const css::awt::R
ResetableGuard aGuard( m_aLock );
// Try to "lock" the frame for access to taskscontainer.
- Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xFrame( m_xOwner.get(), UNO_QUERY );
if ( xFrame.is() == sal_True )
{
- Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
- Reference< css::awt::XWindow > xComponentWindow( xFrame->getComponentWindow() );
+ css::uno::Reference< css::awt::XWindow > xContainerWindow( xFrame->getContainerWindow() );
+ css::uno::Reference< css::awt::XWindow > xComponentWindow( xFrame->getComponentWindow() );
if (( xContainerWindow.is() == sal_True ) &&
( xComponentWindow.is() == sal_True ) )
diff --git a/framework/source/helper/makefile.mk b/framework/source/helper/makefile.mk
deleted file mode 100644
index ed54c38116..0000000000
--- a/framework/source/helper/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= framework
-TARGET= fwk_helper
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- defines ------------------------------------------------------
-
-CDEFS+=-DCOMPMOD_NAMESPACE=framework
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= $(SLO)$/ocomponentaccess.obj \
- $(SLO)$/ocomponentenumeration.obj \
- $(SLO)$/oframes.obj \
- $(SLO)$/statusindicatorfactory.obj \
- $(SLO)$/statusindicator.obj \
- $(SLO)$/imageproducer.obj \
- $(SLO)$/propertysetcontainer.obj \
- $(SLO)$/actiontriggerhelper.obj \
- $(SLO)$/persistentwindowstate.obj \
- $(SLO)$/networkdomain.obj \
- $(SLO)$/acceleratorinfo.obj \
- $(SLO)$/uielementwrapperbase.obj \
- $(SLO)$/dockingareadefaultacceptor.obj \
- $(SLO)$/uiconfigelementwrapperbase.obj \
- $(SLO)$/shareablemutex.obj \
- $(SLO)$/vclstatusindicator.obj \
- $(SLO)$/wakeupthread.obj \
- $(SLO)$/configimporter.obj \
- $(SLO)$/tagwindowasmodified.obj \
- $(SLO)$/titlebarupdate.obj \
- $(SLO)$/titlehelper.obj \
- $(SLO)$/mischelper.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/helper/ocomponentaccess.cxx b/framework/source/helper/ocomponentaccess.cxx
index b0baf1bcf8..0089ee015c 100644..100755
--- a/framework/source/helper/ocomponentaccess.cxx
+++ b/framework/source/helper/ocomponentaccess.cxx
@@ -77,7 +77,7 @@ using namespace ::rtl ;
//*****************************************************************************************************************
// constructor
//*****************************************************************************************************************
-OComponentAccess::OComponentAccess( const Reference< XDesktop >& xOwner )
+OComponentAccess::OComponentAccess( const css::uno::Reference< XDesktop >& xOwner )
// Init baseclasses first
: ThreadHelpBase ( &Application::GetSolarMutex() )
// Init member
@@ -97,27 +97,27 @@ OComponentAccess::~OComponentAccess()
//*****************************************************************************************************************
// XEnumerationAccess
//*****************************************************************************************************************
-Reference< XEnumeration > SAL_CALL OComponentAccess::createEnumeration() throw( RuntimeException )
+css::uno::Reference< XEnumeration > SAL_CALL OComponentAccess::createEnumeration() throw( RuntimeException )
{
// Ready for multithreading
ResetableGuard aGuard( m_aLock );
// Set default return value, if method failed.
// If no desktop exist and there is no task container - return an empty enumeration!
- Reference< XEnumeration > xReturn = Reference< XEnumeration >();
+ css::uno::Reference< XEnumeration > xReturn = css::uno::Reference< XEnumeration >();
// Try to "lock" the desktop for access to task container.
- Reference< XInterface > xLock = m_xOwner.get();
+ css::uno::Reference< XInterface > xLock = m_xOwner.get();
if ( xLock.is() == sal_True )
{
// Desktop exist => pointer to task container must be valid.
// Initialize a new enumeration ... if some tasks and his components exist!
// (OTasksEnumeration will make an assert, if we initialize the new instance without valid values!)
- Sequence< Reference< XComponent > > seqComponents;
- impl_collectAllChildComponents( Reference< XFramesSupplier >( xLock, UNO_QUERY ), seqComponents );
+ Sequence< css::uno::Reference< XComponent > > seqComponents;
+ impl_collectAllChildComponents( css::uno::Reference< XFramesSupplier >( xLock, UNO_QUERY ), seqComponents );
OComponentEnumeration* pEnumeration = new OComponentEnumeration( seqComponents );
- xReturn = Reference< XEnumeration >( (OWeakObject*)pEnumeration, UNO_QUERY );
+ xReturn = css::uno::Reference< XEnumeration >( (OWeakObject*)pEnumeration, UNO_QUERY );
}
// Return result of this operation.
@@ -131,7 +131,7 @@ Type SAL_CALL OComponentAccess::getElementType() throw( RuntimeException )
{
// Elements in list an enumeration are components!
// Return the uno-type of XComponent.
- return ::getCppuType((const Reference< XComponent >*)NULL);
+ return ::getCppuType((const css::uno::Reference< XComponent >*)NULL);
}
//*****************************************************************************************************************
@@ -146,7 +146,7 @@ sal_Bool SAL_CALL OComponentAccess::hasElements() throw( RuntimeException )
sal_Bool bReturn = sal_False;
// Try to "lock" the desktop for access to task container.
- Reference< XFramesSupplier > xLock( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFramesSupplier > xLock( m_xOwner.get(), UNO_QUERY );
if ( xLock.is() == sal_True )
{
// Ask container of owner for existing elements.
@@ -160,8 +160,8 @@ sal_Bool SAL_CALL OComponentAccess::hasElements() throw( RuntimeException )
//*****************************************************************************************************************
// private method
//*****************************************************************************************************************
-void OComponentAccess::impl_collectAllChildComponents( const Reference< XFramesSupplier >& xNode ,
- Sequence< Reference< XComponent > >& seqComponents )
+void OComponentAccess::impl_collectAllChildComponents( const css::uno::Reference< XFramesSupplier >& xNode ,
+ Sequence< css::uno::Reference< XComponent > >& seqComponents )
{
// If valid node was given ...
if( xNode.is() == sal_True )
@@ -173,13 +173,13 @@ void OComponentAccess::impl_collectAllChildComponents( const Reference< XFramesS
sal_Int32 nComponentCount = seqComponents.getLength();
- const Reference< XFrames > xContainer = xNode->getFrames();
- const Sequence< Reference< XFrame > > seqFrames = xContainer->queryFrames( FrameSearchFlag::CHILDREN );
+ const css::uno::Reference< XFrames > xContainer = xNode->getFrames();
+ const Sequence< css::uno::Reference< XFrame > > seqFrames = xContainer->queryFrames( FrameSearchFlag::CHILDREN );
const sal_Int32 nFrameCount = seqFrames.getLength();
for( sal_Int32 nFrame=0; nFrame<nFrameCount; ++nFrame )
{
- Reference< XComponent > xComponent = impl_getFrameComponent( seqFrames[nFrame] );
+ css::uno::Reference< XComponent > xComponent = impl_getFrameComponent( seqFrames[nFrame] );
if( xComponent.is() == sal_True )
{
nComponentCount++;
@@ -194,30 +194,30 @@ void OComponentAccess::impl_collectAllChildComponents( const Reference< XFramesS
//*****************************************************************************************************************
// private method
//*****************************************************************************************************************
-Reference< XComponent > OComponentAccess::impl_getFrameComponent( const Reference< XFrame >& xFrame ) const
+css::uno::Reference< XComponent > OComponentAccess::impl_getFrameComponent( const css::uno::Reference< XFrame >& xFrame ) const
{
// Set default return value, if method failed.
- Reference< XComponent > xComponent = Reference< XComponent >();
+ css::uno::Reference< XComponent > xComponent = css::uno::Reference< XComponent >();
// Does no controller exists?
- Reference< XController > xController = xFrame->getController();
+ css::uno::Reference< XController > xController = xFrame->getController();
if ( xController.is() == sal_False )
{
// Controller not exist - use the VCL-component.
- xComponent = Reference< XComponent >( xFrame->getComponentWindow(), UNO_QUERY );
+ xComponent = css::uno::Reference< XComponent >( xFrame->getComponentWindow(), UNO_QUERY );
}
else
{
// Does no model exists?
- Reference< XModel > xModel( xController->getModel(), UNO_QUERY );
+ css::uno::Reference< XModel > xModel( xController->getModel(), UNO_QUERY );
if ( xModel.is() == sal_True )
{
// Model exist - use the model as component.
- xComponent = Reference< XComponent >( xModel, UNO_QUERY );
+ xComponent = css::uno::Reference< XComponent >( xModel, UNO_QUERY );
}
else
{
// Model not exist - use the controller as component.
- xComponent = Reference< XComponent >( xController, UNO_QUERY );
+ xComponent = css::uno::Reference< XComponent >( xController, UNO_QUERY );
}
}
@@ -241,7 +241,7 @@ Reference< XComponent > OComponentAccess::impl_getFrameComponent( const Referenc
#ifdef ENABLE_ASSERTIONS
//*****************************************************************************************************************
-sal_Bool OComponentAccess::impldbg_checkParameter_OComponentAccessCtor( const Reference< XDesktop >& xOwner )
+sal_Bool OComponentAccess::impldbg_checkParameter_OComponentAccessCtor( const css::uno::Reference< XDesktop >& xOwner )
{
// Set default return value.
sal_Bool bOK = sal_True;
diff --git a/framework/source/helper/ocomponentenumeration.cxx b/framework/source/helper/ocomponentenumeration.cxx
index 912d80c75d..715a24f9a8 100644..100755
--- a/framework/source/helper/ocomponentenumeration.cxx
+++ b/framework/source/helper/ocomponentenumeration.cxx
@@ -74,7 +74,7 @@ using namespace ::rtl ;
//*****************************************************************************************************************
// constructor
//*****************************************************************************************************************
-OComponentEnumeration::OComponentEnumeration( const Sequence< Reference< XComponent > >& seqComponents )
+OComponentEnumeration::OComponentEnumeration( const Sequence< css::uno::Reference< XComponent > >& seqComponents )
// Init baseclasses first
// Attention:
// Don't change order of initialization!
@@ -200,7 +200,7 @@ void OComponentEnumeration::impl_resetObject()
//*****************************************************************************************************************
// An empty list is allowed ... hasMoreElements() will return false then!
-sal_Bool OComponentEnumeration::impldbg_checkParameter_OComponentEnumerationCtor( const Sequence< Reference< XComponent > >& seqComponents )
+sal_Bool OComponentEnumeration::impldbg_checkParameter_OComponentEnumerationCtor( const Sequence< css::uno::Reference< XComponent > >& seqComponents )
{
// Set default return value.
sal_Bool bOK = sal_True;
diff --git a/framework/source/helper/oframes.cxx b/framework/source/helper/oframes.cxx
index 405da6d91a..a17d6d7ed7 100644..100755
--- a/framework/source/helper/oframes.cxx
+++ b/framework/source/helper/oframes.cxx
@@ -79,8 +79,8 @@ using namespace ::vos ;
//*****************************************************************************************************************
// constructor
//*****************************************************************************************************************
-OFrames::OFrames( const Reference< XMultiServiceFactory >& xFactory ,
- const Reference< XFrame >& xOwner ,
+OFrames::OFrames( const css::uno::Reference< XMultiServiceFactory >& xFactory ,
+ const css::uno::Reference< XFrame >& xOwner ,
FrameContainer* pFrameContainer )
// Init baseclasses first
: ThreadHelpBase ( &Application::GetSolarMutex() )
@@ -107,7 +107,7 @@ OFrames::~OFrames()
//*****************************************************************************************************************
// XFrames
//*****************************************************************************************************************
-void SAL_CALL OFrames::append( const Reference< XFrame >& xFrame ) throw( RuntimeException )
+void SAL_CALL OFrames::append( const css::uno::Reference< XFrame >& xFrame ) throw( RuntimeException )
{
// Ready for multithreading
ResetableGuard aGuard( m_aLock );
@@ -118,7 +118,7 @@ void SAL_CALL OFrames::append( const Reference< XFrame >& xFrame ) throw( Runtim
// Do the follow only, if owner instance valid!
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFramesSupplier > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFramesSupplier > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// Append frame to the end of the container ...
@@ -133,7 +133,7 @@ void SAL_CALL OFrames::append( const Reference< XFrame >& xFrame ) throw( Runtim
//*****************************************************************************************************************
// XFrames
//*****************************************************************************************************************
-void SAL_CALL OFrames::remove( const Reference< XFrame >& xFrame ) throw( RuntimeException )
+void SAL_CALL OFrames::remove( const css::uno::Reference< XFrame >& xFrame ) throw( RuntimeException )
{
// Ready for multithreading
ResetableGuard aGuard( m_aLock );
@@ -144,7 +144,7 @@ void SAL_CALL OFrames::remove( const Reference< XFrame >& xFrame ) throw( Runtim
// Do the follow only, if owner instance valid!
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFramesSupplier > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFramesSupplier > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// Search frame and remove it from container ...
@@ -160,7 +160,7 @@ void SAL_CALL OFrames::remove( const Reference< XFrame >& xFrame ) throw( Runtim
//*****************************************************************************************************************
// XFrames
//*****************************************************************************************************************
-Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearchFlags ) throw( RuntimeException )
+Sequence< css::uno::Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearchFlags ) throw( RuntimeException )
{
// Ready for multithreading
ResetableGuard aGuard( m_aLock );
@@ -170,11 +170,11 @@ Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearch
LOG_ASSERT( impldbg_checkParameter_queryFrames( nSearchFlags ), "OFrames::queryFrames()\nInvalid parameter detected!\n" )
// Set default return value. (empty sequence)
- Sequence< Reference< XFrame > > seqFrames;
+ Sequence< css::uno::Reference< XFrame > > seqFrames;
// Do the follow only, if owner instance valid.
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// Work only, if search was not started here ...!
@@ -203,10 +203,10 @@ Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearch
// Add parent to list ... if any exist!
if( nSearchFlags & FrameSearchFlag::PARENT )
{
- Reference< XFrame > xParent( xOwner->getCreator(), UNO_QUERY );
+ css::uno::Reference< XFrame > xParent( xOwner->getCreator(), UNO_QUERY );
if( xParent.is() == sal_True )
{
- Sequence< Reference< XFrame > > seqParent( 1 );
+ Sequence< css::uno::Reference< XFrame > > seqParent( 1 );
seqParent[0] = xParent;
impl_appendSequence( seqFrames, seqParent );
}
@@ -216,7 +216,7 @@ Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearch
// Add owner to list if SELF is searched.
if( nSearchFlags & FrameSearchFlag::SELF )
{
- Sequence< Reference< XFrame > > seqSelf( 1 );
+ Sequence< css::uno::Reference< XFrame > > seqSelf( 1 );
seqSelf[0] = xOwner;
impl_appendSequence( seqFrames, seqSelf );
}
@@ -229,7 +229,7 @@ Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearch
// Protect this instance against recursive calls from parents.
m_bRecursiveSearchProtection = sal_True;
// Ask parent of my owner for frames and append results to return list.
- Reference< XFramesSupplier > xParent( xOwner->getCreator(), UNO_QUERY );
+ css::uno::Reference< XFramesSupplier > xParent( xOwner->getCreator(), UNO_QUERY );
// If a parent exist ...
if ( xParent.is() == sal_True )
{
@@ -254,7 +254,7 @@ Sequence< Reference< XFrame > > SAL_CALL OFrames::queryFrames( sal_Int32 nSearch
{
// We don't must control this conversion.
// We have done this at append()!
- Reference< XFramesSupplier > xItem( (*m_pFrameContainer)[nIndex], UNO_QUERY );
+ css::uno::Reference< XFramesSupplier > xItem( (*m_pFrameContainer)[nIndex], UNO_QUERY );
impl_appendSequence( seqFrames, xItem->getFrames()->queryFrames( nChildSearchFlags ) );
}
}
@@ -280,7 +280,7 @@ sal_Int32 SAL_CALL OFrames::getCount() throw( RuntimeException )
// Do the follow only, if owner instance valid.
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// Set CURRENT size of container for return.
@@ -311,7 +311,7 @@ Any SAL_CALL OFrames::getByIndex( sal_Int32 nIndex ) throw( IndexOutOfBoundsExce
// Do the follow only, if owner instance valid.
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// Get element form container.
@@ -329,7 +329,7 @@ Any SAL_CALL OFrames::getByIndex( sal_Int32 nIndex ) throw( IndexOutOfBoundsExce
Type SAL_CALL OFrames::getElementType() throw( RuntimeException )
{
// This "container" support XFrame-interfaces only!
- return ::getCppuType( (const Reference< XFrame >*)NULL );
+ return ::getCppuType( (const css::uno::Reference< XFrame >*)NULL );
}
//*****************************************************************************************************************
@@ -344,7 +344,7 @@ sal_Bool SAL_CALL OFrames::hasElements() throw( RuntimeException )
sal_Bool bHasElements = sal_False;
// Do the follow only, if owner instance valid.
// Lock owner for follow operations - make a "hard reference"!
- Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
+ css::uno::Reference< XFrame > xOwner( m_xOwner.get(), UNO_QUERY );
if ( xOwner.is() == sal_True )
{
// If some elements exist ...
@@ -378,18 +378,18 @@ void OFrames::impl_resetObject()
//*****************************************************************************************************************
// private method
//*****************************************************************************************************************
-void OFrames::impl_appendSequence( Sequence< Reference< XFrame > >& seqDestination ,
- const Sequence< Reference< XFrame > >& seqSource )
+void OFrames::impl_appendSequence( Sequence< css::uno::Reference< XFrame > >& seqDestination ,
+ const Sequence< css::uno::Reference< XFrame > >& seqSource )
{
// Get some informations about the sequences.
sal_Int32 nSourceCount = seqSource.getLength();
sal_Int32 nDestinationCount = seqDestination.getLength();
- const Reference< XFrame >* pSourceAccess = seqSource.getConstArray();
- Reference< XFrame >* pDestinationAccess = seqDestination.getArray();
+ const css::uno::Reference< XFrame >* pSourceAccess = seqSource.getConstArray();
+ css::uno::Reference< XFrame >* pDestinationAccess = seqDestination.getArray();
// Get memory for result list.
- Sequence< Reference< XFrame > > seqResult ( nSourceCount + nDestinationCount );
- Reference< XFrame >* pResultAccess = seqResult.getArray();
+ Sequence< css::uno::Reference< XFrame > > seqResult ( nSourceCount + nDestinationCount );
+ css::uno::Reference< XFrame >* pResultAccess = seqResult.getArray();
sal_Int32 nResultPosition = 0;
// Copy all items from first sequence.
@@ -434,8 +434,8 @@ void OFrames::impl_appendSequence( Sequence< Reference< XFrame > >& seqDestina
// An instance of this class can only work with valid initialization.
// We share the mutex with ouer owner class, need a valid factory to instanciate new services and
// use the access to ouer owner for some operations.
-sal_Bool OFrames::impldbg_checkParameter_OFramesCtor( const Reference< XMultiServiceFactory >& xFactory ,
- const Reference< XFrame >& xOwner ,
+sal_Bool OFrames::impldbg_checkParameter_OFramesCtor( const css::uno::Reference< XMultiServiceFactory >& xFactory ,
+ const css::uno::Reference< XFrame >& xOwner ,
FrameContainer* pFrameContainer )
{
// Set default return value.
@@ -458,7 +458,7 @@ sal_Bool OFrames::impldbg_checkParameter_OFramesCtor( const Reference< XMultiSer
//*****************************************************************************************************************
// Its only allowed to add valid references to container.
// AND - alle frames must support XFrames-interface!
-sal_Bool OFrames::impldbg_checkParameter_append( const Reference< XFrame >& xFrame )
+sal_Bool OFrames::impldbg_checkParameter_append( const css::uno::Reference< XFrame >& xFrame )
{
// Set default return value.
sal_Bool bOK = sal_True;
@@ -477,7 +477,7 @@ sal_Bool OFrames::impldbg_checkParameter_append( const Reference< XFrame >& xFra
//*****************************************************************************************************************
// Its only allowed to add valid references to container...
// ... => You can only delete valid references!
-sal_Bool OFrames::impldbg_checkParameter_remove( const Reference< XFrame >& xFrame )
+sal_Bool OFrames::impldbg_checkParameter_remove( const css::uno::Reference< XFrame >& xFrame )
{
// Set default return value.
sal_Bool bOK = sal_True;
diff --git a/framework/source/interaction/makefile.mk b/framework/source/interaction/makefile.mk
deleted file mode 100644
index 0767cb6b33..0000000000
--- a/framework/source/interaction/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= framework
-TARGET= fwk_interaction
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- defines ------------------------------------------------------
-
-CDEFS+=-DCOMPMOD_NAMESPACE=framework
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= $(SLO)$/quietinteraction.obj \
- $(SLO)$/preventduplicateinteraction.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/jobs/jobdata.cxx b/framework/source/jobs/jobdata.cxx
index 0bd2066479..9c3c2a489d 100644
--- a/framework/source/jobs/jobdata.cxx
+++ b/framework/source/jobs/jobdata.cxx
@@ -1,4 +1,4 @@
- /*************************************************************************
+/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -61,6 +61,7 @@ namespace framework{
const sal_Char* JobData::JOBCFG_ROOT = "/org.openoffice.Office.Jobs/Jobs/" ;
const sal_Char* JobData::JOBCFG_PROP_SERVICE = "Service" ;
+const sal_Char* JobData::JOBCFG_PROP_CONTEXT = "Context" ;
const sal_Char* JobData::JOBCFG_PROP_ARGUMENTS = "Arguments" ;
const sal_Char* JobData::EVENTCFG_ROOT = "/org.openoffice.Office.Jobs/Events/" ;
@@ -79,6 +80,7 @@ const sal_Char* JobData::PROP_ENVTYPE = "EnvType"
const sal_Char* JobData::PROP_FRAME = "Frame" ;
const sal_Char* JobData::PROP_MODEL = "Model" ;
const sal_Char* JobData::PROP_SERVICE = "Service" ;
+const sal_Char* JobData::PROP_CONTEXT = "Context" ;
//________________________________
// non exported definitions
@@ -139,6 +141,7 @@ void JobData::operator=( const JobData& rCopy )
m_eEnvironment = rCopy.m_eEnvironment ;
m_sAlias = rCopy.m_sAlias ;
m_sService = rCopy.m_sService ;
+ m_sContext = rCopy.m_sContext ;
m_sEvent = rCopy.m_sEvent ;
m_lArguments = rCopy.m_lArguments ;
m_aLastExecutionResult = rCopy.m_aLastExecutionResult;
@@ -201,6 +204,10 @@ void JobData::setAlias( const ::rtl::OUString& sAlias )
aValue = xJobProperties->getPropertyValue(::rtl::OUString::createFromAscii(JOBCFG_PROP_SERVICE));
aValue >>= m_sService;
+ // read module context list
+ aValue = xJobProperties->getPropertyValue(::rtl::OUString::createFromAscii(JOBCFG_PROP_CONTEXT));
+ aValue >>= m_sContext;
+
// read whole argument list
aValue = xJobProperties->getPropertyValue(::rtl::OUString::createFromAscii(JOBCFG_PROP_ARGUMENTS));
css::uno::Reference< css::container::XNameAccess > xArgumentList;
@@ -477,7 +484,7 @@ css::uno::Sequence< css::beans::NamedValue > JobData::getConfig() const
css::uno::Sequence< css::beans::NamedValue > lConfig;
if (m_eMode==E_ALIAS)
{
- lConfig.realloc(2);
+ lConfig.realloc(3);
sal_Int32 i = 0;
lConfig[i].Name = ::rtl::OUString::createFromAscii(PROP_ALIAS);
@@ -487,6 +494,10 @@ css::uno::Sequence< css::beans::NamedValue > JobData::getConfig() const
lConfig[i].Name = ::rtl::OUString::createFromAscii(PROP_SERVICE);
lConfig[i].Value <<= m_sService;
++i;
+
+ lConfig[i].Name = ::rtl::OUString::createFromAscii(PROP_CONTEXT);
+ lConfig[i].Value <<= m_sContext;
+ ++i;
}
aReadLock.unlock();
/* } SAFE */
@@ -610,6 +621,30 @@ void JobData::appendEnabledJobsForEvent( const css::uno::Reference< css::lang::X
//________________________________
/**
*/
+sal_Bool JobData::hasCorrectContext(const ::rtl::OUString& rModuleIdent) const
+{
+ sal_Int32 nContextLen = m_sContext.getLength();
+ sal_Int32 nModuleIdLen = rModuleIdent.getLength();
+
+ if ( nContextLen == 0 )
+ return sal_True;
+
+ if ( nModuleIdLen > 0 )
+ {
+ sal_Int32 nIndex = m_sContext.indexOf( rModuleIdent );
+ if ( nIndex >= 0 && ( nIndex+nModuleIdLen <= nContextLen ))
+ {
+ ::rtl::OUString sContextModule = m_sContext.copy( nIndex, nModuleIdLen );
+ return sContextModule.equals( rModuleIdent );
+ }
+ }
+
+ return sal_False;
+}
+
+//________________________________
+/**
+ */
css::uno::Sequence< ::rtl::OUString > JobData::getEnabledJobsForEvent( const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR ,
const ::rtl::OUString& sEvent )
{
@@ -705,6 +740,7 @@ void JobData::impl_reset()
m_eEnvironment = E_UNKNOWN_ENVIRONMENT;
m_sAlias = ::rtl::OUString();
m_sService = ::rtl::OUString();
+ m_sContext = ::rtl::OUString();
m_sEvent = ::rtl::OUString();
m_lArguments = css::uno::Sequence< css::beans::NamedValue >();
aWriteLock.unlock();
diff --git a/framework/source/jobs/jobdispatch.cxx b/framework/source/jobs/jobdispatch.cxx
index b9e7f6ee1d..5543373537 100644
--- a/framework/source/jobs/jobdispatch.cxx
+++ b/framework/source/jobs/jobdispatch.cxx
@@ -44,6 +44,7 @@
// interface includes
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
+#include <com/sun/star/frame/XModuleManager.hpp>
//________________________________
// includes of other projects
@@ -145,7 +146,20 @@ void SAL_CALL JobDispatch::initialize( const css::uno::Sequence< css::uno::Any >
for (int a=0; a<lArguments.getLength(); ++a)
{
if (a==0)
+ {
lArguments[a] >>= m_xFrame;
+
+ css::uno::Reference< css::frame::XModuleManager > xModuleManager(
+ m_xSMGR->createInstance(
+ SERVICENAME_MODULEMANAGER ),
+ css::uno::UNO_QUERY_THROW );
+ try
+ {
+ m_sModuleIdentifier = xModuleManager->identify( m_xFrame );
+ }
+ catch( css::uno::Exception& )
+ {}
+ }
}
aWriteLock.unlock();
@@ -289,16 +303,8 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const ::rtl::OUString&
// But a may given listener will know something ...
// I think this operaton was finished successfully.
// It's not realy an error, if no registered jobs could be located.
- if (lJobs.getLength()<1 && xListener.is())
- {
- css::frame::DispatchResultEvent aEvent;
- aEvent.Source = xThis;
- aEvent.State = css::frame::DispatchResultState::SUCCESS;
- xListener->dispatchFinished(aEvent);
- return;
- }
-
// Step over all found jobs and execute it
+ int nExecutedJobs=0;
for (int j=0; j<lJobs.getLength(); ++j)
{
/* SAFE { */
@@ -307,6 +313,7 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const ::rtl::OUString&
JobData aCfg(m_xSMGR);
aCfg.setEvent(sEvent, lJobs[j]);
aCfg.setEnvironment(JobData::E_DISPATCH);
+ const bool bIsEnabled=aCfg.hasCorrectContext(m_sModuleIdentifier);
/*Attention!
Jobs implements interfaces and dies by ref count!
@@ -320,6 +327,9 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const ::rtl::OUString&
aReadLock.unlock();
/* } SAFE */
+ if (!bIsEnabled)
+ continue;
+
// Special mode for listener.
// We dont notify it directly here. We delegate that
// to the job implementation. But we must set ourself there too.
@@ -328,6 +338,15 @@ void JobDispatch::impl_dispatchEvent( /*IN*/ const ::rtl::OUString&
if (xListener.is())
pJob->setDispatchResultFake(xListener, xThis);
pJob->execute(Converter::convert_seqPropVal2seqNamedVal(lArgs));
+ ++nExecutedJobs;
+ }
+
+ if (nExecutedJobs<1 && xListener.is())
+ {
+ css::frame::DispatchResultEvent aEvent;
+ aEvent.Source = xThis;
+ aEvent.State = css::frame::DispatchResultState::SUCCESS;
+ xListener->dispatchFinished(aEvent);
}
}
diff --git a/framework/source/jobs/jobexecutor.cxx b/framework/source/jobs/jobexecutor.cxx
index 5bb7acc7c9..7a07689b05 100644
--- a/framework/source/jobs/jobexecutor.cxx
+++ b/framework/source/jobs/jobexecutor.cxx
@@ -98,6 +98,11 @@ DEFINE_XSERVICEINFO_ONEINSTANCESERVICE( JobExecutor ,
DEFINE_INIT_SERVICE( JobExecutor,
{
+ m_xModuleManager = css::uno::Reference< css::frame::XModuleManager >(
+ m_xSMGR->createInstance(
+ SERVICENAME_MODULEMANAGER ),
+ css::uno::UNO_QUERY_THROW );
+
/*Attention
I think we don't need any mutex or lock here ... because we are called by our own static method impl_createInstance()
to create a new instance of this class by our own supported service factory.
@@ -142,6 +147,7 @@ JobExecutor::JobExecutor( /*IN*/ const css::uno::Reference< css::lang::XMultiSer
: ThreadHelpBase (&Application::GetSolarMutex() )
, ::cppu::OWeakObject ( )
, m_xSMGR (xSMGR )
+ , m_xModuleManager ( )
, m_aConfig (xSMGR, ::rtl::OUString::createFromAscii(JobData::EVENTCFG_ROOT) )
{
// Don't do any reference related code here! Do it inside special
@@ -233,6 +239,15 @@ void SAL_CALL JobExecutor::notifyEvent( const css::document::EventObject& aEvent
// This optimization supress using of the cfg api for getting event and job descriptions.
// see using of m_lEvents.find() below ...
+ // retrieve event context from event source
+ rtl::OUString aModuleIdentifier;
+ try
+ {
+ aModuleIdentifier = m_xModuleManager->identify( aEvent.Source );
+ }
+ catch( css::uno::Exception& )
+ {}
+
// Special feature: If the events "OnNew" or "OnLoad" occures - we generate our own event "onDocumentOpened".
if (
(aEvent.EventName.equals(EVENT_ON_NEW )) ||
@@ -275,6 +290,9 @@ void SAL_CALL JobExecutor::notifyEvent( const css::document::EventObject& aEvent
aCfg.setEvent(rBinding.m_sDocEvent, rBinding.m_sJobName);
aCfg.setEnvironment(JobData::E_DOCUMENTEVENT);
+ if (!aCfg.hasCorrectContext(aModuleIdentifier))
+ continue;
+
/*Attention!
Jobs implements interfaces and dies by ref count!
And freeing of such uno object is done by uno itself.
diff --git a/framework/source/jobs/makefile.mk b/framework/source/jobs/makefile.mk
deleted file mode 100644
index ee5cc63766..0000000000
--- a/framework/source/jobs/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= framework
-TARGET= fwk_jobs
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= $(SLO)$/jobexecutor.obj \
- $(SLO)$/jobdispatch.obj \
- $(SLO)$/job.obj \
- $(SLO)$/jobdata.obj \
- $(SLO)$/jobresult.obj \
- $(SLO)$/joburl.obj \
- $(SLO)$/jobconst.obj \
- $(SLO)$/helponstartup.obj \
- $(SLO)$/shelljob.obj \
- $(SLO)$/configaccess.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/layoutmanager/helpers.cxx b/framework/source/layoutmanager/helpers.cxx
new file mode 100755
index 0000000000..e1f07c7440
--- /dev/null
+++ b/framework/source/layoutmanager/helpers.cxx
@@ -0,0 +1,415 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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_framework.hxx"
+
+// my own includes
+#include "helpers.hxx"
+#include <threadhelp/resetableguard.hxx>
+#include <services.h>
+
+// interface includes
+#include <com/sun/star/ui/DockingArea.hpp>
+#include <com/sun/star/awt/XTopWindow.hpp>
+#include <com/sun/star/frame/XDispatchHelper.hpp>
+#include <com/sun/star/awt/XDockableWindow.hpp>
+#include <com/sun/star/awt/XDockableWindowListener.hpp>
+#include <com/sun/star/awt/XWindowListener.hpp>
+#include <com/sun/star/ui/XUIElement.hpp>
+
+// other includes
+#include <comphelper/mediadescriptor.hxx>
+#include <vcl/svapp.hxx>
+#include <vos/mutex.hxx>
+#include <toolkit/unohlp.hxx>
+
+// namespace
+using namespace com::sun::star;
+
+namespace framework
+{
+
+bool hasEmptySize( const:: Size& aSize )
+{
+ return ( aSize.Width() == 0 ) && ( aSize.Height() == 0 );
+}
+
+bool hasDefaultPosValue( const ::Point& aPos )
+{
+ return (( aPos.X() == SAL_MAX_INT32 ) || ( aPos.Y() == SAL_MAX_INT32 ));
+}
+
+bool isDefaultPos( const ::com::sun::star::awt::Point& aPos )
+{
+ return (( aPos.X == SAL_MAX_INT32 ) && ( aPos.Y == SAL_MAX_INT32 ));
+}
+
+bool isDefaultPos( const ::Point& aPos )
+{
+ return (( aPos.X() == SAL_MAX_INT32 ) && ( aPos.Y() == SAL_MAX_INT32 ));
+}
+
+bool isReverseOrderDockingArea( const sal_Int32 nDockArea )
+{
+ ui::DockingArea eDockArea = static_cast< ui::DockingArea >( nDockArea );
+ return (( eDockArea == ui::DockingArea_DOCKINGAREA_BOTTOM ) ||
+ ( eDockArea == ui::DockingArea_DOCKINGAREA_RIGHT ));
+}
+
+bool isToolboxHorizontalAligned( ToolBox* pToolBox )
+{
+ if ( pToolBox )
+ return (( pToolBox->GetAlign() == WINDOWALIGN_TOP ) || ( pToolBox->GetAlign() == WINDOWALIGN_BOTTOM ));
+ return false;
+}
+
+bool isHorizontalDockingArea( const ui::DockingArea& nDockingArea )
+{
+ return (( nDockingArea == ui::DockingArea_DOCKINGAREA_TOP ) ||
+ ( nDockingArea == ui::DockingArea_DOCKINGAREA_BOTTOM ));
+}
+
+bool isHorizontalDockingArea( const sal_Int32 nDockArea )
+{
+ return isHorizontalDockingArea(static_cast< ui::DockingArea >( nDockArea ));
+}
+
+::rtl::OUString retrieveToolbarNameFromHelpURL( Window* pWindow )
+{
+ ::rtl::OUString aToolbarName;
+
+ if ( pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ToolBox* pToolBox = dynamic_cast<ToolBox *>( pWindow );
+ if ( pToolBox )
+ {
+ aToolbarName = rtl::OStringToOUString( pToolBox->GetHelpId(), RTL_TEXTENCODING_UTF8 );
+ sal_Int32 i = aToolbarName.lastIndexOf( ':' );
+ if (( aToolbarName.getLength() > 0 ) && ( i > 0 ) && (( i+ 1 ) < aToolbarName.getLength() ))
+ aToolbarName = aToolbarName.copy( i+1 ); // Remove ".HelpId:" protocol from toolbar name
+ else
+ aToolbarName = ::rtl::OUString();
+ }
+ }
+ return aToolbarName;
+}
+
+ToolBox* getToolboxPtr( Window* pWindow )
+{
+ ToolBox* pToolbox(NULL);
+ if ( pWindow->GetType() == WINDOW_TOOLBOX )
+ pToolbox = dynamic_cast<ToolBox*>( pWindow );
+ return pToolbox;
+}
+
+Window* getWindowFromXUIElement( const uno::Reference< ui::XUIElement >& xUIElement )
+{
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ uno::Reference< awt::XWindow > xWindow;
+ if ( xUIElement.is() )
+ xWindow = uno::Reference< awt::XWindow >( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ return VCLUnoHelper::GetWindow( xWindow );
+}
+
+SystemWindow* getTopSystemWindow( const uno::Reference< awt::XWindow >& xWindow )
+{
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ while ( pWindow && !pWindow->IsSystemWindow() )
+ pWindow = pWindow->GetParent();
+
+ if ( pWindow )
+ return (SystemWindow *)pWindow;
+ else
+ return 0;
+}
+
+void setZeroRectangle( ::Rectangle& rRect )
+{
+ rRect.setX(0);
+ rRect.setY(0);
+ rRect.setWidth(0);
+ rRect.setHeight(0);
+}
+
+// ATTENTION!
+// This value is directly copied from the sfx2 project.
+// You have to change BOTH values, see sfx2/inc/sfx2/sfxsids.hrc (SID_DOCKWIN_START)
+static const sal_Int32 DOCKWIN_ID_BASE = 9800;
+
+bool lcl_checkUIElement(const uno::Reference< ui::XUIElement >& xUIElement, awt::Rectangle& _rPosSize, uno::Reference< awt::XWindow >& _xWindow)
+{
+ bool bRet = xUIElement.is();
+ if ( bRet )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ _xWindow.set( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ _rPosSize = _xWindow->getPosSize();
+
+ Window* pWindow = VCLUnoHelper::GetWindow( _xWindow );
+ if ( pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ::Size aSize = ((ToolBox*)pWindow)->CalcWindowSizePixel( 1 );
+ _rPosSize.Width = aSize.Width();
+ _rPosSize.Height = aSize.Height();
+ }
+ } // if ( xUIElement.is() )
+ return bRet;
+}
+
+uno::Reference< awt::XWindowPeer > createToolkitWindow( const uno::Reference< lang::XMultiServiceFactory >& rFactory, const uno::Reference< awt::XWindowPeer >& rParent, const char* pService )
+{
+ const rtl::OUString aAWTToolkit( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.Toolkit" ));
+
+ uno::Reference< awt::XWindowPeer > xPeer;
+ if ( rFactory.is() )
+ {
+ uno::Reference< awt::XToolkit > xToolkit( rFactory->createInstance( aAWTToolkit ), uno::UNO_QUERY_THROW );
+ if ( xToolkit.is() )
+ {
+ // describe window properties.
+ css::awt::WindowDescriptor aDescriptor;
+ aDescriptor.Type = awt::WindowClass_SIMPLE;
+ aDescriptor.WindowServiceName = ::rtl::OUString::createFromAscii( pService );
+ aDescriptor.ParentIndex = -1;
+ aDescriptor.Parent = uno::Reference< awt::XWindowPeer >( rParent, uno::UNO_QUERY );
+ aDescriptor.Bounds = awt::Rectangle(0,0,0,0);
+ aDescriptor.WindowAttributes = 0;
+
+ // create a awt window
+ xPeer = xToolkit->createWindow( aDescriptor );
+ }
+ }
+
+ return xPeer;
+}
+
+// convert alignment constant to vcl's WindowAlign type
+WindowAlign ImplConvertAlignment( sal_Int16 aAlignment )
+{
+ if ( aAlignment == ui::DockingArea_DOCKINGAREA_LEFT )
+ return WINDOWALIGN_LEFT;
+ else if ( aAlignment == ui::DockingArea_DOCKINGAREA_RIGHT )
+ return WINDOWALIGN_RIGHT;
+ else if ( aAlignment == ui::DockingArea_DOCKINGAREA_TOP )
+ return WINDOWALIGN_TOP;
+ else
+ return WINDOWALIGN_BOTTOM;
+}
+
+::rtl::OUString getElementTypeFromResourceURL( const ::rtl::OUString& aResourceURL )
+{
+ ::rtl::OUString aType;
+
+ ::rtl::OUString aUIResourceURL( UIRESOURCE_URL );
+ if ( aResourceURL.indexOf( aUIResourceURL ) == 0 )
+ {
+ sal_Int32 nIndex = 0;
+ ::rtl::OUString aPathPart = aResourceURL.copy( aUIResourceURL.getLength() );
+ ::rtl::OUString aUIResource = aPathPart.getToken( 0, (sal_Unicode)'/', nIndex );
+
+ return aPathPart.getToken( 0, (sal_Unicode)'/', nIndex );
+ }
+
+ return aType;
+}
+
+void parseResourceURL( const rtl::OUString& aResourceURL, rtl::OUString& aElementType, rtl::OUString& aElementName )
+{
+ ::rtl::OUString aUIResourceURL( UIRESOURCE_URL );
+ if ( aResourceURL.indexOf( aUIResourceURL ) == 0 )
+ {
+ sal_Int32 nIndex = 0;
+ ::rtl::OUString aPathPart = aResourceURL.copy( aUIResourceURL.getLength() );
+ ::rtl::OUString aUIResource = aPathPart.getToken( 0, (sal_Unicode)'/', nIndex );
+
+ aElementType = aPathPart.getToken( 0, (sal_Unicode)'/', nIndex );
+ aElementName = aPathPart.getToken( 0, (sal_Unicode)'/', nIndex );
+ }
+}
+
+::com::sun::star::awt::Rectangle putRectangleValueToAWT( const ::Rectangle& rRect )
+{
+ css::awt::Rectangle aRect;
+ aRect.X = rRect.Left();
+ aRect.Y = rRect.Top();
+ aRect.Width = rRect.Right();
+ aRect.Height = rRect.Bottom();
+
+ return aRect;
+}
+
+::Rectangle putAWTToRectangle( const ::com::sun::star::awt::Rectangle& rRect )
+{
+ ::Rectangle aRect;
+ aRect.Left() = rRect.X;
+ aRect.Top() = rRect.Y;
+ aRect.Right() = rRect.Width;
+ aRect.Bottom() = rRect.Height;
+
+ return aRect;
+}
+
+css::awt::Rectangle convertRectangleToAWT( const ::Rectangle& rRect )
+{
+ css::awt::Rectangle aRect;
+ aRect.X = rRect.Left();
+ aRect.Y = rRect.Top();
+ aRect.Width = rRect.GetWidth();
+ aRect.Height = rRect.GetHeight();
+ return aRect;
+}
+
+::Rectangle convertAWTToRectangle( const ::com::sun::star::awt::Rectangle& rRect )
+{
+ ::Rectangle aRect;
+ aRect.Left() = rRect.X;
+ aRect.Top() = rRect.Y;
+ aRect.Right() = rRect.X + rRect.Width;
+ aRect.Bottom() = rRect.Y + rRect.Height;
+
+ return aRect;
+}
+
+bool equalRectangles( const css::awt::Rectangle& rRect1,
+ const css::awt::Rectangle& rRect2 )
+{
+ return (( rRect1.X == rRect2.X ) &&
+ ( rRect1.Y == rRect2.Y ) &&
+ ( rRect1.Width == rRect2.Width ) &&
+ ( rRect1.Height == rRect2.Height ));
+}
+
+uno::Reference< frame::XModel > impl_getModelFromFrame( const uno::Reference< frame::XFrame >& rFrame )
+{
+ // Query for the model to get check the context information
+ uno::Reference< frame::XModel > xModel;
+ if ( rFrame.is() )
+ {
+ uno::Reference< frame::XController > xController( rFrame->getController(), uno::UNO_QUERY );
+ if ( xController.is() )
+ xModel = xController->getModel();
+ }
+
+ return xModel;
+}
+
+sal_Bool implts_isPreviewModel( const uno::Reference< frame::XModel >& xModel )
+{
+ if ( xModel.is() )
+ {
+ ::comphelper::MediaDescriptor aDesc( xModel->getArgs() );
+ return aDesc.getUnpackedValueOrDefault(::comphelper::MediaDescriptor::PROP_PREVIEW(), (sal_Bool)sal_False);
+ }
+ else
+ return sal_False;
+}
+
+sal_Bool implts_isFrameOrWindowTop( const uno::Reference< frame::XFrame >& xFrame )
+{
+ if (xFrame->isTop())
+ return sal_True;
+
+ uno::Reference< awt::XTopWindow > xWindowCheck(xFrame->getContainerWindow(), uno::UNO_QUERY); // dont use _THROW here ... its a check only
+ if (xWindowCheck.is())
+ {
+ // --> PB 2007-06-18 #i76867# top and system window is required.
+ ::vos::OGuard aSolarLock(&Application::GetSolarMutex());
+ uno::Reference< awt::XWindow > xWindow( xWindowCheck, uno::UNO_QUERY );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ return ( pWindow && pWindow->IsSystemWindow() );
+ // <--
+ }
+
+ return sal_False;
+}
+
+void impl_setDockingWindowVisibility( const css::uno::Reference< css::lang::XMultiServiceFactory>& rSMGR, const css::uno::Reference< css::frame::XFrame >& rFrame, const ::rtl::OUString& rDockingWindowName, bool bVisible )
+{
+ const ::rtl::OUString aDockWinPrefixCommand( RTL_CONSTASCII_USTRINGPARAM( "DockingWindow" ));
+ css::uno::WeakReference< css::frame::XDispatchHelper > xDispatchHelper;
+
+ sal_Int32 nID = rDockingWindowName.toInt32();
+ sal_Int32 nIndex = nID - DOCKWIN_ID_BASE;
+
+ css::uno::Reference< css::frame::XDispatchProvider > xProvider(rFrame, css::uno::UNO_QUERY);
+ if ( nIndex >= 0 && xProvider.is() )
+ {
+ ::rtl::OUString aDockWinCommand( RTL_CONSTASCII_USTRINGPARAM( ".uno:" ));
+ ::rtl::OUString aDockWinArgName( aDockWinPrefixCommand );
+
+ aDockWinArgName += ::rtl::OUString::valueOf( nIndex );
+
+ css::uno::Sequence< css::beans::PropertyValue > aArgs(1);
+ aArgs[0].Name = aDockWinArgName;
+ aArgs[0].Value = css::uno::makeAny( bVisible );
+
+ css::uno::Reference< css::frame::XDispatchHelper > xDispatcher( xDispatchHelper );
+ if ( !xDispatcher.is())
+ {
+ xDispatcher = css::uno::Reference< css::frame::XDispatchHelper >(
+ rSMGR->createInstance(SERVICENAME_DISPATCHHELPER), css::uno::UNO_QUERY_THROW);
+ }
+
+ aDockWinCommand = aDockWinCommand + aDockWinArgName;
+ xDispatcher->executeDispatch(
+ xProvider,
+ aDockWinCommand,
+ ::rtl::OUString::createFromAscii("_self"),
+ 0,
+ aArgs);
+ }
+}
+
+void impl_addWindowListeners(
+ const css::uno::Reference< css::uno::XInterface >& xThis,
+ const css::uno::Reference< css::ui::XUIElement >& xUIElement )
+{
+ css::uno::Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), css::uno::UNO_QUERY );
+ css::uno::Reference< css::awt::XDockableWindow > xDockWindow( xUIElement->getRealInterface(), css::uno::UNO_QUERY );
+ if ( xDockWindow.is() && xWindow.is() )
+ {
+ try
+ {
+ xDockWindow->addDockableWindowListener(
+ css::uno::Reference< css::awt::XDockableWindowListener >(
+ xThis, css::uno::UNO_QUERY ));
+ xWindow->addWindowListener(
+ css::uno::Reference< css::awt::XWindowListener >(
+ xThis, css::uno::UNO_QUERY ));
+ xDockWindow->enableDocking( sal_True );
+ }
+ catch ( css::uno::Exception& )
+ {
+ }
+ }
+}
+
+} // namespace framework
diff --git a/framework/source/layoutmanager/helpers.hxx b/framework/source/layoutmanager/helpers.hxx
new file mode 100755
index 0000000000..545abb2a1f
--- /dev/null
+++ b/framework/source/layoutmanager/helpers.hxx
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_HELPERS_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_HELPERS_HXX_
+
+// my own includes
+#include <macros/generic.hxx>
+#include <stdtypes.h>
+#include <properties.h>
+
+// interface includes
+#include <com/sun/star/awt/XWindowPeer.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+#include <com/sun/star/ui/XUIElement.hpp>
+#include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/ui/DockingArea.hpp>
+#include <com/sun/star/awt/Point.hpp>
+
+// other includes
+#include <vcl/window.hxx>
+#include <vcl/toolbox.hxx>
+
+#define UIRESOURCE_PROTOCO_ASCII "private:"
+#define UIRESOURCE_RESOURCE_ASCII "resource"
+#define UIRESOURCE_URL_ASCII "private:resource"
+#define UIRESOURCE_URL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( UIRESOURCE_URL_ASCII ))
+#define UIRESOURCETYPE_TOOLBAR "toolbar"
+#define UIRESOURCETYPE_STATUSBAR "statusbar"
+#define UIRESOURCETYPE_MENUBAR "menubar"
+
+namespace framework
+{
+
+bool hasEmptySize( const:: Size& aSize );
+bool hasDefaultPosValue( const ::Point& aPos );
+bool isDefaultPos( const ::com::sun::star::awt::Point& aPos );
+bool isDefaultPos( const ::Point& aPos );
+bool isToolboxHorizontalAligned( ToolBox* pToolBox );
+bool isReverseOrderDockingArea( const sal_Int32 nDockArea );
+bool isHorizontalDockingArea( const sal_Int32 nDockArea );
+bool isHorizontalDockingArea( const ::com::sun::star::ui::DockingArea& nDockArea );
+::rtl::OUString retrieveToolbarNameFromHelpURL( Window* pWindow );
+ToolBox* getToolboxPtr( Window* pWindow );
+Window* getWindowFromXUIElement( const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& xUIElement );
+SystemWindow* getTopSystemWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& xWindow );
+bool equalRectangles( const css::awt::Rectangle& rRect1, const css::awt::Rectangle& rRect2 );
+void setZeroRectangle( ::Rectangle& rRect );
+bool lcl_checkUIElement(const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& xUIElement,::com::sun::star::awt::Rectangle& _rPosSize, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& _xWindow);
+::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > createToolkitWindow( const css::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rFactory, const css::uno::Reference< ::com::sun::star::awt::XWindowPeer >& rParent, const char* pService );
+WindowAlign ImplConvertAlignment( sal_Int16 aAlignment );
+::rtl::OUString getElementTypeFromResourceURL( const ::rtl::OUString& aResourceURL );
+void parseResourceURL( const rtl::OUString& aResourceURL, rtl::OUString& aElementType, rtl::OUString& aElementName );
+::Rectangle putAWTToRectangle( const ::com::sun::star::awt::Rectangle& rRect );
+::com::sun::star::awt::Rectangle putRectangleValueToAWT( const ::Rectangle& rRect );
+::com::sun::star::awt::Rectangle convertRectangleToAWT( const ::Rectangle& rRect );
+::Rectangle convertAWTToRectangle( const ::com::sun::star::awt::Rectangle& rRect );
+::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > impl_getModelFromFrame( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
+sal_Bool implts_isPreviewModel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel );
+sal_Bool implts_isFrameOrWindowTop( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame );
+void impl_setDockingWindowVisibility( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& rSMGR, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame, const ::rtl::OUString& rDockingWindowName, bool bVisible );
+void impl_addWindowListeners( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xThis, const ::com::sun::star::uno::Reference< css::ui::XUIElement >& xUIElement );
+::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > implts_createToolkitWindow( const css::uno::Reference< ::com::sun::star::awt::XToolkit >& rToolkit, const css::uno::Reference< ::com::sun::star::awt::XWindowPeer >& rParent );
+
+}
+
+#endif // __FRAMEWORK_LAYOUTMANAGER_HELPERS_HXX_
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 4cb723a196..b4ca380fde 100644..100755
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -1,11 +1,14 @@
/*************************************************************************
*
* 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
*
+ * $RCSfile: layoutmanager.cxx,v $
+ * $Revision: 1.72 $
+ *
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
@@ -28,34 +31,26 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
-//_________________________________________________________________________________________________________________
-// my own includes
-//_________________________________________________________________________________________________________________
-
-// #include <math.h>
-
-#ifndef _FRAMEWORK_SERVICES_LAYOUTMANAGER_HXX_
+// my own includes
#include <services/layoutmanager.hxx>
-#endif
+#include <helpers.hxx>
+#include <panelmanager.hxx>
#include <threadhelp/resetableguard.hxx>
#include <services.h>
-#include <classes/sfxhelperfunctions.hxx>
+#include <framework/sfxhelperfunctions.hxx>
+#include <framework/sfxhelperfunctions.hxx>
#include <uielement/menubarwrapper.hxx>
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#include <uiconfiguration/windowstateconfiguration.hxx>
#include <classes/fwkresid.hxx>
-
-#ifndef __FRAMEWORK_CLASSES_RESOURCE_HRC_
#include <classes/resource.hrc>
-#endif
#include <toolkit/helper/convert.hxx>
#include <uielement/progressbarwrapper.hxx>
#include <uiconfiguration/globalsettings.hxx>
+#include <toolbarlayoutmanager.hxx>
-//_________________________________________________________________________________________________________________
-// interface includes
-//_________________________________________________________________________________________________________________
+// interface includes
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/frame/XModel.hpp>
@@ -69,21 +64,17 @@
#include <com/sun/star/awt/PosSize.hpp>
#include <com/sun/star/awt/XDevice.hpp>
#include <com/sun/star/awt/XSystemDependentWindowPeer.hpp>
-#include <com/sun/star/awt/XTopWindow.hpp>
#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.hpp>
#include <com/sun/star/ui/XUIConfigurationManagerSupplier.hpp>
#include <com/sun/star/ui/UIElementType.hpp>
#include <com/sun/star/container/XNameReplace.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
-#include <com/sun/star/ui/XUIFunctionListener.hpp>
#include <com/sun/star/frame/LayoutManagerEvents.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
-//_________________________________________________________________________________________________________________
-// other includes
-//_________________________________________________________________________________________________________________
+// other includes
#include <svtools/imgdef.hxx>
#include <tools/diagnose_ex.h>
#include <vcl/window.hxx>
@@ -102,348 +93,101 @@
#include <algorithm>
#include <boost/bind.hpp>
-// ______________________________________________
-// using namespace
+// using namespace
using namespace ::com::sun::star;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::util;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::container;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::util;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::container;
using namespace ::com::sun::star::ui;
-using namespace com::sun::star::frame;
using namespace ::com::sun::star::frame;
-#define UIRESOURCE_PROTOCO_ASCII "private:"
-#define UIRESOURCE_RESOURCE_ASCII "resource"
-#define UIRESOURCE_URL_ASCII "private:resource"
-#define UIRESOURCE_URL rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( UIRESOURCE_URL_ASCII ))
// ATTENTION!
// This value is directly copied from the sfx2 project.
// You have to change BOTH values, see sfx2/inc/sfx2/sfxsids.hrc (SID_DOCKWIN_START)
static const sal_Int32 DOCKWIN_ID_BASE = 9800;
-bool lcl_checkUIElement(const Reference< XUIElement >& xUIElement,css::awt::Rectangle& _rPosSize,Reference< css::awt::XWindow >& _xWindow)
-{
- bool bRet = xUIElement.is();
- if ( bRet )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- _xWindow.set( xUIElement->getRealInterface(), UNO_QUERY );
- _rPosSize = _xWindow->getPosSize();
-
- Window* pWindow = VCLUnoHelper::GetWindow( _xWindow );
- if ( pWindow->GetType() == WINDOW_TOOLBOX )
- {
- ::Size aSize = ((ToolBox*)pWindow)->CalcWindowSizePixel( 1 );
- _rPosSize.Width = aSize.Width();
- _rPosSize.Height = aSize.Height();
- }
- } // if ( xUIElement.is() )
- return bRet;
-}
-
-// convert alignment constant to vcl's WindowAlign type
-static WindowAlign ImplConvertAlignment( sal_Int16 aAlignment )
-{
- if ( aAlignment == DockingArea_DOCKINGAREA_LEFT )
- return WINDOWALIGN_LEFT;
- else if ( aAlignment == DockingArea_DOCKINGAREA_RIGHT )
- return WINDOWALIGN_RIGHT;
- else if ( aAlignment == DockingArea_DOCKINGAREA_TOP )
- return WINDOWALIGN_TOP;
- else
- return WINDOWALIGN_BOTTOM;
-}
-
-//_________________________________________________________________________________________________________________
-// Namespace
-//_________________________________________________________________________________________________________________
-//
-
namespace framework
{
-struct UIElementVisibility
-{
- rtl::OUString aName;
- bool bVisible;
-};
-
-bool LayoutManager::UIElement::operator< ( const LayoutManager::UIElement& aUIElement ) const
-{
- if ( !m_xUIElement.is() && aUIElement.m_xUIElement.is() )
- return false;
- else if ( m_xUIElement.is() && !aUIElement.m_xUIElement.is() )
- return true;
- else if ( !m_bVisible && aUIElement.m_bVisible )
- return false;
- else if ( m_bVisible && !aUIElement.m_bVisible )
- return true;
- else if ( !m_bFloating && aUIElement.m_bFloating )
- return true;
- else if ( m_bFloating && !aUIElement.m_bFloating )
- return false;
- else
- {
- if ( m_bFloating )
- {
- bool bEqual = ( m_aFloatingData.m_aPos.Y() == aUIElement.m_aFloatingData.m_aPos.Y() );
- if ( bEqual )
- return ( m_aFloatingData.m_aPos.X() < aUIElement.m_aFloatingData.m_aPos.X() );
- else
- return ( m_aFloatingData.m_aPos.Y() < aUIElement.m_aFloatingData.m_aPos.Y() );
- }
- else
- {
- if ( m_aDockedData.m_nDockedArea < aUIElement.m_aDockedData.m_nDockedArea )
- return true;
- else if ( m_aDockedData.m_nDockedArea > aUIElement.m_aDockedData.m_nDockedArea )
- return false;
- else
- {
- if ( m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_TOP ||
- m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_BOTTOM )
- {
- if ( !( m_aDockedData.m_aPos.Y() == aUIElement.m_aDockedData.m_aPos.Y() ) )
- return ( m_aDockedData.m_aPos.Y() < aUIElement.m_aDockedData.m_aPos.Y() );
- else
- {
- bool bEqual = ( m_aDockedData.m_aPos.X() == aUIElement.m_aDockedData.m_aPos.X() );
- if ( bEqual )
- {
- return m_bUserActive && !aUIElement.m_bUserActive;
- }
- else
- return ( m_aDockedData.m_aPos.X() < aUIElement.m_aDockedData.m_aPos.X() );
- }
- }
- else
- {
- if ( !( m_aDockedData.m_aPos.X() == aUIElement.m_aDockedData.m_aPos.X() ) )
- return ( m_aDockedData.m_aPos.X() < aUIElement.m_aDockedData.m_aPos.X() );
- else
- {
- bool bEqual = ( m_aDockedData.m_aPos.Y() == aUIElement.m_aDockedData.m_aPos.Y() );
- if ( bEqual )
- {
- return m_bUserActive && !aUIElement.m_bUserActive;
- }
- else
- return ( m_aDockedData.m_aPos.Y() < aUIElement.m_aDockedData.m_aPos.Y() );
- }
- }
- }
- }
- }
-}
-
-LayoutManager::UIElement& LayoutManager::UIElement::operator= ( const LayoutManager::UIElement& rUIElement )
-{
- if (this == &rUIElement) { return *this; }
- m_aType = rUIElement.m_aType;
- m_aName = rUIElement.m_aName;
- m_aUIName = rUIElement.m_aUIName;
- m_xUIElement = rUIElement.m_xUIElement;
- m_bFloating = rUIElement.m_bFloating;
- m_bVisible = rUIElement.m_bVisible;
- m_bUserActive = rUIElement.m_bUserActive;
- m_bCreateNewRowCol0 = rUIElement.m_bCreateNewRowCol0;
- m_bDeactiveHide = rUIElement.m_bDeactiveHide;
- m_bMasterHide = rUIElement.m_bMasterHide;
- m_bContextSensitive = rUIElement.m_bContextSensitive;
- m_bContextActive = rUIElement.m_bContextActive;
- m_bNoClose = rUIElement.m_bNoClose;
- m_bSoftClose = rUIElement.m_bSoftClose;
- m_bStateRead = rUIElement.m_bStateRead;
- m_nStyle = rUIElement.m_nStyle;
- m_aDockedData = rUIElement.m_aDockedData;
- m_aFloatingData = rUIElement.m_aFloatingData;
- return *this;
-}
-
-static Reference< XModel > impl_getModelFromFrame( const Reference< XFrame >& rFrame )
-{
- // Query for the model to get check the context information
- Reference< XModel > xModel;
- if ( rFrame.is() )
- {
- Reference< XController > xController( rFrame->getController(), UNO_QUERY );
- if ( xController.is() )
- xModel = xController->getModel();
- }
-
- return xModel;
-}
-
-static sal_Bool implts_isPreviewModel( const Reference< XModel >& xModel )
-{
- if ( xModel.is() )
- {
- ::comphelper::MediaDescriptor aDesc( xModel->getArgs() );
- return aDesc.getUnpackedValueOrDefault(::comphelper::MediaDescriptor::PROP_PREVIEW(), (sal_Bool)sal_False);
- }
- else
- return sal_False;
-}
-
-static sal_Bool implts_isFrameOrWindowTop( const css::uno::Reference< css::frame::XFrame >& xFrame )
-{
- if (xFrame->isTop())
- return sal_True;
-
- css::uno::Reference< css::awt::XTopWindow > xWindowCheck(xFrame->getContainerWindow(), css::uno::UNO_QUERY); // dont use _THROW here ... its a check only
- if (xWindowCheck.is())
- {
- // --> PB 2007-06-18 #i76867# top and system window is required.
- ::vos::OGuard aSolarLock(&Application::GetSolarMutex());
- css::uno::Reference< css::awt::XWindow > xWindow( xWindowCheck, UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- return ( pWindow && pWindow->IsSystemWindow() );
- // <--
- }
-
- return sal_False;
-}
-
-static void impl_setDockingWindowVisibility( const css::uno::Reference< css::lang::XMultiServiceFactory>& rSMGR, const css::uno::Reference< css::frame::XFrame >& rFrame, const ::rtl::OUString& rDockingWindowName, bool bVisible )
-{
- const ::rtl::OUString aDockWinPrefixCommand( RTL_CONSTASCII_USTRINGPARAM( "DockingWindow" ));
- css::uno::WeakReference< css::frame::XDispatchHelper > xDispatchHelper;
-
- sal_Int32 nID = rDockingWindowName.toInt32();
- sal_Int32 nIndex = nID - DOCKWIN_ID_BASE;
-
- css::uno::Reference< css::frame::XDispatchProvider > xProvider(rFrame, css::uno::UNO_QUERY);
- if ( nIndex >= 0 && xProvider.is() )
- {
- ::rtl::OUString aDockWinCommand( RTL_CONSTASCII_USTRINGPARAM( ".uno:" ));
- ::rtl::OUString aDockWinArgName( aDockWinPrefixCommand );
-
- aDockWinArgName += ::rtl::OUString::valueOf( nIndex );
-
- css::uno::Sequence< css::beans::PropertyValue > aArgs(1);
- aArgs[0].Name = aDockWinArgName;
- aArgs[0].Value = css::uno::makeAny( bVisible );
-
- css::uno::Reference< css::frame::XDispatchHelper > xDispatcher( xDispatchHelper );
- if ( !xDispatcher.is())
- {
- xDispatcher = css::uno::Reference< css::frame::XDispatchHelper >(
- rSMGR->createInstance(SERVICENAME_DISPATCHHELPER), css::uno::UNO_QUERY_THROW);
- }
-
- aDockWinCommand = aDockWinCommand + aDockWinArgName;
- xDispatcher->executeDispatch(
- xProvider,
- aDockWinCommand,
- ::rtl::OUString::createFromAscii("_self"),
- 0,
- aArgs);
- }
-}
-
-//*****************************************************************************************************************
-// XInterface, XTypeProvider, XServiceInfo
-//*****************************************************************************************************************
IMPLEMENT_FORWARD_XTYPEPROVIDER2( LayoutManager, LayoutManager_Base, LayoutManager_PBase )
IMPLEMENT_FORWARD_XINTERFACE2( LayoutManager, LayoutManager_Base, LayoutManager_PBase )
-
-DEFINE_XSERVICEINFO_MULTISERVICE ( LayoutManager ,
- ::cppu::OWeakObject ,
- SERVICENAME_LAYOUTMANAGER ,
- IMPLEMENTATIONNAME_LAYOUTMANAGER
- )
-
-DEFINE_INIT_SERVICE ( LayoutManager, {} )
-
-
-LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceManager )
- : LayoutManager_Base ( )
- , ThreadHelpBase ( &Application::GetSolarMutex() )
- , ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType >( m_aLock.getShareableOslMutex() )
- , LayoutManager_PBase ( *(static_cast< ::cppu::OBroadcastHelper* >(this)) )
- , m_xSMGR( xServiceManager )
- , m_xURLTransformer( xServiceManager->createInstance( SERVICENAME_URLTRANSFORMER ), UNO_QUERY )
- , m_xDisplayAccess( xServiceManager->createInstance( SERVICENAME_DISPLAYACCESS ), UNO_QUERY )
- , m_nLockCount( 0 )
- , m_bActive( sal_False )
- , m_bInplaceMenuSet( sal_False )
- , m_bDockingInProgress( sal_False )
- , m_bMenuVisible( sal_True )
- , m_bComponentAttached( sal_False )
- , m_bDoLayout( sal_False )
- , m_bVisible( sal_True )
- , m_bParentWindowVisible( sal_False )
- , m_bMustDoLayout( sal_True )
- , m_bAutomaticToolbars( sal_True )
- , m_bStoreWindowState( sal_False )
- , m_bHideCurrentUI( false )
- , m_bGlobalSettings( sal_False )
- , m_bPreserveContentSize( false )
- , m_eDockOperation( DOCKOP_ON_COLROW )
- , m_pInplaceMenuBar( NULL )
- , m_xModuleManager( Reference< XModuleManager >(
- xServiceManager->createInstance( SERVICENAME_MODULEMANAGER ), UNO_QUERY ))
- , m_xUIElementFactoryManager( Reference< ::com::sun::star::ui::XUIElementFactory >(
+DEFINE_XSERVICEINFO_MULTISERVICE( LayoutManager, ::cppu::OWeakObject, SERVICENAME_LAYOUTMANAGER, IMPLEMENTATIONNAME_LAYOUTMANAGER)
+DEFINE_INIT_SERVICE( LayoutManager, {} )
+
+LayoutManager::LayoutManager( const Reference< XMultiServiceFactory >& xServiceManager ) : LayoutManager_Base()
+ , ThreadHelpBase( &Application::GetSolarMutex())
+ , ::cppu::OBroadcastHelperVar< ::cppu::OMultiTypeInterfaceContainerHelper, ::cppu::OMultiTypeInterfaceContainerHelper::keyType >( m_aLock.getShareableOslMutex())
+ , LayoutManager_PBase( *(static_cast< ::cppu::OBroadcastHelper* >(this)) )
+ , m_xSMGR( xServiceManager )
+ , m_xURLTransformer( xServiceManager->createInstance( SERVICENAME_URLTRANSFORMER ), UNO_QUERY )
+ , m_xDisplayAccess( xServiceManager->createInstance( SERVICENAME_DISPLAYACCESS ), UNO_QUERY )
+ , m_nLockCount( 0 )
+ , m_bActive( false )
+ , m_bInplaceMenuSet( false )
+ , m_bDockingInProgress( false )
+ , m_bMenuVisible( true )
+ , m_bComponentAttached( false )
+ , m_bDoLayout( false )
+ , m_bVisible( true )
+ , m_bParentWindowVisible( false )
+ , m_bMustDoLayout( true )
+ , m_bAutomaticToolbars( true )
+ , m_bStoreWindowState( false )
+ , m_bHideCurrentUI( false )
+ , m_bGlobalSettings( false )
+ , m_bPreserveContentSize( false )
+ , m_bMenuBarCloser( false )
+ , m_pInplaceMenuBar( NULL )
+ , m_xModuleManager( Reference< XModuleManager >( xServiceManager->createInstance( SERVICENAME_MODULEMANAGER ), UNO_QUERY ))
+ , m_xUIElementFactoryManager( Reference< ui::XUIElementFactory >(
xServiceManager->createInstance( SERVICENAME_UIELEMENTFACTORYMANAGER ), UNO_QUERY ))
- , m_bMenuBarCloser( sal_False )
- , m_xPersistentWindowStateSupplier( Reference< XNameAccess >(
+ , m_xPersistentWindowStateSupplier( Reference< XNameAccess >(
xServiceManager->createInstance( SERVICENAME_WINDOWSTATECONFIGURATION ), UNO_QUERY ))
- , m_pGlobalSettings( 0 )
- , m_aCustomTbxPrefix( RTL_CONSTASCII_USTRINGPARAM( "custom_" ))
- , m_aFullCustomTbxPrefix( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/custom_" ))
- , m_aFullAddonTbxPrefix( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/addon_" ))
- , m_aStatusBarAlias( RTL_CONSTASCII_USTRINGPARAM( "private:resource/statusbar/statusbar" ))
- , m_aProgressBarAlias( RTL_CONSTASCII_USTRINGPARAM( "private:resource/progressbar/progressbar" ))
- , m_aPropDocked( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKED ))
- , m_aPropVisible( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_VISIBLE ))
- , m_aPropDockingArea( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKINGAREA ))
- , m_aPropDockPos( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKPOS ))
- , m_aPropPos( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_POS ))
- , m_aPropSize( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_SIZE ))
- , m_aPropUIName( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_UINAME ))
- , m_aPropStyle( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_STYLE ))
- , m_aPropLocked( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_LOCKED ))
- , m_aCustomizeCmd( RTL_CONSTASCII_USTRINGPARAM( "ConfigureDialog" ))
- , m_pAddonOptions( 0 )
- , m_aListenerContainer( m_aLock.getShareableOslMutex() )
+ , m_pGlobalSettings( 0 )
+ , m_aStatusBarAlias( RTL_CONSTASCII_USTRINGPARAM( "private:resource/statusbar/statusbar" ))
+ , m_aProgressBarAlias( RTL_CONSTASCII_USTRINGPARAM( "private:resource/progressbar/progressbar" ))
+ , m_aPropDocked( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKED ))
+ , m_aPropVisible( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_VISIBLE ))
+ , m_aPropDockingArea( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKINGAREA ))
+ , m_aPropDockPos( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_DOCKPOS ))
+ , m_aPropPos( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_POS ))
+ , m_aPropSize( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_SIZE ))
+ , m_aPropUIName( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_UINAME ))
+ , m_aPropStyle( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_STYLE ))
+ , m_aPropLocked( RTL_CONSTASCII_USTRINGPARAM( WINDOWSTATE_PROPERTY_LOCKED ))
+ , m_aCustomizeCmd( RTL_CONSTASCII_USTRINGPARAM( "ConfigureDialog" ))
+ , m_aListenerContainer( m_aLock.getShareableOslMutex() )
+ , m_pPanelManager( 0 )
+ , m_pToolbarManager( 0 )
{
// Initialize statusbar member
+ const sal_Bool bRefreshVisibility = sal_False;
m_aStatusBarElement.m_aType = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "statusbar" ));
m_aStatusBarElement.m_aName = m_aStatusBarAlias;
- m_pMiscOptions = new SvtMiscOptions();
+ m_pToolbarManager = new ToolbarLayoutManager( xServiceManager, m_xUIElementFactoryManager, this );
+ m_xToolbarManager = uno::Reference< ui::XUIConfigurationListener >( static_cast< OWeakObject* >( m_pToolbarManager ), uno::UNO_QUERY );
- m_pMiscOptions->AddListenerLink( LINK( this, LayoutManager, OptionsChanged ) );
Application::AddEventListener( LINK( this, LayoutManager, SettingsChanged ) );
- m_eSymbolsSize = m_pMiscOptions->GetSymbolsSize();
- m_eSymbolsStyle = m_pMiscOptions->GetCurrentSymbolsStyle();
m_aAsyncLayoutTimer.SetTimeout( 50 );
m_aAsyncLayoutTimer.SetTimeoutHdl( LINK( this, LayoutManager, AsyncLayoutHdl ) );
-
registerProperty( LAYOUTMANAGER_PROPNAME_AUTOMATICTOOLBARS, LAYOUTMANAGER_PROPHANDLE_AUTOMATICTOOLBARS, css::beans::PropertyAttribute::TRANSIENT, &m_bAutomaticToolbars, ::getCppuType( &m_bAutomaticToolbars ) );
- registerProperty( LAYOUTMANAGER_PROPNAME_HIDECURRENTUI, LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI, css::beans::PropertyAttribute::TRANSIENT, &m_bHideCurrentUI, ::getCppuType( &m_bHideCurrentUI ) );
- registerProperty( LAYOUTMANAGER_PROPNAME_LOCKCOUNT, LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT, css::beans::PropertyAttribute::TRANSIENT | css::beans::PropertyAttribute::READONLY, &m_nLockCount, getCppuType( &m_nLockCount ) );
- registerProperty( LAYOUTMANAGER_PROPNAME_MENUBARCLOSER, LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER, css::beans::PropertyAttribute::TRANSIENT, &m_bMenuBarCloser, ::getCppuType( &m_bMenuBarCloser ) );
- const sal_Bool bRefreshVisibility = sal_False;
- registerPropertyNoMember( LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY, LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY, css::beans::PropertyAttribute::TRANSIENT, ::getCppuType( &bRefreshVisibility ), &bRefreshVisibility );
- registerProperty( LAYOUTMANAGER_PROPNAME_PRESERVE_CONTENT_SIZE, LAYOUTMANAGER_PROPHANDLE_PRESERVE_CONTENT_SIZE, css::beans::PropertyAttribute::TRANSIENT, &m_bPreserveContentSize, ::getCppuType( &m_bPreserveContentSize ) );
+ registerProperty( LAYOUTMANAGER_PROPNAME_HIDECURRENTUI, LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI, beans::PropertyAttribute::TRANSIENT, &m_bHideCurrentUI, ::getCppuType( &m_bHideCurrentUI ) );
+ registerProperty( LAYOUTMANAGER_PROPNAME_LOCKCOUNT, LAYOUTMANAGER_PROPHANDLE_LOCKCOUNT, beans::PropertyAttribute::TRANSIENT | beans::PropertyAttribute::READONLY, &m_nLockCount, getCppuType( &m_nLockCount ) );
+ registerProperty( LAYOUTMANAGER_PROPNAME_MENUBARCLOSER, LAYOUTMANAGER_PROPHANDLE_MENUBARCLOSER, beans::PropertyAttribute::TRANSIENT, &m_bMenuBarCloser, ::getCppuType( &m_bMenuBarCloser ) );
+ registerPropertyNoMember( LAYOUTMANAGER_PROPNAME_REFRESHVISIBILITY, LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY, beans::PropertyAttribute::TRANSIENT, ::getCppuType( &bRefreshVisibility ), &bRefreshVisibility );
+ registerProperty( LAYOUTMANAGER_PROPNAME_PRESERVE_CONTENT_SIZE, LAYOUTMANAGER_PROPHANDLE_PRESERVE_CONTENT_SIZE, beans::PropertyAttribute::TRANSIENT, &m_bPreserveContentSize, ::getCppuType( &m_bPreserveContentSize ) );
}
LayoutManager::~LayoutManager()
{
Application::RemoveEventListener( LINK( this, LayoutManager, SettingsChanged ) );
- if ( m_pMiscOptions )
- {
- m_pMiscOptions->RemoveListenerLink( LINK( this, LayoutManager, OptionsChanged ) );
- delete m_pMiscOptions;
- m_pMiscOptions = 0;
- }
m_aAsyncLayoutTimer.Stop();
}
@@ -455,20 +199,17 @@ void LayoutManager::impl_clearUpMenuBar()
// Clear up VCL menu bar to prepare shutdown
if ( m_xContainerWindow.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
-
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
+ vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pWindow )
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
{
MenuBar* pSetMenuBar = 0;
if ( m_xInplaceMenuBar.is() )
pSetMenuBar = (MenuBar *)m_pInplaceMenuBar->GetMenuBar();
else
{
- Reference< css::awt::XMenuBar > xMenuBar;
+ Reference< awt::XMenuBar > xMenuBar;
Reference< XPropertySet > xPropSet( m_xMenuBar, UNO_QUERY );
if ( xPropSet.is() )
@@ -477,12 +218,8 @@ void LayoutManager::impl_clearUpMenuBar()
{
xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "XMenuBar" ))) >>= xMenuBar;
}
- catch ( com::sun::star::beans::UnknownPropertyException )
- {
- }
- catch ( com::sun::star::lang::WrappedTargetException )
- {
- }
+ catch ( beans::UnknownPropertyException ) {}
+ catch ( lang::WrappedTargetException ) {}
}
VCLXMenu* pAwtMenuBar = VCLXMenu::GetImplementation( xMenuBar );
@@ -490,9 +227,9 @@ void LayoutManager::impl_clearUpMenuBar()
pSetMenuBar = (MenuBar*)pAwtMenuBar->GetMenu();
}
- MenuBar* pTopMenuBar = ((SystemWindow *)pWindow)->GetMenuBar();
+ MenuBar* pTopMenuBar = pSysWindow->GetMenuBar();
if ( pSetMenuBar == pTopMenuBar )
- ((SystemWindow *)pWindow)->SetMenuBar( 0 );
+ pSysWindow->SetMenuBar( 0 );
}
}
@@ -511,45 +248,17 @@ void LayoutManager::impl_clearUpMenuBar()
implts_unlock();
}
-sal_Bool LayoutManager::impl_parseResourceURL( const rtl::OUString aResourceURL, rtl::OUString& aElementType, rtl::OUString& aElementName )
-{
- URL aURL;
- sal_Int32 nIndex = 0;
-
- aURL.Complete = aResourceURL;
- m_xURLTransformer->parseStrict( aURL );
-
- ::rtl::OUString aUIResource = aURL.Path.getToken( 0, (sal_Unicode)'/', nIndex );
-
- if (( aURL.Protocol.equalsIgnoreAsciiCaseAscii( UIRESOURCE_PROTOCO_ASCII )) &&
- ( aUIResource.equalsIgnoreAsciiCaseAscii( UIRESOURCE_RESOURCE_ASCII )))
- {
- aElementType = aURL.Path.getToken( 0, (sal_Unicode)'/', nIndex );
- aElementName = aURL.Path.getToken( 0, (sal_Unicode)'/', nIndex );
- return sal_True;
- }
-
- return sal_False;
-}
-
void LayoutManager::implts_lock()
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
++m_nLockCount;
- aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
sal_Bool LayoutManager::implts_unlock()
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- --m_nLockCount;
- if ( m_nLockCount < 0 )
- m_nLockCount = 0;
+ m_nLockCount = std::max( --m_nLockCount, static_cast<sal_Int32>(0) );
return ( m_nLockCount == 0 );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
void LayoutManager::implts_reset( sal_Bool bAttached )
@@ -557,18 +266,16 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
Reference< XFrame > xFrame = m_xFrame;
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
- Reference< css::awt::XWindow > xTopDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- Reference< css::awt::XWindow > xLeftDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT];
- Reference< css::awt::XWindow > xRightDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT];
- Reference< css::awt::XWindow > xBottomDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM];
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
Reference< XUIConfiguration > xModuleCfgMgr( m_xModuleCfgMgr, UNO_QUERY );
Reference< XUIConfiguration > xDocCfgMgr( m_xDocCfgMgr, UNO_QUERY );
Reference< XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
Reference< XMultiServiceFactory > xServiceManager( m_xSMGR );
Reference< XNameAccess > xPersistentWindowStateSupplier( m_xPersistentWindowStateSupplier );
+ Reference< awt::XWindowListener > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
::rtl::OUString aModuleIdentifier( m_aModuleIdentifier );
- sal_Bool bAutomaticToolbars( m_bAutomaticToolbars );
+ bool bAutomaticToolbars( m_bAutomaticToolbars );
aReadLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
@@ -584,9 +291,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
{
aModuleIdentifier = m_xModuleManager->identify( Reference< XInterface >( xFrame, UNO_QUERY ) );
}
- catch( Exception& )
- {
- }
+ catch( Exception& ) {}
if ( aModuleIdentifier.getLength() && aOldModuleIdentifier != aModuleIdentifier )
{
@@ -602,9 +307,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
// Remove listener to old module ui configuration manager
xModuleCfgMgr->removeConfigurationListener( Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
try
@@ -614,9 +317,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
if ( xModuleCfgMgr.is() )
xModuleCfgMgr->addConfigurationListener( Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
try
{
@@ -624,12 +325,8 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
if ( xPersistentWindowStateSupplier.is() )
xPersistentWindowStateSupplier->getByName( aModuleIdentifier ) >>= xPersistentWindowState;
}
- catch ( NoSuchElementException& )
- {
- }
- catch ( WrappedTargetException& )
- {
- }
+ catch ( NoSuchElementException& ) {}
+ catch ( WrappedTargetException& ) {}
}
xModel = impl_getModelFromFrame( xFrame );
@@ -645,9 +342,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
// Remove listener to old ui configuration manager
xDocCfgMgr->removeConfigurationListener( Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
try
@@ -656,9 +351,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
if ( xDocCfgMgr.is() )
xDocCfgMgr->addConfigurationListener( Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
}
}
@@ -672,9 +365,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
xModuleCfgMgr->removeConfigurationListener(
Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
if ( xDocCfgMgr.is() )
@@ -684,9 +375,7 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
xDocCfgMgr->removeConfigurationListener(
Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
// Release references to our configuration managers as we currently don't have
@@ -697,47 +386,39 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
aModuleIdentifier = ::rtl::OUString();
}
+ Reference< XUIConfigurationManager > xModCfgMgr( xModuleCfgMgr, UNO_QUERY );
+ Reference< XUIConfigurationManager > xDokCfgMgr( xDocCfgMgr, UNO_QUERY );
+
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_xModel = xModel;
- m_aDockingArea = css::awt::Rectangle();
+ m_aDockingArea = awt::Rectangle();
m_bComponentAttached = bAttached;
m_aModuleIdentifier = aModuleIdentifier;
- m_xModuleCfgMgr = Reference< XUIConfigurationManager >( xModuleCfgMgr, UNO_QUERY );
- m_xDocCfgMgr = Reference< XUIConfigurationManager >( xDocCfgMgr, UNO_QUERY );
+ m_xModuleCfgMgr = xModCfgMgr;
+ m_xDocCfgMgr = xDokCfgMgr;
m_xPersistentWindowState = xPersistentWindowState;
m_aStatusBarElement.m_bStateRead = sal_False; // reset state to read data again!
aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
- if ( bAttached )
+ // reset/notify toolbar layout manager
+ if ( pToolbarManager )
{
- // reset docking area windows back to zero size
- try
+ if ( bAttached )
{
- if ( xTopDockingWindow.is() )
- xTopDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xLeftDockingWindow.is() )
- xLeftDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xRightDockingWindow.is() )
- xRightDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xBottomDockingWindow.is() )
- xBottomDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
+ pToolbarManager->attach( xFrame, xModCfgMgr, xDokCfgMgr, xPersistentWindowState );
+ uno::Reference< awt::XWindowPeer > xParent( xContainerWindow, UNO_QUERY );
+ pToolbarManager->setParentWindow( xParent );
+ if ( bAutomaticToolbars )
+ pToolbarManager->createStaticToolbars();
}
- catch ( Exception& )
- {
- }
-
- if ( bAutomaticToolbars )
+ else
{
- implts_createCustomToolBars();
- implts_createAddonsToolBars();
- implts_createNonContextSensitiveToolBars();
+ pToolbarManager->reset();
+ implts_destroyElements();
}
- implts_sortUIElements();
}
- else
- implts_destroyElements();
}
implts_unlock();
@@ -745,15 +426,12 @@ void LayoutManager::implts_reset( sal_Bool bAttached )
sal_Bool LayoutManager::implts_isEmbeddedLayoutManager() const
{
- // check if this layout manager is currently using the embedded feature
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
Reference< XFrame > xFrame = m_xFrame;
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- Reference< css::awt::XWindow > xFrameContainerWindow = xFrame->getContainerWindow();
+ Reference< awt::XWindow > xFrameContainerWindow = xFrame->getContainerWindow();
if ( xFrameContainerWindow == xContainerWindow )
return sal_False;
else
@@ -762,20 +440,13 @@ sal_Bool LayoutManager::implts_isEmbeddedLayoutManager() const
void LayoutManager::implts_destroyElements()
{
- UIElementVector aUIElementVector;
-
WriteGuard aWriteLock( m_aLock );
- aUIElementVector = m_aUIElements;
- m_aUIElements.clear();
+ uno::Reference< ui::XUIConfigurationListener > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
aWriteLock.unlock();
- UIElementVector::iterator pIter;
- for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
- {
- Reference< XComponent > xComponent( pIter->m_xUIElement, UNO_QUERY );
- if ( xComponent.is() )
- xComponent->dispose();
- }
+ if ( pToolbarManager )
+ pToolbarManager->destroyToolbars();
implts_destroyStatusBar();
@@ -784,592 +455,49 @@ void LayoutManager::implts_destroyElements()
aWriteLock.unlock();
}
-void LayoutManager::implts_destroyDockingAreaWindows()
-{
- std::vector< Reference< css::awt::XWindow > > oldDockingAreaWindows;
-
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- WriteGuard aWriteLock( m_aLock );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT] );
-
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT].clear();
- aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- const sal_uInt32 nCount = oldDockingAreaWindows.size();
- for ( sal_uInt32 i=0; i < nCount; i++ )
- {
- if ( oldDockingAreaWindows[i].is() )
- {
- try
- {
- oldDockingAreaWindows[i]->dispose();
- }
- catch ( Exception& )
- {
- }
- }
- }
-}
-
-void LayoutManager::implts_createCustomToolBar( const rtl::OUString& aTbxResName, const rtl::OUString& aTitle )
-{
- if ( aTbxResName.getLength() > 0 )
- {
- createElement( aTbxResName );
- if ( aTitle )
- {
- Reference< XUIElement > xUIElement = getElement( aTbxResName );
- if ( xUIElement.is() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
-
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- pWindow->SetText( aTitle );
- }
- }
- }
-}
-
-void LayoutManager::implts_createCustomToolBars(
- const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > >& aTbxSeqSeq )
-{
- const Sequence< PropertyValue >* pTbxSeq = aTbxSeqSeq.getConstArray();
- for ( sal_Int32 i = 0; i < aTbxSeqSeq.getLength(); i++ )
- {
- const Sequence< PropertyValue >& rTbxSeq = pTbxSeq[i];
- ::rtl::OUString aTbxResName;
- ::rtl::OUString aTbxTitle;
- for ( sal_Int32 j = 0; j < rTbxSeq.getLength(); j++ )
- {
- if ( rTbxSeq[j].Name.equalsAscii( "ResourceURL" ))
- rTbxSeq[j].Value >>= aTbxResName;
- else if ( rTbxSeq[j].Name.equalsAscii( "UIName" ))
- rTbxSeq[j].Value >>= aTbxTitle;
- }
-
- // Only create custom toolbars. Their name have to start with "custom_"!
- if ( aTbxResName.getLength() > 0 && aTbxResName.indexOf( m_aCustomTbxPrefix ) != -1 )
- implts_createCustomToolBar( aTbxResName, aTbxTitle );
- }
-}
-
-void LayoutManager::implts_createCustomToolBars()
-{
- ReadGuard aReadLock( m_aLock );
- if ( !m_bComponentAttached )
- return;
-
- Reference< XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
- Reference< XFrame > xFrame( m_xFrame );
- Reference< XModel > xModel;
- Reference< XUIConfigurationManager > xModuleCfgMgr( m_xModuleCfgMgr, UNO_QUERY );
- Reference< XUIConfigurationManager > xDocCfgMgr( m_xDocCfgMgr, UNO_QUERY );
- aReadLock.unlock();
-
- if ( xFrame.is() )
- {
- xModel = impl_getModelFromFrame( xFrame );
- if ( implts_isPreviewModel( xModel ))
- return; // no custom toolbars for preview frame!
-
- Sequence< Sequence< PropertyValue > > aTbxSeq;
- if ( xDocCfgMgr.is() )
- {
- aTbxSeq = xDocCfgMgr->getUIElementsInfo( UIElementType::TOOLBAR );
- implts_createCustomToolBars( aTbxSeq ); // first create all document based toolbars
- }
- if ( xModuleCfgMgr.is() )
- {
- aTbxSeq = xModuleCfgMgr->getUIElementsInfo( UIElementType::TOOLBAR );
- implts_createCustomToolBars( aTbxSeq ); // second create module based toolbars
- }
- }
-}
-
-rtl::OUString LayoutManager::implts_generateGenericAddonToolbarTitle( sal_Int32 nNumber ) const
-{
- String aAddonGenericTitle;
-
- aAddonGenericTitle = String( FwkResId( STR_TOOLBAR_TITLE_ADDON ));
- const vcl::I18nHelper& rI18nHelper = Application::GetSettings().GetUILocaleI18nHelper();
-
- String aNumStr = rI18nHelper.GetNum( nNumber, 0, sal_False, sal_False );
- aAddonGenericTitle.SearchAndReplaceAscii( "%num%", aNumStr );
-
- return rtl::OUString( aAddonGenericTitle );
-}
-
-void LayoutManager::implts_createAddonsToolBars()
-{
- WriteGuard aWriteLock( m_aLock );
- if ( !m_bComponentAttached )
- return;
-
- Reference< XModel > xModel;
- Reference< XFrame > xFrame( m_xFrame );
- if ( !xFrame.is() )
- return;
-
- if ( !m_pAddonOptions )
- m_pAddonOptions = new AddonsOptions;
-
- Reference< XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
- aWriteLock.unlock();
-
- xModel = impl_getModelFromFrame( xFrame );
- if ( implts_isPreviewModel( xModel ))
- return; // no addon toolbars for preview frame!
-
- UIElementVector aUIElementVector;
- Sequence< Sequence< PropertyValue > > aAddonToolBarData;
- Reference< XUIElement > xUIElement;
-
- sal_uInt32 nCount = m_pAddonOptions->GetAddonsToolBarCount();
- ::rtl::OUString aAddonsToolBarStaticName( m_aFullAddonTbxPrefix );
- ::rtl::OUString aElementType( RTL_CONSTASCII_USTRINGPARAM( "toolbar" ));
-
- Sequence< PropertyValue > aPropSeq( 2 );
- aPropSeq[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Frame" ));
- aPropSeq[0].Value <<= xFrame;
- aPropSeq[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationData" ));
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- ::rtl::OUString aAddonToolBarName( aAddonsToolBarStaticName + m_pAddonOptions->GetAddonsToolbarResourceName(i) );
- aAddonToolBarData = m_pAddonOptions->GetAddonsToolBarPart( i );
- aPropSeq[1].Value <<= aAddonToolBarData;
-
- aWriteLock.lock();
- UIElement aElement = impl_findElement( aAddonToolBarName );
- aWriteLock.unlock();
-
- // #i79828
- // It's now possible that we are called more than once. Be sure to not create
- // add-on toolbars more than once!
- if ( aElement.m_xUIElement.is() )
- continue;
-
- try
- {
- xUIElement = xUIElementFactory->createUIElement( aAddonToolBarName, aPropSeq );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( xUIElement->getRealInterface(), UNO_QUERY );
- if ( xDockWindow.is() )
- {
- try
- {
- xDockWindow->addDockableWindowListener( Reference< css::awt::XDockableWindowListener >( static_cast< OWeakObject * >( this ), UNO_QUERY ));
- xDockWindow->enableDocking( sal_True );
- Reference< css::awt::XWindow > xWindow( xDockWindow, UNO_QUERY );
- if ( xWindow.is() )
- xWindow->addWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject * >( this ), UNO_QUERY ));
- }
- catch ( Exception& )
- {
- }
- }
-
- ::rtl::OUString aGenericAddonTitle = implts_generateGenericAddonToolbarTitle( i+1 );
-
- if ( aElement.m_aName.getLength() > 0 )
- {
- // Reuse a local entry so we are able to use the latest
- // UI changes for this document.
- implts_setElementData( aElement, xDockWindow );
- aElement.m_xUIElement = xUIElement;
- if ( aElement.m_aUIName.getLength() == 0 )
- {
- aElement.m_aUIName = aGenericAddonTitle;
- implts_writeWindowStateData( aElement.m_aName, aElement );
- }
- }
- else
- {
- // Create new UI element and try to read its state data
- UIElement aNewToolbar( aAddonToolBarName, aElementType, xUIElement );
- aNewToolbar.m_bFloating = sal_True;
- implts_readWindowStateData( aAddonToolBarName, aNewToolbar );
- implts_setElementData( aNewToolbar, xDockWindow );
- if ( aNewToolbar.m_aUIName.getLength() == 0 )
- {
- aNewToolbar.m_aUIName = aGenericAddonTitle;
- implts_writeWindowStateData( aNewToolbar.m_aName, aNewToolbar );
- }
- implts_insertUIElement( aNewToolbar );
- }
-
- Reference< css::awt::XWindow > xWindow( xDockWindow, UNO_QUERY );
- if ( xWindow.is() )
- {
- // Set generic title for add-on toolbar
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow->GetText().Len() == 0 )
- pWindow->SetText( aGenericAddonTitle );
- if ( pWindow->GetType() == WINDOW_TOOLBOX )
- {
- ToolBox* pToolbar = (ToolBox *)pWindow;
- pToolbar->SetMenuType();
- }
- }
- }
- }
- catch ( NoSuchElementException& )
- {
- }
- catch ( IllegalArgumentException& )
- {
- }
- }
-}
-
-void LayoutManager::implts_createNonContextSensitiveToolBars()
-{
- ReadGuard aReadLock( m_aLock );
-
- if ( !m_xPersistentWindowState.is() ||
- !m_xFrame.is() ||
- !m_bComponentAttached )
- return;
-
- Reference< XFrame > xFrame( m_xFrame );
-
- Reference< XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
- Reference< XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
- aReadLock.unlock();
-
- if ( implts_isPreviewModel( impl_getModelFromFrame( xFrame )))
- return;
-
- std::vector< rtl::OUString > aMakeVisibleToolbars;
-
- try
- {
- Sequence< rtl::OUString > aToolbarNames = xPersistentWindowState->getElementNames();
-
- if ( aToolbarNames.getLength() > 0 )
- {
- rtl::OUString aElementType;
- rtl::OUString aElementName;
- rtl::OUString aName;
-
- Reference< ::com::sun::star::ui::XUIElement > xUIElement;
- aMakeVisibleToolbars.reserve(aToolbarNames.getLength());
- WriteGuard aWriteLock( m_aLock );
-
- const rtl::OUString* pTbNames = aToolbarNames.getConstArray();
- for ( sal_Int32 i = 0; i < aToolbarNames.getLength(); i++ )
- {
- aName = pTbNames[i];
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
- {
- // Check that we only create:
- // - Toolbars (the statusbar is also member of the persistent window state)
- // - Not custom toolbars, there are created with their own method (implts_createCustomToolbars)
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ) &&
- aElementName.indexOf( m_aCustomTbxPrefix ) == -1 )
- {
- UIElement aNewToolbar( aName, aElementType, xUIElement );
- bool bFound = implts_findElement( aName, aNewToolbar );
- if ( !bFound )
- implts_readWindowStateData( aName, aNewToolbar );
-
- if ( aNewToolbar.m_bVisible &&
- !aNewToolbar.m_bContextSensitive )
- {
- if ( !bFound )
- implts_insertUIElement( aNewToolbar );
- aMakeVisibleToolbars.push_back( aName );
- }
- }
- }
- }
- }
- }
- catch ( RuntimeException& e )
- {
- throw e;
- }
- catch ( Exception& )
- {
- }
-
- if ( !aMakeVisibleToolbars.empty() )
- {
- implts_lock();
- ::std::for_each( aMakeVisibleToolbars.begin(), aMakeVisibleToolbars.end(),::boost::bind( &LayoutManager::requestElement, this,_1 ));
- implts_unlock();
- }
-}
-
void LayoutManager::implts_toggleFloatingUIElementsVisibility( sal_Bool bActive )
{
- WriteGuard aWriteLock( m_aLock );
- UIElementVector::iterator pIter;
-
ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XWindow > xWindow( xDockWindow, UNO_QUERY );
- if ( xDockWindow.is() && xWindow.is() )
- {
- sal_Bool bVisible( sal_True );
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- bVisible = pWindow->IsVisible();
-
- if ( xDockWindow->isFloating() )
- {
- if ( bActive )
- {
- if ( !bVisible && pIter->m_bDeactiveHide )
- {
- pIter->m_bDeactiveHide = sal_False;
- // we need VCL here to pass special flags to Show()
- if( pWindow )
- pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- //xWindow->setVisible( sal_True );
- }
- }
- else
- {
- if ( bVisible )
- {
- pIter->m_bDeactiveHide = sal_True;
- xWindow->setVisible( sal_False );
- }
- }
- }
- }
- }
- }
-}
-
-sal_Bool LayoutManager::implts_findElement( const rtl::OUString& aName, rtl::OUString& aElementType, rtl::OUString& aElementName, Reference< XUIElement >& xUIElement )
-{
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
- {
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
- {
- ReadGuard aReadLock( m_aLock );
- xUIElement = m_xMenuBar;
- return sal_True;
- }
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == aName ))
- {
- ReadGuard aReadLock( m_aLock );
- xUIElement = m_aStatusBarElement.m_xUIElement;
- return sal_True;
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
- {
- ReadGuard aReadLock( m_aLock );
- xUIElement = m_aProgressBarElement.m_xUIElement;
- return sal_True;
- }
- else
- {
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName )
- {
- xUIElement = pIter->m_xUIElement;
- return sal_True;
- }
- }
- }
- }
-
- return sal_False;
-}
-
-sal_Bool LayoutManager::implts_findElement( const Reference< XInterface >& xUIElement, UIElement& aElementData )
-{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- {
- Reference< XInterface > xIfac( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- if ( xIfac == xUIElement )
- {
- aElementData = *pIter;
- return sal_True;
- }
- }
- }
+ uno::Reference< ui::XUIConfigurationListener > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- return sal_False;
+ if ( pToolbarManager )
+ pToolbarManager->setFloatingToolbarsVisibility( bActive );
}
-sal_Bool LayoutManager::implts_findElement( const rtl::OUString& aName, UIElement& aElementData )
+uno::Reference< ui::XUIElement > LayoutManager::implts_findElement( const rtl::OUString& aName )
{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName )
- {
- aElementData = *pIter;
- return sal_True;
- }
- }
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+
+ parseResourceURL( aName, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ return m_xMenuBar;
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == aName ))
+ return m_aStatusBarElement.m_xUIElement;
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
+ return m_aProgressBarElement.m_xUIElement;
- return sal_False;
+ return uno::Reference< ui::XUIElement >();
}
-LayoutManager::UIElement& LayoutManager::impl_findElement( const rtl::OUString& aName )
+UIElement& LayoutManager::impl_findElement( const rtl::OUString& aName )
{
static UIElement aEmptyElement;
- UIElementVector::iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName )
- return *pIter;
- }
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+
+ parseResourceURL( aName, aElementType, aElementName );
+ if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == aName ))
+ return m_aStatusBarElement;
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
+ return m_aProgressBarElement;
return aEmptyElement;
}
-sal_Bool LayoutManager::implts_insertUIElement( const UIElement& rUIElement )
-{
- UIElement aTempData;
- bool bFound = implts_findElement( rUIElement.m_aName, aTempData );
-
-#ifdef DBG_UTIL
- if ( bFound )
- {
- char aBuffer[256];
- const sal_Int32 MAX_NAME_LENGTH = 128;
- ::rtl::OString aName = ::rtl::OUStringToOString( rUIElement.m_aName, RTL_TEXTENCODING_ASCII_US );
- aName = aName.copy( ::std::min( MAX_NAME_LENGTH, aName.getLength() ));
- sprintf( aBuffer, "Try to insert an already existing user interface element (%s) into the list\n", aName.getStr() );
- DBG_ASSERT( bFound, aBuffer );
- }
-#endif
-
- bool bResult( false );
- if ( !bFound )
- {
- WriteGuard aWriteLock( m_aLock );
- m_aUIElements.push_back( rUIElement );
- bResult = true;
- }
- return bResult;
-}
-
-void LayoutManager::implts_writeNewStateData( const rtl::OUString aName, const Reference< css::awt::XWindow >& xWindow )
-{
- css::awt::Rectangle aPos;
- css::awt::Size aSize;
- sal_Bool bVisible( sal_False );
- sal_Bool bFloating( sal_True );
-
- if ( xWindow.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow.is() )
- bFloating = xDockWindow->isFloating();
-
- Reference< css::awt::XWindow2 > xWindow2( xWindow, UNO_QUERY );
- if( xWindow2.is() )
- {
- aPos = xWindow2->getPosSize();
- aSize = xWindow2->getOutputSize(); // always use output size for consistency
- bVisible = xWindow2->isVisible();
- }
- }
-
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = impl_findElement( aName );
- if ( rUIElement.m_xUIElement.is() && xWindow.is() )
- {
- rUIElement.m_bVisible = bVisible;
- rUIElement.m_bFloating = bFloating;
- if ( bFloating )
- {
- rUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
- rUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
- }
- }
-
- implts_writeWindowStateData( aName, rUIElement );
-
- aWriteLock.unlock();
-}
-
-void LayoutManager::implts_refreshContextToolbarsVisibility()
-{
- std::vector< UIElementVisibility > aToolbarVisibleVector;
-
- ReadGuard aReadLock( m_aLock );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- if ( !m_bVisible || !m_bAutomaticToolbars )
- return;
-
- UIElementVisibility aUIElementVisible;
-
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aType.equalsAsciiL( "toolbar", 7 ))
- {
- aUIElementVisible.aName = pIter->m_aName;
- aUIElementVisible.bVisible = pIter->m_bVisible;
- aToolbarVisibleVector.push_back( aUIElementVisible );
- }
- }
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- aReadLock.unlock();
-
- UIElement aUIElement;
- const sal_uInt32 nCount = aToolbarVisibleVector.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- UIElementVisibility& rToolbar = aToolbarVisibleVector[i];
-
- sal_Bool bVisible = rToolbar.bVisible;
- if ( implts_readWindowStateData( rToolbar.aName, aUIElement ) &&
- aUIElement.m_bVisible != bVisible )
- {
- WriteGuard aWriteLock( m_aLock );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- UIElement& rUIElement = impl_findElement( rToolbar.aName );
-
- if ( rUIElement.m_aName == rToolbar.aName )
- rUIElement.m_bVisible = aUIElement.m_bVisible;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- aWriteLock.unlock();
- }
- }
-}
-
sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName, UIElement& rElementData )
{
sal_Bool bGetSettingsState( sal_False );
@@ -1394,7 +522,7 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
try
{
Sequence< PropertyValue > aWindowState;
- if ( xPersistentWindowState->getByName( aName ) >>= aWindowState )
+ if ( xPersistentWindowState->hasByName( aName ) && (xPersistentWindowState->getByName( aName ) >>= aWindowState) )
{
sal_Bool bValue( sal_False );
for ( sal_Int32 n = 0; n < aWindowState.getLength(); n++ )
@@ -1411,13 +539,13 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
}
else if ( aWindowState[n].Name == m_aPropDockingArea )
{
- ::com::sun::star::ui::DockingArea eDockingArea;
+ ui::DockingArea eDockingArea;
if ( aWindowState[n].Value >>= eDockingArea )
rElementData.m_aDockedData.m_nDockedArea = sal_Int16( eDockingArea );
}
else if ( aWindowState[n].Name == m_aPropDockPos )
{
- css::awt::Point aPoint;
+ awt::Point aPoint;
if ( aWindowState[n].Value >>= aPoint )
{
rElementData.m_aDockedData.m_aPos.X() = aPoint.X;
@@ -1426,7 +554,7 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
}
else if ( aWindowState[n].Name == m_aPropPos )
{
- css::awt::Point aPoint;
+ awt::Point aPoint;
if ( aWindowState[n].Value >>= aPoint )
{
rElementData.m_aFloatingData.m_aPos.X() = aPoint.X;
@@ -1435,7 +563,7 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
}
else if ( aWindowState[n].Name == m_aPropSize )
{
- css::awt::Size aSize;
+ awt::Size aSize;
if ( aWindowState[n].Value >>= aSize )
{
rElementData.m_aFloatingData.m_aSize.Width() = aSize.Width;
@@ -1487,7 +615,7 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
m_bGlobalSettings = sal_True;
aWriteLock2.unlock();
- css::uno::Any aValue;
+ uno::Any aValue;
sal_Bool bValue = sal_Bool();
if ( pGlobalSettings->GetStateInfo( GlobalSettings::UIELEMENT_TYPE_TOOLBAR,
GlobalSettings::STATEINFO_LOCKED,
@@ -1505,9 +633,7 @@ sal_Bool LayoutManager::implts_readWindowStateData( const rtl::OUString& aName,
return sal_True;
}
- catch ( NoSuchElementException& )
- {
- }
+ catch ( NoSuchElementException& ) {}
}
return sal_False;
@@ -1531,14 +657,12 @@ void LayoutManager::implts_writeWindowStateData( const rtl::OUString& aName, con
// Check persistent flag of the user interface element
xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Persistent" ))) >>= bPersistent;
}
- catch ( com::sun::star::beans::UnknownPropertyException )
+ catch ( beans::UnknownPropertyException )
{
// Non-configurable elements should at least store their dimension/position
bPersistent = sal_True;
}
- catch ( com::sun::star::lang::WrappedTargetException )
- {
- }
+ catch ( lang::WrappedTargetException ) {}
}
if ( bPersistent && xPersistentWindowState.is() )
@@ -1547,49 +671,47 @@ void LayoutManager::implts_writeWindowStateData( const rtl::OUString& aName, con
{
Sequence< PropertyValue > aWindowState( 8 );
- aWindowState[0].Name = m_aPropDocked;
- aWindowState[0].Value = makeAny( sal_Bool( !rElementData.m_bFloating ));
- aWindowState[1].Name = m_aPropVisible;
- aWindowState[1].Value = makeAny( sal_Bool( rElementData.m_bVisible ));
+ aWindowState[0].Name = m_aPropDocked;
+ aWindowState[0].Value = makeAny( sal_Bool( !rElementData.m_bFloating ));
+ aWindowState[1].Name = m_aPropVisible;
+ aWindowState[1].Value = makeAny( sal_Bool( rElementData.m_bVisible ));
- aWindowState[2].Name = m_aPropDockingArea;
- aWindowState[2].Value = makeAny( static_cast< DockingArea >( rElementData.m_aDockedData.m_nDockedArea ) );
+ aWindowState[2].Name = m_aPropDockingArea;
+ aWindowState[2].Value = makeAny( static_cast< DockingArea >( rElementData.m_aDockedData.m_nDockedArea ) );
- css::awt::Point aPos;
+ awt::Point aPos;
aPos.X = rElementData.m_aDockedData.m_aPos.X();
aPos.Y = rElementData.m_aDockedData.m_aPos.Y();
- aWindowState[3].Name = m_aPropDockPos;
- aWindowState[3].Value <<= aPos;
+ aWindowState[3].Name = m_aPropDockPos;
+ aWindowState[3].Value <<= aPos;
aPos.X = rElementData.m_aFloatingData.m_aPos.X();
aPos.Y = rElementData.m_aFloatingData.m_aPos.Y();
- aWindowState[4].Name = m_aPropPos;
- aWindowState[4].Value <<= aPos;
+ aWindowState[4].Name = m_aPropPos;
+ aWindowState[4].Value <<= aPos;
- css::awt::Size aSize;
+ awt::Size aSize;
aSize.Width = rElementData.m_aFloatingData.m_aSize.Width();
aSize.Height = rElementData.m_aFloatingData.m_aSize.Height();
- aWindowState[5].Name = m_aPropSize;
- aWindowState[5].Value <<= aSize;
- aWindowState[6].Name = m_aPropUIName;
- aWindowState[6].Value = makeAny( rElementData.m_aUIName );
- aWindowState[7].Name = m_aPropLocked;
- aWindowState[7].Value = makeAny( rElementData.m_aDockedData.m_bLocked );
+ aWindowState[5].Name = m_aPropSize;
+ aWindowState[5].Value <<= aSize;
+ aWindowState[6].Name = m_aPropUIName;
+ aWindowState[6].Value = makeAny( rElementData.m_aUIName );
+ aWindowState[7].Name = m_aPropLocked;
+ aWindowState[7].Value = makeAny( rElementData.m_aDockedData.m_bLocked );
if ( xPersistentWindowState->hasByName( aName ))
{
- Reference< XNameReplace > xReplace( xPersistentWindowState, UNO_QUERY );
+ Reference< XNameReplace > xReplace( xPersistentWindowState, uno::UNO_QUERY );
xReplace->replaceByName( aName, makeAny( aWindowState ));
}
else
{
- Reference< XNameContainer > xInsert( xPersistentWindowState, UNO_QUERY );
+ Reference< XNameContainer > xInsert( xPersistentWindowState, uno::UNO_QUERY );
xInsert->insertByName( aName, makeAny( aWindowState ));
}
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
// Reset flag
@@ -1598,1450 +720,23 @@ void LayoutManager::implts_writeWindowStateData( const rtl::OUString& aName, con
aWriteLock.unlock();
}
-void LayoutManager::implts_setElementData( UIElement& rElement, const Reference< css::awt::XDockableWindow >& rDockWindow )
-{
- ReadGuard aReadLock( m_aLock );
- sal_Bool bShowElement( rElement.m_bVisible && !rElement.m_bMasterHide && m_bParentWindowVisible );
- aReadLock.unlock();
-
- Reference< css::awt::XDockableWindow > xDockWindow( rDockWindow );
- Reference< css::awt::XWindow2 > xWindow( xDockWindow, UNO_QUERY );
-
- Window* pWindow( 0 );
- ToolBox* pToolBox( 0 );
-
- if ( xDockWindow.is() && xWindow.is() )
- {
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- {
- String aText = pWindow->GetText();
- if ( aText.Len() == 0 )
- pWindow->SetText( rElement.m_aUIName );
- if ( rElement.m_bNoClose )
- pWindow->SetStyle( pWindow->GetStyle() & ~WB_CLOSEABLE );
- if ( pWindow->GetType() == WINDOW_TOOLBOX )
- pToolBox = (ToolBox *)pWindow;
- }
- if ( pToolBox )
- {
- if (( rElement.m_nStyle < 0 ) ||
- ( rElement.m_nStyle > BUTTON_SYMBOLTEXT ))
- rElement.m_nStyle = BUTTON_SYMBOL;
- pToolBox->SetButtonType( (ButtonType)rElement.m_nStyle );
- if ( rElement.m_bNoClose )
- pToolBox->SetFloatStyle( pToolBox->GetFloatStyle() & ~WB_CLOSEABLE );
- }
- }
-
- if ( rElement.m_bFloating )
- {
- if ( pWindow )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- String aText = pWindow->GetText();
- if ( aText.Len() == 0 )
- pWindow->SetText( rElement.m_aUIName );
- }
-
- ::Point aPos( rElement.m_aFloatingData.m_aPos.X(),
- rElement.m_aFloatingData.m_aPos.Y() );
- sal_Bool bWriteData( sal_False );
- sal_Bool bUndefPos = ( rElement.m_aFloatingData.m_aPos.X() == SAL_MAX_INT32 ||
- rElement.m_aFloatingData.m_aPos.Y() == SAL_MAX_INT32 );
- sal_Bool bSetSize = ( rElement.m_aFloatingData.m_aSize.Width() != 0 &&
- rElement.m_aFloatingData.m_aSize.Height() != 0 );
- xDockWindow->setFloatingMode( sal_True );
- if ( bUndefPos )
- {
- aPos = implts_findNextCascadeFloatingPos();
- rElement.m_aFloatingData.m_aPos = aPos; // set new cascaded position
- bWriteData = sal_True;
- }
-
- if( bSetSize )
- xWindow->setOutputSize( AWTSize( rElement.m_aFloatingData.m_aSize ) );
- else
- {
- if( pToolBox )
- {
- // set an optimal initial floating size
- vos::OGuard aGuard( Application::GetSolarMutex() );
- ::Size aSize( pToolBox->CalcFloatingWindowSizePixel() );
- pToolBox->SetOutputSizePixel( aSize );
- }
- }
-
- // #i60882# IMPORTANT: Set position after size as it is
- // possible that we position some part of the toolbar
- // outside of the desktop. A default constructed toolbar
- // always has one line. Now VCL automatically
- // position the toolbar back into the desktop. Therefore
- // we resize the toolbar with the new (wrong) position.
- // To fix this problem we have to set the size BEFORE the
- // position.
- xWindow->setPosSize( aPos.X(), aPos.Y(), 0, 0,
- css::awt::PosSize::POS );
-
- if ( bWriteData )
- implts_writeWindowStateData( rElement.m_aName, rElement );
- if ( bShowElement && pWindow )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- }
- }
- else
- {
- ::Point aDockPos;
- ::Point aPixelPos;
- sal_Bool bSetSize( sal_False );
- ::Size aSize;
-
- if ( pToolBox )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pToolBox->SetAlign( ImplConvertAlignment(rElement.m_aDockedData.m_nDockedArea ) );
- pToolBox->SetLineCount( 1 );
- if ( rElement.m_aDockedData.m_bLocked )
- xDockWindow->lock();
- aSize = pToolBox->CalcWindowSizePixel();
- bSetSize = sal_True;
-
- if (( rElement.m_aDockedData.m_aPos.X() == SAL_MAX_INT32 ) &&
- ( rElement.m_aDockedData.m_aPos.Y() == SAL_MAX_INT32 ))
- {
- implts_findNextDockingPos( (DockingArea)rElement.m_aDockedData.m_nDockedArea,
- aSize,
- aDockPos,
- aPixelPos );
- rElement.m_aDockedData.m_aPos = aDockPos;
- }
- }
-
- xWindow->setPosSize( aPixelPos.X(),
- aPixelPos.Y(),
- 0, 0,
- css::awt::PosSize::POS );
- if( bSetSize )
- xWindow->setOutputSize( AWTSize( aSize) );
-
- if ( bShowElement && pWindow )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pWindow->Show( sal_True );
- }
- }
- }
-}
-
-::Point LayoutManager::implts_findNextCascadeFloatingPos()
-{
- const sal_Int32 nHotZoneX = 50;
- const sal_Int32 nHotZoneY = 50;
- const sal_Int32 nCascadeIndentX = 15;
- const sal_Int32 nCascadeIndentY = 15;
-
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xContainerWindow = m_xContainerWindow;
- Reference< css::awt::XWindow > xTopDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- Reference< css::awt::XWindow > xLeftDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT];
- aReadLock.unlock();
-
- ::Point aStartPos( nCascadeIndentX, nCascadeIndentY );
- ::Point aCurrPos( aStartPos );
- css::awt::Rectangle aRect;
-
- Window* pContainerWindow( 0 );
- if ( xContainerWindow.is() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- if ( pContainerWindow )
- aStartPos = pContainerWindow->OutputToScreenPixel( aStartPos );
- }
-
- // Determine size of top and left docking area
- css::awt::Rectangle aTopRect = xTopDockingWindow->getPosSize();
- css::awt::Rectangle aLeftRect = xLeftDockingWindow->getPosSize();
-
- aStartPos.X() += aLeftRect.Width + nCascadeIndentX;
- aStartPos.Y() += aTopRect.Height + nCascadeIndentY;
- aCurrPos = aStartPos;
-
- // Try to find a cascaded position for the new floating window
- UIElementVector::const_iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XWindow > xWindow( xDockWindow, UNO_QUERY );
- if ( xDockWindow.is() && xDockWindow->isFloating() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->IsVisible() )
- {
- css::awt::Rectangle aFloatRect = xWindow->getPosSize();
- if ((( aFloatRect.X - nHotZoneX ) <= aCurrPos.X() ) &&
- ( aFloatRect.X >= aCurrPos.X() ) &&
- (( aFloatRect.Y - nHotZoneY ) <= aCurrPos.Y() ) &&
- ( aFloatRect.Y >= aCurrPos.Y() ))
- {
- aCurrPos.X() = aFloatRect.X + nCascadeIndentX;
- aCurrPos.Y() = aFloatRect.Y + nCascadeIndentY;
- }
- }
- }
- }
- }
-
- return aCurrPos;
-}
-
-void LayoutManager::implts_findNextDockingPos( DockingArea DockingArea, const ::Size& aUIElementSize, ::Point& rVirtualPos, ::Point& rPixelPos )
-{
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xDockingWindow = m_xDockAreaWindows[DockingArea];
- ::Size aDockingWinSize;
- Window* pDockingWindow( 0 );
- aReadLock.unlock();
-
- if (( DockingArea < DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea > DockingArea_DOCKINGAREA_RIGHT ))
- DockingArea = DockingArea_DOCKINGAREA_TOP;
-
- {
- // Retrieve output size from container Window
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pDockingWindow = VCLUnoHelper::GetWindow( xDockingWindow );
- if ( pDockingWindow )
- aDockingWinSize = pDockingWindow->GetOutputSizePixel();
- }
-
- sal_Int32 nFreeRowColPixelPos( 0 );
- sal_Int32 nMaxSpace( 0 );
- sal_Int32 nNeededSpace( 0 );
- sal_Int32 nTopDockingAreaSize( 0 );
-
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- nMaxSpace = aDockingWinSize.Width();
- nNeededSpace = aUIElementSize.Width();
- }
- else
- {
- nMaxSpace = aDockingWinSize.Height();
- nNeededSpace = aUIElementSize.Height();
- nTopDockingAreaSize = implts_getTopBottomDockingAreaSizes().Width();
- }
-
- std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
-
- implts_getDockingAreaElementInfos( DockingArea, aRowColumnsWindowData );
- sal_Int32 nPixelPos( 0 );
- const sal_uInt32 nCount = aRowColumnsWindowData.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- SingleRowColumnWindowData& rRowColumnWindowData = aRowColumnsWindowData[i];
-
- if (( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_RIGHT ))
- nPixelPos += rRowColumnWindowData.nStaticSize;
-
- if ((( nMaxSpace - rRowColumnWindowData.nVarSize ) >= nNeededSpace ) ||
- ( rRowColumnWindowData.nSpace >= nNeededSpace ))
- {
- // Check current row where we can find the needed space
- sal_Int32 nCurrPos( 0 );
- const sal_uInt32 nWindowSizesCount = rRowColumnWindowData.aRowColumnWindowSizes.size();
- for ( sal_uInt32 j = 0; j < nWindowSizesCount; j++ )
- {
- css::awt::Rectangle rRect = rRowColumnWindowData.aRowColumnWindowSizes[j];
- sal_Int32& rSpace = rRowColumnWindowData.aRowColumnSpace[j];
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- if ( rSpace >= nNeededSpace )
- {
- rVirtualPos = ::Point( nCurrPos, rRowColumnWindowData.nRowColumn );
- if ( DockingArea == DockingArea_DOCKINGAREA_TOP )
- rPixelPos = ::Point( nCurrPos, nPixelPos );
- else
- rPixelPos = ::Point( nCurrPos, aDockingWinSize.Height() - nPixelPos );
- return;
- }
- nCurrPos = rRect.X + rRect.Width;
- }
- else
- {
- if ( rSpace >= nNeededSpace )
- {
- rVirtualPos = ::Point( rRowColumnWindowData.nRowColumn, nCurrPos );
- if ( DockingArea == DockingArea_DOCKINGAREA_LEFT )
- rPixelPos = ::Point( nPixelPos, nTopDockingAreaSize + nCurrPos );
- else
- rPixelPos = ::Point( aDockingWinSize.Width() - nPixelPos , nTopDockingAreaSize + nCurrPos );
- return;
- }
- nCurrPos = rRect.Y + rRect.Height;
- }
- }
-
- if (( nCurrPos + nNeededSpace ) <= nMaxSpace )
- {
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- rVirtualPos = ::Point( nCurrPos, rRowColumnWindowData.nRowColumn );
- if ( DockingArea == DockingArea_DOCKINGAREA_TOP )
- rPixelPos = ::Point( nCurrPos, nPixelPos );
- else
- rPixelPos = ::Point( nCurrPos, aDockingWinSize.Height() - nPixelPos );
- return;
- }
- else
- {
- rVirtualPos = ::Point( rRowColumnWindowData.nRowColumn, nCurrPos );
- if ( DockingArea == DockingArea_DOCKINGAREA_LEFT )
- rPixelPos = ::Point( nPixelPos, nTopDockingAreaSize + nCurrPos );
- else
- rPixelPos = ::Point( aDockingWinSize.Width() - nPixelPos , nTopDockingAreaSize + nCurrPos );
- return;
- }
- }
- }
-
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_LEFT ))
- nPixelPos += rRowColumnWindowData.nStaticSize;
- }
-
- sal_Int32 nNextFreeRowCol( 0 );
- sal_Int32 nRowColumnsCount = aRowColumnsWindowData.size();
- if ( nRowColumnsCount > 0 )
- nNextFreeRowCol = aRowColumnsWindowData[nRowColumnsCount-1].nRowColumn+1;
- else
- nNextFreeRowCol = 0;
-
- if ( nNextFreeRowCol == 0 )
- {
- if ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM )
- nFreeRowColPixelPos = aDockingWinSize.Height() - aUIElementSize.Height();
- else if ( DockingArea == DockingArea_DOCKINGAREA_RIGHT )
- nFreeRowColPixelPos = aDockingWinSize.Width() - aUIElementSize.Width();
- }
-
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- rVirtualPos = ::Point( 0, nNextFreeRowCol );
- if ( DockingArea == DockingArea_DOCKINGAREA_TOP )
- rPixelPos = ::Point( 0, nFreeRowColPixelPos );
- else
- rPixelPos = ::Point( 0, aDockingWinSize.Height() - nFreeRowColPixelPos );
- }
- else
- {
- rVirtualPos = ::Point( nNextFreeRowCol, 0 );
- rPixelPos = ::Point( aDockingWinSize.Width() - nFreeRowColPixelPos, 0 );
- }
-}
-
::Size LayoutManager::implts_getContainerWindowOutputSize()
{
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xContainerWindow = m_xContainerWindow;
- ::Size aContainerWinSize;
+ ::Size aContainerWinSize;
Window* pContainerWindow( 0 );
- aReadLock.unlock();
// Retrieve output size from container Window
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pContainerWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
if ( pContainerWindow )
- return pContainerWindow->GetOutputSizePixel();
- else
- return ::Size();
-}
-
-void LayoutManager::implts_sortUIElements()
-{
- WriteGuard aWriteLock( m_aLock );
- UIElementVector::iterator pIterStart = m_aUIElements.begin();
- UIElementVector::iterator pIterEnd = m_aUIElements.end();
-
- std::stable_sort( pIterStart, pIterEnd ); // first created element should first
-
- // We have to reset our temporary flags.
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- // why check, just set it to false
- //if ( pIter->m_bUserActive )
- pIter->m_bUserActive = sal_False;
- }
-
-#ifdef DBG_UTIL
- implts_checkElementContainer();
-#endif
- aWriteLock.unlock();
-}
-
-void LayoutManager::implts_getDockingAreaElementInfos( DockingArea eDockingArea, std::vector< SingleRowColumnWindowData >& rRowColumnsWindowData )
-{
- std::vector< UIElement > aWindowVector;
-
- if (( eDockingArea < DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea > DockingArea_DOCKINGAREA_RIGHT ))
- eDockingArea = DockingArea_DOCKINGAREA_TOP;
-
- Reference< css::awt::XWindow > xDockAreaWindow;
-
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- ReadGuard aReadLock( m_aLock );
- aWindowVector.reserve(m_aUIElements.size());
- xDockAreaWindow = m_xDockAreaWindows[eDockingArea];
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aDockedData.m_nDockedArea == eDockingArea && pIter->m_bVisible && !pIter->m_bFloating )
- {
- Reference< XUIElement > xUIElement( pIter->m_xUIElement );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow.is() )
- {
- // docked windows
- aWindowVector.push_back( *pIter );
- }
- }
- }
- }
- aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- rRowColumnsWindowData.clear();
-
- // Collect data from windows that are on the same row/column
- sal_Int32 j;
- sal_Int32 nIndex( 0 );
- sal_Int32 nLastPos( 0 );
- sal_Int32 nCurrPos( -1 );
- sal_Int32 nLastRowColPixelPos( 0 );
- css::awt::Rectangle aDockAreaRect;
-
- if ( xDockAreaWindow.is() )
- aDockAreaRect = xDockAreaWindow->getPosSize();
-
- if ( eDockingArea == DockingArea_DOCKINGAREA_TOP )
- nLastRowColPixelPos = 0;
- else if ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM )
- nLastRowColPixelPos = aDockAreaRect.Height;
- else if ( eDockingArea == DockingArea_DOCKINGAREA_LEFT )
- nLastRowColPixelPos = 0;
- else
- nLastRowColPixelPos = aDockAreaRect.Width;
-
- const sal_uInt32 nCount = aWindowVector.size();
- for ( j = 0; j < sal_Int32( nCount); j++ )
- {
- const UIElement& rElement = aWindowVector[j];
- Reference< css::awt::XWindow > xWindow;
- Reference< XUIElement > xUIElement( rElement.m_xUIElement );
- css::awt::Rectangle aPosSize;
- if ( !lcl_checkUIElement(xUIElement,aPosSize,xWindow) )
- continue;
- if (( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- if ( nCurrPos == -1 )
- {
- nCurrPos = rElement.m_aDockedData.m_aPos.Y();
- nLastPos = 0;
-
- SingleRowColumnWindowData aRowColumnWindowData;
- aRowColumnWindowData.nRowColumn = nCurrPos;
- rRowColumnsWindowData.push_back( aRowColumnWindowData );
- }
-
- sal_Int32 nSpace( 0 );
- if ( rElement.m_aDockedData.m_aPos.Y() != nCurrPos )
- {
- if ( eDockingArea == DockingArea_DOCKINGAREA_TOP )
- nLastRowColPixelPos += rRowColumnsWindowData[nIndex].nStaticSize;
- else
- nLastRowColPixelPos -= rRowColumnsWindowData[nIndex].nStaticSize;
- ++nIndex;
- nLastPos = 0;
- nCurrPos = rElement.m_aDockedData.m_aPos.Y();
- SingleRowColumnWindowData aRowColumnWindowData;
- aRowColumnWindowData.nRowColumn = nCurrPos;
- rRowColumnsWindowData.push_back( aRowColumnWindowData );
- }
-
- // Calc space before an element and store it
- nSpace = ( rElement.m_aDockedData.m_aPos.X() - nLastPos );
- if ( rElement.m_aDockedData.m_aPos.X() >= nLastPos )
- {
- rRowColumnsWindowData[nIndex].nSpace += nSpace;
- nLastPos = rElement.m_aDockedData.m_aPos.X() + aPosSize.Width;
- }
- else
- {
- nSpace = 0;
- nLastPos += aPosSize.Width;
- }
- rRowColumnsWindowData[nIndex].aRowColumnSpace.push_back( nSpace );
-
- rRowColumnsWindowData[nIndex].aRowColumnWindows.push_back( xWindow );
- rRowColumnsWindowData[nIndex].aUIElementNames.push_back( rElement.m_aName );
- rRowColumnsWindowData[nIndex].aRowColumnWindowSizes.push_back(
- css::awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
- rElement.m_aDockedData.m_aPos.Y(),
- aPosSize.Width,
- aPosSize.Height ));
- if ( rRowColumnsWindowData[nIndex].nStaticSize < aPosSize.Height )
- rRowColumnsWindowData[nIndex].nStaticSize = aPosSize.Height;
- if ( eDockingArea == DockingArea_DOCKINGAREA_TOP )
- rRowColumnsWindowData[nIndex].aRowColumnRect = css::awt::Rectangle( 0, nLastRowColPixelPos,
- aDockAreaRect.Width, aPosSize.Height );
- else
- rRowColumnsWindowData[nIndex].aRowColumnRect = css::awt::Rectangle( 0, ( nLastRowColPixelPos - aPosSize.Height ),
- aDockAreaRect.Width, aPosSize.Height );
- rRowColumnsWindowData[nIndex].nVarSize += aPosSize.Width + nSpace;
- }
- else
- {
- if ( nCurrPos == -1 )
- {
- nCurrPos = rElement.m_aDockedData.m_aPos.X();
- nLastPos = 0;
-
- SingleRowColumnWindowData aRowColumnWindowData;
- aRowColumnWindowData.nRowColumn = nCurrPos;
- rRowColumnsWindowData.push_back( aRowColumnWindowData );
- }
-
- sal_Int32 nSpace( 0 );
- if ( rElement.m_aDockedData.m_aPos.X() != nCurrPos )
- {
- if ( eDockingArea == DockingArea_DOCKINGAREA_LEFT )
- nLastRowColPixelPos += rRowColumnsWindowData[nIndex].nStaticSize;
- else
- nLastRowColPixelPos -= rRowColumnsWindowData[nIndex].nStaticSize;
- ++nIndex;
- nLastPos = 0;
- nCurrPos = rElement.m_aDockedData.m_aPos.X();
- SingleRowColumnWindowData aRowColumnWindowData;
- aRowColumnWindowData.nRowColumn = nCurrPos;
- rRowColumnsWindowData.push_back( aRowColumnWindowData );
- }
-
- // Calc space before an element and store it
- nSpace = ( rElement.m_aDockedData.m_aPos.Y() - nLastPos );
- if ( rElement.m_aDockedData.m_aPos.Y() > nLastPos )
- {
- rRowColumnsWindowData[nIndex].nSpace += nSpace;
- nLastPos = rElement.m_aDockedData.m_aPos.Y() + aPosSize.Height;
- }
- else
- {
- nSpace = 0;
- nLastPos += aPosSize.Height;
- }
- rRowColumnsWindowData[nIndex].aRowColumnSpace.push_back( nSpace );
-
- rRowColumnsWindowData[nIndex].aRowColumnWindows.push_back( xWindow );
- rRowColumnsWindowData[nIndex].aUIElementNames.push_back( rElement.m_aName );
- rRowColumnsWindowData[nIndex].aRowColumnWindowSizes.push_back(
- css::awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
- rElement.m_aDockedData.m_aPos.Y(),
- aPosSize.Width,
- aPosSize.Height ));
- if ( rRowColumnsWindowData[nIndex].nStaticSize < aPosSize.Width )
- rRowColumnsWindowData[nIndex].nStaticSize = aPosSize.Width;
- if ( eDockingArea == DockingArea_DOCKINGAREA_LEFT )
- rRowColumnsWindowData[nIndex].aRowColumnRect = css::awt::Rectangle( nLastRowColPixelPos, 0,
- aPosSize.Width, aDockAreaRect.Height );
- else
- rRowColumnsWindowData[nIndex].aRowColumnRect = css::awt::Rectangle( ( nLastRowColPixelPos - aPosSize.Width ), 0,
- aPosSize.Width, aDockAreaRect.Height );
- rRowColumnsWindowData[nIndex].nVarSize += aPosSize.Height + nSpace;
- }
- }
-}
-
-void LayoutManager::implts_getDockingAreaElementInfoOnSingleRowCol( DockingArea eDockingArea, sal_Int32 nRowCol, SingleRowColumnWindowData& rRowColumnWindowData )
-{
- std::vector< UIElement > aWindowVector;
-
- if (( eDockingArea < DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea > DockingArea_DOCKINGAREA_RIGHT ))
- eDockingArea = DockingArea_DOCKINGAREA_TOP;
-
- sal_Bool bHorzDockArea = (( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ));
-
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- ReadGuard aReadLock( m_aLock );
- UIElementVector::iterator pIter;
- UIElementVector::iterator pEnd = m_aUIElements.end();
- for ( pIter = m_aUIElements.begin(); pIter != pEnd; pIter++ )
- {
- if ( pIter->m_aDockedData.m_nDockedArea == eDockingArea )
- {
- sal_Bool bSameRowCol = bHorzDockArea ?
- ( pIter->m_aDockedData.m_aPos.Y() == nRowCol ) :
- ( pIter->m_aDockedData.m_aPos.X() == nRowCol );
- Reference< XUIElement > xUIElement( pIter->m_xUIElement );
-
- if ( bSameRowCol && xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- if ( xWindow.is() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( pWindow && pIter->m_bVisible && xDockWindow.is() && !pIter->m_bFloating )
- {
- // docked windows
- aWindowVector.push_back( *pIter );
- }
- }
- }
- }
- }
- aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- // Initialize structure
- rRowColumnWindowData.aUIElementNames.clear();
- rRowColumnWindowData.aRowColumnWindows.clear();
- rRowColumnWindowData.aRowColumnWindowSizes.clear();
- rRowColumnWindowData.aRowColumnSpace.clear();
- rRowColumnWindowData.nVarSize = 0;
- rRowColumnWindowData.nStaticSize = 0;
- rRowColumnWindowData.nSpace = 0;
- rRowColumnWindowData.nRowColumn = nRowCol;
-
- // Collect data from windows that are on the same row/column
- sal_Int32 j;
- sal_Int32 nLastPos( 0 );
-
- const sal_uInt32 nCount = aWindowVector.size();
- for ( j = 0; j < sal_Int32( nCount); j++ )
- {
- const UIElement& rElement = aWindowVector[j];
- Reference< css::awt::XWindow > xWindow;
- Reference< XUIElement > xUIElement( rElement.m_xUIElement );
- css::awt::Rectangle aPosSize;
- if ( !lcl_checkUIElement(xUIElement,aPosSize,xWindow) )
- continue;
-
- sal_Int32 nSpace;
- if (( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- nSpace = ( rElement.m_aDockedData.m_aPos.X() - nLastPos );
-
- // Calc space before an element and store it
- if ( rElement.m_aDockedData.m_aPos.X() > nLastPos )
- rRowColumnWindowData.nSpace += nSpace;
- else
- nSpace = 0;
-
- nLastPos = rElement.m_aDockedData.m_aPos.X() + aPosSize.Width;
-
-
- rRowColumnWindowData.aRowColumnWindowSizes.push_back(
- css::awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
- rElement.m_aDockedData.m_aPos.Y(),
- aPosSize.Width,
- aPosSize.Height ));
- if ( rRowColumnWindowData.nStaticSize < aPosSize.Height )
- rRowColumnWindowData.nStaticSize = aPosSize.Height;
- rRowColumnWindowData.nVarSize += aPosSize.Width;
- }
- else
- {
- // Calc space before an element and store it
- nSpace = ( rElement.m_aDockedData.m_aPos.Y() - nLastPos );
- if ( rElement.m_aDockedData.m_aPos.Y() > nLastPos )
- rRowColumnWindowData.nSpace += nSpace;
- else
- nSpace = 0;
-
- nLastPos = rElement.m_aDockedData.m_aPos.Y() + aPosSize.Height;
-
- rRowColumnWindowData.aRowColumnWindowSizes.push_back(
- css::awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
- rElement.m_aDockedData.m_aPos.Y(),
- aPosSize.Width,
- aPosSize.Height ));
- if ( rRowColumnWindowData.nStaticSize < aPosSize.Width )
- rRowColumnWindowData.nStaticSize = aPosSize.Width;
- rRowColumnWindowData.nVarSize += aPosSize.Height;
- }
-
- rRowColumnWindowData.aUIElementNames.push_back( rElement.m_aName );
- rRowColumnWindowData.aRowColumnWindows.push_back( xWindow );
- rRowColumnWindowData.aRowColumnSpace.push_back( nSpace );
- rRowColumnWindowData.nVarSize += nSpace;
- }
-}
-
-::Rectangle LayoutManager::implts_determineFrontDockingRect(
- DockingArea eDockingArea,
- sal_Int32 nRowCol,
- const ::Rectangle& rDockedElementRect,
- const ::rtl::OUString& rMovedElementName,
- const ::Rectangle& rMovedElementRect )
-{
- SingleRowColumnWindowData aRowColumnWindowData;
-
- sal_Bool bHorzDockArea = (( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ));
-
- implts_getDockingAreaElementInfoOnSingleRowCol( eDockingArea, nRowCol, aRowColumnWindowData );
- if ( aRowColumnWindowData.aRowColumnWindows.empty() )
- return rMovedElementRect;
- else
- {
- sal_Int32 nSpace( 0 );
- ::Rectangle aFrontDockingRect( rMovedElementRect );
- const sal_uInt32 nCount = aRowColumnWindowData.aRowColumnWindows.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- if ( bHorzDockArea )
- {
- if ( aRowColumnWindowData.aRowColumnWindowSizes[i].X >= rDockedElementRect.Left() )
- {
- nSpace += aRowColumnWindowData.aRowColumnSpace[i];
- break;
- }
- else if ( aRowColumnWindowData.aUIElementNames[i] == rMovedElementName )
- nSpace += aRowColumnWindowData.aRowColumnWindowSizes[i].Width +
- aRowColumnWindowData.aRowColumnSpace[i];
- else
- nSpace = 0;
- }
- else
- {
- if ( aRowColumnWindowData.aRowColumnWindowSizes[i].Y >= rDockedElementRect.Top() )
- {
- nSpace += aRowColumnWindowData.aRowColumnSpace[i];
- break;
- }
- else if ( aRowColumnWindowData.aUIElementNames[i] == rMovedElementName )
- nSpace += aRowColumnWindowData.aRowColumnWindowSizes[i].Height +
- aRowColumnWindowData.aRowColumnSpace[i];
- else
- nSpace = 0;
- }
- }
-
- if ( nSpace > 0 )
- {
- sal_Int32 nMove = std::min( nSpace, static_cast<sal_Int32>(aFrontDockingRect.getWidth()) );
- if ( bHorzDockArea )
- aFrontDockingRect.Move( -nMove, 0 );
- else
- aFrontDockingRect.Move( 0, -nMove );
- }
-
- return aFrontDockingRect;
- }
-}
-
-::Rectangle LayoutManager::implts_getWindowRectFromRowColumn(
- ::com::sun::star::ui::DockingArea DockingArea,
- const SingleRowColumnWindowData& rRowColumnWindowData,
- const ::Point& rMousePos,
- const rtl::OUString& rExcludeElementName )
-{
- ::Rectangle aWinRect;
-
- if (( DockingArea < DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea > DockingArea_DOCKINGAREA_RIGHT ))
- DockingArea = DockingArea_DOCKINGAREA_TOP;
-
- if ( rRowColumnWindowData.aRowColumnWindows.empty() )
- return aWinRect;
- else
- {
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xContainerWindow = m_xContainerWindow;
- Reference< css::awt::XWindow > xDockingAreaWindow = m_xDockAreaWindows[DockingArea];
- aReadLock.unlock();
-
- // Calc correct position of the column/row rectangle to be able to compare it with mouse pos/tracking rect
- vos::OGuard aGuard( Application::GetSolarMutex() );
-
- // Retrieve output size from container Window
- Window* pContainerWindow( VCLUnoHelper::GetWindow( xContainerWindow ));
- Window* pDockingAreaWindow( VCLUnoHelper::GetWindow( xDockingAreaWindow ));
- if ( pDockingAreaWindow && pContainerWindow )
- {
- const sal_uInt32 nCount = rRowColumnWindowData.aRowColumnWindows.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- css::awt::Rectangle aWindowRect = rRowColumnWindowData.aRowColumnWindows[i]->getPosSize();
- ::Rectangle aRect( aWindowRect.X, aWindowRect.Y, aWindowRect.X+aWindowRect.Width, aWindowRect.Y+aWindowRect.Height );
- aRect.SetPos( pContainerWindow->ScreenToOutputPixel( pDockingAreaWindow->OutputToScreenPixel( aRect.TopLeft() )));
- if ( aRect.IsInside( rMousePos ))
- {
- // Check if we have found the excluded element. If yes, we have to provide an empty rectangle.
- // We prevent that a toolbar cannot be moved when the mouse pointer is inside its own rectangle!
- if ( rExcludeElementName != rRowColumnWindowData.aUIElementNames[i] )
- return aRect;
- else
- break;
- }
- }
- }
- }
-
- return aWinRect;
-}
-
-framework::LayoutManager::DockingOperation
-LayoutManager::implts_determineDockingOperation(
- ::com::sun::star::ui::DockingArea DockingArea,
- const ::Rectangle& rRowColRect,
- const Point& rMousePos )
-{
- const sal_Int32 nHorzVerticalRegionSize = 6;
- const sal_Int32 nHorzVerticalMoveRegion = 4;
-
- if ( rRowColRect.IsInside( rMousePos ))
- {
- if (( DockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( DockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- sal_Int32 nRegion = rRowColRect.getHeight() / nHorzVerticalRegionSize;
- sal_Int32 nPosY = rRowColRect.Top() + nRegion;
-
- if ( rMousePos.Y() < nPosY )
- return ( DockingArea == DockingArea_DOCKINGAREA_TOP ) ? DOCKOP_BEFORE_COLROW : DOCKOP_AFTER_COLROW;
- else if ( rMousePos.Y() < ( nPosY + nRegion*nHorzVerticalMoveRegion ))
- return DOCKOP_ON_COLROW;
- else
- return ( DockingArea == DockingArea_DOCKINGAREA_TOP ) ? DOCKOP_AFTER_COLROW : DOCKOP_BEFORE_COLROW;
- }
- else
- {
- sal_Int32 nRegion = rRowColRect.getWidth() / nHorzVerticalRegionSize;
- sal_Int32 nPosX = rRowColRect.Left() + nRegion;
-
- if ( rMousePos.X() < nPosX )
- return ( DockingArea == DockingArea_DOCKINGAREA_LEFT ) ? DOCKOP_BEFORE_COLROW : DOCKOP_AFTER_COLROW;
- else if ( rMousePos.X() < ( nPosX + nRegion*nHorzVerticalMoveRegion ))
- return DOCKOP_ON_COLROW;
- else
- return ( DockingArea == DockingArea_DOCKINGAREA_LEFT ) ? DOCKOP_AFTER_COLROW : DOCKOP_BEFORE_COLROW;
- }
- }
- else
- return DOCKOP_ON_COLROW;
-}
-
-::Rectangle LayoutManager::implts_calcTrackingAndElementRect(
- ::com::sun::star::ui::DockingArea eDockingArea,
- sal_Int32 nRowCol,
- UIElement& rUIElement,
- const ::Rectangle& rTrackingRect,
- const ::Rectangle& rRowColumnRect,
- const ::Size& rContainerWinSize )
-{
- sal_Bool bHorizontalDockArea( ( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ));
-
- sal_Int32 nTopDockingAreaSize( implts_getTopBottomDockingAreaSizes().Width() );
- sal_Int32 nBottomDockingAreaSize( implts_getTopBottomDockingAreaSizes().Height() );
-
- ::Size aStatusBarSize( implts_getStatusBarSize() );
- sal_Int32 nMaxLeftRightDockAreaSize = rContainerWinSize.Height() -
- nTopDockingAreaSize -
- nBottomDockingAreaSize -
- aStatusBarSize.Height();
-
- ::Rectangle aTrackingRect( rTrackingRect );
- if ( bHorizontalDockArea )
- {
- sal_Int32 nPosX( std::max( sal_Int32( rTrackingRect.Left()), sal_Int32( 0 )));
- if (( nPosX + rTrackingRect.getWidth()) > rContainerWinSize.Width() )
- nPosX = std::min( nPosX,
- std::max( sal_Int32( rContainerWinSize.Width() - rTrackingRect.getWidth() ),
- sal_Int32( 0 )));
-
- sal_Int32 nSize = std::min( rContainerWinSize.Width(), rTrackingRect.getWidth() );
-
- aTrackingRect.SetPos( ::Point( nPosX, rRowColumnRect.Top() ));
- aTrackingRect.setWidth( nSize );
- aTrackingRect.setHeight( rRowColumnRect.getHeight() );
-
- // Set virtual position
- rUIElement.m_aDockedData.m_aPos.X() = nPosX;
- rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
- }
- else
- {
- sal_Int32 nMaxDockingAreaHeight = std::max( sal_Int32( 0 ),
- sal_Int32( nMaxLeftRightDockAreaSize ));
-
- sal_Int32 nPosY( std::max( sal_Int32( aTrackingRect.Top()), sal_Int32( nTopDockingAreaSize )));
- if (( nPosY + aTrackingRect.getHeight()) > ( nTopDockingAreaSize + nMaxDockingAreaHeight ))
- nPosY = std::min( nPosY,
- std::max( sal_Int32( nTopDockingAreaSize + ( nMaxDockingAreaHeight - aTrackingRect.getHeight() )),
- sal_Int32( nTopDockingAreaSize )));
-
- sal_Int32 nSize = std::min( nMaxDockingAreaHeight, static_cast<sal_Int32>(aTrackingRect.getHeight()) );
-
- aTrackingRect.SetPos( ::Point( rRowColumnRect.Left(), nPosY ));
- aTrackingRect.setWidth( rRowColumnRect.getWidth() );
- aTrackingRect.setHeight( nSize );
-
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xDockingAreaWindow = m_xDockAreaWindows[eDockingArea];
- Reference< css::awt::XWindow > xContainerWindow = m_xContainerWindow;
- aReadLock.unlock();
-
- sal_Int32 nDockPosY( 0 );
- Window* pDockingAreaWindow( 0 );
- Window* pContainerWindow( 0 );
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xDockingAreaWindow );
- pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- nDockPosY = pDockingAreaWindow->ScreenToOutputPixel(
- pContainerWindow->OutputToScreenPixel( ::Point( 0, nPosY ))).Y();
- }
-
- // Set virtual position
- rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
- rUIElement.m_aDockedData.m_aPos.Y() = nDockPosY;
- }
-
- return aTrackingRect;
-}
-
-void implts_setTrackingRect( DockingArea eDockingArea, const Point& rMousePos, ::Rectangle& rTrackingRect )
-{
- sal_Bool bHorizontalDockArea( ( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ));
-
- ::Point aPoint = rTrackingRect.TopLeft();
- if ( bHorizontalDockArea )
- aPoint.X() = rMousePos.X();
- else
- aPoint.Y() = rMousePos.Y();
- rTrackingRect.SetPos( aPoint );
-}
-
-void LayoutManager::implts_calcDockingPosSize(
- UIElement& rUIElement,
- DockingOperation& rDockingOperation,
- ::Rectangle& rTrackingRect,
- const Point& rMousePos )
-{
- ReadGuard aReadLock( m_aLock );
- Reference< css::awt::XWindow > xContainerWindow = m_xContainerWindow;
- ::Size aContainerWinSize;
- Window* pContainerWindow( 0 );
- aReadLock.unlock();
-
- {
- // Retrieve output size from container Window
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
aContainerWinSize = pContainerWindow->GetOutputSizePixel();
- }
-
- if ( !rUIElement.m_xUIElement.is() )
- {
- rTrackingRect = ::Rectangle();
- return;
- }
-
- Window* pDockWindow( 0 );
- Window* pDockingAreaWindow( 0 );
- ToolBox* pToolBox( 0 );
- Reference< css::awt::XWindow > xWindow( rUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XWindow > xDockingAreaWindow;
- ::Rectangle aTrackingRect( rTrackingRect );
- ::com::sun::star::ui::DockingArea eDockedArea( (::com::sun::star::ui::DockingArea)rUIElement.m_aDockedData.m_nDockedArea );
- sal_Int32 nTopDockingAreaSize( implts_getTopBottomDockingAreaSizes().Width() );
- sal_Int32 nBottomDockingAreaSize( implts_getTopBottomDockingAreaSizes().Height() );
- sal_Bool bHorizontalDockArea( ( eDockedArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockedArea == DockingArea_DOCKINGAREA_BOTTOM ));
- ::Size aStatusBarSize( implts_getStatusBarSize() );
- sal_Int32 nMaxLeftRightDockAreaSize = aContainerWinSize.Height() -
- nTopDockingAreaSize -
- nBottomDockingAreaSize -
- aStatusBarSize.Height();
- ::Rectangle aDockingAreaRect;
-
- aReadLock.lock();
- xDockingAreaWindow = m_xDockAreaWindows[eDockedArea];
- aReadLock.unlock();
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xDockingAreaWindow );
- pDockWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pDockWindow && pDockWindow->GetType() == WINDOW_TOOLBOX )
- pToolBox = (ToolBox *)pDockWindow;
-
- aDockingAreaRect = ::Rectangle( pDockingAreaWindow->GetPosPixel(), pDockingAreaWindow->GetSizePixel() );
- if ( pToolBox )
- {
- // docked toolbars always have one line
- ::Size aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( sal_Int16( eDockedArea )) );
- aTrackingRect.SetSize( ::Size( aSize.Width(), aSize.Height() ));
- }
- }
-
- // default docking operation, dock on the given row/column
- sal_Bool bOpOutsideOfDockingArea( !aDockingAreaRect.IsInside( rMousePos ));
- std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
-
- rDockingOperation = DOCKOP_ON_COLROW;
- implts_getDockingAreaElementInfos( eDockedArea, aRowColumnsWindowData );
-
- // determine current first row/column and last row/column
- sal_Int32 nMaxRowCol( -1 );
- sal_Int32 nMinRowCol( SAL_MAX_INT32 );
- const sal_uInt32 nCount = aRowColumnsWindowData.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- if ( aRowColumnsWindowData[i].nRowColumn > nMaxRowCol )
- nMaxRowCol = aRowColumnsWindowData[i].nRowColumn;
- if ( aRowColumnsWindowData[i].nRowColumn < nMinRowCol )
- nMinRowCol = aRowColumnsWindowData[i].nRowColumn;
- }
-
- if ( !bOpOutsideOfDockingArea )
- {
- // docking inside our docking area
- sal_Int32 nIndex( -1 );
- sal_Int32 nRowCol( -1 );
- ::Rectangle aWindowRect;
- ::Rectangle aRowColumnRect;
-
- const sal_uInt32 nWindowDataCount = aRowColumnsWindowData.size();
- for ( sal_uInt32 i = 0; i < nWindowDataCount; i++ )
- {
- ::Rectangle aRect( aRowColumnsWindowData[i].aRowColumnRect.X,
- aRowColumnsWindowData[i].aRowColumnRect.Y,
- aRowColumnsWindowData[i].aRowColumnRect.X + aRowColumnsWindowData[i].aRowColumnRect.Width,
- aRowColumnsWindowData[i].aRowColumnRect.Y + aRowColumnsWindowData[i].aRowColumnRect.Height );
-
- {
- // Calc correct position of the column/row rectangle to be able to compare it with mouse pos/tracking rect
- vos::OGuard aGuard( Application::GetSolarMutex() );
- aRect.SetPos( pContainerWindow->ScreenToOutputPixel( pDockingAreaWindow->OutputToScreenPixel( aRect.TopLeft() )));
- }
-
- sal_Bool bIsInsideRowCol( aRect.IsInside( rMousePos ) );
- if ( bIsInsideRowCol )
- {
- nIndex = i;
- nRowCol = aRowColumnsWindowData[i].nRowColumn;
- rDockingOperation = implts_determineDockingOperation( eDockedArea, aRect, rMousePos );
- aWindowRect = implts_getWindowRectFromRowColumn( eDockedArea, aRowColumnsWindowData[i], rMousePos, rUIElement.m_aName );
- aRowColumnRect = aRect;
- break;
- }
- }
-
- OSL_ENSURE( ( nIndex >= 0 ) && ( nRowCol >= 0 ), "Impossible case - no row/column found but mouse pointer is inside our docking area" );
- if (( nIndex >= 0 ) && ( nRowCol >= 0 ))
- {
- if ( rDockingOperation == DOCKOP_ON_COLROW )
- {
- if ( !aWindowRect.IsEmpty())
- {
- // Tracking rect is on a row/column and mouse is over a docked toolbar.
- // Determine if the tracking rect must be located before/after the docked toolbar.
-
- ::Rectangle aUIElementRect( aWindowRect );
- sal_Int32 nMiddle( bHorizontalDockArea ? ( aWindowRect.Left() + aWindowRect.getWidth() / 2 ) :
- ( aWindowRect.Top() + aWindowRect.getHeight() / 2 ));
- sal_Bool bInsertBefore( bHorizontalDockArea ? ( rMousePos.X() < nMiddle ) : ( rMousePos.Y() < nMiddle ));
- if ( bInsertBefore )
- {
- if ( bHorizontalDockArea )
- {
- sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32( aContainerWinSize.Width() - aWindowRect.Left() ),
- sal_Int32( aTrackingRect.getWidth() )));
- if ( nSize == 0 )
- nSize = aWindowRect.getWidth();
-
- aUIElementRect.SetSize( ::Size( nSize, aWindowRect.getHeight() ));
- aWindowRect = implts_determineFrontDockingRect( eDockedArea, nRowCol, aWindowRect,rUIElement.m_aName, aUIElementRect );
-
- // Set virtual position
- rUIElement.m_aDockedData.m_aPos.X() = aWindowRect.Left();
- rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
- }
- else
- {
- sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32(
- nTopDockingAreaSize + nMaxLeftRightDockAreaSize - aWindowRect.Top() ),
- sal_Int32( aTrackingRect.getHeight() )));
- if ( nSize == 0 )
- nSize = aWindowRect.getHeight();
-
- aUIElementRect.SetSize( ::Size( aWindowRect.getWidth(), nSize ));
- aWindowRect = implts_determineFrontDockingRect( eDockedArea, nRowCol, aWindowRect, rUIElement.m_aName, aUIElementRect );
-
- // Set virtual position
- sal_Int32 nPosY = pDockingAreaWindow->ScreenToOutputPixel(
- pContainerWindow->OutputToScreenPixel( aWindowRect.TopLeft() )).Y();
- rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
- rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
- }
-
- rTrackingRect = aWindowRect;
- return;
- }
- else
- {
- if ( bHorizontalDockArea )
- {
- sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32(( aContainerWinSize.Width() ) - aWindowRect.Right() ),
- sal_Int32( aTrackingRect.getWidth() )));
- if ( nSize == 0 )
- {
- aUIElementRect.SetPos( ::Point( aContainerWinSize.Width() - aTrackingRect.getWidth(), aWindowRect.Top() ));
- aUIElementRect.SetSize( ::Size( aTrackingRect.getWidth(), aWindowRect.getHeight() ));
- rUIElement.m_aDockedData.m_aPos.X() = aUIElementRect.Left();
- }
- else
- {
- aUIElementRect.SetPos( ::Point( aWindowRect.Right(), aWindowRect.Top() ));
- aUIElementRect.SetSize( ::Size( nSize, aWindowRect.getHeight() ));
- rUIElement.m_aDockedData.m_aPos.X() = aWindowRect.Right();
- }
-
- // Set virtual position
- rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
- }
- else
- {
- sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32( nTopDockingAreaSize + nMaxLeftRightDockAreaSize - aWindowRect.Bottom() ),
- sal_Int32( aTrackingRect.getHeight() )));
- aUIElementRect.SetPos( ::Point( aWindowRect.Left(), aWindowRect.Bottom() ));
- aUIElementRect.SetSize( ::Size( aWindowRect.getWidth(), nSize ));
-
- // Set virtual position
- sal_Int32 nPosY( 0 );
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- nPosY = pDockingAreaWindow->ScreenToOutputPixel(
- pContainerWindow->OutputToScreenPixel( aWindowRect.BottomRight() )).Y();
- }
- rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
- rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
- }
-
- rTrackingRect = aUIElementRect;
- return;
- }
- }
- else
- {
- implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
- rTrackingRect = implts_calcTrackingAndElementRect(
- eDockedArea, nRowCol, rUIElement,
- aTrackingRect, aRowColumnRect, aContainerWinSize );
- return;
- }
- }
- else
- {
- if ((( nRowCol == nMinRowCol ) && ( rDockingOperation == DOCKOP_BEFORE_COLROW )) ||
- (( nRowCol == nMaxRowCol ) && ( rDockingOperation == DOCKOP_AFTER_COLROW )))
- bOpOutsideOfDockingArea = sal_True;
- else
- {
- // handle docking before/after a row
- implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
- rTrackingRect = implts_calcTrackingAndElementRect(
- eDockedArea, nRowCol, rUIElement,
- aTrackingRect, aRowColumnRect, aContainerWinSize );
-
- sal_Int32 nOffsetX( 0 );
- sal_Int32 nOffsetY( 0 );
- if ( bHorizontalDockArea )
- nOffsetY = sal_Int32( floor( aRowColumnRect.getHeight() / 2 + 0.5 ));
- else
- nOffsetX = sal_Int32( floor( aRowColumnRect.getWidth() / 2 + 0.5 ));
-
- if ( rDockingOperation == DOCKOP_BEFORE_COLROW )
- {
- if (( eDockedArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockedArea == DockingArea_DOCKINGAREA_LEFT ))
- {
- // Docking before/after means move track rectangle half column/row.
- // As left and top are ordered 0...n instead of right and bottom
- // which uses n...0, we have to use negative values for top/left.
- nOffsetX *= -1;
- nOffsetY *= -1;
- }
- }
- else
- {
- if (( eDockedArea == DockingArea_DOCKINGAREA_BOTTOM ) ||
- ( eDockedArea == DockingArea_DOCKINGAREA_RIGHT ))
- {
- // Docking before/after means move track rectangle half column/row.
- // As left and top are ordered 0...n instead of right and bottom
- // which uses n...0, we have to use negative values for top/left.
- nOffsetX *= -1;
- nOffsetY *= -1;
- }
- nRowCol++;
- }
-
- if ( bHorizontalDockArea )
- rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
- else
- rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
-
- rTrackingRect.Move( nOffsetX, nOffsetY );
- rTrackingRect.SetSize( aTrackingRect.GetSize() );
- }
- }
- }
- }
-
- // Docking outside of our docking window area =>
- // Users want to dock before/after first/last docked element or to an empty docking area
- if ( bOpOutsideOfDockingArea )
- {
- // set correct size for docking
- implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
- rTrackingRect = aTrackingRect;
-
- if ( bHorizontalDockArea )
- {
- sal_Int32 nPosX( std::max( sal_Int32( rTrackingRect.Left()), sal_Int32( 0 )));
- if (( nPosX + rTrackingRect.getWidth()) > aContainerWinSize.Width() )
- nPosX = std::min( nPosX,
- std::max( sal_Int32( aContainerWinSize.Width() - rTrackingRect.getWidth() ),
- sal_Int32( 0 )));
-
- sal_Int32 nSize = std::min( aContainerWinSize.Width(), rTrackingRect.getWidth() );
- sal_Int32 nDockHeight = std::max( static_cast<sal_Int32>(aDockingAreaRect.getHeight()), sal_Int32( 0 ));
- if ( nDockHeight == 0 )
- {
- sal_Int32 nPosY( std::max( aDockingAreaRect.Top(), aDockingAreaRect.Bottom() ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_BOTTOM )
- nPosY -= rTrackingRect.getHeight();
- rTrackingRect.SetPos( Point( nPosX, nPosY ));
- rUIElement.m_aDockedData.m_aPos.Y() = 0;
- }
- else if ( rMousePos.Y() < ( aDockingAreaRect.Top() + ( nDockHeight / 2 )))
- {
- rTrackingRect.SetPos( Point( nPosX, aDockingAreaRect.Top() - rTrackingRect.getHeight() ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_TOP )
- rUIElement.m_aDockedData.m_aPos.Y() = 0;
- else
- rUIElement.m_aDockedData.m_aPos.Y() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
- rDockingOperation = DOCKOP_BEFORE_COLROW;
- }
- else
- {
- rTrackingRect.SetPos( Point( nPosX, aDockingAreaRect.Bottom() ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_TOP )
- rUIElement.m_aDockedData.m_aPos.Y() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
- else
- rUIElement.m_aDockedData.m_aPos.Y() = 0;
- rDockingOperation = DOCKOP_AFTER_COLROW;
- }
- rTrackingRect.setWidth( nSize );
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- nPosX = pDockingAreaWindow->ScreenToOutputPixel(
- pContainerWindow->OutputToScreenPixel( rTrackingRect.TopLeft() )).X();
- }
- rUIElement.m_aDockedData.m_aPos.X() = nPosX;
- }
- else
- {
- sal_Int32 nMaxDockingAreaHeight = std::max( sal_Int32( 0 ),
- sal_Int32( nMaxLeftRightDockAreaSize ));
-
- sal_Int32 nPosY( std::max( sal_Int32( aTrackingRect.Top()), sal_Int32( nTopDockingAreaSize )));
- if (( nPosY + aTrackingRect.getHeight()) > ( nTopDockingAreaSize + nMaxDockingAreaHeight ))
- nPosY = std::min( nPosY,
- std::max( sal_Int32( nTopDockingAreaSize + ( nMaxDockingAreaHeight - aTrackingRect.getHeight() )),
- sal_Int32( nTopDockingAreaSize )));
-
- sal_Int32 nSize = std::min( nMaxDockingAreaHeight, static_cast<sal_Int32>(aTrackingRect.getHeight()) );
- sal_Int32 nDockWidth = std::max( static_cast<sal_Int32>(aDockingAreaRect.getWidth()), sal_Int32( 0 ));
- if ( nDockWidth == 0 )
- {
- sal_Int32 nPosX( std::max( aDockingAreaRect.Left(), aDockingAreaRect.Right() ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_RIGHT )
- nPosX -= rTrackingRect.getWidth();
- rTrackingRect.SetPos( Point( nPosX, nPosY ));
- rUIElement.m_aDockedData.m_aPos.X() = 0;
- }
- else if ( rMousePos.X() < ( aDockingAreaRect.Left() + ( nDockWidth / 2 )))
- {
- rTrackingRect.SetPos( Point( aDockingAreaRect.Left() - rTrackingRect.getWidth(), nPosY ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_LEFT )
- rUIElement.m_aDockedData.m_aPos.X() = 0;
- else
- rUIElement.m_aDockedData.m_aPos.X() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
- rDockingOperation = DOCKOP_BEFORE_COLROW;
- }
- else
- {
- rTrackingRect.SetPos( Point( aDockingAreaRect.Right(), nPosY ));
- if ( eDockedArea == DockingArea_DOCKINGAREA_LEFT )
- rUIElement.m_aDockedData.m_aPos.X() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
- else
- rUIElement.m_aDockedData.m_aPos.X() = 0;
- rDockingOperation = DOCKOP_AFTER_COLROW;
- }
- rTrackingRect.setHeight( nSize );
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- nPosY = pDockingAreaWindow->ScreenToOutputPixel(
- pContainerWindow->OutputToScreenPixel( rTrackingRect.TopLeft() )).Y();
- }
- rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
- }
- }
-}
-
-void LayoutManager::implts_renumberRowColumnData(
- ::com::sun::star::ui::DockingArea eDockingArea,
- DockingOperation /*eDockingOperation*/,
- const UIElement& rUIElement )
-{
- ReadGuard aReadLock( m_aLock );
- Reference< XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
- aReadLock.unlock();
-
- sal_Bool bHorzDockingArea(( eDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM ));
- sal_Int32 nRowCol( bHorzDockingArea ? rUIElement.m_aDockedData.m_aPos.Y() :
- rUIElement.m_aDockedData.m_aPos.X() );
-
- WriteGuard aWriteLock( m_aLock );
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if (( pIter->m_aDockedData.m_nDockedArea == sal_Int16( eDockingArea )) &&
- ( pIter->m_aName != rUIElement.m_aName ))
- {
- // Don't change toolbars without a valid docking position!
- if (( pIter->m_aDockedData.m_aPos.X() == SAL_MAX_INT32 ) &&
- ( pIter->m_aDockedData.m_aPos.Y() == SAL_MAX_INT32 ))
- continue;
-
- sal_Int32 nWindowRowCol = ( bHorzDockingArea ) ?
- pIter->m_aDockedData.m_aPos.Y() : pIter->m_aDockedData.m_aPos.X();
- if ( nWindowRowCol >= nRowCol )
- {
- if ( bHorzDockingArea )
- pIter->m_aDockedData.m_aPos.Y() += 1;
- else
- pIter->m_aDockedData.m_aPos.X() += 1;
- }
- }
- }
- aWriteLock.unlock();
-
- // We have to change the persistent window state part
- if ( xPersistentWindowState.is() )
- {
- try
- {
- Sequence< rtl::OUString > aWindowElements = xPersistentWindowState->getElementNames();
- for ( sal_Int32 i = 0; i < aWindowElements.getLength(); i++ )
- {
- if ( rUIElement.m_aName != aWindowElements[i] )
- {
- try
- {
- Sequence< PropertyValue > aPropValueSeq;
- css::awt::Point aDockedPos;
- DockingArea nDockedArea( DockingArea_DOCKINGAREA_DEFAULT );
-
- xPersistentWindowState->getByName( aWindowElements[i] ) >>= aPropValueSeq;
- for ( sal_Int32 j = 0; j < aPropValueSeq.getLength(); j++ )
- {
- if ( aPropValueSeq[j].Name == m_aPropDockingArea )
- aPropValueSeq[j].Value >>= nDockedArea;
- else if ( aPropValueSeq[j].Name == m_aPropDockPos )
- aPropValueSeq[j].Value >>= aDockedPos;
- }
-
- // Don't change toolbars without a valid docking position!
- if (( aDockedPos.X == SAL_MAX_INT32 ) && ( aDockedPos.Y == SAL_MAX_INT32 ))
- continue;
-
- sal_Int32 nWindowRowCol = ( bHorzDockingArea ) ? aDockedPos.Y : aDockedPos.X;
- if (( nDockedArea == eDockingArea ) && ( nWindowRowCol >= nRowCol ))
- {
- if ( bHorzDockingArea )
- aDockedPos.Y += 1;
- else
- aDockedPos.X += 1;
-
- Reference< XNameReplace > xReplace( xPersistentWindowState, UNO_QUERY );
- xReplace->replaceByName( aWindowElements[i], makeAny( aPropValueSeq ));
- }
- }
- catch ( Exception& )
- {
- }
- }
- }
- }
- catch ( Exception& )
- {
- }
- }
-}
-
-::Size LayoutManager::implts_getTopBottomDockingAreaSizes()
-{
- ::Size aSize;
- Reference< css::awt::XWindow > xTopDockingAreaWindow;
- Reference< css::awt::XWindow > xBottomDockingAreaWindow;
-
- ReadGuard aReadLock( m_aLock );
- xTopDockingAreaWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- xBottomDockingAreaWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM];
- aReadLock.unlock();
-
- if ( xTopDockingAreaWindow.is() )
- aSize.Width() = xTopDockingAreaWindow->getPosSize().Height;
- if ( xBottomDockingAreaWindow.is() )
- aSize.Height() = xBottomDockingAreaWindow->getPosSize().Height;
-
- return aSize;
+
+ return aContainerWinSize;
}
Reference< XUIElement > LayoutManager::implts_createElement( const rtl::OUString& aName )
{
- Reference< ::com::sun::star::ui::XUIElement > xUIElement;
+ Reference< ui::XUIElement > xUIElement;
ReadGuard aReadLock( m_aLock );
Sequence< PropertyValue > aPropSeq( 2 );
@@ -3054,124 +749,42 @@ Reference< XUIElement > LayoutManager::implts_createElement( const rtl::OUString
{
xUIElement = m_xUIElementFactoryManager->createUIElement( aName, aPropSeq );
}
- catch ( NoSuchElementException& )
- {
- }
- catch ( IllegalArgumentException& )
- {
- }
+ catch ( NoSuchElementException& ) {}
+ catch ( IllegalArgumentException& ) {}
return xUIElement;
}
-Reference< css::awt::XWindowPeer > LayoutManager::implts_createToolkitWindow( const Reference< css::awt::XWindowPeer >& rParent )
-{
- Reference< css::awt::XWindowPeer > xPeer;
- css::uno::Reference< css::awt::XToolkit > xToolkit( m_xSMGR->createInstance( SERVICENAME_VCLTOOLKIT ), css::uno::UNO_QUERY );
- if ( xToolkit.is() )
- {
- // describe window properties.
- css::awt::WindowDescriptor aDescriptor;
- aDescriptor.Type = css::awt::WindowClass_SIMPLE ;
- aDescriptor.WindowServiceName = DECLARE_ASCII("dockingarea") ;
- aDescriptor.ParentIndex = -1 ;
- aDescriptor.Parent = css::uno::Reference< css::awt::XWindowPeer >( rParent, UNO_QUERY ) ;
- aDescriptor.Bounds = css::awt::Rectangle(0,0,0,0) ;
- aDescriptor.WindowAttributes = 0 ;
-
- // create a docking area window
- xPeer = xToolkit->createWindow( aDescriptor );
- }
-
- return xPeer;
-}
-
void LayoutManager::implts_setVisibleState( sal_Bool bShow )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- pIter->m_bMasterHide = !bShow;
m_aStatusBarElement.m_bMasterHide = !bShow;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
implts_updateUIElementsVisibleState( bShow );
- //implts_doLayout( sal_False );
}
void LayoutManager::implts_updateUIElementsVisibleState( sal_Bool bSetVisible )
{
// notify listeners
- css::uno::Any a;
+ uno::Any a;
if ( bSetVisible )
- implts_notifyListeners( css::frame::LayoutManagerEvents::VISIBLE, a );
+ implts_notifyListeners( frame::LayoutManagerEvents::VISIBLE, a );
else
- implts_notifyListeners( css::frame::LayoutManagerEvents::INVISIBLE, a );
- std::vector< Reference< css::awt::XWindow > > aWinVector;
- sal_Bool bOld;
-
- {
- WriteGuard aWriteLock( m_aLock );
- m_bDoLayout = sal_True;
- bOld = m_bDoLayout;
- }
-
- ReadGuard aReadLock( m_aLock );
- aWinVector.reserve(m_aUIElements.size());
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- if ( xWindow.is() )
- {
- if ( bSetVisible )
- {
- if ( pIter->m_bVisible && !pIter->m_bMasterHide )
- aWinVector.push_back( xWindow );
- }
- else
- aWinVector.push_back( xWindow );
- }
- }
- }
-
- aReadLock.unlock();
-
- try
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- const sal_uInt32 nCount = aWinVector.size();
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- Reference< css::awt::XWindow > xWindow( aWinVector[i] );
- if ( xWindow.is() )
- {
- // we need VCL here to pass special flags to Show()
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if( pWindow )
- pWindow->Show( bSetVisible, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- }
- }
- }
- catch ( DisposedException& )
- {
- }
+ implts_notifyListeners( frame::LayoutManagerEvents::INVISIBLE, a );
+ std::vector< Reference< awt::XWindow > > aWinVector;
- // Hide/show menubar according to bSetVisible
- aReadLock.lock();
- Reference< XUIElement > xMenuBar( m_xMenuBar, UNO_QUERY );
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
- Reference< XComponent > xInplaceMenuBar( m_xInplaceMenuBar );
- MenuBarManager* pInplaceMenuBar( m_pInplaceMenuBar );
- aReadLock.unlock();
+ WriteGuard aWriteLock( m_aLock );
+ Reference< XUIElement > xMenuBar( m_xMenuBar, UNO_QUERY );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< XComponent > xInplaceMenuBar( m_xInplaceMenuBar );
+ MenuBarManager* pInplaceMenuBar( m_pInplaceMenuBar );
+ aWriteLock.unlock();
+ bool bMustDoLayout(false);
if (( xMenuBar.is() || xInplaceMenuBar.is() ) && xContainerWindow.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
MenuBar* pMenuBar( 0 );
if ( xInplaceMenuBar.is() )
@@ -3182,103 +795,59 @@ void LayoutManager::implts_updateUIElementsVisibleState( sal_Bool bSetVisible )
pMenuBar = (MenuBar *)pMenuBarWrapper->GetMenuBarManager()->GetMenuBar();
}
- Window* pWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow )
+ SystemWindow* pSysWindow = getTopSystemWindow( xContainerWindow );
+ if ( pSysWindow )
{
- SystemWindow* pSysWindow = (SystemWindow *)pWindow;
if ( bSetVisible )
pSysWindow->SetMenuBar( pMenuBar );
else
pSysWindow->SetMenuBar( 0 );
+ bMustDoLayout = true;
}
}
// Hide/show the statusbar according to bSetVisible
if ( bSetVisible )
- implts_showStatusBar();
+ bMustDoLayout = !implts_showStatusBar();
else
- implts_hideStatusBar();
+ bMustDoLayout = !implts_hideStatusBar();
- if ( !bOld )
- {
- WriteGuard aWriteLock( m_aLock );
- m_bDoLayout = sal_False;
- }
+ aWriteLock.lock();
+ uno::Reference< ui::XUIConfigurationListener > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aWriteLock.unlock();
- if ( bSetVisible )
- {
- implts_createNonContextSensitiveToolBars();
- implts_doLayout_notify( sal_False );
- }
- else
+ if ( pToolbarManager )
{
- // Set docking area window size to zero
- ReadGuard aReadLock2( m_aLock );
- Reference< css::awt::XWindow > xTopDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- Reference< css::awt::XWindow > xLeftDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT];
- Reference< css::awt::XWindow > xRightDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT];
- Reference< css::awt::XWindow > xBottomDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM];
- aReadLock2.unlock();
-
- try
- {
- if ( xTopDockingWindow.is() )
- xTopDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xLeftDockingWindow.is() )
- xLeftDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xRightDockingWindow.is() )
- xRightDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
- if ( xBottomDockingWindow.is() )
- xBottomDockingWindow->setPosSize( 0, 0, 0, 0, css::awt::PosSize::POSSIZE );
-
- WriteGuard aWriteLock( m_aLock );
- m_aDockingArea = css::awt::Rectangle();
- m_bMustDoLayout = sal_True;
- aWriteLock.unlock();
- }
- catch ( Exception& )
- {
- }
+ pToolbarManager->setVisible( bSetVisible );
+ bMustDoLayout = pToolbarManager->isLayoutDirty();
}
+
+ if ( bMustDoLayout )
+ implts_doLayout_notify( sal_False );
}
void LayoutManager::implts_setCurrentUIVisibility( sal_Bool bShow )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( !bShow && pIter->m_bVisible && pIter->m_xUIElement.is() )
- pIter->m_bMasterHide = true;
- else if ( bShow && pIter->m_bMasterHide )
- pIter->m_bMasterHide = false;
- }
-
if ( !bShow && m_aStatusBarElement.m_bVisible && m_aStatusBarElement.m_xUIElement.is() )
m_aStatusBarElement.m_bMasterHide = true;
else if ( bShow && m_aStatusBarElement.m_bVisible )
m_aStatusBarElement.m_bMasterHide = false;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
implts_updateUIElementsVisibleState( bShow );
}
void LayoutManager::implts_destroyStatusBar()
{
- Reference< XComponent > xCompStatusBar;
+ Reference< XComponent > xCompStatusBar;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_aStatusBarElement.m_aName = rtl::OUString();
xCompStatusBar = Reference< XComponent >( m_aStatusBarElement.m_xUIElement, UNO_QUERY );
m_aStatusBarElement.m_xUIElement.clear();
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( xCompStatusBar.is() )
xCompStatusBar->dispose();
@@ -3288,7 +857,6 @@ void LayoutManager::implts_destroyStatusBar()
void LayoutManager::implts_createStatusBar( const rtl::OUString& aStatusBarName )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
if ( !m_aStatusBarElement.m_xUIElement.is() )
{
@@ -3296,14 +864,13 @@ void LayoutManager::implts_createStatusBar( const rtl::OUString& aStatusBarName
m_aStatusBarElement.m_aName = aStatusBarName;
m_aStatusBarElement.m_xUIElement = implts_createElement( aStatusBarName );
}
+ aWriteLock.unlock();
implts_createProgressBar();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
void LayoutManager::implts_readStatusBarState( const rtl::OUString& rStatusBarName )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
if ( !m_aStatusBarElement.m_bStateRead )
{
@@ -3311,17 +878,15 @@ void LayoutManager::implts_readStatusBarState( const rtl::OUString& rStatusBarNa
if ( implts_readWindowStateData( rStatusBarName, m_aStatusBarElement ))
m_aStatusBarElement.m_bStateRead = sal_True;
}
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
void LayoutManager::implts_createProgressBar()
{
- Reference< XUIElement > xStatusBar;
+ Reference< XUIElement > xStatusBar;
Reference< XUIElement > xProgressBar;
Reference< XUIElement > xProgressBarBackup;
- Reference< css::awt::XWindow > xContainerWindow;
+ Reference< awt::XWindow > xContainerWindow;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
xStatusBar = Reference< XUIElement >( m_aStatusBarElement.m_xUIElement, UNO_QUERY );
xProgressBar = Reference< XUIElement >( m_aProgressBarElement.m_xUIElement, UNO_QUERY );
@@ -3329,7 +894,6 @@ void LayoutManager::implts_createProgressBar()
m_xProgressBarBackup.clear();
xContainerWindow = m_xContainerWindow;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
sal_Bool bRecycled = xProgressBarBackup.is();
ProgressBarWrapper* pWrapper = 0;
@@ -3342,14 +906,14 @@ void LayoutManager::implts_createProgressBar()
if ( xStatusBar.is() )
{
- Reference< css::awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
+ Reference< awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
pWrapper->setStatusBar( xWindow );
}
else
{
- Reference< css::awt::XWindow > xStatusBarWindow = pWrapper->getStatusBar();
+ Reference< awt::XWindow > xStatusBarWindow = pWrapper->getStatusBar();
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pStatusBarWnd = VCLUnoHelper::GetWindow( xStatusBarWindow );
if ( !pStatusBarWnd )
{
@@ -3357,7 +921,7 @@ void LayoutManager::implts_createProgressBar()
if ( pWindow )
{
StatusBar* pStatusBar = new StatusBar( pWindow, WinBits( WB_LEFT | WB_3DLOOK ) );
- Reference< css::awt::XWindow > xStatusBarWindow2( VCLUnoHelper::GetInterface( pStatusBar ));
+ Reference< awt::XWindow > xStatusBarWindow2( VCLUnoHelper::GetInterface( pStatusBar ));
pWrapper->setStatusBar( xStatusBarWindow2, sal_True );
}
}
@@ -3394,7 +958,7 @@ void LayoutManager::implts_backupProgressBarWrapper()
{
ProgressBarWrapper* pWrapper = (ProgressBarWrapper*)m_xProgressBarBackup.get();
if ( pWrapper )
- pWrapper->setStatusBar( Reference< css::awt::XWindow >(), sal_False );
+ pWrapper->setStatusBar( Reference< awt::XWindow >(), sal_False );
}
// prevent us from dispose() the m_aProgressBarElement.m_xUIElement inside implts_reset()
@@ -3415,9 +979,9 @@ void LayoutManager::implts_destroyProgressBar()
void LayoutManager::implts_setStatusBarPosSize( const ::Point& rPos, const ::Size& rSize )
{
- Reference< XUIElement > xStatusBar;
+ Reference< XUIElement > xStatusBar;
Reference< XUIElement > xProgressBar;
- Reference< css::awt::XWindow > xContainerWindow;
+ Reference< awt::XWindow > xContainerWindow;
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
@@ -3425,9 +989,9 @@ void LayoutManager::implts_setStatusBarPosSize( const ::Point& rPos, const ::Siz
xProgressBar = Reference< XUIElement >( m_aProgressBarElement.m_xUIElement, UNO_QUERY );
xContainerWindow = m_xContainerWindow;
- Reference< css::awt::XWindow > xWindow;
+ Reference< awt::XWindow > xWindow;
if ( xStatusBar.is() )
- xWindow = Reference< css::awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
+ xWindow = Reference< awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
else if ( xProgressBar.is() )
{
ProgressBarWrapper* pWrapper = (ProgressBarWrapper*)xProgressBar.get();
@@ -3439,7 +1003,7 @@ void LayoutManager::implts_setStatusBarPosSize( const ::Point& rPos, const ::Siz
if ( xWindow.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pParentWindow = VCLUnoHelper::GetWindow( xContainerWindow );
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pParentWindow && ( pWindow && pWindow->GetType() == WINDOW_STATUSBAR ))
@@ -3454,9 +1018,9 @@ void LayoutManager::implts_setStatusBarPosSize( const ::Point& rPos, const ::Siz
sal_Bool LayoutManager::implts_showProgressBar()
{
- Reference< XUIElement > xStatusBar;
+ Reference< XUIElement > xStatusBar;
Reference< XUIElement > xProgressBar;
- Reference< css::awt::XWindow > xWindow;
+ Reference< awt::XWindow > xWindow;
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
@@ -3469,7 +1033,7 @@ sal_Bool LayoutManager::implts_showProgressBar()
{
if ( xStatusBar.is() && !m_aStatusBarElement.m_bMasterHide )
{
- xWindow = Reference< css::awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
+ xWindow = Reference< awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
}
else if ( xProgressBar.is() )
{
@@ -3479,13 +1043,15 @@ sal_Bool LayoutManager::implts_showProgressBar()
}
}
aWriteLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pWindow )
{
if ( !pWindow->IsVisible() )
{
+ implts_setOffset( pWindow->GetSizePixel().Height() );
pWindow->Show();
implts_doLayout_notify( sal_False );
}
@@ -3498,7 +1064,7 @@ sal_Bool LayoutManager::implts_showProgressBar()
sal_Bool LayoutManager::implts_hideProgressBar()
{
Reference< XUIElement > xProgressBar;
- Reference< css::awt::XWindow > xWindow;
+ Reference< awt::XWindow > xWindow;
sal_Bool bHideStatusBar( sal_False );
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
@@ -3508,25 +1074,26 @@ sal_Bool LayoutManager::implts_hideProgressBar()
sal_Bool bInternalStatusBar( sal_False );
if ( xProgressBar.is() )
{
- Reference< css::awt::XWindow > xStatusBar;
+ Reference< awt::XWindow > xStatusBar;
ProgressBarWrapper* pWrapper = (ProgressBarWrapper*)xProgressBar.get();
if ( pWrapper )
xWindow = pWrapper->getStatusBar();
- Reference< css::ui::XUIElement > xStatusBarElement = m_aStatusBarElement.m_xUIElement;
+ Reference< ui::XUIElement > xStatusBarElement = m_aStatusBarElement.m_xUIElement;
if ( xStatusBarElement.is() )
- xStatusBar = Reference< css::awt::XWindow >( xStatusBarElement->getRealInterface(), UNO_QUERY );
+ xStatusBar = Reference< awt::XWindow >( xStatusBarElement->getRealInterface(), UNO_QUERY );
bInternalStatusBar = xStatusBar != xWindow;
}
m_aProgressBarElement.m_bVisible = sal_False;
implts_readStatusBarState( m_aStatusBarAlias );
bHideStatusBar = !m_aStatusBarElement.m_bVisible;
aWriteLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->IsVisible() &&
- ( bHideStatusBar || bInternalStatusBar ))
+ if ( pWindow && pWindow->IsVisible() && ( bHideStatusBar || bInternalStatusBar ))
{
+ implts_setOffset( 0 );
pWindow->Hide();
implts_doLayout_notify( sal_False );
return sal_True;
@@ -3537,23 +1104,23 @@ sal_Bool LayoutManager::implts_hideProgressBar()
sal_Bool LayoutManager::implts_showStatusBar( sal_Bool bStoreState )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- Reference< css::ui::XUIElement > xStatusBar = m_aStatusBarElement.m_xUIElement;
+ Reference< ui::XUIElement > xStatusBar = m_aStatusBarElement.m_xUIElement;
if ( bStoreState )
m_aStatusBarElement.m_bVisible = sal_True;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( xStatusBar.is() )
{
- Reference< css::awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
+ Reference< awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pWindow && !pWindow->IsVisible() )
{
+ implts_setOffset( pWindow->GetSizePixel().Height() );
pWindow->Show();
+ implts_doLayout_notify( sal_False );
return sal_True;
}
}
@@ -3563,23 +1130,23 @@ sal_Bool LayoutManager::implts_showStatusBar( sal_Bool bStoreState )
sal_Bool LayoutManager::implts_hideStatusBar( sal_Bool bStoreState )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- Reference< css::ui::XUIElement > xStatusBar = m_aStatusBarElement.m_xUIElement;
+ Reference< ui::XUIElement > xStatusBar = m_aStatusBarElement.m_xUIElement;
if ( bStoreState )
m_aStatusBarElement.m_bVisible = sal_False;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( xStatusBar.is() )
{
- Reference< css::awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
+ Reference< awt::XWindow > xWindow( xStatusBar->getRealInterface(), UNO_QUERY );
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pWindow && pWindow->IsVisible() )
{
+ implts_setOffset( 0 );
pWindow->Hide();
+ implts_doLayout_notify( sal_False );
return sal_True;
}
}
@@ -3587,15 +1154,27 @@ sal_Bool LayoutManager::implts_hideStatusBar( sal_Bool bStoreState )
return sal_False;
}
+void LayoutManager::implts_setOffset( const sal_Int32 nBottomOffset )
+{
+ ::Rectangle aOffsetRect;
+ setZeroRectangle( aOffsetRect );
+ aOffsetRect.setHeight( nBottomOffset );
+
+ // make sure that the toolbar manager refernence/pointer is valid
+ uno::Reference< ui::XUIConfigurationListener > xThis( m_xToolbarManager );
+ if ( xThis.is() )
+ m_pToolbarManager->setDockingAreaOffsets( aOffsetRect );
+}
+
void LayoutManager::implts_setInplaceMenuBar( const Reference< XIndexAccess >& xMergedMenuBar )
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- if ( !m_bInplaceMenuSet )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( !m_bInplaceMenuSet )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
// Reset old inplace menubar!
m_pInplaceMenuBar = 0;
@@ -3604,8 +1183,7 @@ throw (::com::sun::star::uno::RuntimeException)
m_xInplaceMenuBar.clear();
m_bInplaceMenuSet = sal_False;
- if ( m_xFrame.is() &&
- m_xContainerWindow.is() )
+ if ( m_xFrame.is() && m_xContainerWindow.is() )
{
rtl::OUString aModuleIdentifier;
Reference< XDispatchProvider > xDispatchProvider;
@@ -3614,50 +1192,40 @@ throw (::com::sun::star::uno::RuntimeException)
m_pInplaceMenuBar = new MenuBarManager( m_xSMGR, m_xFrame, m_xURLTransformer,xDispatchProvider, aModuleIdentifier, pMenuBar, sal_True, sal_True );
m_pInplaceMenuBar->SetItemContainer( xMergedMenuBar );
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
+ pSysWindow->SetMenuBar( pMenuBar );
- if ( pWindow )
- {
- SystemWindow* pSysWindow = (SystemWindow *)pWindow;
- pSysWindow->SetMenuBar( pMenuBar );
- }
-
- m_bInplaceMenuSet = sal_True;
+ m_bInplaceMenuSet = sal_True;
m_xInplaceMenuBar = Reference< XComponent >( (OWeakObject *)m_pInplaceMenuBar, UNO_QUERY );
}
aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
implts_updateMenuBarClose();
}
-
}
void LayoutManager::implts_resetInplaceMenuBar()
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_bInplaceMenuSet = sal_False;
// if ( m_xMenuBar.is() &&
if ( m_xContainerWindow.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
MenuBarWrapper* pMenuBarWrapper = SAL_STATIC_CAST( MenuBarWrapper*, m_xMenuBar.get() );
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow )
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
{
- SystemWindow* pSysWindow = (SystemWindow *)pWindow;
if ( pMenuBarWrapper )
- pSysWindow->SetMenuBar( (MenuBar *)pMenuBarWrapper->GetMenuBarManager()->GetMenuBar() );
- else
- pSysWindow->SetMenuBar( 0 );
+ pSysWindow->SetMenuBar( (MenuBar *)pMenuBarWrapper->GetMenuBarManager()->GetMenuBar() );
+ else
+ pSysWindow->SetMenuBar( 0 );
}
}
@@ -3666,21 +1234,14 @@ throw (::com::sun::star::uno::RuntimeException)
if ( m_xInplaceMenuBar.is() )
m_xInplaceMenuBar->dispose();
m_xInplaceMenuBar.clear();
-
- aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
void SAL_CALL LayoutManager::attachFrame( const Reference< XFrame >& xFrame )
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_xFrame = xFrame;
- aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- // if ( xFrame.is() )
- // xFrame->getContainerWindow()->addWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
void SAL_CALL LayoutManager::reset()
@@ -3688,7 +1249,6 @@ throw (RuntimeException)
{
sal_Bool bComponentAttached( sal_False );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
bComponentAttached = m_bComponentAttached;
aReadLock.unlock();
@@ -3697,13 +1257,13 @@ throw (RuntimeException)
}
void SAL_CALL LayoutManager::setInplaceMenuBar( sal_Int64 )
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
OSL_ENSURE( sal_False, "This method is obsolete and should not be used!\n" );
}
void SAL_CALL LayoutManager::resetInplaceMenuBar()
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
OSL_ENSURE( sal_False, "This method is obsolete and should not be used!\n" );
}
@@ -3713,45 +1273,42 @@ throw (::com::sun::star::uno::RuntimeException)
//---------------------------------------------------------------------------------------------------------
sal_Bool SAL_CALL LayoutManager::setMergedMenuBar(
const Reference< XIndexAccess >& xMergedMenuBar )
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
implts_setInplaceMenuBar( xMergedMenuBar );
- css::uno::Any a;
- implts_notifyListeners( css::frame::LayoutManagerEvents::MERGEDMENUBAR, a );
+ uno::Any a;
+ implts_notifyListeners( frame::LayoutManagerEvents::MERGEDMENUBAR, a );
return sal_True;
}
void SAL_CALL LayoutManager::removeMergedMenuBar()
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
implts_resetInplaceMenuBar();
}
-::com::sun::star::awt::Rectangle SAL_CALL LayoutManager::getCurrentDockingArea()
+awt::Rectangle SAL_CALL LayoutManager::getCurrentDockingArea()
throw ( RuntimeException )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
return m_aDockingArea;
}
Reference< XDockingAreaAcceptor > SAL_CALL LayoutManager::getDockingAreaAcceptor()
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
return m_xDockingAreaAcceptor;
}
-void SAL_CALL LayoutManager::setDockingAreaAcceptor( const Reference< ::com::sun::star::ui::XDockingAreaAcceptor >& xDockingAreaAcceptor )
+void SAL_CALL LayoutManager::setDockingAreaAcceptor( const Reference< ui::XDockingAreaAcceptor >& xDockingAreaAcceptor )
throw ( RuntimeException )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- if (( m_xDockingAreaAcceptor == xDockingAreaAcceptor ) ||
- !m_xFrame.is() )
+ if (( m_xDockingAreaAcceptor == xDockingAreaAcceptor ) || !m_xFrame.is() )
return;
// IMPORTANT: Be sure to stop layout timer if don't have a docking area acceptor!
@@ -3759,7 +1316,10 @@ throw ( RuntimeException )
m_aAsyncLayoutTimer.Stop();
sal_Bool bAutomaticToolbars( m_bAutomaticToolbars );
- std::vector< Reference< css::awt::XWindow > > oldDockingAreaWindows;
+ std::vector< Reference< awt::XWindow > > oldDockingAreaWindows;
+
+ uno::Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
if ( !xDockingAreaAcceptor.is() )
m_aAsyncLayoutTimer.Stop();
@@ -3767,45 +1327,31 @@ throw ( RuntimeException )
// Remove listener from old docking area acceptor
if ( m_xDockingAreaAcceptor.is() )
{
- Reference< css::awt::XWindow > xWindow( m_xDockingAreaAcceptor->getContainerWindow() );
+ Reference< awt::XWindow > xWindow( m_xDockingAreaAcceptor->getContainerWindow() );
if ( xWindow.is() && ( m_xFrame->getContainerWindow() != m_xContainerWindow || !xDockingAreaAcceptor.is() ) )
- xWindow->removeWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject * >( this ), UNO_QUERY ));
-
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT] );
- oldDockingAreaWindows.push_back( m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT] );
+ xWindow->removeWindowListener( Reference< awt::XWindowListener >( static_cast< OWeakObject * >( this ), UNO_QUERY ));
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT].clear();
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT].clear();
- m_aDockingArea = css::awt::Rectangle();
+ m_aDockingArea = awt::Rectangle();
+ if ( pToolbarManager )
+ pToolbarManager->resetDockingArea();
Window* pContainerWindow = VCLUnoHelper::GetWindow( xWindow );
if ( pContainerWindow )
pContainerWindow->RemoveChildEventListener( LINK( this, LayoutManager, WindowEventListener ) );
}
- // Set new docking area acceptor and add ourself as window listener on the container window.
- // Create our docking area windows which are parents for all docked windows.
- css::uno::Reference< css::awt::XWindow > xTopDockWindow;
- css::uno::Reference< css::awt::XWindow > xBottomDockWindow;
- css::uno::Reference< css::awt::XWindow > xLeftDockWindow;
- css::uno::Reference< css::awt::XWindow > xRightDockWindow;
-
- Reference< ::com::sun::star::ui::XDockingAreaAcceptor > xOldDockingAreaAcceptor( m_xDockingAreaAcceptor );
+ Reference< ui::XDockingAreaAcceptor > xOldDockingAreaAcceptor( m_xDockingAreaAcceptor );
m_xDockingAreaAcceptor = xDockingAreaAcceptor;
if ( m_xDockingAreaAcceptor.is() )
{
- m_aDockingArea = css::awt::Rectangle();
+ m_aDockingArea = awt::Rectangle();
m_xContainerWindow = m_xDockingAreaAcceptor->getContainerWindow();
m_xContainerTopWindow.set( m_xContainerWindow, UNO_QUERY );
- m_xContainerWindow->addWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
+ m_xContainerWindow->addWindowListener( Reference< awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
// we always must keep a connection to the window of our frame for resize events
if ( m_xContainerWindow != m_xFrame->getContainerWindow() )
- m_xFrame->getContainerWindow()->addWindowListener( Reference< css::awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
+ m_xFrame->getContainerWindow()->addWindowListener( Reference< awt::XWindowListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
// #i37884# set initial visibility state - in the plugin case the container window is already shown
// and we get no notification anymore
@@ -3816,32 +1362,15 @@ throw ( RuntimeException )
m_bParentWindowVisible = pContainerWindow->IsVisible();
}
- css::uno::Reference< css::awt::XWindowPeer > xParent( m_xContainerWindow, UNO_QUERY );
- xTopDockWindow = Reference< css::awt::XWindow >( implts_createToolkitWindow( xParent ), UNO_QUERY );
- xBottomDockWindow = Reference< css::awt::XWindow >( implts_createToolkitWindow( xParent ), UNO_QUERY );
- xLeftDockWindow = Reference< css::awt::XWindow >( implts_createToolkitWindow( xParent ), UNO_QUERY );
- xRightDockWindow = Reference< css::awt::XWindow >( implts_createToolkitWindow( xParent ), UNO_QUERY );
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP] = xTopDockWindow;
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM] = xBottomDockWindow;
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT] = xLeftDockWindow;
- m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT] = xRightDockWindow;
+ uno::Reference< awt::XWindowPeer > xParent( m_xContainerWindow, UNO_QUERY );
}
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( xDockingAreaAcceptor.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
- ::DockingAreaWindow* pWindow;
- pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xTopDockWindow ) );
- if( pWindow ) pWindow->SetAlign( WINDOWALIGN_TOP );
- pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xBottomDockWindow ) );
- if( pWindow ) pWindow->SetAlign( WINDOWALIGN_BOTTOM );
- pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xLeftDockWindow ) );
- if( pWindow ) pWindow->SetAlign( WINDOWALIGN_LEFT );
- pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xRightDockWindow ) );
- if( pWindow ) pWindow->SetAlign( WINDOWALIGN_RIGHT );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
// Add layout manager as listener to get notifications about toolbar button activties
Window* pContainerWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
@@ -3856,23 +1385,8 @@ throw ( RuntimeException )
if ( !oldDockingAreaWindows.empty() )
{
- const sal_uInt32 nCount = oldDockingAreaWindows.size();
- for ( sal_uInt32 i = 0; i < nCount; ++i )
- {
- if ( oldDockingAreaWindows[i].is() )
- {
- try
- {
- oldDockingAreaWindows[i]->dispose();
- }
- catch ( Exception& )
- {
- }
- }
- }
-
// Reset docking area size for our old docking area acceptor
- css::awt::Rectangle aEmptyRect;
+ awt::Rectangle aEmptyRect;
xOldDockingAreaAcceptor->setDockingAreaSpace( aEmptyRect );
}
@@ -3880,201 +1394,77 @@ throw ( RuntimeException )
{
if ( bAutomaticToolbars )
{
- implts_createAddonsToolBars(); // create addon toolbars
- implts_createCustomToolBars(); // create custom toolbars
- implts_createNonContextSensitiveToolBars();
+ lock();
+ pToolbarManager->createStaticToolbars();
+ unlock();
}
- implts_sortUIElements();
implts_doLayout( sal_True, sal_False );
}
}
void LayoutManager::implts_reparentChildWindows()
{
- UIElementVector aUIElementVector;
- UIElement aStatusBarElement;
- css::uno::Reference< css::awt::XWindow > xTopDockWindow;
- css::uno::Reference< css::awt::XWindow > xBottomDockWindow;
- css::uno::Reference< css::awt::XWindow > xLeftDockWindow;
- css::uno::Reference< css::awt::XWindow > xRightDockWindow;
- css::uno::Reference< css::awt::XWindow > xContainerWindow;
- css::uno::Reference< css::awt::XWindow > xStatusBarWindow;
-
WriteGuard aWriteLock( m_aLock );
- aUIElementVector = m_aUIElements;
- xTopDockWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- xBottomDockWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM];
- xLeftDockWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT];
- xRightDockWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT];
- xContainerWindow = m_xContainerWindow;
- aStatusBarElement = m_aStatusBarElement;
+ UIElement aStatusBarElement = m_aStatusBarElement;
+ uno::Reference< awt::XWindow > xContainerWindow = m_xContainerWindow;
aWriteLock.unlock();
+ uno::Reference< awt::XWindow > xStatusBarWindow;
if ( aStatusBarElement.m_xUIElement.is() )
{
try
{
- xStatusBarWindow = Reference< css::awt::XWindow >(
- aStatusBarElement.m_xUIElement->getRealInterface(),
- UNO_QUERY );
- }
- catch ( RuntimeException& )
- {
- throw;
- }
- catch ( Exception& )
- {
+ xStatusBarWindow = Reference< awt::XWindow >( aStatusBarElement.m_xUIElement->getRealInterface(), UNO_QUERY );
}
+ catch ( RuntimeException& ) { throw; }
+ catch ( Exception& ) {}
}
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- Window* pTopDockWindow = VCLUnoHelper::GetWindow( xTopDockWindow );
- Window* pBottomDockWindow = VCLUnoHelper::GetWindow( xBottomDockWindow );
- Window* pLeftDockWindow = VCLUnoHelper::GetWindow( xLeftDockWindow );
- Window* pRightDockWindow = VCLUnoHelper::GetWindow( xRightDockWindow );
- if ( pContainerWindow )
+
+ if ( xStatusBarWindow.is() )
{
- UIElementVector::iterator pIter;
- for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
- {
- Reference< XUIElement > xUIElement( pIter->m_xUIElement );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow;
- try
- {
- // We have to retreive the window reference with try/catch as it is
- // possible that all elements has been disposed!
- xWindow = Reference< css::awt::XWindow >( xUIElement->getRealInterface(), UNO_QUERY );
- }
- catch ( RuntimeException& )
- {
- throw;
- }
- catch ( Exception& )
- {
- }
-
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- {
- // Reparent our child windows acording to their current state.
- if ( pIter->m_bFloating )
- pWindow->SetParent( pContainerWindow );
- else
- {
- if ( pIter->m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_TOP )
- pWindow->SetParent( pTopDockWindow );
- else if ( pIter->m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_BOTTOM )
- pWindow->SetParent( pBottomDockWindow );
- else if ( pIter->m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_LEFT )
- pWindow->SetParent( pLeftDockWindow );
- else
- pWindow->SetParent( pRightDockWindow );
- }
- }
- }
- }
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ Window* pWindow = VCLUnoHelper::GetWindow( xStatusBarWindow );
+ if ( pWindow && pContainerWindow )
+ pWindow->SetParent( pContainerWindow );
+ }
- if ( xStatusBarWindow.is() )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( xStatusBarWindow );
- if ( pWindow )
- pWindow->SetParent( pContainerWindow );
- }
+ implts_resetMenuBar();
+
+ aWriteLock.lock();
+ uno::Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ if ( pToolbarManager )
+ pToolbarManager->setParentWindow( uno::Reference< awt::XWindowPeer >( xContainerWindow, uno::UNO_QUERY ));
+ aWriteLock.unlock();
+}
- implts_resetMenuBar();
- }
+uno::Reference< ui::XUIElement > LayoutManager::implts_createDockingWindow( const ::rtl::OUString& aElementName )
+{
+ Reference< XUIElement > xUIElement = implts_createElement( aElementName );
+ return xUIElement;
}
IMPL_LINK( LayoutManager, WindowEventListener, VclSimpleEvent*, pEvent )
{
- // To enable toolbar controllers to change their image when a sub-toolbar function
- // is activated, we need this mechanism. We have NO connection between these toolbars
- // anymore!
+ long nResult( 1 );
+
if ( pEvent && pEvent->ISA( VclWindowEvent ))
{
- if ( pEvent->GetId() == VCLEVENT_TOOLBOX_SELECT )
- {
- Window* pWindow( ((VclWindowEvent*)pEvent)->GetWindow() );
- ToolBox* pToolBox( 0 );
- rtl::OUString aToolbarName;
- rtl::OUString aCommand;
-
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- {
- pToolBox = (ToolBox *)pWindow;
- aToolbarName = rtl::OStringToOUString( pToolBox->GetHelpId(), RTL_TEXTENCODING_UTF8 );
- sal_Int32 i = aToolbarName.lastIndexOf( ':' );
- if (( aToolbarName.getLength() > 0 ) &&
- ( i > 0 ) && (( i+ 1 ) < aToolbarName.getLength() ))
- {
- // Remove ".HelpId:" protocol from toolbar name
- aToolbarName = aToolbarName.copy( i+1 );
-
- sal_uInt16 nId = pToolBox->GetCurItemId();
- if ( nId > 0 )
- aCommand = pToolBox->GetItemCommand( nId );
- }
- }
-
- if (( aToolbarName.getLength() > 0 ) && ( aCommand.getLength() > 0 ))
- {
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- ReadGuard aReadLock( m_aLock );
- std::vector< css::uno::Reference< css::ui::XUIFunctionListener > > aListenerArray;
- UIElementVector::iterator pIter;
-
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aType.equalsAscii( "toolbar" ) &&
- pIter->m_xUIElement.is() )
- {
- css::uno::Reference< css::ui::XUIFunctionListener > xListener( pIter->m_xUIElement, UNO_QUERY );
- if ( xListener.is() )
- aListenerArray.push_back( xListener );
- }
- }
- aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- const sal_uInt32 nCount = aListenerArray.size();
- for ( sal_uInt32 i = 0; i < nCount; ++i )
- {
- try
- {
- aListenerArray[i]->functionExecute( aToolbarName, aCommand );
- }
- catch ( RuntimeException& e )
- {
- throw e;
- }
- catch ( Exception& ) {}
- }
- }
- }
- else if ( pEvent->GetId() == VCLEVENT_TOOLBOX_FORMATCHANGED )
+ Window* pWindow = static_cast< VclWindowEvent* >(pEvent)->GetWindow();
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
+ uno::Reference< ui::XUIConfigurationListener > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aReadLock.unlock();
- Window* pWindow( ((VclWindowEvent*)pEvent)->GetWindow() );
- ToolBox* pToolBox( 0 );
- rtl::OUString aToolbarName;
-
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- {
- pToolBox = (ToolBox *)pWindow;
- aToolbarName = rtl::OStringToOUString( pToolBox->GetHelpId(), RTL_TEXTENCODING_UTF8 );
- if (( aToolbarName.getLength() > 0 ) && ( m_nLockCount == 0 ))
- m_aAsyncLayoutTimer.Start();
- }
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ if ( pToolbarManager )
+ nResult = pToolbarManager->childWindowEvent( pEvent );
}
}
- return 1;
+ return nResult;
}
void SAL_CALL LayoutManager::createElement( const ::rtl::OUString& aName )
@@ -4082,13 +1472,11 @@ throw (RuntimeException)
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::createElement" );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
Reference< XFrame > xFrame = m_xFrame;
Reference< XURLTransformer > xURLTransformer = m_xURLTransformer;
sal_Bool bInPlaceMenu = m_bInplaceMenuSet;
aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( !xFrame.is() )
return;
@@ -4098,105 +1486,35 @@ throw (RuntimeException)
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- sal_Bool bFound( sal_False );
- sal_Bool bNotify( sal_False );
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- Reference< ::com::sun::star::ui::XUIElement > xUIElement;
-
- implts_findElement( aName, aElementType, aElementName, xUIElement );
- bFound = xUIElement.is();
-
- if ( /*xFrame.is() && */m_xContainerWindow.is() && !implts_isPreviewModel( xModel ) ) // no bars on preview mode
+ bool bMustBeLayouted( false );
+ bool bNotify( false );
+
+ if ( m_xContainerWindow.is() && !implts_isPreviewModel( xModel ) ) // no UI elements on preview frames
{
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
- {
- if ( !bFound )
- {
- SvtCommandOptions aCmdOptions;
-
- xUIElement = implts_createElement( aName );
- sal_Bool bVisible( sal_False );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xUIElement->getRealInterface(), UNO_QUERY );
- if ( xDockWindow.is() && xWindow.is() )
- {
- try
- {
- xDockWindow->addDockableWindowListener( Reference< css::awt::XDockableWindowListener >(
- static_cast< OWeakObject * >( this ), UNO_QUERY ));
- xWindow->addWindowListener( Reference< css::awt::XWindowListener >(
- static_cast< OWeakObject * >( this ), UNO_QUERY ));
- xDockWindow->enableDocking( sal_True );
- }
- catch ( Exception& )
- {
- }
- }
-
- UIElement& rElement = impl_findElement( aName );
- if ( rElement.m_aName.getLength() > 0 )
- {
- // Reuse a local entry so we are able to use the latest
- // UI changes for this document.
- implts_setElementData( rElement, xDockWindow );
- rElement.m_xUIElement = xUIElement;
- bVisible = rElement.m_bVisible;
- }
- else
- {
- // Create new UI element and try to read its state data
- UIElement aNewToolbar( aName, aElementType, xUIElement );
- implts_readWindowStateData( aName, aNewToolbar );
- implts_setElementData( aNewToolbar, xDockWindow );
- implts_insertUIElement( aNewToolbar );
- bVisible = aNewToolbar.m_bVisible;
- }
-
- // set toolbar menu style according to customize command state
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- {
- ToolBox* pToolbar = (ToolBox *)pWindow;
- sal_uInt16 nMenuType = pToolbar->GetMenuType();
- if ( aCmdOptions.Lookup( SvtCommandOptions::CMDOPTION_DISABLED, m_aCustomizeCmd ))
- pToolbar->SetMenuType( nMenuType & ~TOOLBOX_MENUTYPE_CUSTOMIZE );
- else
- pToolbar->SetMenuType( nMenuType | TOOLBOX_MENUTYPE_CUSTOMIZE );
- }
- }
- aWriteLock.unlock();
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
- implts_sortUIElements();
+ parseResourceURL( aName, aElementType, aElementName );
- if ( bVisible )
- {
- doLayout();
- bNotify = sal_True;
- }
- }
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ) && m_pToolbarManager != NULL )
+ {
+ bNotify = m_pToolbarManager->createToolbar( aName );
+ bMustBeLayouted = m_pToolbarManager->isLayoutDirty();
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
{
- if ( aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ) && !bInPlaceMenu )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- // PB 2004-12-15 #i38743# don't create a menubar if frame isn't top
- if ( !m_xMenuBar.is() && implts_isFrameOrWindowTop(xFrame) )
- m_xMenuBar = implts_createElement( aName );
-
- if ( m_xMenuBar.is() && implts_isFrameOrWindowTop(xFrame) )
+ // PB 2004-12-15 #i38743# don't create a menubar if frame isn't top
+ if ( !bInPlaceMenu && !m_xMenuBar.is() && implts_isFrameOrWindowTop( xFrame ))
{
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow )
+ m_xMenuBar = implts_createElement( aName );
+ if ( m_xMenuBar.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
{
- SystemWindow* pSysWindow = (SystemWindow *)pWindow;
- Reference< css::awt::XMenuBar > xMenuBar;
+ Reference< awt::XMenuBar > xMenuBar;
Reference< XPropertySet > xPropSet( m_xMenuBar, UNO_QUERY );
if ( xPropSet.is() )
@@ -4205,12 +1523,8 @@ throw (RuntimeException)
{
xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "XMenuBar" ))) >>= xMenuBar;
}
- catch ( com::sun::star::beans::UnknownPropertyException )
- {
- }
- catch ( com::sun::star::lang::WrappedTargetException )
- {
- }
+ catch ( beans::UnknownPropertyException ) {}
+ catch ( lang::WrappedTargetException ) {}
}
if ( xMenuBar.is() )
@@ -4224,9 +1538,7 @@ throw (RuntimeException)
pSysWindow->SetMenuBar( pMenuBar );
pMenuBar->SetDisplayable( m_bMenuVisible );
if ( m_bMenuVisible )
- {
bNotify = sal_True;
- }
implts_updateMenuBarClose();
}
}
@@ -4241,27 +1553,35 @@ throw (RuntimeException)
implts_createStatusBar( aName );
bNotify = sal_True;
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- implts_isFrameOrWindowTop(xFrame) )
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ) && implts_isFrameOrWindowTop(xFrame) )
{
implts_createProgressBar();
bNotify = sal_True;
}
else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
{
- aWriteLock.unlock();
-
+ // Add layout manager as listener for docking and other window events
+ uno::Reference< uno::XInterface > xThis( static_cast< OWeakObject* >(this), uno::UNO_QUERY );
+ uno::Reference< ui::XUIElement > xUIElement( implts_createDockingWindow( aName ));
+
+ if ( xUIElement.is() )
+ {
+ impl_addWindowListeners( xThis, xUIElement );
+ m_pPanelManager->addDockingWindow( aName, xUIElement );
+ }
+
// The docking window is created by a factory method located in the sfx2 library.
- CreateDockingWindow( xFrame, aElementName );
+// CreateDockingWindow( xFrame, aElementName );
}
}
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ if ( bMustBeLayouted )
+ implts_doLayout_notify( sal_True );
+
if ( bNotify )
{
// UI element is invisible - provide information to listeners
- implts_notifyListeners( css::frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( aName ) );
+ implts_notifyListeners( frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( aName ) );
}
}
@@ -4273,112 +1593,54 @@ throw (RuntimeException)
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- sal_Bool bMustLayouted( sal_False );
- sal_Bool bMustBeDestroyed( sal_False );
- sal_Bool bMustBeSorted( sal_False );
- sal_Bool bNotify( sal_False );
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
+ bool bMustBeLayouted( sal_False );
+ bool bMustBeDestroyed( sal_False );
+ bool bNotify( sal_False );
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
Reference< XComponent > xComponent;
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
+ parseResourceURL( aName, aElementType, aElementName );
+
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
{
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ if ( !m_bInplaceMenuSet )
{
- if ( !m_bInplaceMenuSet )
- {
- impl_clearUpMenuBar();
- m_xMenuBar.clear();
- bNotify = sal_True;
- }
+ impl_clearUpMenuBar();
+ m_xMenuBar.clear();
+ bNotify = true;
}
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == aName ))
- {
- aWriteLock.unlock();
- implts_destroyStatusBar();
- bMustLayouted = sal_True;
- bNotify = sal_True;
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ) )
- {
- aWriteLock.unlock();
- implts_createProgressBar();
- bMustLayouted = sal_True;
- bNotify = sal_True;
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
- {
- UIElementVector::iterator pIter;
-
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName )
- {
- xComponent.set( pIter->m_xUIElement, UNO_QUERY );
- Reference< XUIElement > xUIElement( pIter->m_xUIElement );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
-
- rtl::OUString aAddonTbResourceName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/addon_" ));
- if ( aName.indexOf( aAddonTbResourceName ) != 0 )
- {
- try
- {
- if ( xWindow.is() )
- xWindow->removeWindowListener( Reference< css::awt::XWindowListener >(
- static_cast< OWeakObject * >( this ), UNO_QUERY ));
- }
- catch( Exception& )
- {
- }
-
- try
- {
- if ( xDockWindow.is() )
- xDockWindow->removeDockableWindowListener( Reference< css::awt::XDockableWindowListener >(
- static_cast< OWeakObject * >( this ), UNO_QUERY ));
- }
- catch ( Exception& )
- {
- }
-
- bMustBeDestroyed = sal_True;
- }
- else
- {
- pIter->m_bVisible = sal_False;
- xWindow->setVisible( sal_False );
- bNotify = sal_True;
- }
-
- if ( !xDockWindow->isFloating() )
- bMustLayouted = sal_True;
- if ( bMustBeDestroyed )
- pIter->m_xUIElement.clear();
-
- bMustBeSorted = sal_True;
- }
-
- break;
- }
- }
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
- {
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR( m_xSMGR );
- aWriteLock.unlock();
+ }
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
+ ( m_aStatusBarElement.m_aName == aName ))
+ {
+ aWriteLock.unlock();
+ implts_destroyStatusBar();
+ bMustBeLayouted = true;
+ bNotify = true;
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
+ {
+ aWriteLock.unlock();
+ implts_createProgressBar();
+ bMustBeLayouted = true;
+ bNotify = sal_True;
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ) && m_pToolbarManager != NULL )
+ {
+ aWriteLock.unlock();
+ bNotify = m_pToolbarManager->destroyToolbar( aName );
+ bMustBeLayouted = m_pToolbarManager->isLayoutDirty();
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ {
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< lang::XMultiServiceFactory > xSMGR( m_xSMGR );
+ aWriteLock.unlock();
- impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, false );
- bMustLayouted = sal_False;
- bNotify = sal_False;
- }
+ impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, false );
+ bMustBeLayouted = false;
+ bNotify = false;
}
aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
@@ -4387,173 +1649,91 @@ throw (RuntimeException)
{
if ( xComponent.is() )
xComponent->dispose();
- bNotify = sal_True;
+ bNotify = true;
}
- if ( bMustBeSorted )
- {
- implts_sortUIElements();
- if ( bMustLayouted )
- doLayout();
- }
+ if ( bMustBeLayouted )
+ doLayout();
if ( bNotify )
- {
- // UI element is invisible - provide information to listeners
- implts_notifyListeners( css::frame::LayoutManagerEvents::UIELEMENT_INVISIBLE, uno::makeAny( aName ) );
- }
+ implts_notifyListeners( frame::LayoutManagerEvents::UIELEMENT_INVISIBLE, uno::makeAny( aName ) );
}
-::sal_Bool SAL_CALL LayoutManager::requestElement( const ::rtl::OUString& ResourceURL )
-throw (::com::sun::star::uno::RuntimeException)
+::sal_Bool SAL_CALL LayoutManager::requestElement( const ::rtl::OUString& rResourceURL )
+throw (uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::requestElement" );
+ bool bResult( false );
+ bool bNotify( false );
+ bool bDoLayout( false );
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- UIElementVector::iterator pIter;
- sal_Bool bResult( sal_False );
- sal_Bool bNotify( sal_False );
+ parseResourceURL( rResourceURL, aElementType, aElementName );
WriteGuard aWriteLock( m_aLock );
- if ( impl_parseResourceURL( ResourceURL, aElementType, aElementName ))
- {
- ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
- RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s", aResName.getStr() );
+
+ ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
+ RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s requested.", aResName.getStr() );
- if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == ResourceURL ))
- {
- implts_readStatusBarState( ResourceURL );
- if ( m_aStatusBarElement.m_bVisible && !m_aStatusBarElement.m_bMasterHide )
- {
- createElement( ResourceURL );
-
- // There are some situation where we are not able to create an element.
- // Therefore we have to check the reference before further action.
- // See #i70019#
- css::uno::Reference< css::ui::XUIElement > xUIElement( m_aStatusBarElement.m_xUIElement );
- if ( xUIElement.is() )
- {
- // we need VCL here to pass special flags to Show()
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- {
- pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- doLayout();
- bResult = sal_True;
- bNotify = sal_True;
- }
- }
- }
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ) )
+ if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == rResourceURL ))
+ {
+ implts_readStatusBarState( rResourceURL );
+ if ( m_aStatusBarElement.m_bVisible && !m_aStatusBarElement.m_bMasterHide )
{
aWriteLock.unlock();
- implts_showProgressBar();
- doLayout();
- bResult = sal_True;
- bNotify = sal_True;
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
- {
- if ( m_bVisible )
- {
- bool bFound( false );
- bool bShowElement( false );
+ createElement( rResourceURL );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ // There are some situation where we are not able to create an element.
+ // Therefore we have to check the reference before further action.
+ // See #i70019#
+ uno::Reference< ui::XUIElement > xUIElement( m_aStatusBarElement.m_xUIElement );
+ if ( xUIElement.is() )
+ {
+ // we need VCL here to pass special flags to Show()
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow )
{
- if ( pIter->m_aName == ResourceURL )
- {
- bFound = sal_True;
- bShowElement = ( pIter->m_bVisible && !pIter->m_bMasterHide && m_bParentWindowVisible );
-
- Reference< css::awt::XWindow2 > xContainerWindow( m_xContainerWindow, UNO_QUERY );
- if ( xContainerWindow.is() && pIter->m_bFloating )
- bShowElement = ( bShowElement && xContainerWindow->isActive() );
-
- if ( pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
-
- if ( xDockWindow.is() && xDockWindow->isFloating() )
- bShowElement = ( bShowElement && xContainerWindow->isActive() );
-
- if ( xDockWindow.is() && bShowElement )
- {
- pIter->m_bVisible = sal_True;
- aWriteLock.unlock();
-
- // we need VCL here to pass special flags to Show()
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if( pWindow && !pWindow->IsReallyVisible() )
- {
- pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- implts_writeNewStateData( ResourceURL, xWindow );
-
- if ( xDockWindow.is() && !xDockWindow->isFloating() )
- doLayout();
- bResult = sal_True;
- bNotify = sal_True;
- }
-
- bResult = sal_False;
- }
- } // if ( pIter->m_xUIElement.is() )
- break;
- }
- }
-
- // Create toolbar on demand when it's visible
- if ( !bResult )
- {
- Reference< ::com::sun::star::ui::XUIElement > xUIElement;
- if ( !bFound )
- {
- UIElement aNewToolbar( aElementName, aElementType, xUIElement );
- aNewToolbar.m_aName = ResourceURL;
- implts_readWindowStateData( ResourceURL, aNewToolbar );
- implts_insertUIElement( aNewToolbar );
- aWriteLock.unlock();
-
- implts_sortUIElements();
- if ( aNewToolbar.m_bVisible )
- createElement( ResourceURL );
- bResult = sal_True;
- bNotify = sal_True;
- }
- else if ( bShowElement )
- {
- aWriteLock.unlock();
-
- createElement( ResourceURL );
- bResult = sal_True;
- bNotify = sal_True;
- }
+ pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ bResult = true;
+ bNotify = true;
+ bDoLayout = true;
}
}
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ) )
+ {
+ aWriteLock.unlock();
+ implts_showProgressBar();
+ bResult = true;
+ bNotify = true;
+ bDoLayout = true;
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ) && m_bVisible )
+ {
+ bool bComponentAttached( m_aModuleIdentifier.getLength() > 0 );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aWriteLock.unlock();
+
+ if ( pToolbarManager && bComponentAttached )
{
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- aWriteLock.unlock();
+ bNotify = pToolbarManager->requestToolbar( rResourceURL );
+ bDoLayout = true;
+ }
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ {
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ aWriteLock.unlock();
- CreateDockingWindow( xFrame, aElementName );
- }
+ CreateDockingWindow( xFrame, aElementName );
}
if ( bNotify )
- {
- // UI element is visible - provide information to listeners
- implts_notifyListeners( css::frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( ResourceURL ) );
- }
+ implts_notifyListeners( frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( rResourceURL ) );
return bResult;
}
@@ -4561,50 +1741,54 @@ throw (::com::sun::star::uno::RuntimeException)
Reference< XUIElement > SAL_CALL LayoutManager::getElement( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- Reference< XUIElement > xElement;
+ Reference< XUIElement > xUIElement = implts_findElement( aName );
+ if ( !xUIElement.is() )
+ {
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aReadLock.unlock();
- implts_findElement( aName, aElementType, aElementName, xElement );
- return xElement;
+ if ( pToolbarManager )
+ xUIElement = pToolbarManager->getToolbar( aName );
+ }
+
+ return xUIElement;
}
-Sequence< Reference< ::com::sun::star::ui::XUIElement > > SAL_CALL LayoutManager::getElements()
-throw (::com::sun::star::uno::RuntimeException)
+Sequence< Reference< ui::XUIElement > > SAL_CALL LayoutManager::getElements()
+throw (uno::RuntimeException)
{
- ReadGuard aReadLock( m_aLock );
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< ui::XUIElement > xMenuBar( m_xMenuBar );
+ uno::Reference< ui::XUIElement > xStatusBar( m_aStatusBarElement.m_xUIElement );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aReadLock.unlock();
- sal_Bool bMenuBar( sal_False );
- sal_Bool bStatusBar( sal_False );
- sal_Int32 nSize = m_aUIElements.size();
+ Sequence< Reference< ui::XUIElement > > aSeq;
+ if ( pToolbarManager )
+ aSeq = pToolbarManager->getToolbars();
- if ( m_xMenuBar.is() )
+ sal_Int32 nSize = aSeq.getLength();
+ sal_Int32 nMenuBarIndex(-1);
+ sal_Int32 nStatusBarIndex(-1);
+ if ( xMenuBar.is() )
{
+ nMenuBarIndex = nSize;
++nSize;
- bMenuBar = sal_True;
}
- if ( m_aStatusBarElement.m_xUIElement.is() )
+ if ( xStatusBar.is() )
{
+ nStatusBarIndex = nSize;
++nSize;
- bStatusBar = sal_True;
- }
-
- Sequence< Reference< ::com::sun::star::ui::XUIElement > > aSeq( nSize );
-
- sal_Int32 nIndex = 0;
- UIElementVector::const_iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- aSeq[nIndex++] = pIter->m_xUIElement;
}
- if ( bMenuBar )
- aSeq[nIndex++] = m_xMenuBar;
- if ( bStatusBar )
- aSeq[nIndex++] = m_aStatusBarElement.m_xUIElement;
- // Resize sequence as we now know our correct size
- aSeq.realloc( nIndex );
+ aSeq.realloc(nSize);
+ if ( nMenuBarIndex >= 0 )
+ aSeq[nMenuBarIndex] = xMenuBar;
+ if ( nStatusBarIndex >= 0 )
+ aSeq[nStatusBarIndex] = xStatusBar;
return aSeq;
}
@@ -4614,115 +1798,80 @@ throw (RuntimeException)
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::showElement" );
- sal_Bool bResult( sal_False );
- sal_Bool bNotify( sal_False );
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
+ bool bResult( false );
+ bool bNotify( false );
+ bool bMustLayout( false );
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+
+ parseResourceURL( aName, aElementType, aElementName );
+
+ ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
+ RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s", aResName.getStr() );
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
{
- ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
- RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s", aResName.getStr() );
+ WriteGuard aWriteLock( m_aLock );
+ m_bMenuVisible = sal_True;
+ aWriteLock.unlock();
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ bResult = implts_resetMenuBar();
+ bNotify = bResult;
+ }
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == aName ))
+ {
+ WriteGuard aWriteLock( m_aLock );
+ if ( m_aStatusBarElement.m_xUIElement.is() && !m_aStatusBarElement.m_bMasterHide &&
+ implts_showStatusBar( sal_True ))
{
- WriteGuard aWriteLock( m_aLock );
- m_bMenuVisible = sal_True;
aWriteLock.unlock();
- bResult = implts_resetMenuBar();
- bNotify = bResult;
- }
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == aName ))
- {
- WriteGuard aWriteLock( m_aLock );
- if ( m_aStatusBarElement.m_xUIElement.is() &&
- !m_aStatusBarElement.m_bMasterHide )
- {
- if ( implts_showStatusBar( sal_True ))
- {
- implts_writeWindowStateData( m_aStatusBarAlias, m_aStatusBarElement );
- doLayout();
- bResult = sal_True;
- bNotify = sal_True;
- }
- }
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
- {
- bNotify = bResult = implts_showProgressBar();
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
- {
- UIElementVector::iterator pIter;
-
- WriteGuard aWriteLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
- {
- UIElement aUIElement = *pIter;
- Reference< css::awt::XWindow > xWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
-
- sal_Bool bShowElement( !pIter->m_bMasterHide && m_bParentWindowVisible );
-
- pIter->m_bVisible = sal_True;
- aWriteLock.unlock();
-
- implts_writeWindowStateData( aUIElement.m_aName, aUIElement );
- implts_sortUIElements();
-
- if ( xDockWindow.is() && bShowElement )
- {
- // we need VCL here to pass special flags to Show()
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if( pWindow )
- {
- pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
- bNotify = sal_True;
- }
- implts_writeNewStateData( aName, xWindow );
-
- if ( xDockWindow.is() && !xDockWindow->isFloating() )
- doLayout();
-
- bResult = sal_True;
- } // if ( xDockWindow.is() && bShowElement )
- break;
- }
- }
+ implts_writeWindowStateData( m_aStatusBarAlias, m_aStatusBarElement );
+ bMustLayout = true;
+ bResult = true;
+ bNotify = true;
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
- {
- ReadGuard aReadGuard( m_aLock );
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR( m_xSMGR );
- aReadGuard.unlock();
-
- impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, true );
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolpanel" ))
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
+ {
+ bNotify = bResult = implts_showProgressBar();
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
+ {
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindowListener > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
{
- ReadGuard aReadGuard( m_aLock );
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- aReadGuard.unlock();
-
- ActivateToolPanel( m_xFrame, aName );
+ bNotify = pToolbarManager->showToolbar( aName );
+ bMustLayout = pToolbarManager->isLayoutDirty();
}
}
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ {
+ ReadGuard aReadGuard( m_aLock );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< lang::XMultiServiceFactory > xSMGR( m_xSMGR );
+ aReadGuard.unlock();
- if ( bNotify )
+ impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, true );
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolpanel" ))
{
- // UI element is visible - provide information to listeners
- implts_notifyListeners( css::frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( aName ) );
+ ReadGuard aReadGuard( m_aLock );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ aReadGuard.unlock();
+ ActivateToolPanel( m_xFrame, aName );
}
+ if ( bMustLayout )
+ doLayout();
+
+ if ( bNotify )
+ implts_notifyListeners( frame::LayoutManagerEvents::UIELEMENT_VISIBLE, uno::makeAny( aName ) );
+
return bResult;
}
@@ -4731,479 +1880,240 @@ throw (RuntimeException)
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::hideElement" );
+ bool bResult( false );
+ bool bNotify( false );
+ bool bMustLayout( false );
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
- sal_Bool bResult( sal_False );
- sal_Bool bNotify( sal_False );
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
+ parseResourceURL( aName, aElementType, aElementName );
+ ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
+ RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s", aResName.getStr() );
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
{
- ::rtl::OString aResName = rtl::OUStringToOString( aElementName, RTL_TEXTENCODING_ASCII_US );
- RTL_LOGFILE_CONTEXT_TRACE1( aLog, "framework (cd100003) Element %s", aResName.getStr() );
-
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
- {
- WriteGuard aWriteLock( m_aLock );
-
- if ( m_xContainerWindow.is() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
+ WriteGuard aWriteLock( m_aLock );
- m_bMenuVisible = sal_False;
- if ( pWindow )
- {
- MenuBar* pMenuBar = ((SystemWindow *)pWindow)->GetMenuBar();
- if ( pMenuBar )
- {
- pMenuBar->SetDisplayable( sal_False );
- bResult = sal_True;
- bNotify = sal_True;
- }
- }
- }
- }
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == aName ))
+ if ( m_xContainerWindow.is() )
{
- WriteGuard aWriteLock( m_aLock );
- if ( m_aStatusBarElement.m_xUIElement.is() &&
- !m_aStatusBarElement.m_bMasterHide )
+ m_bMenuVisible = sal_False;
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
{
- if ( implts_hideStatusBar( sal_True ))
+ MenuBar* pMenuBar = pSysWindow->GetMenuBar();
+ if ( pMenuBar )
{
- implts_writeWindowStateData( m_aStatusBarAlias, m_aStatusBarElement );
- doLayout();
- bNotify = sal_True;
- bResult = sal_True;
+ pMenuBar->SetDisplayable( sal_False );
+ bResult = true;
+ bNotify = true;
}
}
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
- {
- bResult = bNotify = implts_hideProgressBar();
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
+ }
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == aName ))
+ {
+ WriteGuard aWriteLock( m_aLock );
+ if ( m_aStatusBarElement.m_xUIElement.is() && !m_aStatusBarElement.m_bMasterHide &&
+ implts_hideStatusBar( sal_True ))
{
- UIElementVector::iterator pIter;
-
- WriteGuard aWriteLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
-
- if ( xDockWindow.is() )
- {
- pIter->m_bVisible = sal_False;
- aWriteLock.unlock();
-
- xWindow->setVisible( sal_False );
- implts_writeNewStateData( aName, xWindow );
-
- if ( xDockWindow.is() && !xDockWindow->isFloating() )
- doLayout();
-
- bResult = sal_True;
- bNotify = sal_True;
- } // if ( xDockWindow.is() )
- break;
- }
- }
+ implts_writeWindowStateData( m_aStatusBarAlias, m_aStatusBarElement );
+ bMustLayout = sal_True;
+ bNotify = sal_True;
+ bResult = sal_True;
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
- {
- ReadGuard aReadGuard( m_aLock );
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR( m_xSMGR );
- aReadGuard.unlock();
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" ))
+ {
+ bResult = bNotify = implts_hideProgressBar();
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
+ {
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ bNotify = pToolbarManager->hideToolbar( aName );
+ bMustLayout = pToolbarManager->isLayoutDirty();
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ {
+ ReadGuard aReadGuard( m_aLock );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< lang::XMultiServiceFactory > xSMGR( m_xSMGR );
+ aReadGuard.unlock();
- impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, false );
- }
+ impl_setDockingWindowVisibility( xSMGR, xFrame, aElementName, false );
}
+ if ( bMustLayout )
+ doLayout();
+
if ( bNotify )
- {
- // UI element is visible - provide information to listeners
- implts_notifyListeners( css::frame::LayoutManagerEvents::UIELEMENT_INVISIBLE, uno::makeAny( aName ) );
- }
+ implts_notifyListeners( frame::LayoutManagerEvents::UIELEMENT_INVISIBLE, uno::makeAny( aName ) );
return sal_False;
}
-sal_Bool SAL_CALL LayoutManager::dockWindow( const ::rtl::OUString& aName, DockingArea DockingArea, const css::awt::Point& Pos )
+sal_Bool SAL_CALL LayoutManager::dockWindow( const ::rtl::OUString& aName, DockingArea DockingArea, const awt::Point& Pos )
throw (RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( aName, aUIElement ) && aUIElement.m_xUIElement.is() )
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+
+ parseResourceURL( aName, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow.is() )
- {
- if ( DockingArea != DockingArea_DOCKINGAREA_DEFAULT )
- aUIElement.m_aDockedData.m_nDockedArea = sal_Int16( DockingArea );
-
- if (( Pos.X != SAL_MAX_INT32 ) && ( Pos.Y != SAL_MAX_INT32 ))
- aUIElement.m_aDockedData.m_aPos = ::Point( Pos.X, Pos.Y );
-
- if ( !xDockWindow->isFloating() )
- {
- Window* pWindow( 0 );
- ToolBox* pToolBox( 0 );
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- {
- pToolBox = (ToolBox *)pWindow;
-
- // We have to set the alignment of the toolbox. It's possible that the toolbox is moved from a
- // horizontal to a vertical docking area!
- pToolBox->SetAlign( ImplConvertAlignment( aUIElement.m_aDockedData.m_nDockedArea ));
- }
- }
-
- if (( aUIElement.m_aDockedData.m_aPos.X() == SAL_MAX_INT32 ) ||
- ( aUIElement.m_aDockedData.m_aPos.Y() == SAL_MAX_INT32 ))
- {
- // Docking on its default position without a preset position -
- // we have to find a good place for it.
- ::Size aSize;
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- {
- if ( pToolBox )
- aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( aUIElement.m_aDockedData.m_nDockedArea ) );
- else
- aSize = pWindow->GetSizePixel();
- }
-
- ::Point aPixelPos;
- ::Point aDockPos;
- implts_findNextDockingPos( (::com::sun::star::ui::DockingArea)aUIElement.m_aDockedData.m_nDockedArea,
- aSize,
- aDockPos,
- aPixelPos );
- aUIElement.m_aDockedData.m_aPos = aDockPos;
- }
- }
-
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIElement.m_aName );
- if ( rUIElement.m_aName == aName )
- {
- rUIElement.m_aDockedData.m_nDockedArea = aUIElement.m_aDockedData.m_nDockedArea;
- rUIElement.m_aDockedData.m_aPos = aUIElement.m_aDockedData.m_aPos;
- }
- aWriteLock.unlock();
-
- if ( xDockWindow->isFloating() )
- {
- // Will call toggle floating mode which will do the rest!
- xWindow->setVisible( sal_False );
- xDockWindow->setFloatingMode( sal_False );
- xWindow->setVisible( sal_True );
- }
- else
- {
- implts_writeWindowStateData( aName, aUIElement );
- implts_sortUIElements();
-
- if ( aUIElement.m_bVisible )
- doLayout();
- }
-
- return sal_True;
- }
- }
- catch ( DisposedException& )
- {
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ {
+ pToolbarManager->dockToolbar( aName, DockingArea, Pos );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
-
return sal_False;
}
-::sal_Bool SAL_CALL LayoutManager::dockAllWindows( ::sal_Int16 nElementType ) throw (::com::sun::star::uno::RuntimeException)
+::sal_Bool SAL_CALL LayoutManager::dockAllWindows( ::sal_Int16 /*nElementType*/ ) throw (uno::RuntimeException)
{
- if ( nElementType == UIElementType::TOOLBAR )
- {
- std::vector< rtl::OUString > aToolBarNameVector;
-
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
-
- {
- ReadGuard aReadLock( m_aLock );
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_aType.equalsAscii( "toolbar" ) &&
- pIter->m_xUIElement.is() &&
- pIter->m_bFloating &&
- pIter->m_bVisible )
- aToolBarNameVector.push_back( pIter->m_aName );
- }
- }
+ ReadGuard aReadLock( m_aLock );
+ bool bResult( false );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- const sal_uInt32 nCount = aToolBarNameVector.size();
- for ( sal_uInt32 i = 0; i < nCount; ++i )
- {
- ::com::sun::star::awt::Point aPoint;
- aPoint.X = aPoint.Y = SAL_MAX_INT32;
- dockWindow( aToolBarNameVector[i], DockingArea_DOCKINGAREA_DEFAULT, aPoint );
- }
+ if ( pToolbarManager )
+ {
+ bResult = pToolbarManager->dockAllToolbars();
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
-
- return sal_False;
+ return bResult;
}
sal_Bool SAL_CALL LayoutManager::floatWindow( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( aName, aUIElement ))
+ bool bResult( false );
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( aUIElement.m_xUIElement.is() )
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
{
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xWindow.is() && xDockWindow.is() )
- {
- if ( !xDockWindow->isFloating() )
- {
- xDockWindow->setFloatingMode( sal_True );
- return sal_True;
- }
- }
- }
- catch ( DisposedException& )
- {
- }
+ bResult = pToolbarManager->floatToolbar( aName );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
-
- return sal_False;
+ return bResult;
}
-::sal_Bool SAL_CALL LayoutManager::lockWindow( const ::rtl::OUString& ResourceURL )
-throw (::com::sun::star::uno::RuntimeException)
+::sal_Bool SAL_CALL LayoutManager::lockWindow( const ::rtl::OUString& aName )
+throw (uno::RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( ResourceURL, aUIElement ))
+ bool bResult( false );
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( aUIElement.m_xUIElement.is() )
- {
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow &&
- pWindow->IsVisible() &&
- xDockWindow.is() &&
- !xDockWindow->isFloating() )
- {
- aUIElement.m_aDockedData.m_bLocked = sal_True;
- implts_writeWindowStateData( ResourceURL, aUIElement );
- xDockWindow->lock();
-
- // Write back lock state
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIElement.m_aName );
- if ( rUIElement.m_aName == aUIElement.m_aName )
- rUIElement.m_aDockedData.m_bLocked = aUIElement.m_aDockedData.m_bLocked;
- aWriteLock.unlock();
-
- doLayout();
- return sal_True;
- }
- }
- catch ( DisposedException& )
- {
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ {
+ bResult = pToolbarManager->lockToolbar( aName );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
-
- return sal_False;
+ return bResult;
}
-::sal_Bool SAL_CALL LayoutManager::unlockWindow( const ::rtl::OUString& ResourceURL )
-throw (::com::sun::star::uno::RuntimeException)
+::sal_Bool SAL_CALL LayoutManager::unlockWindow( const ::rtl::OUString& aName )
+throw (uno::RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( ResourceURL, aUIElement ))
+ bool bResult( false );
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( aUIElement.m_xUIElement.is() )
- {
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow &&
- pWindow->IsVisible() &&
- xDockWindow.is() &&
- !xDockWindow->isFloating() )
- {
- aUIElement.m_aDockedData.m_bLocked = sal_False;
- implts_writeWindowStateData( ResourceURL, aUIElement );
- xDockWindow->unlock();
-
- // Write back lock state
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIElement.m_aName );
- if ( rUIElement.m_aName == aUIElement.m_aName )
- rUIElement.m_aDockedData.m_bLocked = aUIElement.m_aDockedData.m_bLocked;
- aWriteLock.unlock();
-
- doLayout();
- return sal_True;
- }
- }
- catch ( DisposedException& )
- {
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ {
+ bResult = pToolbarManager->unlockToolbar( aName );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
-
- return sal_False;
+ return bResult;
}
-void SAL_CALL LayoutManager::setElementSize( const ::rtl::OUString& aName, const css::awt::Size& aSize )
+void SAL_CALL LayoutManager::setElementSize( const ::rtl::OUString& aName, const awt::Size& aSize )
throw (RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( aName, aUIElement ))
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( aUIElement.m_xUIElement.is() )
- {
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XWindow2 > xWindow2( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xThis( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- if ( xWindow.is() && xWindow2.is() && xDockWindow.is() )
- {
- if ( aUIElement.m_bFloating )
- {
- xWindow2->setOutputSize( aSize );
- implts_writeNewStateData( aName, xWindow );
- }
- }
- }
- catch ( DisposedException& )
- {
- }
+ if ( pToolbarManager )
+ {
+ pToolbarManager->setToolbarSize( aName, aSize );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
}
-void SAL_CALL LayoutManager::setElementPos( const ::rtl::OUString& aName, const css::awt::Point& aPos )
+void SAL_CALL LayoutManager::setElementPos( const ::rtl::OUString& aName, const awt::Point& aPos )
throw (RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( aName, aUIElement ) && aUIElement.m_xUIElement.is() )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aReadLock.unlock();
- if ( xWindow.is() && xDockWindow.is() )
- {
- if ( aUIElement.m_bFloating )
- {
- xWindow->setPosSize( aPos.X, aPos.Y, 0, 0, css::awt::PosSize::POS );
- implts_writeNewStateData( aName, xWindow );
- }
- else
- {
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIElement.m_aName );
- if ( rUIElement.m_aName == aName )
- rUIElement.m_aDockedData.m_aPos = ::Point( aPos.X, aPos.Y );
- aWriteLock.unlock();
-
- aUIElement.m_aDockedData.m_aPos = ::Point( aPos.X, aPos.Y );
- implts_writeWindowStateData( aName, aUIElement );
- implts_sortUIElements();
-
- if ( aUIElement.m_bVisible )
- doLayout();
- }
- }
- }
- catch ( DisposedException& )
+ if ( pToolbarManager )
{
+ pToolbarManager->setToolbarPos( aName, aPos );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
}
-void SAL_CALL LayoutManager::setElementPosSize( const ::rtl::OUString& aName, const css::awt::Point& aPos, const css::awt::Size& aSize )
+void SAL_CALL LayoutManager::setElementPosSize( const ::rtl::OUString& aName, const awt::Point& aPos, const awt::Size& aSize )
throw (RuntimeException)
{
- UIElement aUIElement;
-
- if ( implts_findElement( aName, aUIElement ))
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( aUIElement.m_xUIElement.is() )
- {
- try
- {
- Reference< css::awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XWindow2 > xWindow2( aUIElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager( m_pToolbarManager );
+ aReadLock.unlock();
- if ( xWindow.is() && xWindow2.is() && xDockWindow.is() )
- {
- if ( aUIElement.m_bFloating )
- {
- xWindow2->setPosSize( aPos.X, aPos.Y, 0, 0, css::awt::PosSize::POS );
- xWindow2->setOutputSize( aSize );
- implts_writeNewStateData( aName, xWindow );
- }
- else
- {
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIElement.m_aName );
- if ( rUIElement.m_aName == aName )
- rUIElement.m_aDockedData.m_aPos = ::Point( aPos.X, aPos.Y );
- aWriteLock.unlock();
-
- aUIElement.m_aDockedData.m_aPos = ::Point( aPos.X, aPos.Y );
- implts_writeWindowStateData( aName, rUIElement );
- implts_sortUIElements();
-
- if ( aUIElement.m_bVisible )
- doLayout();
- }
- }
- }
- catch ( DisposedException& )
- {
- }
+ if ( pToolbarManager )
+ {
+ pToolbarManager->setToolbarPosSize( aName, aPos, aSize );
+ if ( pToolbarManager->isLayoutDirty() )
+ doLayout();
}
}
}
@@ -5214,84 +2124,66 @@ throw (RuntimeException)
::rtl::OUString aElementType;
::rtl::OUString aElementName;
- if ( impl_parseResourceURL( aName, aElementType, aElementName ))
+ parseResourceURL( aName, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
{
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ ReadGuard aReadLock( m_aLock );
+ if ( m_xContainerWindow.is() )
{
- ReadGuard aReadLock( m_aLock );
- if ( m_xContainerWindow.is() )
- {
- aReadLock.unlock();
+ aReadLock.unlock();
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow )
- {
- MenuBar* pMenuBar = ((SystemWindow *)pWindow)->GetMenuBar();
- if ( pMenuBar && pMenuBar->IsDisplayable() )
- return sal_True;
- }
- else
- {
- aReadLock.lock();
- return m_bMenuVisible;
- }
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ SystemWindow* pSysWindow = getTopSystemWindow( m_xContainerWindow );
+ if ( pSysWindow )
+ {
+ MenuBar* pMenuBar = pSysWindow->GetMenuBar();
+ if ( pMenuBar && pMenuBar->IsDisplayable() )
+ return sal_True;
}
- }
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) ||
- ( m_aStatusBarElement.m_aName == aName ))
- {
- if ( m_aStatusBarElement.m_xUIElement.is() )
+ else
{
- Reference< css::awt::XWindow > xWindow(
- m_aStatusBarElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- if ( xWindow.is() )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->IsVisible() )
- return sal_True;
- else
- return sal_False;
- }
+ aReadLock.lock();
+ return m_bMenuVisible;
}
}
- else if (( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" )))
- {
- if ( m_aProgressBarElement.m_xUIElement.is() )
- return m_aProgressBarElement.m_bVisible;
- }
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
+ }
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "statusbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "statusbar" )) || ( m_aStatusBarElement.m_aName == aName ))
+ {
+ if ( m_aStatusBarElement.m_xUIElement.is() )
{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ Reference< awt::XWindow > xWindow( m_aStatusBarElement.m_xUIElement->getRealInterface(), UNO_QUERY );
+ if ( xWindow.is() )
{
- if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- if ( xWindow.is() )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- return pWindow && pWindow->IsVisible();
- }
- }
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->IsVisible() )
+ return sal_True;
+ else
+ return sal_False;
}
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
- {
- ReadGuard aReadGuard( m_aLock );
- css::uno::Reference< css::frame::XFrame > xFrame( m_xFrame );
- aReadGuard.unlock();
+ }
+ else if (( aElementType.equalsIgnoreAsciiCaseAscii( "progressbar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "progressbar" )))
+ {
+ if ( m_aProgressBarElement.m_xUIElement.is() )
+ return m_aProgressBarElement.m_bVisible;
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
+ {
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< frame::XLayoutManager > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- return IsDockingWindowVisible( xFrame, aElementName );
- }
+ if ( pToolbarManager )
+ return pToolbarManager->isToolbarVisible( aName );
+ }
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( "dockingwindow" ))
+ {
+ ReadGuard aReadGuard( m_aLock );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ aReadGuard.unlock();
+
+ return IsDockingWindowVisible( xFrame, aElementName );
}
return sal_False;
@@ -5300,16 +2192,15 @@ throw (RuntimeException)
sal_Bool SAL_CALL LayoutManager::isElementFloating( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- return xDockWindow.is() && xDockWindow->isFloating();
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ return pToolbarManager->isToolbarFloating( aName );
}
return sal_False;
@@ -5318,93 +2209,69 @@ throw (RuntimeException)
sal_Bool SAL_CALL LayoutManager::isElementDocked( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
- {
- Reference< css::awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- return xDockWindow.is() && !xDockWindow->isFloating();
- }
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+ if ( pToolbarManager )
+ return pToolbarManager->isToolbarDocked( aName );
+ }
+
return sal_False;
}
-::sal_Bool SAL_CALL LayoutManager::isElementLocked( const ::rtl::OUString& ResourceURL )
-throw (::com::sun::star::uno::RuntimeException)
+::sal_Bool SAL_CALL LayoutManager::isElementLocked( const ::rtl::OUString& aName )
+throw (uno::RuntimeException)
{
- UIElementVector::const_iterator pIter;
-
- ReadGuard aReadLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- if (( pIter->m_aName == ResourceURL ) && ( pIter->m_xUIElement.is() ))
- {
- Reference< css::awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), UNO_QUERY );
- return xDockWindow.is() && !xDockWindow->isLocked();
- }
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+ if ( pToolbarManager )
+ return pToolbarManager->isToolbarLocked( aName );
+ }
+
return sal_False;
}
-css::awt::Size SAL_CALL LayoutManager::getElementSize( const ::rtl::OUString& aName )
+awt::Size SAL_CALL LayoutManager::getElementSize( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- ReadGuard aReadLock( m_aLock );
- UIElement aElementData;
- if ( implts_findElement( aName,aElementData ) && aElementData.m_xUIElement.is() )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- Reference< css::awt::XWindow > xWindow( aElementData.m_xUIElement->getRealInterface(), UNO_QUERY );
- if ( xWindow.is() )
- {
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- {
- ::Size aSize = pWindow->GetSizePixel();
- css::awt::Size aElementSize;
- aElementSize.Width = aSize.Width();
- aElementSize.Height = aSize.Height();
- return aElementSize;
- } // if ( pWindow )
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ return pToolbarManager->getToolbarSize( aName );
}
- return css::awt::Size();
+
+ return awt::Size();
}
-css::awt::Point SAL_CALL LayoutManager::getElementPos( const ::rtl::OUString& aName )
+awt::Point SAL_CALL LayoutManager::getElementPos( const ::rtl::OUString& aName )
throw (RuntimeException)
{
- ReadGuard aReadLock( m_aLock );
- UIElement aElementData;
- if ( implts_findElement( aName,aElementData ) && aElementData.m_xUIElement.is() )
+ if ( getElementTypeFromResourceURL( aName ).equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- Reference< css::awt::XWindow > xWindow( aElementData.m_xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow.is() )
- {
- css::awt::Point aPos;
- if ( aElementData.m_bFloating )
- {
- css::awt::Rectangle aRect = xWindow->getPosSize();
- aPos.X = aRect.X;
- aPos.Y = aRect.Y;
- }
- else
- {
- ::Point aVirtualPos = aElementData.m_aDockedData.m_aPos;
- aPos.X = aVirtualPos.X();
- aPos.Y = aVirtualPos.Y();
- }
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< uno::XInterface > xToolbarManager( m_xToolbarManager, uno::UNO_QUERY );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- return aPos;
- }
+ if ( pToolbarManager )
+ return pToolbarManager->getToolbarPos( aName );
}
-
- return css::awt::Point();
+
+ return awt::Point();
}
void SAL_CALL LayoutManager::lock()
@@ -5426,7 +2293,7 @@ throw (RuntimeException)
#endif
Any a( nLockCount );
- implts_notifyListeners( css::frame::LayoutManagerEvents::LOCK, a );
+ implts_notifyListeners( frame::LayoutManagerEvents::LOCK, a );
}
void SAL_CALL LayoutManager::unlock()
@@ -5449,15 +2316,15 @@ throw (RuntimeException)
// conform to documentation: unlock with lock count == 0 means force a layout
WriteGuard aWriteLock( m_aLock );
- if ( bDoLayout )
- m_aAsyncLayoutTimer.Stop();
- aWriteLock.unlock();
+ if ( bDoLayout )
+ m_aAsyncLayoutTimer.Stop();
+ aWriteLock.unlock();
Any a( nLockCount );
- implts_notifyListeners( css::frame::LayoutManagerEvents::UNLOCK, a );
+ implts_notifyListeners( frame::LayoutManagerEvents::UNLOCK, a );
if ( bDoLayout )
- implts_doLayout_notify( sal_True );
+ implts_doLayout_notify( sal_True );
}
void SAL_CALL LayoutManager::doLayout()
@@ -5466,62 +2333,61 @@ throw (RuntimeException)
implts_doLayout_notify( sal_True );
}
+//---------------------------------------------------------------------------------------------------------
+// ILayoutNotifications
+//---------------------------------------------------------------------------------------------------------
+void LayoutManager::requestLayout( Hint eHint )
+{
+ if ( eHint == HINT_TOOLBARSPACE_HAS_CHANGED )
+ doLayout();
+}
+
void LayoutManager::implts_doLayout_notify( sal_Bool bOuterResize )
{
- sal_Bool bLayouted = implts_doLayout( sal_False, bOuterResize );
+ bool bLayouted = implts_doLayout( false, bOuterResize );
if ( bLayouted )
- implts_notifyListeners( css::frame::LayoutManagerEvents::LAYOUT, Any() );
+ implts_notifyListeners( frame::LayoutManagerEvents::LAYOUT, Any() );
}
sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_Bool bOuterResize )
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::implts_doLayout" );
- sal_Bool bNoLock( sal_False );
- css::awt::Rectangle aCurrBorderSpace;
- Reference< css::awt::XWindow > xContainerWindow;
- Reference< css::awt::XTopWindow2 > xContainerTopWindow;
- Reference< css::awt::XWindow > xComponentWindow;
- Reference< XDockingAreaAcceptor > xDockingAreaAcceptor;
- bool bPreserveContentSize( false );
-
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
- sal_Bool bMustDoLayout( m_bMustDoLayout );
- if ( !m_bParentWindowVisible )
+ if ( !m_xFrame.is() || !m_bParentWindowVisible )
return sal_False;
- bNoLock = ( m_nLockCount == 0 );
- xContainerWindow = m_xContainerWindow;
- xContainerTopWindow = m_xContainerTopWindow;
- xComponentWindow = m_xFrame->getComponentWindow();
- xDockingAreaAcceptor = m_xDockingAreaAcceptor;
- aCurrBorderSpace = m_aDockingArea;
- bPreserveContentSize = m_bPreserveContentSize;
+ bool bPreserveContentSize( m_bPreserveContentSize );
+ bool bMustDoLayout( m_bMustDoLayout );
+ bool bNoLock = ( m_nLockCount == 0 );
+ awt::Rectangle aCurrBorderSpace( m_aDockingArea );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< awt::XTopWindow2 > xContainerTopWindow( m_xContainerTopWindow );
+ Reference< awt::XWindow > xComponentWindow( m_xFrame->getComponentWindow() );
+ Reference< XDockingAreaAcceptor > xDockingAreaAcceptor( m_xDockingAreaAcceptor );
aReadLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
sal_Bool bLayouted( sal_False );
- if ( bNoLock &&
- xDockingAreaAcceptor.is() &&
- xContainerWindow.is() &&
- xComponentWindow.is() )
+ if ( bNoLock && xDockingAreaAcceptor.is() && xContainerWindow.is() && xComponentWindow.is() )
{
bLayouted = sal_True;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteGuard( m_aLock );
m_bDoLayout = sal_True;
aWriteGuard.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- css::awt::Rectangle aBorderSpace = implts_calcDockingAreaSizes();
- sal_Bool bGotRequestedBorderSpace( sal_True );
- sal_Bool bEqual = implts_compareRectangles( aBorderSpace, aCurrBorderSpace );
- if ( !bEqual || bForceRequestBorderSpace || bMustDoLayout )
+ awt::Rectangle aDockSpace( implts_calcDockingAreaSizes() );
+ awt::Rectangle aBorderSpace( aDockSpace );
+ sal_Bool bGotRequestedBorderSpace( sal_True );
+
+ // We have to add the height of a possible status bar
+ aBorderSpace.Height += implts_getStatusBarSize().Height();
+
+ if ( !equalRectangles( aBorderSpace, aCurrBorderSpace ) || bForceRequestBorderSpace || bMustDoLayout )
{
// we always resize the content window (instead of the complete container window) if we're not set up
// to (attempt to) preserve the content window's size
@@ -5534,7 +2400,7 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_
// if the component window does not have a size (yet), then we can't use it to calc the container
// window size
- css::awt::Rectangle aComponentRect = xComponentWindow->getPosSize();
+ awt::Rectangle aComponentRect = xComponentWindow->getPosSize();
if ( bOuterResize && ( aComponentRect.Width == 0 ) && ( aComponentRect.Height == 0 ) )
bOuterResize = sal_False;
@@ -5553,52 +2419,34 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_
// if we did not do an container window resize, or it failed, then use the DockingAcceptor as usual
if ( !bGotRequestedBorderSpace )
- {
bGotRequestedBorderSpace = xDockingAreaAcceptor->requestDockingAreaSpace( aBorderSpace );
- if ( bGotRequestedBorderSpace )
- xDockingAreaAcceptor->setDockingAreaSpace( aBorderSpace );
- }
if ( bGotRequestedBorderSpace )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
aWriteGuard.lock();
m_aDockingArea = aBorderSpace;
m_bMustDoLayout = sal_False;
aWriteGuard.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
}
if ( bGotRequestedBorderSpace )
{
- ::Size aContainerSize;
- ::Size aStatusBarSize;
-
- aStatusBarSize = implts_getStatusBarSize();
- aBorderSpace.Height -= aStatusBarSize.Height();
- implts_setDockingAreaWindowSizes( aBorderSpace );
+ ::Size aContainerSize;
+ ::Size aStatusBarSize;
+
+ // Interim solution to let the layout method within the
+ // toolbar layout manager.
+ implts_setOffset( implts_getStatusBarSize().Height() );
+ m_pToolbarManager->setDockingArea( aDockSpace );
// Subtract status bar size from our container output size. Docking area windows
// don't contain the status bar!
+ aStatusBarSize = implts_getStatusBarSize();
aContainerSize = implts_getContainerWindowOutputSize();
aContainerSize.Height() -= aStatusBarSize.Height();
- // Retrieve row/column dependent data from all docked user-interface elements
- for ( sal_Int32 i = 0; i < DOCKINGAREAS_COUNT; i++ )
- {
- std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
-
- implts_getDockingAreaElementInfos( (DockingArea)i, aRowColumnsWindowData );
-
- sal_Int32 nOffset( 0 );
- const sal_uInt32 nCount = aRowColumnsWindowData.size();
- for ( sal_uInt32 j = 0; j < nCount; ++j )
- {
- implts_calcWindowPosSizeOnSingleRowColumn( i, nOffset, aRowColumnsWindowData[j], aContainerSize );
- nOffset += aRowColumnsWindowData[j].nStaticSize;
- }
- }
+ m_pToolbarManager->doLayout(aContainerSize);
// Position the status bar
if ( aStatusBarSize.Height() > 0 )
@@ -5607,37 +2455,26 @@ sal_Bool LayoutManager::implts_doLayout( sal_Bool bForceRequestBorderSpace, sal_
::Size( aContainerSize.Width(),aStatusBarSize.Height() ));
}
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ xDockingAreaAcceptor->setDockingAreaSpace( aBorderSpace );
+
aWriteGuard.lock();
m_bDoLayout = sal_False;
aWriteGuard.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
}
}
return bLayouted;
}
-sal_Bool LayoutManager::implts_compareRectangles( const css::awt::Rectangle& rRect1,
- const css::awt::Rectangle& rRect2 )
-{
- return (( rRect1.X == rRect2.X ) &&
- ( rRect1.Y == rRect2.Y ) &&
- ( rRect1.Width == rRect2.Width ) &&
- ( rRect1.Height == rRect2.Height ));
-}
-
sal_Bool LayoutManager::implts_resizeContainerWindow( const awt::Size& rContainerSize,
const awt::Point& rComponentPos )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
Reference< awt::XWindow > xContainerWindow = m_xContainerWindow;
Reference< awt::XTopWindow2 > xContainerTopWindow = m_xContainerTopWindow;
Reference< awt::XWindow > xComponentWindow = m_xFrame->getComponentWindow();
Reference< container::XIndexAccess > xDisplayAccess = m_xDisplayAccess;
aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
// calculate the maximum size we have for the container window
awt::Rectangle aWorkArea;
@@ -5652,34 +2489,30 @@ sal_Bool LayoutManager::implts_resizeContainerWindow( const awt::Size& rContaine
DBG_UNHANDLED_EXCEPTION();
}
- if ( ( aWorkArea.Width > 0 ) && ( aWorkArea.Height > 0 ) )
+ if (( aWorkArea.Width > 0 ) && ( aWorkArea.Height > 0 ))
{
- if ( ( rContainerSize.Width > aWorkArea.Width )
- || ( rContainerSize.Height > aWorkArea.Height )
- )
+ if (( rContainerSize.Width > aWorkArea.Width ) || ( rContainerSize.Height > aWorkArea.Height ))
return sal_False;
// Strictly, this is not correct. If we have a multi-screen display (css.awt.DisplayAccess.MultiDisplay == true),
// the the "effective work area" would be much larger than the work area of a single display, since we could in theory
// position the container window across multiple screens.
- // However, this should suffice as a heuristics here ... (nobody really wants to check whethere the different screens are
+ // However, this should suffice as a heuristics here ... (nobody really wants to check whether the different screens are
// stacked horizontally or vertically, whether their work areas can really be combined, or are separated by non-work-areas,
// and the like ... right?)
}
// resize our container window
- xContainerWindow->setPosSize( 0, 0, rContainerSize.Width, rContainerSize.Height, css::awt::PosSize::SIZE );
+ xContainerWindow->setPosSize( 0, 0, rContainerSize.Width, rContainerSize.Height, awt::PosSize::SIZE );
// position the component window
- xComponentWindow->setPosSize( rComponentPos.X, rComponentPos.Y, 0, 0, css::awt::PosSize::POS );
+ xComponentWindow->setPosSize( rComponentPos.X, rComponentPos.Y, 0, 0, awt::PosSize::POS );
return sal_True;
}
void SAL_CALL LayoutManager::setVisible( sal_Bool bVisible )
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
- sal_Bool bWasVisible( sal_True );
-
WriteGuard aWriteLock( m_aLock );
- bWasVisible = m_bVisible;
+ sal_Bool bWasVisible( m_bVisible );
m_bVisible = bVisible;
aWriteLock.unlock();
@@ -5688,226 +2521,24 @@ throw (::com::sun::star::uno::RuntimeException)
}
sal_Bool SAL_CALL LayoutManager::isVisible()
-throw (::com::sun::star::uno::RuntimeException)
+throw (uno::RuntimeException)
{
ReadGuard aReadLock( m_aLock );
return m_bVisible;
}
-void LayoutManager::implts_calcWindowPosSizeOnSingleRowColumn( sal_Int32 nDockingArea,
- sal_Int32 nOffset,
- SingleRowColumnWindowData& rRowColumnWindowData,
- const ::Size& rContainerSize )
-{
- sal_Int32 nDiff( 0 );
- sal_Int32 nRCSpace( rRowColumnWindowData.nSpace );
- sal_Int32 nTopDockingAreaSize;
- sal_Int32 nBottomDockingAreaSize;
- sal_Int32 nContainerClientSize;
-
- if ( rRowColumnWindowData.aRowColumnWindows.empty() )
- return;
-
- if (( nDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- nContainerClientSize = rContainerSize.Width();
- nDiff = nContainerClientSize - rRowColumnWindowData.nVarSize;
- }
- else
- {
- nTopDockingAreaSize = implts_getTopBottomDockingAreaSizes().Width();
- nBottomDockingAreaSize = implts_getTopBottomDockingAreaSizes().Height();
- nContainerClientSize = ( rContainerSize.Height() - nTopDockingAreaSize - nBottomDockingAreaSize );
- nDiff = nContainerClientSize - rRowColumnWindowData.nVarSize;
- }
-
- const sal_uInt32 nCount = rRowColumnWindowData.aRowColumnWindowSizes.size();
- if (( nDiff < 0 ) && ( nRCSpace > 0 ))
- {
- // First we try to reduce the size of blank space before/behind docked windows
- sal_Int32 i = nCount - 1;
- while ( i >= 0 )
- {
- sal_Int32 nSpace = rRowColumnWindowData.aRowColumnSpace[i];
- if ( nSpace >= -nDiff )
- {
-
- if (( nDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount ; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].X += nDiff;
- }
- else
- {
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount ; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].Y += nDiff;
- }
- nDiff = 0;
-
- break;
- }
- else if ( nSpace > 0 )
- {
- if (( nDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].X -= nSpace;
- }
- else
- {
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].Y -= nSpace;
- }
- nDiff += nSpace;
- }
- --i;
- }
- }
-
- // Check if we have to reduce further
- if ( nDiff < 0 )
- {
- // Now we have to reduce the size of certain docked windows
- sal_Int32 i = sal_Int32( nCount - 1 );
- while ( i >= 0 )
- {
- css::awt::Rectangle& rWinRect = rRowColumnWindowData.aRowColumnWindowSizes[i];
- ::Size aMinSize;
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- {
- Reference< css::awt::XWindow > xWindow = rRowColumnWindowData.aRowColumnWindows[i];
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- aMinSize = ((ToolBox *)pWindow)->CalcMinimumWindowSizePixel();
- }
-
- if (( aMinSize.Width() > 0 ) && ( aMinSize.Height() > 0 ))
- {
- if (( nDockingArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- sal_Int32 nMaxReducation = ( rWinRect.Width - aMinSize.Width() );
- if ( nMaxReducation >= -nDiff )
- {
- rWinRect.Width = rWinRect.Width + nDiff;
- nDiff = 0;
- }
- else
- {
- rWinRect.Width = aMinSize.Width();
- nDiff += nMaxReducation;
- }
-
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].X += nDiff;
- }
- else
- {
- sal_Int32 nMaxReducation = ( rWinRect.Height - aMinSize.Height() );
- if ( nMaxReducation >= -nDiff )
- {
- rWinRect.Height = rWinRect.Height + nDiff;
- nDiff = 0;
- }
- else
- {
- rWinRect.Height = aMinSize.Height();
- nDiff += nMaxReducation;
- }
-
- // Try to move this and all user elements behind with the calculated difference
- for ( sal_uInt32 j = i; j < nCount; j++ )
- rRowColumnWindowData.aRowColumnWindowSizes[j].Y += nDiff;
- }
- }
-
- if ( nDiff >= 0 )
- break;
-
- --i;
- }
- }
-
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- ReadGuard aReadLock( m_aLock );
- Window* pDockAreaWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[nDockingArea] );
- aReadLock.unlock();
-
- sal_Int32 nCurrPos( 0 );
- sal_Int32 nStartOffset( 0 );
-
- if ( nDockingArea == DockingArea_DOCKINGAREA_RIGHT )
- nStartOffset = pDockAreaWindow->GetSizePixel().Width() - rRowColumnWindowData.nStaticSize;
- else if ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM )
- nStartOffset = pDockAreaWindow->GetSizePixel().Height() - rRowColumnWindowData.nStaticSize;
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- for ( sal_uInt32 i = 0; i < nCount; i++ )
- {
- Reference< css::awt::XWindow > xWindow = rRowColumnWindowData.aRowColumnWindows[i];
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- Window* pOldParentWindow = pWindow->GetParent();
-
- if ( pDockAreaWindow != pOldParentWindow )
- pWindow->SetParent( pDockAreaWindow );
-
- css::awt::Rectangle aWinRect = rRowColumnWindowData.aRowColumnWindowSizes[i];
- if ( nDockingArea == DockingArea_DOCKINGAREA_TOP )
- {
- if ( aWinRect.X < nCurrPos )
- aWinRect.X = nCurrPos;
- pWindow->SetPosSizePixel( ::Point( aWinRect.X, nOffset ),
- ::Size( aWinRect.Width, rRowColumnWindowData.nStaticSize ));
- nCurrPos += ( aWinRect.X - nCurrPos ) + aWinRect.Width;
- }
- else if ( nDockingArea == DockingArea_DOCKINGAREA_BOTTOM )
- {
- if ( aWinRect.X < nCurrPos )
- aWinRect.X = nCurrPos;
- pWindow->SetPosSizePixel( ::Point( aWinRect.X, nStartOffset - nOffset ),
- ::Size( aWinRect.Width, rRowColumnWindowData.nStaticSize ));
- nCurrPos += ( aWinRect.X - nCurrPos ) + aWinRect.Width;
- }
- else if ( nDockingArea == DockingArea_DOCKINGAREA_LEFT )
- {
- if ( aWinRect.Y < nCurrPos )
- aWinRect.Y = nCurrPos;
- pWindow->SetPosSizePixel( ::Point( nOffset, aWinRect.Y ),
- ::Size( rRowColumnWindowData.nStaticSize, aWinRect.Height ));
- nCurrPos += ( aWinRect.Y - nCurrPos ) + aWinRect.Height;
- }
- else if ( nDockingArea == DockingArea_DOCKINGAREA_RIGHT )
- {
- if ( aWinRect.Y < nCurrPos )
- aWinRect.Y = nCurrPos;
- pWindow->SetPosSizePixel( ::Point( nStartOffset - nOffset, aWinRect.Y ),
- ::Size( rRowColumnWindowData.nStaticSize, aWinRect.Height ));
- nCurrPos += ( aWinRect.Y - nCurrPos ) + aWinRect.Height;
- }
- }
-}
-
::Size LayoutManager::implts_getStatusBarSize()
{
ReadGuard aReadLock( m_aLock );
- sal_Bool bStatusBarVisible( isElementVisible( m_aStatusBarAlias ));
- sal_Bool bProgressBarVisible( isElementVisible( m_aProgressBarAlias ));
- sal_Bool bVisible = m_bVisible;
- Reference< XUIElement > xStatusBar = m_aStatusBarElement.m_xUIElement;
- Reference< XUIElement > xProgressBar = m_aProgressBarElement.m_xUIElement;
+ bool bStatusBarVisible( isElementVisible( m_aStatusBarAlias ));
+ bool bProgressBarVisible( isElementVisible( m_aProgressBarAlias ));
+ bool bVisible( m_bVisible );
+ Reference< XUIElement > xStatusBar( m_aStatusBarElement.m_xUIElement );
+ Reference< XUIElement > xProgressBar( m_aProgressBarElement.m_xUIElement );
- Reference< css::awt::XWindow > xWindow;
+ Reference< awt::XWindow > xWindow;
if ( bStatusBarVisible && bVisible && xStatusBar.is() )
- xWindow = Reference< css::awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
+ xWindow = Reference< awt::XWindow >( xStatusBar->getRealInterface(), UNO_QUERY );
else if ( xProgressBar.is() && !xStatusBar.is() && bProgressBarVisible )
{
ProgressBarWrapper* pWrapper = (ProgressBarWrapper*)xProgressBar.get();
@@ -5918,194 +2549,40 @@ void LayoutManager::implts_calcWindowPosSizeOnSingleRowColumn( sal_Int32 nDockin
if ( xWindow.is() )
{
- css::awt::Rectangle aPosSize = xWindow->getPosSize();
+ awt::Rectangle aPosSize = xWindow->getPosSize();
return ::Size( aPosSize.Width, aPosSize.Height );
}
else
return ::Size();
}
-css::awt::Rectangle LayoutManager::implts_calcDockingAreaSizes()
+awt::Rectangle LayoutManager::implts_calcDockingAreaSizes()
{
- Reference< css::awt::XWindow > xContainerWindow;
- Reference< XDockingAreaAcceptor > xDockingAreaAcceptor;
-
ReadGuard aReadLock( m_aLock );
- xContainerWindow = m_xContainerWindow;
- xDockingAreaAcceptor = m_xDockingAreaAcceptor;
- UIElementVector aWindowVector( m_aUIElements );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< XDockingAreaAcceptor > xDockingAreaAcceptor( m_xDockingAreaAcceptor );
aReadLock.unlock();
- css::awt::Rectangle aBorderSpace;
+ awt::Rectangle aBorderSpace;
if ( xDockingAreaAcceptor.is() && xContainerWindow.is() )
- {
- sal_Int32 nCurrRowColumn( 0 );
- sal_Int32 nCurrPos( 0 );
- sal_Int32 nCurrDockingArea( DockingArea_DOCKINGAREA_TOP );
- std::vector< sal_Int32 > aRowColumnSizes[DOCKINGAREAS_COUNT];
- UIElementVector::const_iterator pConstIter;
-
- aRowColumnSizes[nCurrDockingArea].clear();
- aRowColumnSizes[nCurrDockingArea].push_back( 0 );
-
- for ( pConstIter = aWindowVector.begin(); pConstIter != aWindowVector.end(); pConstIter++ )
- {
- Reference< XUIElement > xUIElement( pConstIter->m_xUIElement, UNO_QUERY );
- if ( xUIElement.is() )
- {
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xWindow.is() && xDockWindow.is() )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
-
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->IsVisible() && !xDockWindow->isFloating() )
- {
- css::awt::Rectangle aPosSize = xWindow->getPosSize();
- if ( pConstIter->m_aDockedData.m_nDockedArea != nCurrDockingArea )
- {
- nCurrDockingArea = pConstIter->m_aDockedData.m_nDockedArea;
- nCurrRowColumn = 0;
- nCurrPos = 0;
- aRowColumnSizes[nCurrDockingArea].clear();
- aRowColumnSizes[nCurrDockingArea].push_back( 0 );
- }
-
- if ( pConstIter->m_aDockedData.m_nDockedArea == nCurrDockingArea )
- {
- if (( pConstIter->m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_TOP ) ||
- ( pConstIter->m_aDockedData.m_nDockedArea == DockingArea_DOCKINGAREA_BOTTOM ))
- {
- if ( pConstIter->m_aDockedData.m_aPos.Y() > nCurrPos )
- {
- ++nCurrRowColumn;
- nCurrPos = pConstIter->m_aDockedData.m_aPos.Y();
- aRowColumnSizes[nCurrDockingArea].push_back( 0 );
- }
-
- if ( aPosSize.Height > aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] )
- aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] = aPosSize.Height;
- }
- else
- {
- if ( pConstIter->m_aDockedData.m_aPos.X() > nCurrPos )
- {
- ++nCurrRowColumn;
- nCurrPos = pConstIter->m_aDockedData.m_aPos.X();
- aRowColumnSizes[nCurrDockingArea].push_back( 0 );
- }
-
- if ( aPosSize.Width > aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] )
- aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] = aPosSize.Width;
- }
- }
- }
- }
- }
- }
-
- // Sum up max heights from every row/column
- if ( !aWindowVector.empty() )
- {
- for ( sal_Int32 i = 0; i <= DockingArea_DOCKINGAREA_RIGHT; i++ )
- {
- sal_Int32 nSize( 0 );
- const sal_uInt32 nCount = aRowColumnSizes[i].size();
- for ( sal_uInt32 j = 0; j < nCount; j++ )
- nSize += aRowColumnSizes[i][j];
-
- if ( i == DockingArea_DOCKINGAREA_TOP )
- aBorderSpace.Y = nSize;
- else if ( i == DockingArea_DOCKINGAREA_BOTTOM )
- aBorderSpace.Height = nSize;
- else if ( i == DockingArea_DOCKINGAREA_LEFT )
- aBorderSpace.X = nSize;
- else
- aBorderSpace.Width = nSize;
- }
- }
-
- // We have to add the height of a possible status bar
- aBorderSpace.Height += implts_getStatusBarSize().Height();
- }
-
+ aBorderSpace = m_pToolbarManager->getDockingArea();
+
return aBorderSpace;
}
-void LayoutManager::implts_setDockingAreaWindowSizes( const css::awt::Rectangle& rBorderSpace )
+void LayoutManager::implts_setDockingAreaWindowSizes( const awt::Rectangle& /*rBorderSpace*/ )
{
- Reference< css::awt::XWindow > xContainerWindow;
-
ReadGuard aReadLock( m_aLock );
- xContainerWindow = m_xContainerWindow;
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
aReadLock.unlock();
- css::uno::Reference< css::awt::XDevice > xDevice( xContainerWindow, css::uno::UNO_QUERY );
+ uno::Reference< awt::XDevice > xDevice( xContainerWindow, uno::UNO_QUERY );
// Convert relativ size to output size.
- css::awt::Rectangle aRectangle = xContainerWindow->getPosSize();
- css::awt::DeviceInfo aInfo = xDevice->getInfo();
- css::awt::Size aContainerClientSize = css::awt::Size( aRectangle.Width - aInfo.LeftInset - aInfo.RightInset ,
- aRectangle.Height - aInfo.TopInset - aInfo.BottomInset );
- ::Size aStatusBarSize = implts_getStatusBarSize();
-
- sal_Int32 nLeftRightDockingAreaHeight( aContainerClientSize.Height );
- if ( rBorderSpace.Y >= 0 )
- {
- // Top docking area window
- aReadLock.lock();
- Reference< css::awt::XWindow > xDockAreaWindow( m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP] );
- aReadLock.unlock();
-
- xDockAreaWindow->setPosSize( 0, 0, aContainerClientSize.Width, rBorderSpace.Y, css::awt::PosSize::POSSIZE );
- xDockAreaWindow->setVisible( sal_True );
- nLeftRightDockingAreaHeight -= rBorderSpace.Y;
- }
-
- if ( rBorderSpace.Height >= 0 )
- {
- // Bottom docking area window
- sal_Int32 nBottomPos = std::max( sal_Int32( aContainerClientSize.Height - rBorderSpace.Height - aStatusBarSize.Height() ), sal_Int32( 0 ));
- sal_Int32 nHeight = ( nBottomPos == 0 ) ? 0 : rBorderSpace.Height;
-
- aReadLock.lock();
- Reference< css::awt::XWindow > xDockAreaWindow( m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM] );
- aReadLock.unlock();
-
- xDockAreaWindow->setPosSize( 0, nBottomPos, aContainerClientSize.Width, nHeight, css::awt::PosSize::POSSIZE );
- xDockAreaWindow->setVisible( sal_True );
- nLeftRightDockingAreaHeight -= nHeight;
- }
-
- nLeftRightDockingAreaHeight -= aStatusBarSize.Height();
- if ( rBorderSpace.X >= 0 || nLeftRightDockingAreaHeight > 0 )
- {
- // Left docking area window
- aReadLock.lock();
- Reference< css::awt::XWindow > xDockAreaWindow( m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT] );
- aReadLock.unlock();
-
- // We also have to change our right docking area window if the top or bottom area has changed. They have a higher priority!
- sal_Int32 nHeight = std::max( sal_Int32( 0 ), sal_Int32( nLeftRightDockingAreaHeight ));
-
- xDockAreaWindow->setPosSize( 0, rBorderSpace.Y, rBorderSpace.X, nHeight, css::awt::PosSize::POSSIZE );
- xDockAreaWindow->setVisible( sal_True );
- }
- if ( rBorderSpace.Width >= 0 || nLeftRightDockingAreaHeight > 0 )
- {
- // Right docking area window
- aReadLock.lock();
- Reference< css::awt::XWindow > xDockAreaWindow( m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT] );
- aReadLock.unlock();
-
- // We also have to change our right docking area window if the top or bottom area has changed. They have a higher priority!
- sal_Int32 nLeftPos = std::max( sal_Int32( 0 ), sal_Int32( aContainerClientSize.Width - rBorderSpace.Width ));
- sal_Int32 nHeight = std::max( sal_Int32( 0 ), sal_Int32( nLeftRightDockingAreaHeight ));
- sal_Int32 nWidth = ( nLeftPos == 0 ) ? 0 : rBorderSpace.Width;
-
- xDockAreaWindow->setPosSize( nLeftPos, rBorderSpace.Y, nWidth, nHeight, css::awt::PosSize::POSSIZE );
- xDockAreaWindow->setVisible( sal_True );
- }
+ awt::Rectangle aRectangle = xContainerWindow->getPosSize();
+ awt::DeviceInfo aInfo = xDevice->getInfo();
+ awt::Size aContainerClientSize = awt::Size( aRectangle.Width - aInfo.LeftInset - aInfo.RightInset,
+ aRectangle.Height - aInfo.TopInset - aInfo.BottomInset );
+ ::Size aStatusBarSize = implts_getStatusBarSize();
// Position the status bar
if ( aStatusBarSize.Height() > 0 )
@@ -6116,41 +2593,28 @@ void LayoutManager::implts_setDockingAreaWindowSizes( const css::awt::Rectangle&
}
//---------------------------------------------------------------------------------------------------------
-// XMenuCloser
+// XMenuCloser
//---------------------------------------------------------------------------------------------------------
void LayoutManager::implts_updateMenuBarClose()
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
- sal_Bool bShowCloser = m_bMenuBarCloser;
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
+ bool bShowCloser( m_bMenuBarCloser );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
aWriteLock.unlock();
if ( xContainerWindow.is() )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow )
+ SystemWindow* pSysWindow = getTopSystemWindow( xContainerWindow );
+ if ( pSysWindow )
{
- SystemWindow* pSysWindow = (SystemWindow *)pWindow;
MenuBar* pMenuBar = pSysWindow->GetMenuBar();
if ( pMenuBar )
{
// TODO remove link on sal_False ?!
- if ( bShowCloser )
- {
- pMenuBar->ShowCloser( sal_True );
- pMenuBar->SetCloserHdl( LINK( this, LayoutManager, MenuBarClose ));
- }
- else
- {
- pMenuBar->ShowCloser( sal_False );
- pMenuBar->SetCloserHdl( LINK( this, LayoutManager, MenuBarClose ));
- }
+ pMenuBar->ShowCloser( bShowCloser );
+ pMenuBar->SetCloserHdl( LINK( this, LayoutManager, MenuBarClose ));
}
}
}
@@ -6161,28 +2625,25 @@ sal_Bool LayoutManager::implts_resetMenuBar()
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
sal_Bool bMenuVisible( m_bMenuVisible );
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
MenuBar* pSetMenuBar = 0;
if ( m_xInplaceMenuBar.is() )
pSetMenuBar = (MenuBar *)m_pInplaceMenuBar->GetMenuBar();
else
{
- MenuBarWrapper* pMenuBarWrapper = SAL_STATIC_CAST( MenuBarWrapper*, m_xMenuBar.get() );
+ MenuBarWrapper* pMenuBarWrapper = static_cast< MenuBarWrapper* >( m_xMenuBar.get() );
if ( pMenuBarWrapper )
pSetMenuBar = (MenuBar *)pMenuBarWrapper->GetMenuBarManager()->GetMenuBar();
}
aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow && bMenuVisible && pSetMenuBar )
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ SystemWindow* pSysWindow = getTopSystemWindow( xContainerWindow );
+ if ( pSysWindow && bMenuVisible && pSetMenuBar )
{
- ((SystemWindow *)pWindow)->SetMenuBar( pSetMenuBar );
+ pSysWindow->SetMenuBar( pSetMenuBar );
pSetMenuBar->SetDisplayable( sal_True );
return sal_True;
}
@@ -6190,726 +2651,62 @@ sal_Bool LayoutManager::implts_resetMenuBar()
return sal_False;
}
-sal_Int16 LayoutManager::implts_getCurrentSymbolsSize()
-{
- sal_Int16 eOptSymbolsSize( 0 );
-
- {
- ReadGuard aReadLock( m_aLock );
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( m_pMiscOptions )
- eOptSymbolsSize = m_pMiscOptions->GetCurrentSymbolsSize();
- }
-
- return eOptSymbolsSize;
-}
-
-sal_Int16 LayoutManager::implts_getCurrentSymbolsStyle()
+void LayoutManager::implts_setMenuBarCloser(sal_Bool bCloserState)
{
- sal_Int16 eOptSymbolsStyle( 0 );
-
- {
- ReadGuard aReadLock( m_aLock );
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( m_pMiscOptions )
- eOptSymbolsStyle = m_pMiscOptions->GetCurrentSymbolsStyle();
- }
+ WriteGuard aWriteLock( m_aLock );
+ m_bMenuBarCloser = bCloserState;
+ aWriteLock.unlock();
- return eOptSymbolsStyle;
+ implts_updateMenuBarClose();
}
IMPL_LINK( LayoutManager, MenuBarClose, MenuBar *, EMPTYARG )
{
ReadGuard aReadLock( m_aLock );
- css::uno::Reference< css::frame::XDispatchProvider > xProvider(m_xFrame, css::uno::UNO_QUERY);
- css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR = m_xSMGR;
+ uno::Reference< frame::XDispatchProvider > xProvider(m_xFrame, uno::UNO_QUERY);
+ uno::Reference< lang::XMultiServiceFactory > xSMGR = m_xSMGR;
aReadLock.unlock();
- if (! xProvider.is())
+ if ( !xProvider.is())
return 0;
- css::uno::Reference< css::frame::XDispatchHelper > xDispatcher(
- xSMGR->createInstance(SERVICENAME_DISPATCHHELPER), css::uno::UNO_QUERY_THROW);
+ uno::Reference< frame::XDispatchHelper > xDispatcher(
+ xSMGR->createInstance(SERVICENAME_DISPATCHHELPER), uno::UNO_QUERY_THROW);
xDispatcher->executeDispatch(
xProvider,
::rtl::OUString::createFromAscii(".uno:CloseWin"),
::rtl::OUString::createFromAscii("_self"),
0,
- css::uno::Sequence< css::beans::PropertyValue >());
+ uno::Sequence< beans::PropertyValue >());
return 0;
}
-IMPL_LINK( LayoutManager, OptionsChanged, void*, EMPTYARG )
-{
- sal_Int16 eSymbolsSize( implts_getCurrentSymbolsSize() );
- sal_Int16 eSymbolsStyle( implts_getCurrentSymbolsStyle() );
-
- ReadGuard aReadLock( m_aLock );
- sal_Int16 eOldSymbolsSize = m_eSymbolsSize;
- sal_Int16 eOldSymbolsStyle = m_eSymbolsStyle;
- aReadLock.unlock();
-
- if ( eSymbolsSize != eOldSymbolsSize || eSymbolsStyle != eOldSymbolsStyle )
- {
- WriteGuard aWriteLock( m_aLock );
- m_eSymbolsSize = eSymbolsSize;
- m_eSymbolsStyle = eSymbolsStyle;
- aWriteLock.unlock();
-
- std::vector< Reference< XUpdatable > > aToolBarVector;
-
- aReadLock.lock();
- {
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- if ( pIter->m_xUIElement.is() )
- aToolBarVector.push_back( Reference< XUpdatable >( pIter->m_xUIElement, UNO_QUERY ));
- }
- }
- aReadLock.unlock();
-
- lock();
- {
- std::vector< Reference< XUpdatable > >::iterator pIter;
- for ( pIter = aToolBarVector.begin(); pIter != aToolBarVector.end(); pIter++ )
- {
- if ( (*pIter).is() )
- (*pIter)->update();
- }
- }
- unlock();
- doLayout();
- }
-
- return 1;
-}
-
IMPL_LINK( LayoutManager, SettingsChanged, void*, EMPTYARG )
{
return 1;
}
//---------------------------------------------------------------------------------------------------------
-// XDockableWindowListener
-//---------------------------------------------------------------------------------------------------------
-void SAL_CALL LayoutManager::startDocking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException)
-{
- sal_Bool bWinFound( sal_False );
- UIElement aUIElement;
-
- ReadGuard aReadGuard( m_aLock );
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
- Reference< css::awt::XWindow2 > xWindow( e.Source, UNO_QUERY );
- aReadGuard.unlock();
-
- Window* pContainerWindow( 0 );
- Window* pWindow( 0 );
- ::Point aMousePos;
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
- aMousePos = pContainerWindow->ScreenToOutputPixel( ::Point( e.MousePos.X, e.MousePos.Y ));
- }
-
- bWinFound = implts_findElement( e.Source, aUIElement );
-
- if ( bWinFound && xWindow.is() )
- {
- css::awt::Rectangle aRect;
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow->isFloating() )
- {
- css::awt::Rectangle aPos = xWindow->getPosSize();
- css::awt::Size aSize = xWindow->getOutputSize();
-
- aUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
- aUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- {
- ToolBox* pToolBox = (ToolBox *)pWindow;
- aUIElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
- aUIElement.m_aFloatingData.m_bIsHorizontal = (( pToolBox->GetAlign() == WINDOWALIGN_TOP ) ||
- ( pToolBox->GetAlign() == WINDOWALIGN_BOTTOM ));
- }
- }
- }
-
- WriteGuard aWriteLock( m_aLock );
- m_bDockingInProgress = bWinFound;
- m_aDockUIElement = aUIElement;
- m_aDockUIElement.m_bUserActive = sal_True;
- m_aStartDockMousePos = aMousePos;
- aWriteLock.unlock();
-}
-
-::Rectangle LayoutManager::implts_calcHotZoneRect( const ::Rectangle& rRect, sal_Int32 nHotZoneOffset )
-{
- ::Rectangle aRect( rRect );
-
- aRect.Left() -= nHotZoneOffset;
- aRect.Top() -= nHotZoneOffset;
- aRect.Right() += nHotZoneOffset;
- aRect.Bottom() += nHotZoneOffset;
- return aRect;
-}
-
-css::awt::DockingData SAL_CALL LayoutManager::docking( const ::com::sun::star::awt::DockingEvent& e )
-throw (::com::sun::star::uno::RuntimeException)
-{
- const sal_Int32 MAGNETIC_DISTANCE_UNDOCK = 25;
- const sal_Int32 MAGNETIC_DISTANCE_DOCK = 20;
-
- css::awt::DockingData aDockingData;
- Reference< css::awt::XDockableWindow > xDockWindow( e.Source, UNO_QUERY );
- Reference< css::awt::XWindow > xWindow( e.Source, UNO_QUERY );
- Reference< css::awt::XWindow > xTopDockingWindow;
- Reference< css::awt::XWindow > xLeftDockingWindow;
- Reference< css::awt::XWindow > xRightDockingWindow;
- Reference< css::awt::XWindow > xBottomDockingWindow;
- Reference< css::awt::XWindow > xContainerWindow;
- UIElement aUIDockingElement;
- DockingOperation eDockingOperation( DOCKOP_ON_COLROW );
- ::Size aStatusBarSize;
-
- aDockingData.TrackingRectangle = e.TrackingRectangle;
- sal_Bool bDockingInProgress;
-
- {
- ReadGuard aReadLock( m_aLock );
- bDockingInProgress = m_bDockingInProgress;
- if ( bDockingInProgress )
- {
- xContainerWindow = m_xContainerWindow;
- xTopDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_TOP];
- xLeftDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_LEFT];
- xRightDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_RIGHT];
- xBottomDockingWindow = m_xDockAreaWindows[DockingArea_DOCKINGAREA_BOTTOM];
- aUIDockingElement = m_aDockUIElement;
- aStatusBarSize = implts_getStatusBarSize();
- }
- }
-
- if ( bDockingInProgress &&
- xDockWindow.is() &&
- xWindow.is() )
- {
- try
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
-
- sal_Int16 eDockingArea( -1 ); // none
- sal_Int32 nMagneticZone( aUIDockingElement.m_bFloating ? MAGNETIC_DISTANCE_DOCK : MAGNETIC_DISTANCE_UNDOCK );
- css::awt::Rectangle aNewTrackingRect;
- ::Rectangle aTrackingRect( e.TrackingRectangle.X,
- e.TrackingRectangle.Y,
- ( e.TrackingRectangle.X + e.TrackingRectangle.Width ),
- ( e.TrackingRectangle.Y + e.TrackingRectangle.Height ));
-
- css::awt::Rectangle aTmpRect = xTopDockingWindow->getPosSize();
- ::Rectangle aTopDockRect( aTmpRect.X, aTmpRect.Y, aTmpRect.Width, aTmpRect.Height );
- ::Rectangle aHotZoneTopDockRect( implts_calcHotZoneRect( aTopDockRect, nMagneticZone ));
-
- aTmpRect = xBottomDockingWindow->getPosSize();
- ::Rectangle aBottomDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width), ( aTmpRect.Y + aTmpRect.Height ));
- ::Rectangle aHotZoneBottomDockRect( implts_calcHotZoneRect( aBottomDockRect, nMagneticZone ));
-
- aTmpRect = xLeftDockingWindow->getPosSize();
- ::Rectangle aLeftDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width ), ( aTmpRect.Y + aTmpRect.Height ));
- ::Rectangle aHotZoneLeftDockRect( implts_calcHotZoneRect( aLeftDockRect, nMagneticZone ));
-
- aTmpRect = xRightDockingWindow->getPosSize();
- ::Rectangle aRightDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width ), ( aTmpRect.Y + aTmpRect.Height ));
- ::Rectangle aHotZoneRightDockRect( implts_calcHotZoneRect( aRightDockRect, nMagneticZone ));
-
- Window* pContainerWindow( VCLUnoHelper::GetWindow( xContainerWindow ) );
- Window* pDockingAreaWindow( 0 );
- ::Point aMousePos( pContainerWindow->ScreenToOutputPixel( ::Point( e.MousePos.X, e.MousePos.Y )));
-
- if ( aHotZoneTopDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_TOP;
- else if ( aHotZoneBottomDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_BOTTOM;
- else if ( aHotZoneLeftDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_LEFT;
- else if ( aHotZoneRightDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_RIGHT;
-
- // Higher priority for movements inside the real docking area
- if ( aTopDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_TOP;
- else if ( aBottomDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_BOTTOM;
- else if ( aLeftDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_LEFT;
- else if ( aRightDockRect.IsInside( aMousePos ))
- eDockingArea = DockingArea_DOCKINGAREA_RIGHT;
-
- // Determine if we have a toolbar and set alignment according to the docking area!
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- ToolBox* pToolBox = 0;
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- pToolBox = (ToolBox *)pWindow;
-
- if ( eDockingArea != -1 )
- {
- if ( eDockingArea == DockingArea_DOCKINGAREA_TOP )
- {
- aUIDockingElement.m_aDockedData.m_nDockedArea = DockingArea_DOCKINGAREA_TOP;
- aUIDockingElement.m_bFloating = sal_False;
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xTopDockingWindow );
- }
- else if ( eDockingArea == DockingArea_DOCKINGAREA_BOTTOM )
- {
- aUIDockingElement.m_aDockedData.m_nDockedArea = DockingArea_DOCKINGAREA_BOTTOM;
- aUIDockingElement.m_bFloating = sal_False;
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xBottomDockingWindow );
- }
- else if ( eDockingArea == DockingArea_DOCKINGAREA_LEFT )
- {
- aUIDockingElement.m_aDockedData.m_nDockedArea = DockingArea_DOCKINGAREA_LEFT;
- aUIDockingElement.m_bFloating = sal_False;
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xLeftDockingWindow );
- }
- else if ( eDockingArea == DockingArea_DOCKINGAREA_RIGHT )
- {
- aUIDockingElement.m_aDockedData.m_nDockedArea = DockingArea_DOCKINGAREA_RIGHT;
- aUIDockingElement.m_bFloating = sal_False;
- pDockingAreaWindow = VCLUnoHelper::GetWindow( xRightDockingWindow );
- }
-
- ::Point aOutputPos = pContainerWindow->ScreenToOutputPixel( aTrackingRect.TopLeft() );
- aTrackingRect.SetPos( aOutputPos );
-
- ::Rectangle aNewDockingRect( aTrackingRect );
- implts_calcDockingPosSize( aUIDockingElement, eDockingOperation, aNewDockingRect, aMousePos );
-
- ::Point aScreenPos = pContainerWindow->OutputToScreenPixel( aNewDockingRect.TopLeft() );
- aNewTrackingRect = css::awt::Rectangle( aScreenPos.X(),
- aScreenPos.Y(),
- aNewDockingRect.getWidth(),
- aNewDockingRect.getHeight() );
- aDockingData.TrackingRectangle = aNewTrackingRect;
- }
- else if ( pToolBox && bDockingInProgress )
- {
- sal_Bool bIsHorizontal = (( pToolBox->GetAlign() == WINDOWALIGN_TOP ) ||
- ( pToolBox->GetAlign() == WINDOWALIGN_BOTTOM ));
- ::Size aFloatSize = aUIDockingElement.m_aFloatingData.m_aSize;
- if ( aFloatSize.Width() > 0 && aFloatSize.Height() > 0 )
- {
- aUIDockingElement.m_aFloatingData.m_aPos = pContainerWindow->ScreenToOutputPixel(
- ::Point( e.MousePos.X, e.MousePos.Y ));
- aDockingData.TrackingRectangle.Height = aFloatSize.Height();
- aDockingData.TrackingRectangle.Width = aFloatSize.Width();
- }
- else
- {
- aFloatSize = pToolBox->CalcWindowSizePixel();
- if ( !bIsHorizontal )
- {
- // Floating toolbars are always horizontal aligned! We have to swap
- // width/height if we have a vertical aligned toolbar.
- sal_Int32 nTemp = aFloatSize.Height();
- aFloatSize.Height() = aFloatSize.Width();
- aFloatSize.Width() = nTemp;
- }
-
- aDockingData.TrackingRectangle.Height = aFloatSize.Height();
- aDockingData.TrackingRectangle.Width = aFloatSize.Width();
-
- // For the first time we don't have any data about the floating size of a toolbar.
- // We calculate it and store it for later use.
- aUIDockingElement.m_aFloatingData.m_aPos = pContainerWindow->ScreenToOutputPixel(
- ::Point( e.MousePos.X, e.MousePos.Y ));
- aUIDockingElement.m_aFloatingData.m_aSize = aFloatSize;
- aUIDockingElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
- aUIDockingElement.m_aFloatingData.m_bIsHorizontal = (( pToolBox->GetAlign() == WINDOWALIGN_TOP ) ||
- ( pToolBox->GetAlign() == WINDOWALIGN_BOTTOM ));
- }
- aDockingData.TrackingRectangle.X = e.MousePos.X;
- aDockingData.TrackingRectangle.Y = e.MousePos.Y;
- }
-
- aDockingData.bFloating = ( eDockingArea == -1 );
-
- // Write current data to the member docking progress data
- WriteGuard aWriteLock( m_aLock );
- m_aDockUIElement.m_bFloating = aDockingData.bFloating;
- if ( !aDockingData.bFloating )
- {
- m_aDockUIElement.m_aDockedData = aUIDockingElement.m_aDockedData;
- m_eDockOperation = eDockingOperation;
- }
- else
- m_aDockUIElement.m_aFloatingData = aUIDockingElement.m_aFloatingData;
- aWriteLock.unlock();
- }
- catch ( Exception& )
- {
- }
- }
-
- return aDockingData;
-}
-
-void SAL_CALL LayoutManager::endDocking( const ::com::sun::star::awt::EndDockingEvent& e )
-throw (::com::sun::star::uno::RuntimeException)
-{
- sal_Bool bDockingInProgress( sal_False );
- sal_Bool bStartDockFloated( sal_False );
- sal_Bool bFloating( sal_False );
- UIElement aUIDockingElement;
-
- WriteGuard aWriteLock( m_aLock );
- bDockingInProgress = m_bDockingInProgress;
- aUIDockingElement = m_aDockUIElement;
- bFloating = aUIDockingElement.m_bFloating;
-
- UIElement& rUIElement = impl_findElement( aUIDockingElement.m_aName );
- if ( rUIElement.m_aName == aUIDockingElement.m_aName )
- {
- if ( aUIDockingElement.m_bFloating )
- {
- // Write last position into position data
- Reference< css::awt::XWindow > xWindow( aUIDockingElement.m_xUIElement->getRealInterface(), UNO_QUERY );
- rUIElement.m_aFloatingData = aUIDockingElement.m_aFloatingData;
- css::awt::Rectangle aTmpRect = xWindow->getPosSize();
- rUIElement.m_aFloatingData.m_aPos = ::Point( aTmpRect.X, aTmpRect.Y );
- // make changes also for our local data as we use it to make data persistent
- aUIDockingElement.m_aFloatingData = rUIElement.m_aFloatingData;
- }
- else
- {
- rUIElement.m_aDockedData = aUIDockingElement.m_aDockedData;
- rUIElement.m_aFloatingData.m_aSize = aUIDockingElement.m_aFloatingData.m_aSize;
-
- if ( m_eDockOperation != DOCKOP_ON_COLROW )
- {
- // we have to renumber our row/column data to insert a new row/column
- implts_renumberRowColumnData( (::com::sun::star::ui::DockingArea)aUIDockingElement.m_aDockedData.m_nDockedArea,
- m_eDockOperation,
- aUIDockingElement );
- }
- }
-
- bStartDockFloated = rUIElement.m_bFloating;
- rUIElement.m_bFloating = m_aDockUIElement.m_bFloating;
- rUIElement.m_bUserActive = sal_True;
- }
-
- // reset member for next docking operation
- m_aDockUIElement.m_xUIElement.clear();
- m_eDockOperation = DOCKOP_ON_COLROW;
- aWriteLock.unlock();
-
- implts_writeWindowStateData( aUIDockingElement.m_aName, aUIDockingElement );
-
- if ( bDockingInProgress )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( Reference< css::awt::XWindow >( e.Source, UNO_QUERY ));
- ToolBox* pToolBox = 0;
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- pToolBox = (ToolBox *)pWindow;
-
- if ( pToolBox )
- {
- if( e.bFloating )
- {
- if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
- pToolBox->SetAlign( WINDOWALIGN_TOP );
- else
- pToolBox->SetAlign( WINDOWALIGN_LEFT );
- }
- else
- {
- ::Size aSize;
-
- pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
-
- // Docked toolbars have always one line
- aSize = pToolBox->CalcWindowSizePixel( 1 );
-
- // Lock layouting updates as our listener would be called due to SetSizePixel
- pToolBox->SetOutputSizePixel( aSize );
- }
- }
- }
-
- aWriteLock.lock();
- m_bDockingInProgress = sal_False;
- aWriteLock.unlock();
-
- implts_sortUIElements();
- if ( !bStartDockFloated || !bFloating )
- {
- // Optimization: Don't layout if we started floating and now floating again.
- // This would not change anything for the docked user-interface elements.
- doLayout();
- }
-}
-
-sal_Bool SAL_CALL LayoutManager::prepareToggleFloatingMode( const ::com::sun::star::lang::EventObject& e )
-throw (::com::sun::star::uno::RuntimeException)
-{
- sal_Bool bDockingInProgress( sal_False );
-
- ReadGuard aReadLock( m_aLock );
- bDockingInProgress = m_bDockingInProgress;
- aReadLock.unlock();
-
- UIElement aUIDockingElement;
- sal_Bool bWinFound( implts_findElement( e.Source, aUIDockingElement ) );
- Reference< css::awt::XWindow > xWindow( e.Source, UNO_QUERY );
-
- if ( bWinFound && xWindow.is() )
- {
- if ( !bDockingInProgress )
- {
- css::awt::Rectangle aRect;
- Reference< css::awt::XDockableWindow > xDockWindow( xWindow, UNO_QUERY );
- if ( xDockWindow->isFloating() )
- {
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- {
- if ( pWindow->GetType() == WINDOW_TOOLBOX )
- {
- ToolBox* pToolBox = (ToolBox *)pWindow;
- aUIDockingElement.m_aFloatingData.m_aPos = pToolBox->GetPosPixel();
- aUIDockingElement.m_aFloatingData.m_aSize = pToolBox->GetOutputSizePixel();
- aUIDockingElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
- aUIDockingElement.m_aFloatingData.m_bIsHorizontal = (( pToolBox->GetAlign() == WINDOWALIGN_TOP ) ||
- ( pToolBox->GetAlign() == WINDOWALIGN_BOTTOM ));
- }
- }
- }
-
- WriteGuard aWriteLock( m_aLock );
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIDockingElement.m_aName );
- if ( rUIElement.m_aName == aUIDockingElement.m_aName )
- rUIElement = aUIDockingElement;
- aWriteLock.unlock();
- }
- }
- }
-
- return sal_True;
-}
-
-void SAL_CALL LayoutManager::toggleFloatingMode( const ::com::sun::star::lang::EventObject& e )
-throw (::com::sun::star::uno::RuntimeException)
-{
- sal_Bool bDockingInProgress( sal_False );
- UIElement aUIDockingElement;
-
- ReadGuard aReadLock( m_aLock );
- bDockingInProgress = m_bDockingInProgress;
- if ( bDockingInProgress )
- aUIDockingElement = m_aDockUIElement;
- aReadLock.unlock();
-
- Window* pWindow( 0 );
- ToolBox* pToolBox( 0 );
- Reference< css::awt::XWindow2 > xWindow;
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- xWindow = Reference< css::awt::XWindow2 >( e.Source, UNO_QUERY );
- pWindow = VCLUnoHelper::GetWindow( xWindow );
-
- if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
- pToolBox = (ToolBox *)pWindow;
- }
-
- if ( !bDockingInProgress )
- {
- sal_Bool bWinFound( implts_findElement( e.Source, aUIDockingElement ) );
- if ( bWinFound && xWindow.is() )
- {
- aUIDockingElement.m_bFloating = !aUIDockingElement.m_bFloating;
- aUIDockingElement.m_bUserActive = sal_True;
-
- WriteGuard aWriteLock( m_aLock );
- m_bDoLayout = sal_True;
- aWriteLock.unlock();
-
- if ( aUIDockingElement.m_bFloating )
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pToolBox )
- {
- pToolBox->SetLineCount( aUIDockingElement.m_aFloatingData.m_nLines );
- if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
- pToolBox->SetAlign( WINDOWALIGN_TOP );
- else
- pToolBox->SetAlign( WINDOWALIGN_LEFT );
- }
-
- sal_Bool bUndefPos = ( aUIDockingElement.m_aFloatingData.m_aPos.X() == SAL_MAX_INT32 ||
- aUIDockingElement.m_aFloatingData.m_aPos.Y() == SAL_MAX_INT32 );
- sal_Bool bSetSize = ( aUIDockingElement.m_aFloatingData.m_aSize.Width() != 0 &&
- aUIDockingElement.m_aFloatingData.m_aSize.Height() != 0 );
-
- if ( bUndefPos )
- aUIDockingElement.m_aFloatingData.m_aPos = implts_findNextCascadeFloatingPos();
-
- if ( !bSetSize )
- {
- if ( pToolBox )
- aUIDockingElement.m_aFloatingData.m_aSize = pToolBox->CalcFloatingWindowSizePixel();
- else
- aUIDockingElement.m_aFloatingData.m_aSize = pWindow->GetOutputSizePixel();
- }
-
- xWindow->setPosSize( aUIDockingElement.m_aFloatingData.m_aPos.X(),
- aUIDockingElement.m_aFloatingData.m_aPos.Y(),
- 0, 0, css::awt::PosSize::POS );
- xWindow->setOutputSize( AWTSize( aUIDockingElement.m_aFloatingData.m_aSize ) );
- }
- else
- {
- if (( aUIDockingElement.m_aDockedData.m_aPos.X() == SAL_MAX_INT32 ) &&
- ( aUIDockingElement.m_aDockedData.m_aPos.Y() == SAL_MAX_INT32 ))
- {
- // Docking on its default position without a preset position -
- // we have to find a good place for it.
- ::Point aPixelPos;
- ::Point aDockPos;
- ::Size aSize;
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pToolBox )
- aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea ) );
- else
- aSize = pWindow->GetSizePixel();
- }
-
- implts_findNextDockingPos( (::com::sun::star::ui::DockingArea)aUIDockingElement.m_aDockedData.m_nDockedArea,
- aSize,
- aDockPos,
- aPixelPos );
- aUIDockingElement.m_aDockedData.m_aPos = aDockPos;
- }
-
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pToolBox )
- {
- pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
- ::Size aSize = pToolBox->CalcWindowSizePixel( 1 );
- css::awt::Rectangle aRect = xWindow->getPosSize();
- xWindow->setPosSize( aRect.X, aRect.Y, 0, 0, css::awt::PosSize::POS );
- xWindow->setOutputSize( AWTSize( aSize ) );
- }
- }
-
- aWriteLock.lock();
- m_bDoLayout = sal_False;
- UIElement& rUIElement = LayoutManager::impl_findElement( aUIDockingElement.m_aName );
- if ( rUIElement.m_aName == aUIDockingElement.m_aName )
- rUIElement = aUIDockingElement;
- aWriteLock.unlock();
-
- implts_writeWindowStateData( aUIDockingElement.m_aName, aUIDockingElement );
-
- implts_sortUIElements();
- doLayout();
- }
- }
- else
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pToolBox )
- {
- if ( aUIDockingElement.m_bFloating )
- {
- if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
- pToolBox->SetAlign( WINDOWALIGN_TOP );
- else
- pToolBox->SetAlign( WINDOWALIGN_LEFT );
- }
- else
- {
- pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
- }
- }
- }
-}
-
-void SAL_CALL LayoutManager::closed( const ::com::sun::star::lang::EventObject& e )
-throw (::com::sun::star::uno::RuntimeException)
-{
- rtl::OUString aName;
- UIElement aUIElement;
- UIElementVector::iterator pIter;
-
- WriteGuard aWriteLock( m_aLock );
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- {
- Reference< XUIElement > xUIElement( pIter->m_xUIElement );
- if ( xUIElement.is() )
- {
- Reference< XInterface > xIfac( xUIElement->getRealInterface(), UNO_QUERY );
- if ( xIfac == e.Source )
- {
- aName = pIter->m_aName;
-
- // user closes a toolbar =>
- // context sensitive toolbar: only destroy toolbar and store state.
- // context sensitive toolbar: make it invisible, store state and destroy it.
- if ( !pIter->m_bContextSensitive )
- pIter->m_bVisible = sal_False;
-
- aUIElement = *pIter;
- break;
- }
- }
- }
- aWriteLock.unlock();
-
-
- // destroy element
- if ( aName.getLength() > 0 )
- {
- implts_writeWindowStateData( aName, aUIElement );
- destroyElement( aName );
- }
-}
-
-void SAL_CALL LayoutManager::endPopupMode( const ::com::sun::star::awt::EndPopupModeEvent& )
-throw (::com::sun::star::uno::RuntimeException)
-{
-
-}
-
-//---------------------------------------------------------------------------------------------------------
// XLayoutManagerEventBroadcaster
//---------------------------------------------------------------------------------------------------------
-void SAL_CALL LayoutManager::addLayoutManagerEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManagerListener >& xListener )
-throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL LayoutManager::addLayoutManagerEventListener( const uno::Reference< frame::XLayoutManagerListener >& xListener )
+throw (uno::RuntimeException)
{
- m_aListenerContainer.addInterface( ::getCppuType( (const css::uno::Reference< css::frame::XLayoutManagerListener >*)NULL ), xListener );
+ m_aListenerContainer.addInterface( ::getCppuType( (const uno::Reference< frame::XLayoutManagerListener >*)NULL ), xListener );
}
-void SAL_CALL LayoutManager::removeLayoutManagerEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManagerListener >& xListener )
-throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL LayoutManager::removeLayoutManagerEventListener( const uno::Reference< frame::XLayoutManagerListener >& xListener )
+throw (uno::RuntimeException)
{
- m_aListenerContainer.removeInterface( ::getCppuType( (const css::uno::Reference< css::frame::XLayoutManagerListener >*)NULL ), xListener );
+ m_aListenerContainer.removeInterface( ::getCppuType( (const uno::Reference< frame::XLayoutManagerListener >*)NULL ), xListener );
}
-void LayoutManager::implts_notifyListeners( short nEvent, ::com::sun::star::uno::Any aInfoParam )
+void LayoutManager::implts_notifyListeners( short nEvent, uno::Any aInfoParam )
{
- css::lang::EventObject aSource (static_cast< ::cppu::OWeakObject*>(this));
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( ::getCppuType( ( const css::uno::Reference< css::frame::XLayoutManagerListener >*) NULL ) );
+ lang::EventObject aSource( static_cast< ::cppu::OWeakObject*>(this) );
+ ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( ::getCppuType( ( const uno::Reference< frame::XLayoutManagerListener >*) NULL ) );
if (pContainer!=NULL)
{
::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
@@ -6917,9 +2714,9 @@ void LayoutManager::implts_notifyListeners( short nEvent, ::com::sun::star::uno:
{
try
{
- ((css::frame::XLayoutManagerListener*)pIterator.next())->layoutEvent( aSource, nEvent, aInfoParam );
+ ((frame::XLayoutManagerListener*)pIterator.next())->layoutEvent( aSource, nEvent, aInfoParam );
}
- catch( css::uno::RuntimeException& )
+ catch( uno::RuntimeException& )
{
pIterator.remove();
}
@@ -6928,10 +2725,10 @@ void LayoutManager::implts_notifyListeners( short nEvent, ::com::sun::star::uno:
}
//---------------------------------------------------------------------------------------------------------
-// XWindowListener
+// XWindowListener
//---------------------------------------------------------------------------------------------------------
-void SAL_CALL LayoutManager::windowResized( const css::awt::WindowEvent& aEvent )
-throw( css::uno::RuntimeException )
+void SAL_CALL LayoutManager::windowResized( const awt::WindowEvent& aEvent )
+throw( uno::RuntimeException )
{
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
@@ -6940,9 +2737,9 @@ throw( css::uno::RuntimeException )
return;
// Request to set docking area space again.
- css::awt::Rectangle aDockingArea( m_aDockingArea );
+ awt::Rectangle aDockingArea( m_aDockingArea );
Reference< XDockingAreaAcceptor > xDockingAreaAcceptor( m_xDockingAreaAcceptor );
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
Reference< XInterface > xIfac( xContainerWindow, UNO_QUERY );
if ( xIfac == aEvent.Source && m_bVisible )
@@ -6964,105 +2761,65 @@ throw( css::uno::RuntimeException )
{
// the container window of my DockingAreaAcceptor is not the same as of my frame
// I still have to resize my frames' window as nobody else will do it
- Reference< css::awt::XWindow > xComponentWindow( m_xFrame->getComponentWindow() );
+ Reference< awt::XWindow > xComponentWindow( m_xFrame->getComponentWindow() );
if( xComponentWindow.is() == sal_True )
{
- css::uno::Reference< css::awt::XDevice > xDevice( m_xFrame->getContainerWindow(), css::uno::UNO_QUERY );
+ uno::Reference< awt::XDevice > xDevice( m_xFrame->getContainerWindow(), uno::UNO_QUERY );
// Convert relativ size to output size.
- css::awt::Rectangle aRectangle = m_xFrame->getContainerWindow()->getPosSize();
- css::awt::DeviceInfo aInfo = xDevice->getInfo();
- css::awt::Size aSize ( aRectangle.Width - aInfo.LeftInset - aInfo.RightInset ,
- aRectangle.Height - aInfo.TopInset - aInfo.BottomInset );
+ awt::Rectangle aRectangle = m_xFrame->getContainerWindow()->getPosSize();
+ awt::DeviceInfo aInfo = xDevice->getInfo();
+ awt::Size aSize( aRectangle.Width - aInfo.LeftInset - aInfo.RightInset ,
+ aRectangle.Height - aInfo.TopInset - aInfo.BottomInset );
// Resize our component window.
- xComponentWindow->setPosSize( 0, 0, aSize.Width, aSize.Height, css::awt::PosSize::POSSIZE );
- }
- }
- else
- {
- // resize event for one of the UIElements
- sal_Bool bLocked( m_bDockingInProgress );
- sal_Bool bDoLayout( m_bDoLayout );
- aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
-
- if ( !bLocked && !bDoLayout )
- {
- // Do not do anything if we are in the middle of a docking process. This would interfere all other
- // operations. We will store the new position and size in the docking handlers.
- // Do not do anything if we are in the middle of our layouting process. We will adapt the position
- // and size of the user interface elements.
- UIElement aUIElement;
- if ( implts_findElement( aEvent.Source, aUIElement ))
- {
- if ( aUIElement.m_bFloating )
- implts_writeNewStateData( aUIElement.m_aName,
- Reference< css::awt::XWindow >( aEvent.Source, UNO_QUERY ));
- else
- doLayout();
- }
+ xComponentWindow->setPosSize( 0, 0, aSize.Width, aSize.Height, awt::PosSize::POSSIZE );
}
}
}
-void SAL_CALL LayoutManager::windowMoved( const css::awt::WindowEvent& ) throw( css::uno::RuntimeException )
+void SAL_CALL LayoutManager::windowMoved( const awt::WindowEvent& ) throw( uno::RuntimeException )
{
}
-void SAL_CALL LayoutManager::windowShown( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException )
+void SAL_CALL LayoutManager::windowShown( const lang::EventObject& aEvent ) throw( uno::RuntimeException )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
-
- // Request to set docking area space again.
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
- bool bParentWindowVisible( m_bParentWindowVisible );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ bool bParentWindowVisible( m_bParentWindowVisible );
aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
Reference< XInterface > xIfac( xContainerWindow, UNO_QUERY );
if ( xIfac == aEvent.Source )
{
bool bSetVisible = false;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_bParentWindowVisible = true;
bSetVisible = ( m_bParentWindowVisible != bParentWindowVisible );
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( bSetVisible )
- {
implts_updateUIElementsVisibleState( sal_True );
- //implts_doLayout( sal_False );
- }
}
}
-void SAL_CALL LayoutManager::windowHidden( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException )
+void SAL_CALL LayoutManager::windowHidden( const lang::EventObject& aEvent ) throw( uno::RuntimeException )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
-
- // Request to set docking area space again.
- Reference< css::awt::XWindow > xContainerWindow( m_xContainerWindow );
- bool bParentWindowVisible( m_bParentWindowVisible );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ bool bParentWindowVisible( m_bParentWindowVisible );
aReadLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
Reference< XInterface > xIfac( xContainerWindow, UNO_QUERY );
if ( xIfac == aEvent.Source )
{
bool bSetInvisible = false;
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_bParentWindowVisible = false;
bSetInvisible = ( m_bParentWindowVisible != bParentWindowVisible );
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
if ( bSetInvisible )
implts_updateUIElementsVisibleState( sal_False );
@@ -7071,17 +2828,14 @@ void SAL_CALL LayoutManager::windowHidden( const css::lang::EventObject& aEvent
IMPL_LINK( LayoutManager, AsyncLayoutHdl, Timer *, EMPTYARG )
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
ReadGuard aReadLock( m_aLock );
-
- // Request to set docking area space again.
m_aAsyncLayoutTimer.Stop();
if( !m_xContainerWindow.is() )
return 0;
- css::awt::Rectangle aDockingArea( m_aDockingArea );
- ::Size aStatusBarSize( implts_getStatusBarSize() );
+ awt::Rectangle aDockingArea( m_aDockingArea );
+ ::Size aStatusBarSize( implts_getStatusBarSize() );
// Subtract status bar height
aDockingArea.Height -= aStatusBarSize.Height();
@@ -7093,78 +2847,42 @@ IMPL_LINK( LayoutManager, AsyncLayoutHdl, Timer *, EMPTYARG )
return 0;
}
-#ifdef DBG_UTIL
-void LayoutManager::implts_checkElementContainer()
-{
-#ifdef DBG_UTIL
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- ReadGuard aReadLock( m_aLock );
-
- BaseHash< sal_Int32 > aUIElementHash;
-
- UIElementVector::iterator pIter;
- for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
- aUIElementHash[pIter->m_aName]++;
-
-
- BaseHash< sal_Int32 >::const_iterator pCheckIter = aUIElementHash.begin();
- for ( ; pCheckIter != aUIElementHash.end(); pCheckIter++ )
- {
- if ( pCheckIter->second > 1 )
- {
- ::rtl::OString aName = ::rtl::OUStringToOString( pCheckIter->first, RTL_TEXTENCODING_ASCII_US );
- DBG_ASSERT( "More than one element (%s) with the same name found!", aName.getStr() );
- }
- } // for ( ; pCheckIter != aUIElementHash.end(); pCheckIter++ )
-#endif
-}
-#endif
-
//---------------------------------------------------------------------------------------------------------
-// XFrameActionListener
+// XFrameActionListener
//---------------------------------------------------------------------------------------------------------
void SAL_CALL LayoutManager::frameAction( const FrameActionEvent& aEvent )
throw ( RuntimeException )
{
- if (( aEvent.Action == FrameAction_COMPONENT_ATTACHED ) ||
- ( aEvent.Action == FrameAction_COMPONENT_REATTACHED ))
+ if (( aEvent.Action == FrameAction_COMPONENT_ATTACHED ) || ( aEvent.Action == FrameAction_COMPONENT_REATTACHED ))
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::frameAction (COMPONENT_ATTACHED|REATTACHED)" );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_bComponentAttached = sal_True;
m_bMustDoLayout = sal_True;
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
implts_reset( sal_True );
implts_doLayout( sal_True, sal_False );
implts_doLayout( sal_True, sal_True );
}
- else if (( aEvent.Action == FrameAction_FRAME_UI_ACTIVATED ) ||
- ( aEvent.Action == FrameAction_FRAME_UI_DEACTIVATING ))
+ else if (( aEvent.Action == FrameAction_FRAME_UI_ACTIVATED ) || ( aEvent.Action == FrameAction_FRAME_UI_DEACTIVATING ))
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::frameAction (FRAME_UI_ACTIVATED|DEACTIVATING)" );
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
WriteGuard aWriteLock( m_aLock );
m_bActive = ( aEvent.Action == FrameAction_FRAME_UI_ACTIVATED );
aWriteLock.unlock();
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
implts_toggleFloatingUIElementsVisibility( aEvent.Action == FrameAction_FRAME_UI_ACTIVATED );
-// doLayout();
}
else if ( aEvent.Action == FrameAction_COMPONENT_DETACHING )
{
RTL_LOGFILE_CONTEXT( aLog, "framework (cd100003) ::LayoutManager::frameAction (COMPONENT_DETACHING)" );
- // SAFE AREA -----------------------------------------------------------------------------------------------
WriteGuard aWriteLock( m_aLock );
m_bComponentAttached = sal_False;
aWriteLock.unlock();
- // SAFE AREA -----------------------------------------------------------------------------------------------
implts_reset( sal_False );
}
@@ -7172,7 +2890,7 @@ throw ( RuntimeException )
// ______________________________________________
-void SAL_CALL LayoutManager::disposing( const css::lang::EventObject& rEvent )
+void SAL_CALL LayoutManager::disposing( const lang::EventObject& rEvent )
throw( RuntimeException )
{
sal_Bool bDisposeAndClear( sal_False );
@@ -7182,23 +2900,11 @@ throw( RuntimeException )
if ( rEvent.Source == Reference< XInterface >( m_xFrame, UNO_QUERY ))
{
- // Our frame gets disposed, release all our references that depends on a working
- // frame reference.
+ // Our frame gets disposed, release all our references that depends on a working frame reference.
Application::RemoveEventListener( LINK( this, LayoutManager, SettingsChanged ) );
- if ( m_pMiscOptions )
- {
- m_pMiscOptions->RemoveListenerLink( LINK( this, LayoutManager, OptionsChanged ) );
- delete m_pMiscOptions;
- m_pMiscOptions = 0;
- }
-
- delete m_pAddonOptions;
- m_pAddonOptions = 0;
// destroy all elements, it's possible that dettaching is NOT called!
implts_destroyElements();
-
- m_aUIElements.clear();
impl_clearUpMenuBar();
m_xMenuBar.clear();
if ( m_xInplaceMenuBar.is() )
@@ -7209,7 +2915,10 @@ throw( RuntimeException )
m_xInplaceMenuBar.clear();
m_xContainerWindow.clear();
m_xContainerTopWindow.clear();
- implts_destroyDockingAreaWindows();
+
+ // forward disposing call to toolbar manager
+ if ( m_pToolbarManager != NULL )
+ m_pToolbarManager->disposing(rEvent);
if ( m_xModuleCfgMgr.is() )
{
@@ -7219,9 +2928,7 @@ throw( RuntimeException )
xModuleCfgMgr->removeConfigurationListener(
Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
if ( m_xDocCfgMgr.is() )
@@ -7232,9 +2939,7 @@ throw( RuntimeException )
xDocCfgMgr->removeConfigurationListener(
Reference< XUIConfigurationListener >( static_cast< OWeakObject* >( this ), UNO_QUERY ));
}
- catch ( Exception& )
- {
- }
+ catch ( Exception& ) {}
}
m_xDocCfgMgr.clear();
@@ -7242,14 +2947,20 @@ throw( RuntimeException )
m_xFrame.clear();
delete m_pGlobalSettings;
m_pGlobalSettings = 0;
- m_xDockingAreaAcceptor = Reference< ::com::sun::star::ui::XDockingAreaAcceptor >();
+ m_xDockingAreaAcceptor = Reference< ui::XDockingAreaAcceptor >();
bDisposeAndClear = sal_True;
}
else if ( rEvent.Source == Reference< XInterface >( m_xContainerWindow, UNO_QUERY ))
{
// Our container window gets disposed. Remove all user interface elements.
- m_aUIElements.clear();
+ uno::Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ if ( pToolbarManager )
+ {
+ uno::Reference< awt::XWindowPeer > aEmptyWindowPeer;
+ pToolbarManager->setParentWindow( aEmptyWindowPeer );
+ }
impl_clearUpMenuBar();
m_xMenuBar.clear();
if ( m_xInplaceMenuBar.is() )
@@ -7262,13 +2973,9 @@ throw( RuntimeException )
m_xContainerTopWindow.clear();
}
else if ( rEvent.Source == Reference< XInterface >( m_xDocCfgMgr, UNO_QUERY ))
- {
m_xDocCfgMgr.clear();
- }
else if ( rEvent.Source == Reference< XInterface >( m_xModuleCfgMgr , UNO_QUERY ))
- {
m_xModuleCfgMgr.clear();
- }
aWriteLock.unlock();
/* SAFE AREA ----------------------------------------------------------------------------------------------- */
@@ -7277,208 +2984,207 @@ throw( RuntimeException )
if ( bDisposeAndClear )
{
// Send message to all listener and forget her references.
- css::uno::Reference< css::frame::XLayoutManager > xThis( static_cast< ::cppu::OWeakObject* >(this), css::uno::UNO_QUERY );
- css::lang::EventObject aEvent( xThis );
+ uno::Reference< frame::XLayoutManager > xThis( static_cast< ::cppu::OWeakObject* >(this), uno::UNO_QUERY );
+ lang::EventObject aEvent( xThis );
m_aListenerContainer.disposeAndClear( aEvent );
}
}
-void SAL_CALL LayoutManager::elementInserted( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL LayoutManager::elementInserted( const ui::ConfigurationEvent& Event ) throw (uno::RuntimeException)
{
ReadGuard aReadLock( m_aLock );
+ Reference< XFrame > xFrame( m_xFrame );
+ Reference< ui::XUIConfigurationListener > xUICfgListener( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- Reference< XUIElement > xElement;
- Reference< XFrame > xFrame( m_xFrame );
-
- if ( m_xFrame.is() )
+ if ( xFrame.is() )
{
- implts_findElement( Event.ResourceURL, aElementType, aElementName, xElement );
-
- Reference< XUIElementSettings > xElementSettings( xElement, UNO_QUERY );
- if ( xElementSettings.is() )
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+ bool bRefreshLayout(false);
+
+ parseResourceURL( Event.ResourceURL, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
- Reference< XPropertySet > xPropSet( xElementSettings, UNO_QUERY );
- if ( xPropSet.is() )
+ if ( xUICfgListener.is() )
{
- if ( Event.Source == Reference< XInterface >( m_xDocCfgMgr, UNO_QUERY ))
- xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( m_xDocCfgMgr ));
+ xUICfgListener->elementInserted( Event );
+ bRefreshLayout = pToolbarManager->isLayoutDirty();
}
- xElementSettings->updateSettings();
}
- else
+ else if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_MENUBAR ))
{
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ) &&
- ( aElementName.indexOf( m_aCustomTbxPrefix ) != -1 ))
+ Reference< XUIElement > xUIElement = implts_findElement( Event.ResourceURL );
+ Reference< XUIElementSettings > xElementSettings( xUIElement, UNO_QUERY );
+ if ( xElementSettings.is() )
{
- // custom toolbar must be directly created, shown and layouted!
- createElement( Event.ResourceURL );
- Reference< XUIElement > xUIElement = getElement( Event.ResourceURL );
- if ( xUIElement.is() )
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ uno::Reference< XPropertySet > xPropSet( xElementSettings, uno::UNO_QUERY );
+ if ( xPropSet.is() )
{
- Reference< XUIConfigurationManager > xCfgMgr;
- Reference< XPropertySet > xPropSet;
- ::rtl::OUString aUIName;
-
- try
- {
- xCfgMgr = Reference< XUIConfigurationManager >( Event.Source, UNO_QUERY );
- xPropSet = Reference< XPropertySet >( xCfgMgr->getSettings( Event.ResourceURL, sal_False ), UNO_QUERY );
-
- if ( xPropSet.is() )
- xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "UIName" ))) >>= aUIName;
- }
- catch ( com::sun::star::container::NoSuchElementException& )
- {
- }
- catch ( com::sun::star::beans::UnknownPropertyException& )
- {
- }
- catch ( com::sun::star::lang::WrappedTargetException& )
- {
- }
-
- {
- vos::OGuard aGuard( Application::GetSolarMutex() );
- Reference< css::awt::XWindow > xWindow( xUIElement->getRealInterface(), UNO_QUERY );
- Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
- if ( pWindow )
- pWindow->SetText( aUIName );
- }
-
- showElement( Event.ResourceURL );
+ if ( Event.Source == uno::Reference< uno::XInterface >( m_xDocCfgMgr, uno::UNO_QUERY ))
+ xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( m_xDocCfgMgr ));
}
+ xElementSettings->updateSettings();
}
}
- }
+
+ if ( bRefreshLayout )
+ doLayout();
+ }
}
-void SAL_CALL LayoutManager::elementRemoved( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL LayoutManager::elementRemoved( const ui::ConfigurationEvent& Event ) throw (uno::RuntimeException)
{
- /* SAFE AREA ----------------------------------------------------------------------------------------------- */
- WriteGuard aWriteLock( m_aLock );
-
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- Reference< XUIElement > xUIElement;
- Reference< XFrame > xFrame( m_xFrame );
+ ReadGuard aReadLock( m_aLock );
+ Reference< frame::XFrame > xFrame( m_xFrame );
+ Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ Reference< awt::XWindow > xContainerWindow( m_xContainerWindow );
+ Reference< ui::XUIElement > xMenuBar( m_xMenuBar );
+ Reference< ui::XUIConfigurationManager > xModuleCfgMgr( m_xModuleCfgMgr );
+ Reference< ui::XUIConfigurationManager > xDocCfgMgr( m_xDocCfgMgr );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- if ( m_xFrame.is() )
+ if ( xFrame.is() )
{
- implts_findElement( Event.ResourceURL, aElementType, aElementName, xUIElement );
-
- Reference< XUIElementSettings > xElementSettings( xUIElement, UNO_QUERY );
- if ( xElementSettings.is() )
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+ bool bRefreshLayout(false);
+
+ parseResourceURL( Event.ResourceURL, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
+ {
+ if ( xToolbarManager.is() )
+ {
+ xToolbarManager->elementRemoved( Event );
+ bRefreshLayout = pToolbarManager->isLayoutDirty();
+ }
+ }
+ else
{
- bool bNoSettings( false );
- ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
- Reference< XInterface > xElementCfgMgr;
- Reference< XPropertySet > xPropSet( xElementSettings, UNO_QUERY );
+ Reference< XUIElement > xUIElement = implts_findElement( Event.ResourceURL );
+ Reference< XUIElementSettings > xElementSettings( xUIElement, UNO_QUERY );
+ if ( xElementSettings.is() )
+ {
+ bool bNoSettings( false );
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ Reference< XInterface > xElementCfgMgr;
+ Reference< XPropertySet > xPropSet( xElementSettings, UNO_QUERY );
- if ( xPropSet.is() )
- xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
+ if ( xPropSet.is() )
+ xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
- if ( !xElementCfgMgr.is() )
- return;
+ if ( !xElementCfgMgr.is() )
+ return;
- // Check if the same UI configuration manager has changed => check further
- if ( Event.Source == xElementCfgMgr )
- {
- // Same UI configuration manager where our element has its settings
- if ( Event.Source == Reference< XInterface >( m_xDocCfgMgr, UNO_QUERY ))
+ // Check if the same UI configuration manager has changed => check further
+ if ( Event.Source == xElementCfgMgr )
{
- // document settings removed
- if ( m_xModuleCfgMgr->hasSettings( Event.ResourceURL ))
+ // Same UI configuration manager where our element has its settings
+ if ( Event.Source == Reference< XInterface >( xDocCfgMgr, UNO_QUERY ))
{
- xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( m_xModuleCfgMgr ));
- xElementSettings->updateSettings();
- return;
+ // document settings removed
+ if ( xModuleCfgMgr->hasSettings( Event.ResourceURL ))
+ {
+ xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( m_xModuleCfgMgr ));
+ xElementSettings->updateSettings();
+ return;
+ }
}
- }
-
- bNoSettings = true;
- }
- // No settings anymore, element must be destroyed
- if ( m_xContainerWindow.is() && bNoSettings )
- {
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) &&
- aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
- {
- Window* pWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
- while ( pWindow && !pWindow->IsSystemWindow() )
- pWindow = pWindow->GetParent();
-
- if ( pWindow && !m_bInplaceMenuSet )
- ((SystemWindow *)pWindow)->SetMenuBar( 0 );
-
- Reference< XComponent > xComp( m_xMenuBar, UNO_QUERY );
- if ( xComp.is() )
- xComp->dispose();
- m_xMenuBar.clear();
+ bNoSettings = true;
}
- else if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
+
+ // No settings anymore, element must be destroyed
+ if ( xContainerWindow.is() && bNoSettings )
{
- destroyElement( Event.ResourceURL );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "menubar" ) && aElementName.equalsIgnoreAsciiCaseAscii( "menubar" ))
+ {
+ SystemWindow* pSysWindow = getTopSystemWindow( xContainerWindow );
+ if ( pSysWindow && !m_bInplaceMenuSet )
+ pSysWindow->SetMenuBar( 0 );
+
+ Reference< XComponent > xComp( xMenuBar, UNO_QUERY );
+ if ( xComp.is() )
+ xComp->dispose();
+
+ WriteGuard aWriteLock( m_aLock );
+ m_xMenuBar.clear();
+ }
}
}
}
+
+ if ( bRefreshLayout )
+ doLayout();
}
}
-void SAL_CALL LayoutManager::elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException)
+void SAL_CALL LayoutManager::elementReplaced( const ui::ConfigurationEvent& Event ) throw (uno::RuntimeException)
{
ReadGuard aReadLock( m_aLock );
+ Reference< XFrame > xFrame( m_xFrame );
+ Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ aReadLock.unlock();
- ::rtl::OUString aElementType;
- ::rtl::OUString aElementName;
- Reference< XUIElement > xUIElement;
- Reference< XFrame > xFrame( m_xFrame );
-
- if ( m_xFrame.is() )
+ if ( xFrame.is() )
{
- implts_findElement( Event.ResourceURL, aElementType, aElementName, xUIElement );
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+ bool bRefreshLayout(false);
- Reference< XUIElementSettings > xElementSettings( xUIElement, UNO_QUERY );
- if ( xElementSettings.is() )
+ parseResourceURL( Event.ResourceURL, aElementType, aElementName );
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( UIRESOURCETYPE_TOOLBAR ))
{
- ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
- Reference< XInterface > xElementCfgMgr;
- Reference< XPropertySet > xPropSet( xElementSettings, UNO_QUERY );
+ if ( xToolbarManager.is() )
+ {
+ xToolbarManager->elementReplaced( Event );
+ bRefreshLayout = pToolbarManager->isLayoutDirty();
+ }
+ }
+ else
+ {
+ Reference< XUIElement > xUIElement = implts_findElement( Event.ResourceURL );
+ Reference< XUIElementSettings > xElementSettings( xUIElement, UNO_QUERY );
+ if ( xElementSettings.is() )
+ {
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ Reference< XInterface > xElementCfgMgr;
+ Reference< XPropertySet > xPropSet( xElementSettings, UNO_QUERY );
- if ( xPropSet.is() )
- xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
+ if ( xPropSet.is() )
+ xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
- if ( !xElementCfgMgr.is() )
- return;
+ if ( !xElementCfgMgr.is() )
+ return;
- // Check if the same UI configuration manager has changed => update settings
- if ( Event.Source == xElementCfgMgr )
- {
- xElementSettings->updateSettings();
- if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ))
- doLayout();
+ // Check if the same UI configuration manager has changed => update settings
+ if ( Event.Source == xElementCfgMgr )
+ xElementSettings->updateSettings();
}
}
+
+ if ( bRefreshLayout )
+ doLayout();
}
}
//---------------------------------------------------------------------------------------------------------
-// OPropertySetHelper
+// OPropertySetHelper
//---------------------------------------------------------------------------------------------------------
-// XPropertySet helper
-sal_Bool SAL_CALL LayoutManager::convertFastPropertyValue( Any& aConvertedValue ,
- Any& aOldValue ,
- sal_Int32 nHandle ,
- const Any& aValue ) throw( com::sun::star::lang::IllegalArgumentException )
+sal_Bool SAL_CALL LayoutManager::convertFastPropertyValue( Any& aConvertedValue,
+ Any& aOldValue,
+ sal_Int32 nHandle,
+ const Any& aValue ) throw( lang::IllegalArgumentException )
{
return LayoutManager_PBase::convertFastPropertyValue( aConvertedValue, aOldValue, nHandle, aValue );
}
-void SAL_CALL LayoutManager::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle ,
- const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception )
+void SAL_CALL LayoutManager::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle,
+ const uno::Any& aValue ) throw( uno::Exception )
{
if ( nHandle != LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY )
LayoutManager_PBase::setFastPropertyValue_NoBroadcast( nHandle, aValue );
@@ -7491,40 +3197,43 @@ void SAL_CALL LayoutManager::setFastPropertyValue_NoBroadcast( sal_Int32
case LAYOUTMANAGER_PROPHANDLE_REFRESHVISIBILITY:
{
- sal_Bool bValue = sal_Bool();
+ sal_Bool bValue(sal_False);
if (( aValue >>= bValue ) && bValue )
- implts_refreshContextToolbarsVisibility();
+ {
+ ReadGuard aReadLock( m_aLock );
+ Reference< ui::XUIConfigurationListener > xToolbarManager( m_xToolbarManager );
+ ToolbarLayoutManager* pToolbarManager = m_pToolbarManager;
+ bool bAutomaticToolbars( m_bAutomaticToolbars );
+ aReadLock.unlock();
+
+ if ( pToolbarManager )
+ pToolbarManager->refreshToolbarsVisibility( bAutomaticToolbars );
+ }
break;
}
case LAYOUTMANAGER_PROPHANDLE_HIDECURRENTUI:
implts_setCurrentUIVisibility( !m_bHideCurrentUI );
break;
+ default: break;
}
}
-void SAL_CALL LayoutManager::getFastPropertyValue( com::sun::star::uno::Any& aValue ,
- sal_Int32 nHandle ) const
+void SAL_CALL LayoutManager::getFastPropertyValue( uno::Any& aValue, sal_Int32 nHandle ) const
{
LayoutManager_PBase::getFastPropertyValue( aValue, nHandle );
}
::cppu::IPropertyArrayHelper& SAL_CALL LayoutManager::getInfoHelper()
{
- // Optimize this method !
- // We initialize a static variable only one time. And we don't must use a mutex at every call!
- // For the first call; pInfoHelper is NULL - for the second call pInfoHelper is different from NULL!
static ::cppu::OPropertyArrayHelper* pInfoHelper = NULL;
if( pInfoHelper == NULL )
{
- // Ready for multithreading
osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
- // Control this pointer again, another instance can be faster then these!
if( pInfoHelper == NULL )
{
- // Define static member to give structure of properties to baseclass "OPropertySetHelper".
uno::Sequence< beans::Property > aProperties;
describeProperties( aProperties );
static ::cppu::OPropertyArrayHelper aInfoHelper( aProperties, sal_True );
@@ -7535,23 +3244,17 @@ void SAL_CALL LayoutManager::getFastPropertyValue( com::sun::star::uno::Any& aVa
return(*pInfoHelper);
}
-com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL LayoutManager::getPropertySetInfo() throw (::com::sun::star::uno::RuntimeException)
+uno::Reference< beans::XPropertySetInfo > SAL_CALL LayoutManager::getPropertySetInfo() throw (uno::RuntimeException)
{
- // Optimize this method !
- // We initialize a static variable only one time. And we don't must use a mutex at every call!
- // For the first call; pInfo is NULL - for the second call pInfo is different from NULL!
- static com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo >* pInfo = NULL;
+ static uno::Reference< beans::XPropertySetInfo >* pInfo = NULL;
if( pInfo == NULL )
{
- // Ready for multithreading
osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
- // Control this pointer again, another instance can be faster then these!
+
if( pInfo == NULL )
{
- // Create structure of propertysetinfo for baseclass "OPropertySetHelper".
- // (Use method "getInfoHelper()".)
- static com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
+ static uno::Reference< beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
pInfo = &xInfo;
}
}
@@ -7560,4 +3263,3 @@ com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CA
}
} // namespace framework
-
diff --git a/framework/source/layoutmanager/makefile.mk b/framework/source/layoutmanager/makefile.mk
deleted file mode 100644
index 70215a3657..0000000000
--- a/framework/source/layoutmanager/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= framework
-TARGET= fwk_layout
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-VISIBILITY_HIDDEN = TRUE
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/layoutmanager.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/layoutmanager/panel.cxx b/framework/source/layoutmanager/panel.cxx
new file mode 100755
index 0000000000..1e208e1f8c
--- /dev/null
+++ b/framework/source/layoutmanager/panel.cxx
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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_framework.hxx"
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include "panel.hxx"
+#include "helpers.hxx"
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <vos/mutex.hxx>
+#include <vcl/svapp.hxx>
+#include <toolkit/unohlp.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+using namespace ::com::sun::star;
+
+namespace framework
+{
+
+Panel::Panel(
+ const uno::Reference< lang::XMultiServiceFactory >& rSMGR,
+ const uno::Reference< awt::XWindow >& rParent,
+ PanelPosition nPanel ) :
+ m_xSMGR(rSMGR), m_nPanelPosition(nPanel)
+{
+ uno::Reference< awt::XWindowPeer > xWindowPeer( rParent, uno::UNO_QUERY );
+ m_xPanelWindow = uno::Reference< awt::XWindow >( createToolkitWindow( rSMGR, xWindowPeer, "splitwindow" ), uno::UNO_QUERY );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ SplitWindow* pSplitWindow = dynamic_cast< SplitWindow* >( VCLUnoHelper::GetWindow( m_xPanelWindow ));
+
+ if ( pSplitWindow )
+ {
+ // Set alignment
+ if (nPanel == PANEL_TOP)
+ pSplitWindow->SetAlign( WINDOWALIGN_TOP );
+ else if (nPanel == PANEL_BOTTOM)
+ pSplitWindow->SetAlign( WINDOWALIGN_BOTTOM );
+ else if (nPanel == PANEL_LEFT)
+ pSplitWindow->SetAlign( WINDOWALIGN_LEFT );
+ else
+ pSplitWindow->SetAlign( WINDOWALIGN_RIGHT );
+ }
+}
+
+Panel::~Panel()
+{
+}
+
+} // namespace framework
diff --git a/framework/source/layoutmanager/panel.hxx b/framework/source/layoutmanager/panel.hxx
new file mode 100755
index 0000000000..ccd9f72abe
--- /dev/null
+++ b/framework/source/layoutmanager/panel.hxx
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_PANEL_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_PANEL_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <macros/generic.hxx>
+#include <stdtypes.h>
+#include <properties.h>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/awt/XWindow.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <vcl/window.hxx>
+#include <vcl/splitwin.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework
+{
+
+enum PanelPosition
+{
+ PANEL_TOP,
+ PANEL_LEFT,
+ PANEL_RIGHT,
+ PANEL_BOTTOM,
+ PANEL_COUNT
+};
+
+class Panel
+{
+ public:
+ Panel( const css::uno::Reference< css::lang::XMultiServiceFactory >& rSMGR,
+ const css::uno::Reference< css::awt::XWindow >& rParent,
+ PanelPosition nPanel );
+ virtual ~Panel();
+
+ private:
+ css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::awt::XWindow > m_xPanelWindow;
+ PanelPosition m_nPanelPosition;
+};
+
+}
+
+#endif // __FRAMEWORK_LAYOUTMANAGER_PANEL_HXX_
diff --git a/framework/source/layoutmanager/panelmanager.cxx b/framework/source/layoutmanager/panelmanager.cxx
new file mode 100755
index 0000000000..81428a62de
--- /dev/null
+++ b/framework/source/layoutmanager/panelmanager.cxx
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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_framework.hxx"
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include "panelmanager.hxx"
+#include "services.h"
+#include "services/modelwinservice.hxx"
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <vcl/svapp.hxx>
+#include <toolkit/unohlp.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+using namespace ::com::sun::star;
+
+namespace framework
+{
+
+//_________________________________________________________________________________________________________________
+// non exported definitions
+//_________________________________________________________________________________________________________________
+
+//_________________________________________________________________________________________________________________
+// declarations
+//_________________________________________________________________________________________________________________
+
+
+PanelManager::PanelManager(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSMGR,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame ) :
+ m_xSMGR( rSMGR ),
+ m_xFrame( rFrame )
+{
+ m_aPanels[PANEL_TOP] = 0;
+ m_aPanels[PANEL_BOTTOM] = 0;
+ m_aPanels[PANEL_LEFT] = 0;
+ m_aPanels[PANEL_RIGHT] = 0;
+}
+
+PanelManager::~PanelManager()
+{
+}
+
+//---------------------------------------------------------------------------------------------------------
+// Creation and layouting
+//---------------------------------------------------------------------------------------------------------
+bool PanelManager::createPanels()
+{
+ if ( m_xFrame.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ uno::Reference< awt::XWindow > xWindow( m_xFrame->getContainerWindow(), uno::UNO_QUERY );
+ if ( xWindow.is() )
+ {
+ // destroy old panel windows
+ delete m_aPanels[PANEL_TOP ];
+ delete m_aPanels[PANEL_BOTTOM];
+ delete m_aPanels[PANEL_LEFT ];
+ delete m_aPanels[PANEL_RIGHT ];
+
+ m_aPanels[PANEL_TOP ] = new Panel( m_xSMGR, xWindow, PANEL_TOP );
+ m_aPanels[PANEL_BOTTOM] = new Panel( m_xSMGR, xWindow, PANEL_BOTTOM );
+ m_aPanels[PANEL_LEFT ] = new Panel( m_xSMGR, xWindow, PANEL_LEFT );
+ m_aPanels[PANEL_RIGHT ] = new Panel( m_xSMGR, xWindow, PANEL_RIGHT );
+ return true;
+ }
+ }
+
+ return false;
+}
+
+awt::Rectangle PanelManager::getPreferredSize() const
+{
+ return awt::Rectangle();
+}
+
+void PanelManager::layoutPanels( const awt::Rectangle /*newSize*/ )
+{
+}
+
+//---------------------------------------------------------------------------------------------------------
+// Panel functions
+//---------------------------------------------------------------------------------------------------------
+UIElement* PanelManager::findDockingWindow( const ::rtl::OUString& /*rResourceName*/ )
+{
+ return NULL;
+}
+
+bool PanelManager::addDockingWindow( const ::rtl::OUString& /*rResourceName*/, const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& /*xUIElement*/ )
+{
+ return false;
+}
+
+bool PanelManager::destroyDockingWindow( const ::rtl::OUString& /*rResourceName*/ )
+{
+ return false;
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XDockableWindowListener
+//---------------------------------------------------------------------------------------------------------
+void SAL_CALL PanelManager::startDocking( const awt::DockingEvent& )
+throw (uno::RuntimeException)
+{
+}
+
+awt::DockingData SAL_CALL PanelManager::docking( const awt::DockingEvent& )
+throw (uno::RuntimeException)
+{
+ return awt::DockingData();
+}
+
+void SAL_CALL PanelManager::endDocking( const awt::EndDockingEvent& )
+throw (uno::RuntimeException)
+{
+}
+
+sal_Bool SAL_CALL PanelManager::prepareToggleFloatingMode( const lang::EventObject& )
+throw (uno::RuntimeException)
+{
+ return false;
+}
+
+void SAL_CALL PanelManager::toggleFloatingMode( const lang::EventObject& )
+throw (uno::RuntimeException)
+{
+}
+
+void SAL_CALL PanelManager::closed( const lang::EventObject& )
+throw (uno::RuntimeException)
+{
+}
+
+void SAL_CALL PanelManager::endPopupMode( const awt::EndPopupModeEvent& )
+throw (uno::RuntimeException)
+{
+}
+
+} // namespace framework
diff --git a/framework/source/layoutmanager/panelmanager.hxx b/framework/source/layoutmanager/panelmanager.hxx
new file mode 100755
index 0000000000..b89b474a7d
--- /dev/null
+++ b/framework/source/layoutmanager/panelmanager.hxx
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_PANELMANAGER_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_PANELMANAGER_HXX_
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <threadhelp/threadhelpbase.hxx>
+#include <macros/generic.hxx>
+#include <macros/debug.hxx>
+#include <macros/xinterface.hxx>
+#include <macros/xtypeprovider.hxx>
+#include <macros/xserviceinfo.hxx>
+#include <general.h>
+#include <stdtypes.h>
+#include "panel.hxx"
+#include <uielement/uielement.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/awt/XWindow.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/awt/XDockableWindowListener.hpp>
+#include <com/sun/star/frame/XFrame.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <cppuhelper/weak.hxx>
+#include <vcl/window.hxx>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework
+{
+
+class PanelManager : private ThreadHelpBase // Struct for right initalization of mutex member! Must be first of baseclasses.
+{
+ public:
+ PanelManager(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSMGR,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& rFrame );
+ virtual ~PanelManager();
+
+ bool createPanels();
+ ::com::sun::star::awt::Rectangle getPreferredSize() const;
+ void layoutPanels( const ::com::sun::star::awt::Rectangle newSize );
+
+ UIElement* findDockingWindow( const ::rtl::OUString& rResourceName );
+ bool addDockingWindow( const ::rtl::OUString& rResourceName, const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& xUIElement );
+ bool destroyDockingWindow( const ::rtl::OUString& rResourceName );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XDockableWindowListener
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL startDocking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::DockingData SAL_CALL docking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL endDocking( const ::com::sun::star::awt::EndDockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL prepareToggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL toggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL closed( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL endPopupMode( const ::com::sun::star::awt::EndPopupModeEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+
+ private:
+ Panel* m_aPanels[PANEL_COUNT];
+ css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::frame::XFrame > m_xFrame;
+};
+
+} // namespace framework
+
+#endif // __FRAMEWORK_LAYOUTMANAGER_PANELMANAGER_HXX_
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
new file mode 100755
index 0000000000..f2aa675f02
--- /dev/null
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx
@@ -0,0 +1,4305 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.cxx,v $
+ * $Revision: 1.72 $
+ *
+ * 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_framework.hxx"
+
+// my own includes
+#include <toolbarlayoutmanager.hxx>
+#include <helpers.hxx>
+#include <services.h>
+#include <classes/resource.hrc>
+#include <classes/fwkresid.hxx>
+#include <uiconfiguration/windowstateconfiguration.hxx>
+
+// interface includes
+#include <com/sun/star/awt/PosSize.hpp>
+#include <com/sun/star/ui/UIElementType.hpp>
+#include <com/sun/star/container/XNameReplace.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/ui/XUIElementSettings.hpp>
+#include <com/sun/star/ui/XUIFunctionListener.hpp>
+
+// other includes
+#include <unotools/cmdoptions.hxx>
+#include <toolkit/unohlp.hxx>
+#include <toolkit/helper/convert.hxx>
+#include <toolkit/awt/vclxwindow.hxx>
+#include <vcl/i18nhelp.hxx>
+#include <vcl/dockingarea.hxx>
+#include <boost/bind.hpp>
+
+using namespace ::com::sun::star;
+
+namespace framework
+{
+
+ToolbarLayoutManager::ToolbarLayoutManager(
+ const uno::Reference< lang::XMultiServiceFactory >& xSMGR,
+ const uno::Reference< ui::XUIElementFactory >& xUIElementFactory,
+ ILayoutNotifications* pParentLayouter )
+ : ThreadHelpBase( &Application::GetSolarMutex() ),
+ m_xSMGR( xSMGR ),
+ m_xUIElementFactoryManager( xUIElementFactory ),
+ m_pParentLayouter( pParentLayouter ),
+ m_eDockOperation( DOCKOP_ON_COLROW ),
+ m_pAddonOptions( 0 ),
+ m_pGlobalSettings( 0 ),
+ m_bComponentAttached( false ),
+ m_bMustLayout( false ),
+ m_bLayoutDirty( false ),
+ m_bStoreWindowState( false ),
+ m_bGlobalSettings( false ),
+ m_bDockingInProgress( false ),
+ m_bVisible( true ),
+ m_bLayoutInProgress( false ),
+ m_bToolbarCreation( false ),
+ m_aFullAddonTbxPrefix( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/addon_" )),
+ m_aCustomTbxPrefix( RTL_CONSTASCII_USTRINGPARAM( "custom_" )),
+ m_aCustomizeCmd( RTL_CONSTASCII_USTRINGPARAM( "ConfigureDialog" )),
+ m_aToolbarTypeString( RTL_CONSTASCII_USTRINGPARAM( UIRESOURCETYPE_TOOLBAR ))
+{
+ // initialize rectangles to zero values
+ setZeroRectangle( m_aDockingAreaOffsets );
+ setZeroRectangle( m_aDockingArea );
+
+ // create toolkit object
+ m_xToolkit = uno::Reference< awt::XToolkit >( m_xSMGR->createInstance( SERVICENAME_VCLTOOLKIT ), uno::UNO_QUERY );
+}
+
+ToolbarLayoutManager::~ToolbarLayoutManager()
+{
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XInterface
+//---------------------------------------------------------------------------------------------------------
+void SAL_CALL ToolbarLayoutManager::acquire() throw()
+{
+ OWeakObject::acquire();
+}
+
+void SAL_CALL ToolbarLayoutManager::release() throw()
+{
+ OWeakObject::release();
+}
+
+uno::Any SAL_CALL ToolbarLayoutManager::queryInterface( const uno::Type & rType ) throw( uno::RuntimeException )
+{
+ uno::Any a = ::cppu::queryInterface( rType,
+ SAL_STATIC_CAST( awt::XDockableWindowListener*, this ),
+ SAL_STATIC_CAST( ui::XUIConfigurationListener*, this ),
+ SAL_STATIC_CAST( awt::XWindowListener*, this ));
+
+ if ( a.hasValue() )
+ return a;
+
+ return OWeakObject::queryInterface( rType );
+}
+
+void SAL_CALL ToolbarLayoutManager::disposing( const lang::EventObject& aEvent ) throw( uno::RuntimeException )
+{
+ if ( aEvent.Source == m_xFrame )
+ {
+ // Reset all internal references
+ reset();
+ implts_destroyDockingAreaWindows();
+ }
+}
+
+awt::Rectangle ToolbarLayoutManager::getDockingArea()
+{
+ WriteGuard aWriteLock( m_aLock );
+ Rectangle aNewDockingArea( m_aDockingArea );
+ aWriteLock.unlock();
+
+ if ( isLayoutDirty() )
+ aNewDockingArea = implts_calcDockingArea();
+
+ aWriteLock.lock();
+ m_aDockingArea = aNewDockingArea;
+ aWriteLock.unlock();
+
+ return putRectangleValueToAWT(aNewDockingArea);
+}
+
+void ToolbarLayoutManager::setDockingArea( const awt::Rectangle& rDockingArea )
+{
+ WriteGuard aWriteLock( m_aLock );
+ m_aDockingArea = putAWTToRectangle( rDockingArea );
+ m_bLayoutDirty = true;
+ aWriteLock.unlock();
+}
+
+void ToolbarLayoutManager::implts_setDockingAreaWindowSizes( const awt::Rectangle& rBorderSpace )
+{
+ ReadGuard aReadLock( m_aLock );
+ Rectangle aDockOffsets = m_aDockingAreaOffsets;
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ uno::Reference< awt::XWindow > xTopDockAreaWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ uno::Reference< awt::XWindow > xBottomDockAreaWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] );
+ uno::Reference< awt::XWindow > xLeftDockAreaWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ uno::Reference< awt::XWindow > xRightDockAreaWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] );
+ aReadLock.unlock();
+
+ uno::Reference< awt::XDevice > xDevice( xContainerWindow, uno::UNO_QUERY );
+
+ // Convert relativ size to output size.
+ awt::Rectangle aRectangle = xContainerWindow->getPosSize();
+ awt::DeviceInfo aInfo = xDevice->getInfo();
+ awt::Size aContainerClientSize = awt::Size( aRectangle.Width - aInfo.LeftInset - aInfo.RightInset ,
+ aRectangle.Height - aInfo.TopInset - aInfo.BottomInset );
+ long aStatusBarHeight = aDockOffsets.GetHeight();
+
+ sal_Int32 nLeftRightDockingAreaHeight( aContainerClientSize.Height );
+ if ( rBorderSpace.Y >= 0 )
+ {
+ // Top docking area window
+ xTopDockAreaWindow->setPosSize( 0, 0, aContainerClientSize.Width, rBorderSpace.Y, awt::PosSize::POSSIZE );
+ xTopDockAreaWindow->setVisible( sal_True );
+ nLeftRightDockingAreaHeight -= rBorderSpace.Y;
+ }
+
+ if ( rBorderSpace.Height >= 0 )
+ {
+ // Bottom docking area window
+ sal_Int32 nBottomPos = std::max( sal_Int32( aContainerClientSize.Height - rBorderSpace.Height - aStatusBarHeight ), sal_Int32( 0 ));
+ sal_Int32 nHeight = ( nBottomPos == 0 ) ? 0 : rBorderSpace.Height;
+
+ xBottomDockAreaWindow->setPosSize( 0, nBottomPos, aContainerClientSize.Width, nHeight, awt::PosSize::POSSIZE );
+ xBottomDockAreaWindow->setVisible( sal_True );
+ nLeftRightDockingAreaHeight -= nHeight;
+ }
+
+ nLeftRightDockingAreaHeight -= aStatusBarHeight;
+ if ( rBorderSpace.X >= 0 || nLeftRightDockingAreaHeight > 0 )
+ {
+ // Left docking area window
+ // We also have to change our right docking area window if the top or bottom area has changed. They have a higher priority!
+ sal_Int32 nHeight = std::max( sal_Int32( 0 ), sal_Int32( nLeftRightDockingAreaHeight ));
+
+ xLeftDockAreaWindow->setPosSize( 0, rBorderSpace.Y, rBorderSpace.X, nHeight, awt::PosSize::POSSIZE );
+ xLeftDockAreaWindow->setVisible( sal_True );
+ }
+ if ( rBorderSpace.Width >= 0 || nLeftRightDockingAreaHeight > 0 )
+ {
+ // Right docking area window
+ // We also have to change our right docking area window if the top or bottom area has changed. They have a higher priority!
+ sal_Int32 nLeftPos = std::max( sal_Int32( 0 ), sal_Int32( aContainerClientSize.Width - rBorderSpace.Width ));
+ sal_Int32 nHeight = std::max( sal_Int32( 0 ), sal_Int32( nLeftRightDockingAreaHeight ));
+ sal_Int32 nWidth = ( nLeftPos == 0 ) ? 0 : rBorderSpace.Width;
+
+ xRightDockAreaWindow->setPosSize( nLeftPos, rBorderSpace.Y, nWidth, nHeight, awt::PosSize::POSSIZE );
+ xRightDockAreaWindow->setVisible( sal_True );
+ }
+}
+
+bool ToolbarLayoutManager::isLayoutDirty()
+{
+ return m_bLayoutDirty;
+}
+
+void ToolbarLayoutManager::doLayout(const ::Size& aContainerSize)
+{
+ WriteGuard aWriteLock( m_aLock );
+ bool bLayoutInProgress( m_bLayoutInProgress );
+ m_bLayoutInProgress = true;
+ awt::Rectangle aDockingArea = putRectangleValueToAWT( m_aDockingArea );
+ aWriteLock.unlock();
+
+ if ( bLayoutInProgress )
+ return;
+
+ // Retrieve row/column dependent data from all docked user-interface elements
+ for ( sal_Int32 i = 0; i < DOCKINGAREAS_COUNT; i++ )
+ {
+ bool bReverse( isReverseOrderDockingArea( i ));
+ std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
+
+ implts_getDockingAreaElementInfos( (ui::DockingArea)i, aRowColumnsWindowData );
+
+ sal_Int32 nOffset( 0 );
+ const sal_uInt32 nCount = aRowColumnsWindowData.size();
+ for ( sal_uInt32 j = 0; j < nCount; ++j )
+ {
+ sal_uInt32 nIndex = bReverse ? nCount-j-1 : j;
+ implts_calcWindowPosSizeOnSingleRowColumn( i, nOffset, aRowColumnsWindowData[nIndex], aContainerSize );
+ nOffset += aRowColumnsWindowData[j].nStaticSize;
+ }
+ }
+
+ implts_setDockingAreaWindowSizes( aDockingArea );
+
+ aWriteLock.lock();
+ m_bLayoutDirty = false;
+ m_bLayoutInProgress = false;
+ aWriteLock.unlock();
+}
+
+bool ToolbarLayoutManager::implts_isParentWindowVisible() const
+{
+ ReadGuard aReadLock( m_aLock );
+ bool bVisible( false );
+ if ( m_xContainerWindow.is() )
+ bVisible = m_xContainerWindow->isVisible();
+
+ return bVisible;
+}
+
+Rectangle ToolbarLayoutManager::implts_calcDockingArea()
+{
+ ReadGuard aReadLock( m_aLock );
+ UIElementVector aWindowVector( m_aUIElements );
+ aReadLock.unlock();
+
+ Rectangle aBorderSpace;
+ sal_Int32 nCurrRowColumn( 0 );
+ sal_Int32 nCurrPos( 0 );
+ sal_Int32 nCurrDockingArea( ui::DockingArea_DOCKINGAREA_TOP );
+ std::vector< sal_Int32 > aRowColumnSizes[DOCKINGAREAS_COUNT];
+ UIElementVector::const_iterator pConstIter;
+
+ // initialize rectangle with zero values!
+ aBorderSpace.setWidth(0);
+ aBorderSpace.setHeight(0);
+
+ aRowColumnSizes[nCurrDockingArea].clear();
+ aRowColumnSizes[nCurrDockingArea].push_back( 0 );
+
+ for ( pConstIter = aWindowVector.begin(); pConstIter != aWindowVector.end(); pConstIter++ )
+ {
+ uno::Reference< ui::XUIElement > xUIElement( pConstIter->m_xUIElement, uno::UNO_QUERY );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xWindow.is() && xDockWindow.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && !xDockWindow->isFloating() && pConstIter->m_bVisible )
+ {
+ awt::Rectangle aPosSize = xWindow->getPosSize();
+ if ( pConstIter->m_aDockedData.m_nDockedArea != nCurrDockingArea )
+ {
+ nCurrDockingArea = pConstIter->m_aDockedData.m_nDockedArea;
+ nCurrRowColumn = 0;
+ nCurrPos = 0;
+ aRowColumnSizes[nCurrDockingArea].clear();
+ aRowColumnSizes[nCurrDockingArea].push_back( 0 );
+ }
+
+ if ( pConstIter->m_aDockedData.m_nDockedArea == nCurrDockingArea )
+ {
+ if ( isHorizontalDockingArea( pConstIter->m_aDockedData.m_nDockedArea ))
+ {
+ if ( pConstIter->m_aDockedData.m_aPos.Y() > nCurrPos )
+ {
+ ++nCurrRowColumn;
+ nCurrPos = pConstIter->m_aDockedData.m_aPos.Y();
+ aRowColumnSizes[nCurrDockingArea].push_back( 0 );
+ }
+
+ if ( aPosSize.Height > aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] )
+ aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] = aPosSize.Height;
+ }
+ else
+ {
+ if ( pConstIter->m_aDockedData.m_aPos.X() > nCurrPos )
+ {
+ ++nCurrRowColumn;
+ nCurrPos = pConstIter->m_aDockedData.m_aPos.X();
+ aRowColumnSizes[nCurrDockingArea].push_back( 0 );
+ }
+
+ if ( aPosSize.Width > aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] )
+ aRowColumnSizes[nCurrDockingArea][nCurrRowColumn] = aPosSize.Width;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Sum up max heights from every row/column
+ if ( !aWindowVector.empty() )
+ {
+ for ( sal_Int32 i = 0; i <= ui::DockingArea_DOCKINGAREA_RIGHT; i++ )
+ {
+ sal_Int32 nSize( 0 );
+ const sal_uInt32 nCount = aRowColumnSizes[i].size();
+ for ( sal_uInt32 j = 0; j < nCount; j++ )
+ nSize += aRowColumnSizes[i][j];
+
+ if ( i == ui::DockingArea_DOCKINGAREA_TOP )
+ aBorderSpace.Top() = nSize;
+ else if ( i == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ aBorderSpace.Bottom() = nSize;
+ else if ( i == ui::DockingArea_DOCKINGAREA_LEFT )
+ aBorderSpace.Left() = nSize;
+ else
+ aBorderSpace.Right() = nSize;
+ }
+ }
+
+ return aBorderSpace;
+}
+
+void ToolbarLayoutManager::reset()
+{
+ WriteGuard aWriteLock( m_aLock );
+ uno::Reference< ui::XUIConfigurationManager > xModuleCfgMgr( m_xModuleCfgMgr );
+ uno::Reference< ui::XUIConfigurationManager > xDocCfgMgr( m_xDocCfgMgr );
+ m_xModuleCfgMgr.clear();
+ m_xDocCfgMgr.clear();
+ m_bComponentAttached = false;
+ aWriteLock.unlock();
+
+ destroyToolbars();
+ resetDockingArea();
+}
+
+void ToolbarLayoutManager::attach(
+ const uno::Reference< frame::XFrame >& xFrame,
+ const uno::Reference< ui::XUIConfigurationManager >& xModuleCfgMgr,
+ const uno::Reference< ui::XUIConfigurationManager >& xDocCfgMgr,
+ const uno::Reference< container::XNameAccess >& xPersistentWindowState )
+{
+ // reset toolbar manager if we lose our current frame
+ if ( m_xFrame.is() && m_xFrame != xFrame )
+ reset();
+
+ WriteGuard aWriteLock( m_aLock );
+ m_xFrame = xFrame;
+ m_xModuleCfgMgr = xModuleCfgMgr;
+ m_xDocCfgMgr = xDocCfgMgr;
+ m_xPersistentWindowState = xPersistentWindowState;
+ m_bComponentAttached = true;
+}
+
+void ToolbarLayoutManager::createStaticToolbars()
+{
+ resetDockingArea();
+ implts_createCustomToolBars();
+ implts_createAddonsToolBars();
+ implts_createNonContextSensitiveToolBars();
+ implts_sortUIElements();
+}
+
+bool ToolbarLayoutManager::requestToolbar( const ::rtl::OUString& rResourceURL )
+{
+ bool bNotify( false );
+ bool bMustCallCreate( false );
+ uno::Reference< ui::XUIElement > xUIElement;
+
+ UIElement aRequestedToolbar = impl_findToolbar( rResourceURL );
+ if ( aRequestedToolbar.m_aName != rResourceURL )
+ {
+ bMustCallCreate = true;
+ aRequestedToolbar.m_aName = rResourceURL;
+ aRequestedToolbar.m_aType = m_aToolbarTypeString;
+ aRequestedToolbar.m_xUIElement = xUIElement;
+ implts_readWindowStateData( rResourceURL, aRequestedToolbar );
+ }
+
+ xUIElement = aRequestedToolbar.m_xUIElement;
+ if ( !xUIElement.is() )
+ bMustCallCreate = true;
+
+ bool bCreateOrShowToolbar( aRequestedToolbar.m_bVisible & !aRequestedToolbar.m_bMasterHide );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow, uno::UNO_QUERY );
+ if ( xContainerWindow.is() && aRequestedToolbar.m_bFloating )
+ bCreateOrShowToolbar &= bool( xContainerWindow->isActive());
+
+ if ( bCreateOrShowToolbar )
+ bNotify = ( bMustCallCreate ) ? createToolbar( rResourceURL ) : showToolbar( rResourceURL );
+
+ return bNotify;
+}
+
+bool ToolbarLayoutManager::createToolbar( const ::rtl::OUString& rResourceURL )
+{
+ bool bNotify( false );
+ uno::Reference< ui::XUIElement > xUITempElement;
+
+ implts_createToolBar( rResourceURL, bNotify, xUITempElement );
+ return bNotify;
+}
+
+bool ToolbarLayoutManager::destroyToolbar( const ::rtl::OUString& rResourceURL )
+{
+ const rtl::OUString aAddonTbResourceName( RTL_CONSTASCII_USTRINGPARAM( "private:resource/toolbar/addon_" ));
+
+ UIElementVector::iterator pIter;
+ uno::Reference< lang::XComponent > xComponent;
+
+ bool bNotify( false );
+ bool bMustBeSorted( false );
+ bool bMustLayouted( false );
+ bool bMustBeDestroyed( rResourceURL.indexOf( aAddonTbResourceName ) != 0 );
+
+ WriteGuard aWriteLock( m_aLock );
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_aName == rResourceURL )
+ {
+ xComponent.set( pIter->m_xUIElement, uno::UNO_QUERY );
+ if ( bMustBeDestroyed )
+ pIter->m_xUIElement.clear();
+ else
+ pIter->m_bVisible = false;
+ break;
+ }
+ }
+ aWriteLock.unlock();
+
+ uno::Reference< ui::XUIElement > xUIElement( xComponent, uno::UNO_QUERY );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+
+ if ( bMustBeDestroyed )
+ {
+ try
+ {
+ if ( xWindow.is() )
+ xWindow->removeWindowListener( uno::Reference< awt::XWindowListener >(
+ static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ }
+ catch( uno::Exception& ) {}
+
+ try
+ {
+ if ( xDockWindow.is() )
+ xDockWindow->removeDockableWindowListener( uno::Reference< awt::XDockableWindowListener >(
+ static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ }
+ catch ( uno::Exception& ) {}
+ }
+ else
+ {
+ if ( xWindow.is() )
+ xWindow->setVisible( sal_False );
+ bNotify = true;
+ }
+
+ if ( !xDockWindow->isFloating() )
+ bMustLayouted = true;
+ bMustBeSorted = true;
+ }
+
+ if ( bMustBeDestroyed )
+ {
+ if ( xComponent.is() )
+ xComponent->dispose();
+ bNotify = true;
+ }
+
+ if ( bMustLayouted )
+ implts_setLayoutDirty();
+
+ if ( bMustBeSorted )
+ implts_sortUIElements();
+
+ return bNotify;
+}
+
+void ToolbarLayoutManager::destroyToolbars()
+{
+ UIElementVector aUIElementVector;
+ implts_getUIElementVectorCopy( aUIElementVector );
+
+ WriteGuard aWriteLock( m_aLock );
+ m_aUIElements.clear();
+ m_bLayoutDirty = true;
+ aWriteLock.unlock();
+
+ UIElementVector::iterator pIter;
+ for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
+ {
+ uno::Reference< lang::XComponent > xComponent( pIter->m_xUIElement, uno::UNO_QUERY );
+ if ( xComponent.is() )
+ xComponent->dispose();
+ }
+}
+
+bool ToolbarLayoutManager::showToolbar( const ::rtl::OUString& rResourceURL )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = getWindowFromXUIElement( aUIElement.m_xUIElement );
+ if ( pWindow )
+ {
+ if ( !aUIElement.m_bFloating )
+ implts_setLayoutDirty();
+ else
+ pWindow->Show( TRUE, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+
+ aUIElement.m_bVisible = true;
+ implts_writeWindowStateData( aUIElement );
+ implts_setToolbar( aUIElement );
+ return true;
+ }
+
+ return false;
+}
+
+bool ToolbarLayoutManager::hideToolbar( const ::rtl::OUString& rResourceURL )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = getWindowFromXUIElement( aUIElement.m_xUIElement );
+ if ( pWindow )
+ {
+ pWindow->Show( FALSE );
+ if ( !aUIElement.m_bFloating )
+ implts_setLayoutDirty();
+
+ aUIElement.m_bVisible = false;
+ implts_writeWindowStateData( aUIElement );
+ implts_setToolbar( aUIElement );
+ return true;
+ }
+
+ return false;
+}
+
+void ToolbarLayoutManager::refreshToolbarsVisibility( bool bAutomaticToolbars )
+{
+ UIElementVector aUIElementVector;
+
+ ReadGuard aReadLock( m_aLock );
+ bool bVisible( m_bVisible );
+ aReadLock.unlock();
+
+ if ( !bVisible || !bAutomaticToolbars )
+ return;
+
+ implts_getUIElementVectorCopy( aUIElementVector );
+
+ UIElement aUIElement;
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ UIElementVector::iterator pIter;
+ for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
+ {
+ if ( implts_readWindowStateData( pIter->m_aName, aUIElement ) &&
+ ( pIter->m_bVisible != aUIElement.m_bVisible ) && !pIter->m_bMasterHide )
+ {
+ WriteGuard aWriteLock( m_aLock );
+ UIElement& rUIElement = impl_findToolbar( pIter->m_aName );
+ if ( rUIElement.m_aName == pIter->m_aName )
+ {
+ rUIElement.m_bVisible = aUIElement.m_bVisible;
+ implts_setLayoutDirty();
+ }
+ }
+ }
+}
+
+void ToolbarLayoutManager::setFloatingToolbarsVisibility( bool bVisible )
+{
+ UIElementVector aUIElementVector;
+ implts_getUIElementVectorCopy( aUIElementVector );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ UIElementVector::iterator pIter;
+ for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
+ {
+ Window* pWindow = getWindowFromXUIElement( pIter->m_xUIElement );
+ if ( pWindow && pIter->m_bFloating )
+ {
+ if ( bVisible )
+ {
+ if ( pIter->m_bVisible && !pIter->m_bMasterHide )
+ pWindow->Show( TRUE, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ }
+ else
+ pWindow->Show( FALSE );
+ }
+ }
+}
+
+void ToolbarLayoutManager::setVisible( bool bVisible )
+{
+ UIElementVector aUIElementVector;
+ implts_getUIElementVectorCopy( aUIElementVector );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ UIElementVector::iterator pIter;
+ for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
+ {
+ pIter->m_bMasterHide = !bVisible;
+ Window* pWindow = getWindowFromXUIElement( pIter->m_xUIElement );
+ if ( pWindow )
+ {
+ bool bSetVisible( pIter->m_bVisible & bVisible );
+ if ( !bSetVisible )
+ pWindow->Hide();
+ else
+ {
+ if ( pIter->m_bFloating )
+ pWindow->Show(true, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ else
+ implts_setLayoutDirty();
+ }
+ }
+ }
+
+ if ( !bVisible )
+ resetDockingArea();
+}
+
+bool ToolbarLayoutManager::dockToolbar( const ::rtl::OUString& rResourceURL, ui::DockingArea eDockingArea, const awt::Point& aPos )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ if ( aUIElement.m_xUIElement.is() )
+ {
+ try
+ {
+ uno::Reference< awt::XWindow > xWindow( aUIElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow.is() )
+ {
+ if ( eDockingArea != ui::DockingArea_DOCKINGAREA_DEFAULT )
+ aUIElement.m_aDockedData.m_nDockedArea = sal_Int16( eDockingArea );
+
+ if ( !isDefaultPos( aPos ))
+ aUIElement.m_aDockedData.m_aPos = ::Point( aPos.X, aPos.Y );
+
+ if ( !xDockWindow->isFloating() )
+ {
+ Window* pWindow( 0 );
+ ToolBox* pToolBox( 0 );
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ pToolBox = (ToolBox *)pWindow;
+
+ // We have to set the alignment of the toolbox. It's possible that the toolbox is moved from a
+ // horizontal to a vertical docking area!
+ pToolBox->SetAlign( ImplConvertAlignment( aUIElement.m_aDockedData.m_nDockedArea ));
+ }
+ }
+
+ if ( hasDefaultPosValue( aUIElement.m_aDockedData.m_aPos ))
+ {
+ // Docking on its default position without a preset position -
+ // we have to find a good place for it.
+ ::Size aSize;
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ {
+ if ( pToolBox )
+ aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( aUIElement.m_aDockedData.m_nDockedArea ) );
+ else
+ aSize = pWindow->GetSizePixel();
+ }
+
+ ::Point aPixelPos;
+ ::Point aDockPos;
+ implts_findNextDockingPos((ui::DockingArea)aUIElement.m_aDockedData.m_nDockedArea, aSize, aDockPos, aPixelPos );
+ aUIElement.m_aDockedData.m_aPos = aDockPos;
+ }
+ }
+
+ implts_setToolbar( aUIElement );
+
+ if ( xDockWindow->isFloating() )
+ {
+ // ATTENTION: This will call toggleFloatingMode() via notifications which
+ // sets the floating member of the UIElement correctly!
+ xDockWindow->setFloatingMode( sal_False );
+ }
+ else
+ {
+ implts_writeWindowStateData( aUIElement );
+ implts_sortUIElements();
+
+ if ( aUIElement.m_bVisible )
+ implts_setLayoutDirty();
+ }
+ return true;
+ }
+ }
+ catch ( lang::DisposedException& ) {}
+ }
+
+ return false;
+}
+
+bool ToolbarLayoutManager::dockAllToolbars()
+{
+ std::vector< ::rtl::OUString > aToolBarNameVector;
+
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+
+ ReadGuard aReadLock( m_aLock );
+ UIElementVector::iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_aType.equalsAscii( "toolbar" ) && pIter->m_xUIElement.is() &&
+ pIter->m_bFloating && pIter->m_bVisible )
+ aToolBarNameVector.push_back( pIter->m_aName );
+ }
+ aReadLock.unlock();
+
+ bool bResult(true);
+ const sal_uInt32 nCount = aToolBarNameVector.size();
+ for ( sal_uInt32 i = 0; i < nCount; ++i )
+ {
+ awt::Point aPoint;
+ aPoint.X = aPoint.Y = SAL_MAX_INT32;
+ bResult &= dockToolbar( aToolBarNameVector[i], ui::DockingArea_DOCKINGAREA_DEFAULT, aPoint );
+ }
+
+ return bResult;
+}
+
+long ToolbarLayoutManager::childWindowEvent( VclSimpleEvent* pEvent )
+{
+ // To enable toolbar controllers to change their image when a sub-toolbar function
+ // is activated, we need this mechanism. We have NO connection between these toolbars
+ // anymore!
+ if ( pEvent && pEvent->ISA( VclWindowEvent ))
+ {
+ if ( pEvent->GetId() == VCLEVENT_TOOLBOX_SELECT )
+ {
+ ::rtl::OUString aToolbarName;
+ ::rtl::OUString aCommand;
+ ToolBox* pToolBox = getToolboxPtr( ((VclWindowEvent*)pEvent)->GetWindow() );
+
+ if ( pToolBox )
+ {
+ aToolbarName = retrieveToolbarNameFromHelpURL( pToolBox );
+ USHORT nId = pToolBox->GetCurItemId();
+ if ( nId > 0 )
+ aCommand = pToolBox->GetItemCommand( nId );
+ }
+
+ if (( aToolbarName.getLength() > 0 ) && ( aCommand.getLength() > 0 ))
+ {
+ ReadGuard aReadLock( m_aLock );
+ ::std::vector< uno::Reference< ui::XUIFunctionListener > > aListenerArray;
+ UIElementVector::iterator pIter;
+
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_xUIElement.is() )
+ {
+ uno::Reference< ui::XUIFunctionListener > xListener( pIter->m_xUIElement, uno::UNO_QUERY );
+ if ( xListener.is() )
+ aListenerArray.push_back( xListener );
+ }
+ }
+ aReadLock.unlock();
+
+ const sal_uInt32 nCount = aListenerArray.size();
+ for ( sal_uInt32 i = 0; i < nCount; ++i )
+ {
+ try { aListenerArray[i]->functionExecute( aToolbarName, aCommand ); }
+ catch ( uno::RuntimeException& ) { throw; }
+ catch ( uno::Exception& ) {}
+ }
+ }
+ }
+ else if ( pEvent->GetId() == VCLEVENT_TOOLBOX_FORMATCHANGED )
+ {
+ if ( !implts_isToolbarCreationActive() )
+ {
+ ToolBox* pToolBox = getToolboxPtr( ((VclWindowEvent*)pEvent)->GetWindow() );
+ if ( pToolBox )
+ {
+ ::rtl::OUString aToolbarName = retrieveToolbarNameFromHelpURL( pToolBox );
+ if ( aToolbarName.getLength() > 0 )
+ {
+ ::rtl::OUStringBuffer aBuf(100);
+ aBuf.appendAscii( "private:resource/toolbar/" );
+ aBuf.append( aToolbarName );
+
+ UIElement aToolbar = implts_findToolbar( aBuf.makeStringAndClear() );
+ if ( aToolbar.m_xUIElement.is() && !aToolbar.m_bFloating )
+ {
+ implts_setLayoutDirty();
+ m_pParentLayouter->requestLayout( ILayoutNotifications::HINT_TOOLBARSPACE_HAS_CHANGED );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+void ToolbarLayoutManager::resetDockingArea()
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindow > xTopDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ uno::Reference< awt::XWindow > xLeftDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ uno::Reference< awt::XWindow > xRightDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] );
+ uno::Reference< awt::XWindow > xBottomDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] );
+ aReadLock.unlock();
+
+ if ( xTopDockingWindow.is() )
+ xTopDockingWindow->setPosSize( 0, 0, 0, 0, awt::PosSize::POSSIZE );
+ if ( xLeftDockingWindow.is() )
+ xLeftDockingWindow->setPosSize( 0, 0, 0, 0, awt::PosSize::POSSIZE );
+ if ( xRightDockingWindow.is() )
+ xRightDockingWindow->setPosSize( 0, 0, 0, 0, awt::PosSize::POSSIZE );
+ if ( xBottomDockingWindow.is() )
+ xBottomDockingWindow->setPosSize( 0, 0, 0, 0, awt::PosSize::POSSIZE );
+}
+
+void ToolbarLayoutManager::setParentWindow(
+ const uno::Reference< awt::XWindowPeer >& xParentWindow )
+{
+ static const char DOCKINGAREASTRING[] = "dockingarea";
+
+ uno::Reference< awt::XWindow > xTopDockWindow = uno::Reference< awt::XWindow >( createToolkitWindow( m_xSMGR, xParentWindow, DOCKINGAREASTRING ), uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xLeftDockWindow = uno::Reference< awt::XWindow >( createToolkitWindow( m_xSMGR, xParentWindow, DOCKINGAREASTRING ), uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xRightDockWindow = uno::Reference< awt::XWindow >( createToolkitWindow( m_xSMGR, xParentWindow, DOCKINGAREASTRING ), uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xBottomDockWindow = uno::Reference< awt::XWindow >( createToolkitWindow( m_xSMGR, xParentWindow, DOCKINGAREASTRING ), uno::UNO_QUERY );
+
+ WriteGuard aWriteLock( m_aLock );
+ m_xContainerWindow = uno::Reference< awt::XWindow2 >( xParentWindow, uno::UNO_QUERY );
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] = xTopDockWindow;
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] = xLeftDockWindow;
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] = xRightDockWindow;
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] = xBottomDockWindow;
+ aWriteLock.unlock();
+
+ if ( xParentWindow.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ ::DockingAreaWindow* pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xTopDockWindow ) );
+ if( pWindow ) pWindow->SetAlign( WINDOWALIGN_TOP );
+ pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xBottomDockWindow ) );
+ if( pWindow ) pWindow->SetAlign( WINDOWALIGN_BOTTOM );
+ pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xLeftDockWindow ) );
+ if( pWindow ) pWindow->SetAlign( WINDOWALIGN_LEFT );
+ pWindow = dynamic_cast< ::DockingAreaWindow* >(VCLUnoHelper::GetWindow( xRightDockWindow ) );
+ if( pWindow ) pWindow->SetAlign( WINDOWALIGN_RIGHT );
+ implts_reparentToolbars();
+ }
+ else
+ {
+ destroyToolbars();
+ resetDockingArea();
+ }
+}
+
+void ToolbarLayoutManager::setDockingAreaOffsets( const ::Rectangle aOffsets )
+{
+ WriteGuard aWriteLock( m_aLock );
+ m_aDockingAreaOffsets = aOffsets;
+ m_bLayoutDirty = true;
+}
+
+rtl::OUString ToolbarLayoutManager::implts_generateGenericAddonToolbarTitle( sal_Int32 nNumber ) const
+{
+ String aAddonGenericTitle;
+
+ aAddonGenericTitle = String( FwkResId( STR_TOOLBAR_TITLE_ADDON ));
+ const vcl::I18nHelper& rI18nHelper = Application::GetSettings().GetUILocaleI18nHelper();
+
+ String aNumStr = rI18nHelper.GetNum( nNumber, 0, FALSE, FALSE );
+ aAddonGenericTitle.SearchAndReplaceAscii( "%num%", aNumStr );
+
+ return rtl::OUString( aAddonGenericTitle );
+}
+
+void ToolbarLayoutManager::implts_createAddonsToolBars()
+{
+ WriteGuard aWriteLock( m_aLock );
+ if ( !m_pAddonOptions )
+ m_pAddonOptions = new AddonsOptions;
+
+ uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ aWriteLock.unlock();
+
+ uno::Reference< frame::XModel > xModel( impl_getModelFromFrame( xFrame ));
+ if ( implts_isPreviewModel( xModel ))
+ return; // no addon toolbars for preview frame!
+
+ UIElementVector aUIElementVector;
+ uno::Sequence< uno::Sequence< beans::PropertyValue > > aAddonToolBarData;
+ uno::Reference< ui::XUIElement > xUIElement;
+
+ sal_uInt32 nCount = m_pAddonOptions->GetAddonsToolBarCount();
+ ::rtl::OUString aAddonsToolBarStaticName( m_aFullAddonTbxPrefix );
+ ::rtl::OUString aElementType( RTL_CONSTASCII_USTRINGPARAM( "toolbar" ));
+
+ uno::Sequence< beans::PropertyValue > aPropSeq( 2 );
+ aPropSeq[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Frame" ));
+ aPropSeq[0].Value <<= xFrame;
+ aPropSeq[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationData" ));
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ ::rtl::OUString aAddonToolBarName( aAddonsToolBarStaticName + m_pAddonOptions->GetAddonsToolbarResourceName(i) );
+ aAddonToolBarData = m_pAddonOptions->GetAddonsToolBarPart( i );
+ aPropSeq[1].Value <<= aAddonToolBarData;
+
+ UIElement aElement = implts_findToolbar( aAddonToolBarName );
+
+ // #i79828
+ // It's now possible that we are called more than once. Be sure to not create
+ // add-on toolbars more than once!
+ if ( aElement.m_xUIElement.is() )
+ continue;
+
+ try
+ {
+ xUIElement = xUIElementFactory->createUIElement( aAddonToolBarName, aPropSeq );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xDockWindow.is() )
+ {
+ try
+ {
+ xDockWindow->addDockableWindowListener( uno::Reference< awt::XDockableWindowListener >( static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ xDockWindow->enableDocking( sal_True );
+ uno::Reference< awt::XWindow > xWindow( xDockWindow, uno::UNO_QUERY );
+ if ( xWindow.is() )
+ xWindow->addWindowListener( uno::Reference< awt::XWindowListener >( static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ }
+ catch ( uno::Exception& ) {}
+ }
+
+ ::rtl::OUString aGenericAddonTitle = implts_generateGenericAddonToolbarTitle( i+1 );
+
+ if ( aElement.m_aName.getLength() > 0 )
+ {
+ // Reuse a local entry so we are able to use the latest
+ // UI changes for this document.
+ implts_setElementData( aElement, xDockWindow );
+ aElement.m_xUIElement = xUIElement;
+ if ( aElement.m_aUIName.getLength() == 0 )
+ {
+ aElement.m_aUIName = aGenericAddonTitle;
+ implts_writeWindowStateData( aElement );
+ }
+ }
+ else
+ {
+ // Create new UI element and try to read its state data
+ UIElement aNewToolbar( aAddonToolBarName, aElementType, xUIElement );
+ aNewToolbar.m_bFloating = true;
+ implts_readWindowStateData( aAddonToolBarName, aNewToolbar );
+ implts_setElementData( aNewToolbar, xDockWindow );
+ if ( aNewToolbar.m_aUIName.getLength() == 0 )
+ {
+ aNewToolbar.m_aUIName = aGenericAddonTitle;
+ implts_writeWindowStateData( aNewToolbar );
+ }
+ implts_insertToolbar( aNewToolbar );
+ }
+
+ uno::Reference< awt::XWindow > xWindow( xDockWindow, uno::UNO_QUERY );
+ if ( xWindow.is() )
+ {
+ // Set generic title for add-on toolbar
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow->GetText().Len() == 0 )
+ pWindow->SetText( aGenericAddonTitle );
+ if ( pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ToolBox* pToolbar = (ToolBox *)pWindow;
+ pToolbar->SetMenuType();
+ }
+ }
+ }
+ }
+ catch ( container::NoSuchElementException& ) {}
+ catch ( lang::IllegalArgumentException& ) {}
+ }
+}
+
+void ToolbarLayoutManager::implts_createCustomToolBars()
+{
+ ReadGuard aReadLock( m_aLock );
+ if ( !m_bComponentAttached )
+ return;
+
+ uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< frame::XModel > xModel;
+ uno::Reference< ui::XUIConfigurationManager > xModuleCfgMgr( m_xModuleCfgMgr, uno::UNO_QUERY );
+ uno::Reference< ui::XUIConfigurationManager > xDocCfgMgr( m_xDocCfgMgr, uno::UNO_QUERY );
+ aReadLock.unlock();
+
+ if ( xFrame.is() )
+ {
+ xModel = impl_getModelFromFrame( xFrame );
+ if ( implts_isPreviewModel( xModel ))
+ return; // no custom toolbars for preview frame!
+
+ uno::Sequence< uno::Sequence< beans::PropertyValue > > aTbxSeq;
+ if ( xDocCfgMgr.is() )
+ {
+ aTbxSeq = xDocCfgMgr->getUIElementsInfo( ui::UIElementType::TOOLBAR );
+ implts_createCustomToolBars( aTbxSeq ); // first create all document based toolbars
+ }
+ if ( xModuleCfgMgr.is() )
+ {
+ aTbxSeq = xModuleCfgMgr->getUIElementsInfo( ui::UIElementType::TOOLBAR );
+ implts_createCustomToolBars( aTbxSeq ); // second create module based toolbars
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_createNonContextSensitiveToolBars()
+{
+ ReadGuard aReadLock( m_aLock );
+
+ if ( !m_xPersistentWindowState.is() || !m_xFrame.is() || !m_bComponentAttached )
+ return;
+
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
+ uno::Reference< container::XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
+ aReadLock.unlock();
+
+ if ( implts_isPreviewModel( impl_getModelFromFrame( xFrame )))
+ return;
+
+ std::vector< rtl::OUString > aMakeVisibleToolbars;
+
+ try
+ {
+ uno::Sequence< ::rtl::OUString > aToolbarNames = xPersistentWindowState->getElementNames();
+
+ if ( aToolbarNames.getLength() > 0 )
+ {
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+ ::rtl::OUString aName;
+
+ uno::Reference< ui::XUIElement > xUIElement;
+ aMakeVisibleToolbars.reserve(aToolbarNames.getLength());
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ WriteGuard aWriteLock( m_aLock );
+
+ const rtl::OUString* pTbNames = aToolbarNames.getConstArray();
+ for ( sal_Int32 i = 0; i < aToolbarNames.getLength(); i++ )
+ {
+ aName = pTbNames[i];
+ parseResourceURL( aName, aElementType, aElementName );
+
+ // Check that we only create:
+ // - Toolbars (the statusbar is also member of the persistent window state)
+ // - Not custom toolbars, there are created with their own method (implts_createCustomToolbars)
+ if ( aElementType.equalsIgnoreAsciiCaseAscii( "toolbar" ) && aElementName.indexOf( m_aCustomTbxPrefix ) == -1 )
+ {
+ UIElement aNewToolbar = implts_findToolbar( aName );
+ bool bFound = ( aNewToolbar.m_aName == aName );
+ if ( !bFound )
+ implts_readWindowStateData( aName, aNewToolbar );
+
+ if ( aNewToolbar.m_bVisible && !aNewToolbar.m_bContextSensitive )
+ {
+ if ( !bFound )
+ implts_insertToolbar( aNewToolbar );
+ aMakeVisibleToolbars.push_back( aName );
+ }
+ }
+ }
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ }
+ }
+ catch ( uno::RuntimeException& ) { throw; }
+ catch ( uno::Exception& ) {}
+
+ if ( !aMakeVisibleToolbars.empty() )
+ ::std::for_each( aMakeVisibleToolbars.begin(), aMakeVisibleToolbars.end(),::boost::bind( &ToolbarLayoutManager::requestToolbar, this,_1 ));
+}
+
+void ToolbarLayoutManager::implts_createCustomToolBars( const uno::Sequence< uno::Sequence< beans::PropertyValue > >& aTbxSeqSeq )
+{
+ const uno::Sequence< beans::PropertyValue >* pTbxSeq = aTbxSeqSeq.getConstArray();
+ for ( sal_Int32 i = 0; i < aTbxSeqSeq.getLength(); i++ )
+ {
+ const uno::Sequence< beans::PropertyValue >& rTbxSeq = pTbxSeq[i];
+ ::rtl::OUString aTbxResName;
+ ::rtl::OUString aTbxTitle;
+ for ( sal_Int32 j = 0; j < rTbxSeq.getLength(); j++ )
+ {
+ if ( rTbxSeq[j].Name.equalsAscii( "ResourceURL" ))
+ rTbxSeq[j].Value >>= aTbxResName;
+ else if ( rTbxSeq[j].Name.equalsAscii( "UIName" ))
+ rTbxSeq[j].Value >>= aTbxTitle;
+ }
+
+ // Only create custom toolbars. Their name have to start with "custom_"!
+ if ( aTbxResName.getLength() > 0 && aTbxResName.indexOf( m_aCustomTbxPrefix ) != -1 )
+ implts_createCustomToolBar( aTbxResName, aTbxTitle );
+ }
+}
+
+void ToolbarLayoutManager::implts_createCustomToolBar( const rtl::OUString& aTbxResName, const rtl::OUString& aTitle )
+{
+ if ( aTbxResName.getLength() > 0 )
+ {
+ bool bNotify( false );
+ uno::Reference< ui::XUIElement > xUIElement;
+ implts_createToolBar( aTbxResName, bNotify, xUIElement );
+
+ if ( aTitle && xUIElement.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+
+ Window* pWindow = getWindowFromXUIElement( xUIElement );
+ if ( pWindow )
+ pWindow->SetText( aTitle );
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_reparentToolbars()
+{
+ WriteGuard aWriteLock( m_aLock );
+ UIElementVector aUIElementVector = m_aUIElements;
+ Window* pContainerWindow = VCLUnoHelper::GetWindow( m_xContainerWindow );
+ Window* pTopDockWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ Window* pBottomDockWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] );
+ Window* pLeftDockWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ Window* pRightDockWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] );
+ aWriteLock.unlock();
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pContainerWindow )
+ {
+ UIElementVector::iterator pIter;
+ for ( pIter = aUIElementVector.begin(); pIter != aUIElementVector.end(); pIter++ )
+ {
+ uno::Reference< ui::XUIElement > xUIElement( pIter->m_xUIElement );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< awt::XWindow > xWindow;
+ try
+ {
+ // We have to retreive the window reference with try/catch as it is
+ // possible that all elements have been disposed!
+ xWindow = uno::Reference< awt::XWindow >( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ }
+ catch ( uno::RuntimeException& ) { throw; }
+ catch ( uno::Exception& ) {}
+
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow )
+ {
+ // Reparent our child windows acording to their current state.
+ if ( pIter->m_bFloating )
+ pWindow->SetParent( pContainerWindow );
+ else
+ {
+ if ( pIter->m_aDockedData.m_nDockedArea == ui::DockingArea_DOCKINGAREA_TOP )
+ pWindow->SetParent( pTopDockWindow );
+ else if ( pIter->m_aDockedData.m_nDockedArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ pWindow->SetParent( pBottomDockWindow );
+ else if ( pIter->m_aDockedData.m_nDockedArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ pWindow->SetParent( pLeftDockWindow );
+ else
+ pWindow->SetParent( pRightDockWindow );
+ }
+ }
+ }
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_setToolbarCreation( bool bStart )
+{
+ WriteGuard aWriteLock( m_aLock );
+ m_bToolbarCreation = bStart;
+}
+
+bool ToolbarLayoutManager::implts_isToolbarCreationActive()
+{
+ ReadGuard aReadLock( m_aLock );
+ return m_bToolbarCreation;
+}
+
+void ToolbarLayoutManager::implts_createToolBar( const ::rtl::OUString& aName, bool& bNotify, uno::Reference< ui::XUIElement >& rUIElement )
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< frame::XFrame > xFrame( m_xFrame );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ aReadLock.unlock();
+
+ bNotify = false;
+
+ if ( !xFrame.is() || !xContainerWindow.is() )
+ return;
+
+ UIElement aToolbarElement = implts_findToolbar( aName );
+ if ( !aToolbarElement.m_xUIElement.is() )
+ {
+ uno::Reference< ui::XUIElement > xUIElement = implts_createElement( aName );
+
+ bool bVisible( false );
+ bool bFloating( false );
+ if ( xUIElement.is() )
+ {
+ rUIElement = xUIElement;
+
+ uno::Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow.is() && xWindow.is() )
+ {
+ try
+ {
+ xDockWindow->addDockableWindowListener( uno::Reference< awt::XDockableWindowListener >(
+ static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ xWindow->addWindowListener( uno::Reference< awt::XWindowListener >(
+ static_cast< OWeakObject * >( this ), uno::UNO_QUERY ));
+ xDockWindow->enableDocking( sal_True );
+ }
+ catch ( uno::Exception& ) {}
+ }
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ WriteGuard aWriteLock( m_aLock );
+
+ UIElement& rElement = impl_findToolbar( aName );
+ if ( rElement.m_aName.getLength() > 0 )
+ {
+ // Reuse a local entry so we are able to use the latest
+ // UI changes for this document.
+ implts_setElementData( rElement, xDockWindow );
+ rElement.m_xUIElement = xUIElement;
+ bVisible = rElement.m_bVisible;
+ bFloating = rElement.m_bFloating;
+ }
+ else
+ {
+ // Create new UI element and try to read its state data
+ UIElement aNewToolbar( aName, m_aToolbarTypeString, xUIElement );
+ implts_readWindowStateData( aName, aNewToolbar );
+ implts_setElementData( aNewToolbar, xDockWindow );
+ implts_insertToolbar( aNewToolbar );
+ bVisible = aNewToolbar.m_bVisible;
+ bFloating = rElement.m_bFloating;
+ }
+ aWriteLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
+ // set toolbar menu style according to customize command state
+ SvtCommandOptions aCmdOptions;
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ToolBox* pToolbar = (ToolBox *)pWindow;
+ USHORT nMenuType = pToolbar->GetMenuType();
+ if ( aCmdOptions.Lookup( SvtCommandOptions::CMDOPTION_DISABLED, m_aCustomizeCmd ))
+ pToolbar->SetMenuType( nMenuType & ~TOOLBOX_MENUTYPE_CUSTOMIZE );
+ else
+ pToolbar->SetMenuType( nMenuType | TOOLBOX_MENUTYPE_CUSTOMIZE );
+ }
+ bNotify = true;
+
+ implts_sortUIElements();
+
+ if ( bVisible && !bFloating )
+ implts_setLayoutDirty();
+ }
+ }
+}
+
+uno::Reference< ui::XUIElement > ToolbarLayoutManager::implts_createElement( const ::rtl::OUString& aName )
+{
+ uno::Reference< ui::XUIElement > xUIElement;
+
+ ReadGuard aReadLock( m_aLock );
+ uno::Sequence< beans::PropertyValue > aPropSeq( 2 );
+ aPropSeq[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Frame" ));
+ aPropSeq[0].Value <<= m_xFrame;
+ aPropSeq[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Persistent" ));
+ aPropSeq[1].Value <<= true;
+ uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager );
+ aReadLock.unlock();
+
+ implts_setToolbarCreation( true );
+ try
+ {
+ if ( xUIElementFactory.is() )
+ xUIElement = xUIElementFactory->createUIElement( aName, aPropSeq );
+ }
+ catch ( container::NoSuchElementException& ) {}
+ catch ( lang::IllegalArgumentException& ) {}
+ implts_setToolbarCreation( false );
+
+ return xUIElement;
+}
+
+void ToolbarLayoutManager::implts_setElementData( UIElement& rElement, const uno::Reference< awt::XDockableWindow >& rDockWindow )
+{
+ ReadGuard aReadLock( m_aLock );
+ bool bShowElement( rElement.m_bVisible && !rElement.m_bMasterHide && implts_isParentWindowVisible() );
+ aReadLock.unlock();
+
+ uno::Reference< awt::XDockableWindow > xDockWindow( rDockWindow );
+ uno::Reference< awt::XWindow2 > xWindow( xDockWindow, uno::UNO_QUERY );
+
+ Window* pWindow( 0 );
+ ToolBox* pToolBox( 0 );
+
+ if ( xDockWindow.is() && xWindow.is() )
+ {
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow )
+ {
+ String aText = pWindow->GetText();
+ if ( aText.Len() == 0 )
+ pWindow->SetText( rElement.m_aUIName );
+ if ( rElement.m_bNoClose )
+ pWindow->SetStyle( pWindow->GetStyle() & ~WB_CLOSEABLE );
+ if ( pWindow->GetType() == WINDOW_TOOLBOX )
+ pToolBox = (ToolBox *)pWindow;
+ }
+ if ( pToolBox )
+ {
+ if (( rElement.m_nStyle < 0 ) || ( rElement.m_nStyle > BUTTON_SYMBOLTEXT ))
+ rElement.m_nStyle = BUTTON_SYMBOL;
+ pToolBox->SetButtonType( (ButtonType)rElement.m_nStyle );
+ if ( rElement.m_bNoClose )
+ pToolBox->SetFloatStyle( pToolBox->GetFloatStyle() & ~WB_CLOSEABLE );
+ }
+ }
+
+ if ( rElement.m_bFloating )
+ {
+ if ( pWindow )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ String aText = pWindow->GetText();
+ if ( aText.Len() == 0 )
+ pWindow->SetText( rElement.m_aUIName );
+ }
+
+ ::Point aPos( rElement.m_aFloatingData.m_aPos.X(),
+ rElement.m_aFloatingData.m_aPos.Y() );
+ bool bWriteData( false );
+ bool bUndefPos = hasDefaultPosValue( rElement.m_aFloatingData.m_aPos );
+ bool bSetSize = ( rElement.m_aFloatingData.m_aSize.Width() != 0 &&
+ rElement.m_aFloatingData.m_aSize.Height() != 0 );
+ xDockWindow->setFloatingMode( sal_True );
+ if ( bUndefPos )
+ {
+ aPos = implts_findNextCascadeFloatingPos();
+ rElement.m_aFloatingData.m_aPos = aPos; // set new cascaded position
+ bWriteData = true;
+ }
+
+ if( bSetSize )
+ xWindow->setOutputSize( AWTSize( rElement.m_aFloatingData.m_aSize ) );
+ else
+ {
+ if( pToolBox )
+ {
+ // set an optimal initial floating size
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ ::Size aSize( pToolBox->CalcFloatingWindowSizePixel() );
+ pToolBox->SetOutputSizePixel( aSize );
+ }
+ }
+
+ // #i60882# IMPORTANT: Set position after size as it is
+ // possible that we position some part of the toolbar
+ // outside of the desktop. A default constructed toolbar
+ // always has one line. Now VCL automatically
+ // position the toolbar back into the desktop. Therefore
+ // we resize the toolbar with the new (wrong) position.
+ // To fix this problem we have to set the size BEFORE the
+ // position.
+ xWindow->setPosSize( aPos.X(), aPos.Y(), 0, 0, awt::PosSize::POS );
+
+ if ( bWriteData )
+ implts_writeWindowStateData( rElement );
+ if ( bShowElement && pWindow )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pWindow->Show( sal_True, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ }
+ }
+ else
+ {
+ bool bSetSize( false );
+ ::Point aDockPos;
+ ::Point aPixelPos;
+ ::Size aSize;
+
+ if ( pToolBox )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pToolBox->SetAlign( ImplConvertAlignment(rElement.m_aDockedData.m_nDockedArea ) );
+ pToolBox->SetLineCount( 1 );
+ xDockWindow->setFloatingMode( sal_False );
+ if ( rElement.m_aDockedData.m_bLocked )
+ xDockWindow->lock();
+ aSize = pToolBox->CalcWindowSizePixel();
+ bSetSize = true;
+
+ if ( isDefaultPos( rElement.m_aDockedData.m_aPos ))
+ {
+ implts_findNextDockingPos( (ui::DockingArea)rElement.m_aDockedData.m_nDockedArea, aSize, aDockPos, aPixelPos );
+ rElement.m_aDockedData.m_aPos = aDockPos;
+ }
+ }
+
+ xWindow->setPosSize( aPixelPos.X(), aPixelPos.Y(), 0, 0, awt::PosSize::POS );
+ if( bSetSize )
+ xWindow->setOutputSize( AWTSize( aSize) );
+
+ if ( pWindow )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( !bShowElement )
+ pWindow->Hide();
+ }
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_destroyDockingAreaWindows()
+{
+ WriteGuard aWriteLock( m_aLock );
+ uno::Reference< awt::XWindow > xTopDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ uno::Reference< awt::XWindow > xLeftDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ uno::Reference< awt::XWindow > xRightDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] );
+ uno::Reference< awt::XWindow > xBottomDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] );
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP].clear();
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT].clear();
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT].clear();
+ m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM].clear();
+ aWriteLock.unlock();
+
+ // destroy windows
+ xTopDockingWindow->dispose();
+ xLeftDockingWindow->dispose();
+ xRightDockingWindow->dispose();
+ xBottomDockingWindow->dispose();
+}
+
+//---------------------------------------------------------------------------------------------------------
+// persistence methods
+//---------------------------------------------------------------------------------------------------------
+
+sal_Bool ToolbarLayoutManager::implts_readWindowStateData( const rtl::OUString& aName, UIElement& rElementData )
+{
+ WriteGuard aWriteLock( m_aLock );
+ uno::Reference< container::XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
+ bool bGetSettingsState( false );
+ aWriteLock.unlock();
+
+ if ( xPersistentWindowState.is() )
+ {
+ aWriteLock.lock();
+ bool bGlobalSettings( m_bGlobalSettings );
+ GlobalSettings* pGlobalSettings( 0 );
+ if ( m_pGlobalSettings == 0 )
+ {
+ m_pGlobalSettings = new GlobalSettings( m_xSMGR );
+ bGetSettingsState = true;
+ }
+ pGlobalSettings = m_pGlobalSettings;
+ aWriteLock.unlock();
+
+ try
+ {
+ uno::Sequence< beans::PropertyValue > aWindowState;
+ if ( xPersistentWindowState->getByName( aName ) >>= aWindowState )
+ {
+ sal_Bool bValue( sal_False );
+ for ( sal_Int32 n = 0; n < aWindowState.getLength(); n++ )
+ {
+ if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_DOCKED ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bFloating = !bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_VISIBLE ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bVisible = bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_DOCKINGAREA ))
+ {
+ ui::DockingArea eDockingArea;
+ if ( aWindowState[n].Value >>= eDockingArea )
+ rElementData.m_aDockedData.m_nDockedArea = sal_Int16( eDockingArea );
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_DOCKPOS ))
+ {
+ awt::Point aPoint;
+ if ( aWindowState[n].Value >>= aPoint )
+ {
+ rElementData.m_aDockedData.m_aPos.X() = aPoint.X;
+ rElementData.m_aDockedData.m_aPos.Y() = aPoint.Y;
+ }
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_POS ))
+ {
+ awt::Point aPoint;
+ if ( aWindowState[n].Value >>= aPoint )
+ {
+ rElementData.m_aFloatingData.m_aPos.X() = aPoint.X;
+ rElementData.m_aFloatingData.m_aPos.Y() = aPoint.Y;
+ }
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_SIZE ))
+ {
+ awt::Size aSize;
+ if ( aWindowState[n].Value >>= aSize )
+ {
+ rElementData.m_aFloatingData.m_aSize.Width() = aSize.Width;
+ rElementData.m_aFloatingData.m_aSize.Height() = aSize.Height;
+ }
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_UINAME ))
+ aWindowState[n].Value >>= rElementData.m_aUIName;
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_STYLE ))
+ {
+ sal_Int32 nStyle = 0;
+ if ( aWindowState[n].Value >>= nStyle )
+ rElementData.m_nStyle = sal_Int16( nStyle );
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_LOCKED ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_aDockedData.m_bLocked = bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_CONTEXT ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bContextSensitive = bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_NOCLOSE ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bNoClose = bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_CONTEXTACTIVE ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bContextActive = bValue;
+ }
+ else if ( aWindowState[n].Name.equalsAscii( WINDOWSTATE_PROPERTY_SOFTCLOSE ))
+ {
+ if ( aWindowState[n].Value >>= bValue )
+ rElementData.m_bSoftClose = bValue;
+ }
+ }
+ }
+
+ // oversteer values with global settings
+ if ( pGlobalSettings && ( bGetSettingsState || bGlobalSettings ))
+ {
+ if ( pGlobalSettings->HasStatesInfo( GlobalSettings::UIELEMENT_TYPE_TOOLBAR ))
+ {
+ WriteGuard aWriteLock2( m_aLock );
+ m_bGlobalSettings = true;
+ aWriteLock2.unlock();
+
+ uno::Any aValue;
+ sal_Bool bValue = sal_Bool();
+ if ( pGlobalSettings->GetStateInfo( GlobalSettings::UIELEMENT_TYPE_TOOLBAR,
+ GlobalSettings::STATEINFO_LOCKED,
+ aValue ))
+ aValue >>= rElementData.m_aDockedData.m_bLocked;
+ if ( pGlobalSettings->GetStateInfo( GlobalSettings::UIELEMENT_TYPE_TOOLBAR,
+ GlobalSettings::STATEINFO_DOCKED,
+ aValue ))
+ {
+ if ( aValue >>= bValue )
+ rElementData.m_bFloating = !bValue;
+ }
+ }
+ }
+
+ return sal_True;
+ }
+ catch ( container::NoSuchElementException& ) {}
+ }
+
+ return sal_False;
+}
+
+void ToolbarLayoutManager::implts_writeWindowStateData( const UIElement& rElementData )
+{
+ WriteGuard aWriteLock( m_aLock );
+ uno::Reference< container::XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
+ m_bStoreWindowState = true; // set flag to determine that we triggered the notification
+ aWriteLock.unlock();
+
+ bool bPersistent( sal_False );
+ uno::Reference< beans::XPropertySet > xPropSet( rElementData.m_xUIElement, uno::UNO_QUERY );
+ if ( xPropSet.is() )
+ {
+ try
+ {
+ // Check persistent flag of the user interface element
+ xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Persistent" ))) >>= bPersistent;
+ }
+ catch ( beans::UnknownPropertyException )
+ {
+ bPersistent = true; // Non-configurable elements should at least store their dimension/position
+ }
+ catch ( lang::WrappedTargetException ) {}
+ }
+
+ if ( bPersistent && xPersistentWindowState.is() )
+ {
+ try
+ {
+ uno::Sequence< beans::PropertyValue > aWindowState( 8 );
+
+ aWindowState[0].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_DOCKED );
+ aWindowState[0].Value = ::uno::makeAny( sal_Bool( !rElementData.m_bFloating ));
+ aWindowState[1].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_VISIBLE );
+ aWindowState[1].Value = uno::makeAny( sal_Bool( rElementData.m_bVisible ));
+ aWindowState[2].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_DOCKINGAREA );
+ aWindowState[2].Value = uno::makeAny( static_cast< ui::DockingArea >( rElementData.m_aDockedData.m_nDockedArea ) );
+
+ awt::Point aPos;
+ aPos.X = rElementData.m_aDockedData.m_aPos.X();
+ aPos.Y = rElementData.m_aDockedData.m_aPos.Y();
+ aWindowState[3].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_DOCKPOS );
+ aWindowState[3].Value <<= aPos;
+
+ aPos.X = rElementData.m_aFloatingData.m_aPos.X();
+ aPos.Y = rElementData.m_aFloatingData.m_aPos.Y();
+ aWindowState[4].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_POS );
+ aWindowState[4].Value <<= aPos;
+
+ awt::Size aSize;
+ aSize.Width = rElementData.m_aFloatingData.m_aSize.Width();
+ aSize.Height = rElementData.m_aFloatingData.m_aSize.Height();
+ aWindowState[5].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_SIZE );
+ aWindowState[5].Value <<= aSize;
+ aWindowState[6].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_UINAME );
+ aWindowState[6].Value = uno::makeAny( rElementData.m_aUIName );
+ aWindowState[7].Name = ::rtl::OUString::createFromAscii( WINDOWSTATE_PROPERTY_LOCKED );
+ aWindowState[7].Value = uno::makeAny( rElementData.m_aDockedData.m_bLocked );
+
+ ::rtl::OUString aName = rElementData.m_aName;
+ if ( xPersistentWindowState->hasByName( aName ))
+ {
+ uno::Reference< container::XNameReplace > xReplace( xPersistentWindowState, uno::UNO_QUERY );
+ xReplace->replaceByName( aName, uno::makeAny( aWindowState ));
+ }
+ else
+ {
+ uno::Reference< container::XNameContainer > xInsert( xPersistentWindowState, uno::UNO_QUERY );
+ xInsert->insertByName( aName, uno::makeAny( aWindowState ));
+ }
+ }
+ catch ( uno::Exception& ) {}
+ }
+
+ // Reset flag
+ aWriteLock.lock();
+ m_bStoreWindowState = false;
+ aWriteLock.unlock();
+}
+
+void ToolbarLayoutManager::implts_writeNewWindowStateData( const rtl::OUString aName, const uno::Reference< awt::XWindow >& xWindow )
+{
+ bool bVisible( false );
+ bool bFloating( true );
+ awt::Rectangle aPos;
+ awt::Size aSize;
+
+ if ( xWindow.is() )
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow.is() )
+ bFloating = xDockWindow->isFloating();
+
+ uno::Reference< awt::XWindow2 > xWindow2( xWindow, uno::UNO_QUERY );
+ if( xWindow2.is() )
+ {
+ aPos = xWindow2->getPosSize();
+ aSize = xWindow2->getOutputSize(); // always use output size for consistency
+ bVisible = xWindow2->isVisible();
+ }
+
+ WriteGuard aWriteLock( m_aLock );
+ UIElement& rUIElement = impl_findToolbar( aName );
+ if ( rUIElement.m_xUIElement.is() )
+ {
+ rUIElement.m_bVisible = bVisible;
+ rUIElement.m_bFloating = bFloating;
+ if ( bFloating )
+ {
+ rUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
+ rUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
+ }
+ }
+ implts_writeWindowStateData( rUIElement );
+ aWriteLock.unlock();
+ }
+}
+
+/******************************************************************************
+ LOOKUP PART FOR TOOLBARS
+******************************************************************************/
+
+UIElement& ToolbarLayoutManager::impl_findToolbar( const rtl::OUString& aName )
+{
+ static UIElement aEmptyElement;
+ UIElementVector::iterator pIter;
+
+ ReadGuard aReadLock( m_aLock );
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_aName == aName )
+ return *pIter;
+ }
+
+ return aEmptyElement;
+}
+
+UIElement ToolbarLayoutManager::implts_findToolbar( const rtl::OUString& aName )
+{
+ ReadGuard aReadLock( m_aLock );
+ UIElement aElement = impl_findToolbar( aName );
+ aReadLock.unlock();
+
+ return aElement;
+}
+
+UIElement ToolbarLayoutManager::implts_findToolbar( const uno::Reference< uno::XInterface >& xToolbar )
+{
+ UIElement aToolbar;
+ UIElementVector::const_iterator pIter;
+
+ ReadGuard aReadLock( m_aLock );
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_xUIElement.is() )
+ {
+ uno::Reference< uno::XInterface > xIfac( pIter->m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xIfac == xToolbar )
+ {
+ aToolbar = *pIter;
+ break;
+ }
+ }
+ }
+
+ return aToolbar;
+}
+
+uno::Reference< awt::XWindow > ToolbarLayoutManager::implts_getXWindow( const ::rtl::OUString& aName )
+{
+ UIElementVector::iterator pIter;
+ uno::Reference< awt::XWindow > xWindow;
+
+ ReadGuard aReadLock( m_aLock );
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_aName == aName && pIter->m_xUIElement.is() )
+ {
+ xWindow = uno::Reference< awt::XWindow >( pIter->m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ break;
+ }
+ }
+
+ return xWindow;
+}
+
+Window* ToolbarLayoutManager::implts_getWindow( const ::rtl::OUString& aName )
+{
+ uno::Reference< awt::XWindow > xWindow = implts_getXWindow( aName );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+
+ return pWindow;
+}
+
+bool ToolbarLayoutManager::implts_insertToolbar( const UIElement& rUIElement )
+{
+ UIElement aTempData;
+ bool bFound( false );
+ bool bResult( false );
+
+ aTempData = implts_findToolbar( rUIElement.m_aName );
+ if ( aTempData.m_aName == rUIElement.m_aName )
+ bFound = true;
+
+ if ( !bFound )
+ {
+ WriteGuard aWriteLock( m_aLock );
+ m_aUIElements.push_back( rUIElement );
+ bResult = true;
+ }
+
+ return bResult;
+}
+
+void ToolbarLayoutManager::implts_setToolbar( const UIElement& rUIElement )
+{
+ WriteGuard aWriteLock( m_aLock );
+ UIElement& rData = impl_findToolbar( rUIElement.m_aName );
+ if ( rData.m_aName == rUIElement.m_aName )
+ rData = rUIElement;
+ else
+ m_aUIElements.push_back( rUIElement );
+}
+
+/******************************************************************************
+ LAYOUT CODE PART FOR TOOLBARS
+******************************************************************************/
+
+::Point ToolbarLayoutManager::implts_findNextCascadeFloatingPos()
+{
+ const sal_Int32 nHotZoneX = 50;
+ const sal_Int32 nHotZoneY = 50;
+ const sal_Int32 nCascadeIndentX = 15;
+ const sal_Int32 nCascadeIndentY = 15;
+
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ uno::Reference< awt::XWindow > xTopDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ uno::Reference< awt::XWindow > xLeftDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ aReadLock.unlock();
+
+ ::Point aStartPos( nCascadeIndentX, nCascadeIndentY );
+ ::Point aCurrPos( aStartPos );
+ awt::Rectangle aRect;
+
+ Window* pContainerWindow( 0 );
+ if ( xContainerWindow.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ if ( pContainerWindow )
+ aStartPos = pContainerWindow->OutputToScreenPixel( aStartPos );
+ }
+
+ // Determine size of top and left docking area
+ awt::Rectangle aTopRect( xTopDockingWindow->getPosSize() );
+ awt::Rectangle aLeftRect( xLeftDockingWindow->getPosSize() );
+
+ aStartPos.X() += aLeftRect.Width + nCascadeIndentX;
+ aStartPos.Y() += aTopRect.Height + nCascadeIndentY;
+ aCurrPos = aStartPos;
+
+ // Try to find a cascaded position for the new floating window
+ UIElementVector::const_iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_xUIElement.is() )
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( pIter->m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xWindow( xDockWindow, uno::UNO_QUERY );
+ if ( xDockWindow.is() && xDockWindow->isFloating() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->IsVisible() )
+ {
+ awt::Rectangle aFloatRect = xWindow->getPosSize();
+ if ((( aFloatRect.X - nHotZoneX ) <= aCurrPos.X() ) &&
+ ( aFloatRect.X >= aCurrPos.X() ) &&
+ (( aFloatRect.Y - nHotZoneY ) <= aCurrPos.Y() ) &&
+ ( aFloatRect.Y >= aCurrPos.Y() ))
+ {
+ aCurrPos.X() = aFloatRect.X + nCascadeIndentX;
+ aCurrPos.Y() = aFloatRect.Y + nCascadeIndentY;
+ }
+ }
+ }
+ }
+ }
+
+ return aCurrPos;
+}
+
+void ToolbarLayoutManager::implts_sortUIElements()
+{
+ WriteGuard aWriteLock( m_aLock );
+ UIElementVector::iterator pIterStart = m_aUIElements.begin();
+ UIElementVector::iterator pIterEnd = m_aUIElements.end();
+
+ std::stable_sort( pIterStart, pIterEnd ); // first created element should first
+
+ // We have to reset our temporary flags.
+ UIElementVector::iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ pIter->m_bUserActive = sal_False;
+ aWriteLock.unlock();
+}
+
+void ToolbarLayoutManager::implts_getUIElementVectorCopy( UIElementVector& rCopy )
+{
+ ReadGuard aReadLock( m_aLock );
+ rCopy = m_aUIElements;
+}
+
+::Size ToolbarLayoutManager::implts_getTopBottomDockingAreaSizes()
+{
+ ::Size aSize;
+ uno::Reference< awt::XWindow > xTopDockingAreaWindow;
+ uno::Reference< awt::XWindow > xBottomDockingAreaWindow;
+
+ ReadGuard aReadLock( m_aLock );
+ xTopDockingAreaWindow = m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP];
+ xBottomDockingAreaWindow = m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM];
+ aReadLock.unlock();
+
+ if ( xTopDockingAreaWindow.is() )
+ aSize.Width() = xTopDockingAreaWindow->getPosSize().Height;
+ if ( xBottomDockingAreaWindow.is() )
+ aSize.Height() = xBottomDockingAreaWindow->getPosSize().Height;
+
+ return aSize;
+}
+
+void ToolbarLayoutManager::implts_getDockingAreaElementInfos( ui::DockingArea eDockingArea, std::vector< SingleRowColumnWindowData >& rRowColumnsWindowData )
+{
+ std::vector< UIElement > aWindowVector;
+
+ if (( eDockingArea < ui::DockingArea_DOCKINGAREA_TOP ) || ( eDockingArea > ui::DockingArea_DOCKINGAREA_RIGHT ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+
+ uno::Reference< awt::XWindow > xDockAreaWindow;
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ ReadGuard aReadLock( m_aLock );
+ aWindowVector.reserve(m_aUIElements.size());
+ xDockAreaWindow = m_xDockAreaWindows[eDockingArea];
+ UIElementVector::iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_aDockedData.m_nDockedArea == eDockingArea && pIter->m_bVisible && !pIter->m_bFloating )
+ {
+ uno::Reference< ui::XUIElement > xUIElement( pIter->m_xUIElement );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow.is() )
+ {
+ // docked windows
+ aWindowVector.push_back( *pIter );
+ }
+ }
+ }
+ }
+ aReadLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
+ rRowColumnsWindowData.clear();
+
+ // Collect data from windows that are on the same row/column
+ sal_Int32 j;
+ sal_Int32 nIndex( 0 );
+ sal_Int32 nLastPos( 0 );
+ sal_Int32 nCurrPos( -1 );
+ sal_Int32 nLastRowColPixelPos( 0 );
+ awt::Rectangle aDockAreaRect;
+
+ if ( xDockAreaWindow.is() )
+ aDockAreaRect = xDockAreaWindow->getPosSize();
+
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ nLastRowColPixelPos = 0;
+ else if ( eDockingArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ nLastRowColPixelPos = aDockAreaRect.Height;
+ else if ( eDockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ nLastRowColPixelPos = 0;
+ else
+ nLastRowColPixelPos = aDockAreaRect.Width;
+
+ const sal_uInt32 nCount = aWindowVector.size();
+ for ( j = 0; j < sal_Int32( nCount); j++ )
+ {
+ const UIElement& rElement = aWindowVector[j];
+ uno::Reference< awt::XWindow > xWindow;
+ uno::Reference< ui::XUIElement > xUIElement( rElement.m_xUIElement );
+ awt::Rectangle aPosSize;
+
+ if ( !lcl_checkUIElement(xUIElement,aPosSize,xWindow) )
+ continue;
+ if ( isHorizontalDockingArea( eDockingArea ))
+ {
+ if ( nCurrPos == -1 )
+ {
+ nCurrPos = rElement.m_aDockedData.m_aPos.Y();
+ nLastPos = 0;
+
+ SingleRowColumnWindowData aRowColumnWindowData;
+ aRowColumnWindowData.nRowColumn = nCurrPos;
+ rRowColumnsWindowData.push_back( aRowColumnWindowData );
+ }
+
+ sal_Int32 nSpace( 0 );
+ if ( rElement.m_aDockedData.m_aPos.Y() != nCurrPos )
+ {
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ nLastRowColPixelPos += rRowColumnsWindowData[nIndex].nStaticSize;
+ else
+ nLastRowColPixelPos -= rRowColumnsWindowData[nIndex].nStaticSize;
+ ++nIndex;
+ nLastPos = 0;
+ nCurrPos = rElement.m_aDockedData.m_aPos.Y();
+ SingleRowColumnWindowData aRowColumnWindowData;
+ aRowColumnWindowData.nRowColumn = nCurrPos;
+ rRowColumnsWindowData.push_back( aRowColumnWindowData );
+ }
+
+ // Calc space before an element and store it
+ nSpace = ( rElement.m_aDockedData.m_aPos.X() - nLastPos );
+ if ( rElement.m_aDockedData.m_aPos.X() >= nLastPos )
+ {
+ rRowColumnsWindowData[nIndex].nSpace += nSpace;
+ nLastPos = rElement.m_aDockedData.m_aPos.X() + aPosSize.Width;
+ }
+ else
+ {
+ nSpace = 0;
+ nLastPos += aPosSize.Width;
+ }
+ rRowColumnsWindowData[nIndex].aRowColumnSpace.push_back( nSpace );
+
+ rRowColumnsWindowData[nIndex].aRowColumnWindows.push_back( xWindow );
+ rRowColumnsWindowData[nIndex].aUIElementNames.push_back( rElement.m_aName );
+ rRowColumnsWindowData[nIndex].aRowColumnWindowSizes.push_back(
+ awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
+ rElement.m_aDockedData.m_aPos.Y(),
+ aPosSize.Width,
+ aPosSize.Height ));
+ if ( rRowColumnsWindowData[nIndex].nStaticSize < aPosSize.Height )
+ rRowColumnsWindowData[nIndex].nStaticSize = aPosSize.Height;
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rRowColumnsWindowData[nIndex].aRowColumnRect = awt::Rectangle( 0, nLastRowColPixelPos,
+ aDockAreaRect.Width, aPosSize.Height );
+ else
+ rRowColumnsWindowData[nIndex].aRowColumnRect = awt::Rectangle( 0, ( nLastRowColPixelPos - aPosSize.Height ),
+ aDockAreaRect.Width, aPosSize.Height );
+ rRowColumnsWindowData[nIndex].nVarSize += aPosSize.Width + nSpace;
+ }
+ else
+ {
+ if ( nCurrPos == -1 )
+ {
+ nCurrPos = rElement.m_aDockedData.m_aPos.X();
+ nLastPos = 0;
+
+ SingleRowColumnWindowData aRowColumnWindowData;
+ aRowColumnWindowData.nRowColumn = nCurrPos;
+ rRowColumnsWindowData.push_back( aRowColumnWindowData );
+ }
+
+ sal_Int32 nSpace( 0 );
+ if ( rElement.m_aDockedData.m_aPos.X() != nCurrPos )
+ {
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ nLastRowColPixelPos += rRowColumnsWindowData[nIndex].nStaticSize;
+ else
+ nLastRowColPixelPos -= rRowColumnsWindowData[nIndex].nStaticSize;
+ ++nIndex;
+ nLastPos = 0;
+ nCurrPos = rElement.m_aDockedData.m_aPos.X();
+ SingleRowColumnWindowData aRowColumnWindowData;
+ aRowColumnWindowData.nRowColumn = nCurrPos;
+ rRowColumnsWindowData.push_back( aRowColumnWindowData );
+ }
+
+ // Calc space before an element and store it
+ nSpace = ( rElement.m_aDockedData.m_aPos.Y() - nLastPos );
+ if ( rElement.m_aDockedData.m_aPos.Y() > nLastPos )
+ {
+ rRowColumnsWindowData[nIndex].nSpace += nSpace;
+ nLastPos = rElement.m_aDockedData.m_aPos.Y() + aPosSize.Height;
+ }
+ else
+ {
+ nSpace = 0;
+ nLastPos += aPosSize.Height;
+ }
+ rRowColumnsWindowData[nIndex].aRowColumnSpace.push_back( nSpace );
+
+ rRowColumnsWindowData[nIndex].aRowColumnWindows.push_back( xWindow );
+ rRowColumnsWindowData[nIndex].aUIElementNames.push_back( rElement.m_aName );
+ rRowColumnsWindowData[nIndex].aRowColumnWindowSizes.push_back(
+ awt::Rectangle( rElement.m_aDockedData.m_aPos.X(),
+ rElement.m_aDockedData.m_aPos.Y(),
+ aPosSize.Width,
+ aPosSize.Height ));
+ if ( rRowColumnsWindowData[nIndex].nStaticSize < aPosSize.Width )
+ rRowColumnsWindowData[nIndex].nStaticSize = aPosSize.Width;
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ rRowColumnsWindowData[nIndex].aRowColumnRect = awt::Rectangle( nLastRowColPixelPos, 0,
+ aPosSize.Width, aDockAreaRect.Height );
+ else
+ rRowColumnsWindowData[nIndex].aRowColumnRect = awt::Rectangle( ( nLastRowColPixelPos - aPosSize.Width ), 0,
+ aPosSize.Width, aDockAreaRect.Height );
+ rRowColumnsWindowData[nIndex].nVarSize += aPosSize.Height + nSpace;
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_getDockingAreaElementInfoOnSingleRowCol( ui::DockingArea eDockingArea, sal_Int32 nRowCol, SingleRowColumnWindowData& rRowColumnWindowData )
+{
+ std::vector< UIElement > aWindowVector;
+
+ if (( eDockingArea < ui::DockingArea_DOCKINGAREA_TOP ) || ( eDockingArea > ui::DockingArea_DOCKINGAREA_RIGHT ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+
+ bool bHorzDockArea = isHorizontalDockingArea( eDockingArea );
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ ReadGuard aReadLock( m_aLock );
+ UIElementVector::iterator pIter;
+ UIElementVector::iterator pEnd = m_aUIElements.end();
+ for ( pIter = m_aUIElements.begin(); pIter != pEnd; pIter++ )
+ {
+ if ( pIter->m_aDockedData.m_nDockedArea == eDockingArea )
+ {
+ bool bSameRowCol = bHorzDockArea ? ( pIter->m_aDockedData.m_aPos.Y() == nRowCol ) : ( pIter->m_aDockedData.m_aPos.X() == nRowCol );
+ uno::Reference< ui::XUIElement > xUIElement( pIter->m_xUIElement );
+
+ if ( bSameRowCol && xUIElement.is() )
+ {
+ uno::Reference< awt::XWindow > xWindow( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xWindow.is() )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( pWindow && pIter->m_bVisible && xDockWindow.is() && !pIter->m_bFloating )
+ aWindowVector.push_back( *pIter ); // docked windows
+ }
+ }
+ }
+ }
+ aReadLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
+ // Initialize structure
+ rRowColumnWindowData.aUIElementNames.clear();
+ rRowColumnWindowData.aRowColumnWindows.clear();
+ rRowColumnWindowData.aRowColumnWindowSizes.clear();
+ rRowColumnWindowData.aRowColumnSpace.clear();
+ rRowColumnWindowData.nVarSize = 0;
+ rRowColumnWindowData.nStaticSize = 0;
+ rRowColumnWindowData.nSpace = 0;
+ rRowColumnWindowData.nRowColumn = nRowCol;
+
+ // Collect data from windows that are on the same row/column
+ sal_Int32 j;
+ sal_Int32 nLastPos( 0 );
+
+ const sal_uInt32 nCount = aWindowVector.size();
+ for ( j = 0; j < sal_Int32( nCount); j++ )
+ {
+ const UIElement& rElement = aWindowVector[j];
+ uno::Reference< awt::XWindow > xWindow;
+ uno::Reference< ui::XUIElement > xUIElement( rElement.m_xUIElement );
+ awt::Rectangle aPosSize;
+ if ( !lcl_checkUIElement(xUIElement,aPosSize,xWindow) )
+ continue;
+
+ sal_Int32 nSpace;
+ if ( isHorizontalDockingArea( eDockingArea ))
+ {
+ nSpace = ( rElement.m_aDockedData.m_aPos.X() - nLastPos );
+
+ // Calc space before an element and store it
+ if ( rElement.m_aDockedData.m_aPos.X() > nLastPos )
+ rRowColumnWindowData.nSpace += nSpace;
+ else
+ nSpace = 0;
+
+ nLastPos = rElement.m_aDockedData.m_aPos.X() + aPosSize.Width;
+
+
+ rRowColumnWindowData.aRowColumnWindowSizes.push_back(
+ awt::Rectangle( rElement.m_aDockedData.m_aPos.X(), rElement.m_aDockedData.m_aPos.Y(),
+ aPosSize.Width, aPosSize.Height ));
+ if ( rRowColumnWindowData.nStaticSize < aPosSize.Height )
+ rRowColumnWindowData.nStaticSize = aPosSize.Height;
+ rRowColumnWindowData.nVarSize += aPosSize.Width;
+ }
+ else
+ {
+ // Calc space before an element and store it
+ nSpace = ( rElement.m_aDockedData.m_aPos.Y() - nLastPos );
+ if ( rElement.m_aDockedData.m_aPos.Y() > nLastPos )
+ rRowColumnWindowData.nSpace += nSpace;
+ else
+ nSpace = 0;
+
+ nLastPos = rElement.m_aDockedData.m_aPos.Y() + aPosSize.Height;
+
+ rRowColumnWindowData.aRowColumnWindowSizes.push_back(
+ awt::Rectangle( rElement.m_aDockedData.m_aPos.X(), rElement.m_aDockedData.m_aPos.Y(),
+ aPosSize.Width, aPosSize.Height ));
+ if ( rRowColumnWindowData.nStaticSize < aPosSize.Width )
+ rRowColumnWindowData.nStaticSize = aPosSize.Width;
+ rRowColumnWindowData.nVarSize += aPosSize.Height;
+ }
+
+ rRowColumnWindowData.aUIElementNames.push_back( rElement.m_aName );
+ rRowColumnWindowData.aRowColumnWindows.push_back( xWindow );
+ rRowColumnWindowData.aRowColumnSpace.push_back( nSpace );
+ rRowColumnWindowData.nVarSize += nSpace;
+ }
+}
+
+::Rectangle ToolbarLayoutManager::implts_getWindowRectFromRowColumn(
+ ui::DockingArea DockingArea,
+ const SingleRowColumnWindowData& rRowColumnWindowData,
+ const ::Point& rMousePos,
+ const rtl::OUString& rExcludeElementName )
+{
+ ::Rectangle aWinRect;
+
+ if (( DockingArea < ui::DockingArea_DOCKINGAREA_TOP ) || ( DockingArea > ui::DockingArea_DOCKINGAREA_RIGHT ))
+ DockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+
+ if ( rRowColumnWindowData.aRowColumnWindows.empty() )
+ return aWinRect;
+ else
+ {
+ ReadGuard aReadLock( m_aLock );
+ Window* pContainerWindow( VCLUnoHelper::GetWindow( m_xContainerWindow ));
+ Window* pDockingAreaWindow( VCLUnoHelper::GetWindow( m_xDockAreaWindows[DockingArea] ));
+ aReadLock.unlock();
+
+ // Calc correct position of the column/row rectangle to be able to compare it with mouse pos/tracking rect
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+
+ // Retrieve output size from container Window
+ if ( pDockingAreaWindow && pContainerWindow )
+ {
+ const sal_uInt32 nCount = rRowColumnWindowData.aRowColumnWindows.size();
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ awt::Rectangle aWindowRect = rRowColumnWindowData.aRowColumnWindows[i]->getPosSize();
+ ::Rectangle aRect( aWindowRect.X, aWindowRect.Y, aWindowRect.X+aWindowRect.Width, aWindowRect.Y+aWindowRect.Height );
+ aRect.SetPos( pContainerWindow->ScreenToOutputPixel( pDockingAreaWindow->OutputToScreenPixel( aRect.TopLeft() )));
+ if ( aRect.IsInside( rMousePos ))
+ {
+ // Check if we have found the excluded element. If yes, we have to provide an empty rectangle.
+ // We prevent that a toolbar cannot be moved when the mouse pointer is inside its own rectangle!
+ if ( rExcludeElementName != rRowColumnWindowData.aUIElementNames[i] )
+ return aRect;
+ else
+ break;
+ }
+ }
+ }
+ }
+
+ return aWinRect;
+}
+
+::Rectangle ToolbarLayoutManager::implts_determineFrontDockingRect(
+ ui::DockingArea eDockingArea,
+ sal_Int32 nRowCol,
+ const ::Rectangle& rDockedElementRect,
+ const ::rtl::OUString& rMovedElementName,
+ const ::Rectangle& rMovedElementRect )
+{
+ SingleRowColumnWindowData aRowColumnWindowData;
+
+ sal_Bool bHorzDockArea( isHorizontalDockingArea( eDockingArea ));
+ implts_getDockingAreaElementInfoOnSingleRowCol( eDockingArea, nRowCol, aRowColumnWindowData );
+ if ( aRowColumnWindowData.aRowColumnWindows.empty() )
+ return rMovedElementRect;
+ else
+ {
+ sal_Int32 nSpace( 0 );
+ ::Rectangle aFrontDockingRect( rMovedElementRect );
+ const sal_uInt32 nCount = aRowColumnWindowData.aRowColumnWindows.size();
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ if ( bHorzDockArea )
+ {
+ if ( aRowColumnWindowData.aRowColumnWindowSizes[i].X >= rDockedElementRect.Left() )
+ {
+ nSpace += aRowColumnWindowData.aRowColumnSpace[i];
+ break;
+ }
+ else if ( aRowColumnWindowData.aUIElementNames[i] == rMovedElementName )
+ nSpace += aRowColumnWindowData.aRowColumnWindowSizes[i].Width +
+ aRowColumnWindowData.aRowColumnSpace[i];
+ else
+ nSpace = 0;
+ }
+ else
+ {
+ if ( aRowColumnWindowData.aRowColumnWindowSizes[i].Y >= rDockedElementRect.Top() )
+ {
+ nSpace += aRowColumnWindowData.aRowColumnSpace[i];
+ break;
+ }
+ else if ( aRowColumnWindowData.aUIElementNames[i] == rMovedElementName )
+ nSpace += aRowColumnWindowData.aRowColumnWindowSizes[i].Height +
+ aRowColumnWindowData.aRowColumnSpace[i];
+ else
+ nSpace = 0;
+ }
+ }
+
+ if ( nSpace > 0 )
+ {
+ sal_Int32 nMove = std::min( nSpace, static_cast<sal_Int32>(aFrontDockingRect.getWidth()) );
+ if ( bHorzDockArea )
+ aFrontDockingRect.Move( -nMove, 0 );
+ else
+ aFrontDockingRect.Move( 0, -nMove );
+ }
+
+ return aFrontDockingRect;
+ }
+}
+
+void ToolbarLayoutManager::implts_findNextDockingPos( ui::DockingArea DockingArea, const ::Size& aUIElementSize, ::Point& rVirtualPos, ::Point& rPixelPos )
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindow > xDockingWindow( m_xDockAreaWindows[DockingArea] );
+ ::Size aDockingWinSize;
+ Window* pDockingWindow( 0 );
+ aReadLock.unlock();
+
+ if (( DockingArea < ui::DockingArea_DOCKINGAREA_TOP ) || ( DockingArea > ui::DockingArea_DOCKINGAREA_RIGHT ))
+ DockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+
+ {
+ // Retrieve output size from container Window
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pDockingWindow = VCLUnoHelper::GetWindow( xDockingWindow );
+ if ( pDockingWindow )
+ aDockingWinSize = pDockingWindow->GetOutputSizePixel();
+ }
+
+ sal_Int32 nFreeRowColPixelPos( 0 );
+ sal_Int32 nMaxSpace( 0 );
+ sal_Int32 nNeededSpace( 0 );
+ sal_Int32 nTopDockingAreaSize( 0 );
+
+ if ( isHorizontalDockingArea( DockingArea ))
+ {
+ nMaxSpace = aDockingWinSize.Width();
+ nNeededSpace = aUIElementSize.Width();
+ }
+ else
+ {
+ nMaxSpace = aDockingWinSize.Height();
+ nNeededSpace = aUIElementSize.Height();
+ nTopDockingAreaSize = implts_getTopBottomDockingAreaSizes().Width();
+ }
+
+ std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
+
+ implts_getDockingAreaElementInfos( DockingArea, aRowColumnsWindowData );
+ sal_Int32 nPixelPos( 0 );
+ const sal_uInt32 nCount = aRowColumnsWindowData.size();
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ SingleRowColumnWindowData& rRowColumnWindowData = aRowColumnsWindowData[i];
+
+ if (( DockingArea == ui::DockingArea_DOCKINGAREA_BOTTOM ) ||
+ ( DockingArea == ui::DockingArea_DOCKINGAREA_RIGHT ))
+ nPixelPos += rRowColumnWindowData.nStaticSize;
+
+ if ((( nMaxSpace - rRowColumnWindowData.nVarSize ) >= nNeededSpace ) ||
+ ( rRowColumnWindowData.nSpace >= nNeededSpace ))
+ {
+ // Check current row where we can find the needed space
+ sal_Int32 nCurrPos( 0 );
+ const sal_uInt32 nWindowSizesCount = rRowColumnWindowData.aRowColumnWindowSizes.size();
+ for ( sal_uInt32 j = 0; j < nWindowSizesCount; j++ )
+ {
+ awt::Rectangle rRect = rRowColumnWindowData.aRowColumnWindowSizes[j];
+ sal_Int32& rSpace = rRowColumnWindowData.aRowColumnSpace[j];
+ if ( isHorizontalDockingArea( DockingArea ))
+ {
+ if ( rSpace >= nNeededSpace )
+ {
+ rVirtualPos = ::Point( nCurrPos, rRowColumnWindowData.nRowColumn );
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rPixelPos = ::Point( nCurrPos, nPixelPos );
+ else
+ rPixelPos = ::Point( nCurrPos, aDockingWinSize.Height() - nPixelPos );
+ return;
+ }
+ nCurrPos = rRect.X + rRect.Width;
+ }
+ else
+ {
+ if ( rSpace >= nNeededSpace )
+ {
+ rVirtualPos = ::Point( rRowColumnWindowData.nRowColumn, nCurrPos );
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ rPixelPos = ::Point( nPixelPos, nTopDockingAreaSize + nCurrPos );
+ else
+ rPixelPos = ::Point( aDockingWinSize.Width() - nPixelPos , nTopDockingAreaSize + nCurrPos );
+ return;
+ }
+ nCurrPos = rRect.Y + rRect.Height;
+ }
+ }
+
+ if (( nCurrPos + nNeededSpace ) <= nMaxSpace )
+ {
+ if ( isHorizontalDockingArea( DockingArea ))
+ {
+ rVirtualPos = ::Point( nCurrPos, rRowColumnWindowData.nRowColumn );
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rPixelPos = ::Point( nCurrPos, nPixelPos );
+ else
+ rPixelPos = ::Point( nCurrPos, aDockingWinSize.Height() - nPixelPos );
+ return;
+ }
+ else
+ {
+ rVirtualPos = ::Point( rRowColumnWindowData.nRowColumn, nCurrPos );
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ rPixelPos = ::Point( nPixelPos, nTopDockingAreaSize + nCurrPos );
+ else
+ rPixelPos = ::Point( aDockingWinSize.Width() - nPixelPos , nTopDockingAreaSize + nCurrPos );
+ return;
+ }
+ }
+ }
+
+ if (( DockingArea == ui::DockingArea_DOCKINGAREA_TOP ) || ( DockingArea == ui::DockingArea_DOCKINGAREA_LEFT ))
+ nPixelPos += rRowColumnWindowData.nStaticSize;
+ }
+
+ sal_Int32 nNextFreeRowCol( 0 );
+ sal_Int32 nRowColumnsCount = aRowColumnsWindowData.size();
+ if ( nRowColumnsCount > 0 )
+ nNextFreeRowCol = aRowColumnsWindowData[nRowColumnsCount-1].nRowColumn+1;
+ else
+ nNextFreeRowCol = 0;
+
+ if ( nNextFreeRowCol == 0 )
+ {
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ nFreeRowColPixelPos = aDockingWinSize.Height() - aUIElementSize.Height();
+ else if ( DockingArea == ui::DockingArea_DOCKINGAREA_RIGHT )
+ nFreeRowColPixelPos = aDockingWinSize.Width() - aUIElementSize.Width();
+ }
+
+ if ( isHorizontalDockingArea( DockingArea ))
+ {
+ rVirtualPos = ::Point( 0, nNextFreeRowCol );
+ if ( DockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rPixelPos = ::Point( 0, nFreeRowColPixelPos );
+ else
+ rPixelPos = ::Point( 0, aDockingWinSize.Height() - nFreeRowColPixelPos );
+ }
+ else
+ {
+ rVirtualPos = ::Point( nNextFreeRowCol, 0 );
+ rPixelPos = ::Point( aDockingWinSize.Width() - nFreeRowColPixelPos, 0 );
+ }
+}
+
+void ToolbarLayoutManager::implts_calcWindowPosSizeOnSingleRowColumn(
+ sal_Int32 nDockingArea,
+ sal_Int32 nOffset,
+ SingleRowColumnWindowData& rRowColumnWindowData,
+ const ::Size& rContainerSize )
+{
+ sal_Int32 nDiff(0);
+ sal_Int32 nRCSpace( rRowColumnWindowData.nSpace );
+ sal_Int32 nTopDockingAreaSize(0);
+ sal_Int32 nBottomDockingAreaSize(0);
+ sal_Int32 nContainerClientSize(0);
+
+ if ( rRowColumnWindowData.aRowColumnWindows.empty() )
+ return;
+
+ if ( isHorizontalDockingArea( nDockingArea ))
+ {
+ nContainerClientSize = rContainerSize.Width();
+ nDiff = nContainerClientSize - rRowColumnWindowData.nVarSize;
+ }
+ else
+ {
+ nTopDockingAreaSize = implts_getTopBottomDockingAreaSizes().Width();
+ nBottomDockingAreaSize = implts_getTopBottomDockingAreaSizes().Height();
+ nContainerClientSize = ( rContainerSize.Height() - nTopDockingAreaSize - nBottomDockingAreaSize );
+ nDiff = nContainerClientSize - rRowColumnWindowData.nVarSize;
+ }
+
+ const sal_uInt32 nCount = rRowColumnWindowData.aRowColumnWindowSizes.size();
+ if (( nDiff < 0 ) && ( nRCSpace > 0 ))
+ {
+ // First we try to reduce the size of blank space before/behind docked windows
+ sal_Int32 i = nCount - 1;
+ while ( i >= 0 )
+ {
+ sal_Int32 nSpace = rRowColumnWindowData.aRowColumnSpace[i];
+ if ( nSpace >= -nDiff )
+ {
+ if ( isHorizontalDockingArea( nDockingArea ))
+ {
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount ; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].X += nDiff;
+ }
+ else
+ {
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount ; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].Y += nDiff;
+ }
+ nDiff = 0;
+
+ break;
+ }
+ else if ( nSpace > 0 )
+ {
+ if ( isHorizontalDockingArea( nDockingArea ))
+ {
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].X -= nSpace;
+ }
+ else
+ {
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].Y -= nSpace;
+ }
+ nDiff += nSpace;
+ }
+ --i;
+ }
+ }
+
+ // Check if we have to reduce further
+ if ( nDiff < 0 )
+ {
+ // Now we have to reduce the size of certain docked windows
+ sal_Int32 i = sal_Int32( nCount - 1 );
+ while ( i >= 0 )
+ {
+ awt::Rectangle& rWinRect = rRowColumnWindowData.aRowColumnWindowSizes[i];
+ ::Size aMinSize;
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ {
+ uno::Reference< awt::XWindow > xWindow = rRowColumnWindowData.aRowColumnWindows[i];
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ aMinSize = ((ToolBox *)pWindow)->CalcMinimumWindowSizePixel();
+ }
+
+ if (( aMinSize.Width() > 0 ) && ( aMinSize.Height() > 0 ))
+ {
+ if ( isHorizontalDockingArea( nDockingArea ))
+ {
+ sal_Int32 nMaxReducation = ( rWinRect.Width - aMinSize.Width() );
+ if ( nMaxReducation >= -nDiff )
+ {
+ rWinRect.Width = rWinRect.Width + nDiff;
+ nDiff = 0;
+ }
+ else
+ {
+ rWinRect.Width = aMinSize.Width();
+ nDiff += nMaxReducation;
+ }
+
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].X += nDiff;
+ }
+ else
+ {
+ sal_Int32 nMaxReducation = ( rWinRect.Height - aMinSize.Height() );
+ if ( nMaxReducation >= -nDiff )
+ {
+ rWinRect.Height = rWinRect.Height + nDiff;
+ nDiff = 0;
+ }
+ else
+ {
+ rWinRect.Height = aMinSize.Height();
+ nDiff += nMaxReducation;
+ }
+
+ // Try to move this and all user elements behind with the calculated difference
+ for ( sal_uInt32 j = i; j < nCount; j++ )
+ rRowColumnWindowData.aRowColumnWindowSizes[j].Y += nDiff;
+ }
+ }
+
+ if ( nDiff >= 0 )
+ break;
+
+ --i;
+ }
+ }
+
+ ReadGuard aReadLock( m_aLock );
+ Window* pDockAreaWindow = VCLUnoHelper::GetWindow( m_xDockAreaWindows[nDockingArea] );
+ aReadLock.unlock();
+
+ sal_Int32 nCurrPos( 0 );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ uno::Reference< awt::XWindow > xWindow = rRowColumnWindowData.aRowColumnWindows[i];
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ Window* pOldParentWindow = pWindow->GetParent();
+
+ if ( pDockAreaWindow != pOldParentWindow )
+ pWindow->SetParent( pDockAreaWindow );
+
+ awt::Rectangle aWinRect = rRowColumnWindowData.aRowColumnWindowSizes[i];
+ if ( isHorizontalDockingArea( nDockingArea ))
+ {
+ if ( aWinRect.X < nCurrPos )
+ aWinRect.X = nCurrPos;
+ pWindow->SetPosSizePixel( ::Point( aWinRect.X, nOffset ), ::Size( aWinRect.Width, rRowColumnWindowData.nStaticSize ));
+ pWindow->Show( TRUE, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ nCurrPos += ( aWinRect.X - nCurrPos ) + aWinRect.Width;
+ }
+ else
+ {
+ if ( aWinRect.Y < nCurrPos )
+ aWinRect.Y = nCurrPos;
+ pWindow->SetPosSizePixel( ::Point( nOffset, aWinRect.Y ), ::Size( rRowColumnWindowData.nStaticSize, aWinRect.Height ));
+ pWindow->Show( TRUE, SHOW_NOFOCUSCHANGE | SHOW_NOACTIVATE );
+ nCurrPos += ( aWinRect.Y - nCurrPos ) + aWinRect.Height;
+ }
+ }
+}
+
+void ToolbarLayoutManager::implts_setLayoutDirty()
+{
+ WriteGuard aWriteLock( m_aLock );
+ m_bLayoutDirty = true;
+}
+
+void ToolbarLayoutManager::implts_setLayoutInProgress( bool bInProgress )
+{
+ WriteGuard aWriteLock( m_aLock );
+ m_bLayoutInProgress = bInProgress;
+}
+
+::Rectangle ToolbarLayoutManager::implts_calcHotZoneRect( const ::Rectangle& rRect, sal_Int32 nHotZoneOffset )
+{
+ ::Rectangle aRect( rRect );
+
+ aRect.Left() -= nHotZoneOffset;
+ aRect.Top() -= nHotZoneOffset;
+ aRect.Right() += nHotZoneOffset;
+ aRect.Bottom() += nHotZoneOffset;
+
+ return aRect;
+}
+
+void ToolbarLayoutManager::implts_calcDockingPosSize(
+ UIElement& rUIElement,
+ DockingOperation& rDockingOperation,
+ ::Rectangle& rTrackingRect,
+ const Point& rMousePos )
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ ::Size aContainerWinSize;
+ Window* pContainerWindow( 0 );
+ ::Rectangle aDockingAreaOffsets( m_aDockingAreaOffsets );
+ aReadLock.unlock();
+
+ if ( !rUIElement.m_xUIElement.is() )
+ {
+ rTrackingRect = ::Rectangle();
+ return;
+ }
+
+ {
+ // Retrieve output size from container Window
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ aContainerWinSize = pContainerWindow->GetOutputSizePixel();
+ }
+
+ Window* pDockWindow( 0 );
+ Window* pDockingAreaWindow( 0 );
+ ToolBox* pToolBox( 0 );
+ uno::Reference< awt::XWindow > xWindow( rUIElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xDockingAreaWindow;
+ ::Rectangle aTrackingRect( rTrackingRect );
+ ui::DockingArea eDockedArea( (ui::DockingArea)rUIElement.m_aDockedData.m_nDockedArea );
+ sal_Int32 nTopDockingAreaSize( implts_getTopBottomDockingAreaSizes().Width() );
+ sal_Int32 nBottomDockingAreaSize( implts_getTopBottomDockingAreaSizes().Height() );
+ bool bHorizontalDockArea(( eDockedArea == ui::DockingArea_DOCKINGAREA_TOP ) ||
+ ( eDockedArea == ui::DockingArea_DOCKINGAREA_BOTTOM ));
+ sal_Int32 nMaxLeftRightDockAreaSize = aContainerWinSize.Height() -
+ nTopDockingAreaSize -
+ nBottomDockingAreaSize -
+ aDockingAreaOffsets.Top() -
+ aDockingAreaOffsets.Bottom();
+ ::Rectangle aDockingAreaRect;
+
+ aReadLock.lock();
+ xDockingAreaWindow = m_xDockAreaWindows[eDockedArea];
+ aReadLock.unlock();
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xDockingAreaWindow );
+ pDockWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pDockWindow && pDockWindow->GetType() == WINDOW_TOOLBOX )
+ pToolBox = (ToolBox *)pDockWindow;
+
+ aDockingAreaRect = ::Rectangle( pDockingAreaWindow->GetPosPixel(), pDockingAreaWindow->GetSizePixel() );
+ if ( pToolBox )
+ {
+ // docked toolbars always have one line
+ ::Size aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( sal_Int16( eDockedArea )) );
+ aTrackingRect.SetSize( ::Size( aSize.Width(), aSize.Height() ));
+ }
+ }
+
+ // default docking operation, dock on the given row/column
+ bool bOpOutsideOfDockingArea( !aDockingAreaRect.IsInside( rMousePos ));
+ std::vector< SingleRowColumnWindowData > aRowColumnsWindowData;
+
+ rDockingOperation = DOCKOP_ON_COLROW;
+ implts_getDockingAreaElementInfos( eDockedArea, aRowColumnsWindowData );
+
+ // determine current first row/column and last row/column
+ sal_Int32 nMaxRowCol( -1 );
+ sal_Int32 nMinRowCol( SAL_MAX_INT32 );
+ const sal_uInt32 nCount = aRowColumnsWindowData.size();
+ for ( sal_uInt32 i = 0; i < nCount; i++ )
+ {
+ if ( aRowColumnsWindowData[i].nRowColumn > nMaxRowCol )
+ nMaxRowCol = aRowColumnsWindowData[i].nRowColumn;
+ if ( aRowColumnsWindowData[i].nRowColumn < nMinRowCol )
+ nMinRowCol = aRowColumnsWindowData[i].nRowColumn;
+ }
+
+ if ( !bOpOutsideOfDockingArea )
+ {
+ // docking inside our docking area
+ sal_Int32 nIndex( -1 );
+ sal_Int32 nRowCol( -1 );
+ ::Rectangle aWindowRect;
+ ::Rectangle aRowColumnRect;
+
+ const sal_uInt32 nWindowDataCount = aRowColumnsWindowData.size();
+ for ( sal_uInt32 i = 0; i < nWindowDataCount; i++ )
+ {
+ ::Rectangle aRect( aRowColumnsWindowData[i].aRowColumnRect.X,
+ aRowColumnsWindowData[i].aRowColumnRect.Y,
+ aRowColumnsWindowData[i].aRowColumnRect.X + aRowColumnsWindowData[i].aRowColumnRect.Width,
+ aRowColumnsWindowData[i].aRowColumnRect.Y + aRowColumnsWindowData[i].aRowColumnRect.Height );
+
+ {
+ // Calc correct position of the column/row rectangle to be able to compare it with mouse pos/tracking rect
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ aRect.SetPos( pContainerWindow->ScreenToOutputPixel( pDockingAreaWindow->OutputToScreenPixel( aRect.TopLeft() )));
+ }
+
+ bool bIsInsideRowCol( aRect.IsInside( rMousePos ) );
+ if ( bIsInsideRowCol )
+ {
+ nIndex = i;
+ nRowCol = aRowColumnsWindowData[i].nRowColumn;
+ rDockingOperation = implts_determineDockingOperation( eDockedArea, aRect, rMousePos );
+ aWindowRect = implts_getWindowRectFromRowColumn( eDockedArea, aRowColumnsWindowData[i], rMousePos, rUIElement.m_aName );
+ aRowColumnRect = aRect;
+ break;
+ }
+ }
+
+ OSL_ENSURE( ( nIndex >= 0 ) && ( nRowCol >= 0 ), "Impossible case - no row/column found but mouse pointer is inside our docking area" );
+ if (( nIndex >= 0 ) && ( nRowCol >= 0 ))
+ {
+ if ( rDockingOperation == DOCKOP_ON_COLROW )
+ {
+ if ( !aWindowRect.IsEmpty())
+ {
+ // Tracking rect is on a row/column and mouse is over a docked toolbar.
+ // Determine if the tracking rect must be located before/after the docked toolbar.
+
+ ::Rectangle aUIElementRect( aWindowRect );
+ sal_Int32 nMiddle( bHorizontalDockArea ? ( aWindowRect.Left() + aWindowRect.getWidth() / 2 ) :
+ ( aWindowRect.Top() + aWindowRect.getHeight() / 2 ));
+ sal_Bool bInsertBefore( bHorizontalDockArea ? ( rMousePos.X() < nMiddle ) : ( rMousePos.Y() < nMiddle ));
+ if ( bInsertBefore )
+ {
+ if ( bHorizontalDockArea )
+ {
+ sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32( aContainerWinSize.Width() - aWindowRect.Left() ),
+ sal_Int32( aTrackingRect.getWidth() )));
+ if ( nSize == 0 )
+ nSize = aWindowRect.getWidth();
+
+ aUIElementRect.SetSize( ::Size( nSize, aWindowRect.getHeight() ));
+ aWindowRect = implts_determineFrontDockingRect( eDockedArea, nRowCol, aWindowRect,rUIElement.m_aName, aUIElementRect );
+
+ // Set virtual position
+ rUIElement.m_aDockedData.m_aPos.X() = aWindowRect.Left();
+ rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
+ }
+ else
+ {
+ sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32(
+ nTopDockingAreaSize + nMaxLeftRightDockAreaSize - aWindowRect.Top() ),
+ sal_Int32( aTrackingRect.getHeight() )));
+ if ( nSize == 0 )
+ nSize = aWindowRect.getHeight();
+
+ aUIElementRect.SetSize( ::Size( aWindowRect.getWidth(), nSize ));
+ aWindowRect = implts_determineFrontDockingRect( eDockedArea, nRowCol, aWindowRect, rUIElement.m_aName, aUIElementRect );
+
+ // Set virtual position
+ sal_Int32 nPosY = pDockingAreaWindow->ScreenToOutputPixel(
+ pContainerWindow->OutputToScreenPixel( aWindowRect.TopLeft() )).Y();
+ rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
+ rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
+ }
+
+ rTrackingRect = aWindowRect;
+ return;
+ }
+ else
+ {
+ if ( bHorizontalDockArea )
+ {
+ sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32(( aContainerWinSize.Width() ) - aWindowRect.Right() ),
+ sal_Int32( aTrackingRect.getWidth() )));
+ if ( nSize == 0 )
+ {
+ aUIElementRect.SetPos( ::Point( aContainerWinSize.Width() - aTrackingRect.getWidth(), aWindowRect.Top() ));
+ aUIElementRect.SetSize( ::Size( aTrackingRect.getWidth(), aWindowRect.getHeight() ));
+ rUIElement.m_aDockedData.m_aPos.X() = aUIElementRect.Left();
+ }
+ else
+ {
+ aUIElementRect.SetPos( ::Point( aWindowRect.Right(), aWindowRect.Top() ));
+ aUIElementRect.SetSize( ::Size( nSize, aWindowRect.getHeight() ));
+ rUIElement.m_aDockedData.m_aPos.X() = aWindowRect.Right();
+ }
+
+ // Set virtual position
+ rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
+ }
+ else
+ {
+ sal_Int32 nSize = ::std::max( sal_Int32( 0 ), std::min( sal_Int32( nTopDockingAreaSize + nMaxLeftRightDockAreaSize - aWindowRect.Bottom() ),
+ sal_Int32( aTrackingRect.getHeight() )));
+ aUIElementRect.SetPos( ::Point( aWindowRect.Left(), aWindowRect.Bottom() ));
+ aUIElementRect.SetSize( ::Size( aWindowRect.getWidth(), nSize ));
+
+ // Set virtual position
+ sal_Int32 nPosY( 0 );
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ nPosY = pDockingAreaWindow->ScreenToOutputPixel(
+ pContainerWindow->OutputToScreenPixel( aWindowRect.BottomRight() )).Y();
+ }
+ rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
+ rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
+ }
+
+ rTrackingRect = aUIElementRect;
+ return;
+ }
+ }
+ else
+ {
+ implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
+ rTrackingRect = implts_calcTrackingAndElementRect(
+ eDockedArea, nRowCol, rUIElement,
+ aTrackingRect, aRowColumnRect, aContainerWinSize );
+ return;
+ }
+ }
+ else
+ {
+ if ((( nRowCol == nMinRowCol ) && ( rDockingOperation == DOCKOP_BEFORE_COLROW )) ||
+ (( nRowCol == nMaxRowCol ) && ( rDockingOperation == DOCKOP_AFTER_COLROW )))
+ bOpOutsideOfDockingArea = true;
+ else
+ {
+ // handle docking before/after a row
+ implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
+ rTrackingRect = implts_calcTrackingAndElementRect(
+ eDockedArea, nRowCol, rUIElement,
+ aTrackingRect, aRowColumnRect, aContainerWinSize );
+
+ sal_Int32 nOffsetX( 0 );
+ sal_Int32 nOffsetY( 0 );
+ if ( bHorizontalDockArea )
+ nOffsetY = sal_Int32( floor( aRowColumnRect.getHeight() / 2 + 0.5 ));
+ else
+ nOffsetX = sal_Int32( floor( aRowColumnRect.getWidth() / 2 + 0.5 ));
+
+ if ( rDockingOperation == DOCKOP_BEFORE_COLROW )
+ {
+ if (( eDockedArea == ui::DockingArea_DOCKINGAREA_TOP ) || ( eDockedArea == ui::DockingArea_DOCKINGAREA_LEFT ))
+ {
+ // Docking before/after means move track rectangle half column/row.
+ // As left and top are ordered 0...n instead of right and bottom
+ // which uses n...0, we have to use negative values for top/left.
+ nOffsetX *= -1;
+ nOffsetY *= -1;
+ }
+ }
+ else
+ {
+ if (( eDockedArea == ui::DockingArea_DOCKINGAREA_BOTTOM ) || ( eDockedArea == ui::DockingArea_DOCKINGAREA_RIGHT ))
+ {
+ // Docking before/after means move track rectangle half column/row.
+ // As left and top are ordered 0...n instead of right and bottom
+ // which uses n...0, we have to use negative values for top/left.
+ nOffsetX *= -1;
+ nOffsetY *= -1;
+ }
+ nRowCol++;
+ }
+
+ if ( bHorizontalDockArea )
+ rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
+ else
+ rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
+
+ rTrackingRect.Move( nOffsetX, nOffsetY );
+ rTrackingRect.SetSize( aTrackingRect.GetSize() );
+ }
+ }
+ }
+ }
+
+ // Docking outside of our docking window area =>
+ // Users want to dock before/after first/last docked element or to an empty docking area
+ if ( bOpOutsideOfDockingArea )
+ {
+ // set correct size for docking
+ implts_setTrackingRect( eDockedArea, rMousePos, aTrackingRect );
+ rTrackingRect = aTrackingRect;
+
+ if ( bHorizontalDockArea )
+ {
+ sal_Int32 nPosX( std::max( sal_Int32( rTrackingRect.Left()), sal_Int32( 0 )));
+ if (( nPosX + rTrackingRect.getWidth()) > aContainerWinSize.Width() )
+ nPosX = std::min( nPosX,
+ std::max( sal_Int32( aContainerWinSize.Width() - rTrackingRect.getWidth() ),
+ sal_Int32( 0 )));
+
+ sal_Int32 nSize = std::min( aContainerWinSize.Width(), rTrackingRect.getWidth() );
+ sal_Int32 nDockHeight = std::max( static_cast<sal_Int32>(aDockingAreaRect.getHeight()), sal_Int32( 0 ));
+ if ( nDockHeight == 0 )
+ {
+ sal_Int32 nPosY( std::max( aDockingAreaRect.Top(), aDockingAreaRect.Bottom() ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ nPosY -= rTrackingRect.getHeight();
+ rTrackingRect.SetPos( Point( nPosX, nPosY ));
+ rUIElement.m_aDockedData.m_aPos.Y() = 0;
+ }
+ else if ( rMousePos.Y() < ( aDockingAreaRect.Top() + ( nDockHeight / 2 )))
+ {
+ rTrackingRect.SetPos( Point( nPosX, aDockingAreaRect.Top() - rTrackingRect.getHeight() ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rUIElement.m_aDockedData.m_aPos.Y() = 0;
+ else
+ rUIElement.m_aDockedData.m_aPos.Y() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
+ rDockingOperation = DOCKOP_BEFORE_COLROW;
+ }
+ else
+ {
+ rTrackingRect.SetPos( Point( nPosX, aDockingAreaRect.Bottom() ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_TOP )
+ rUIElement.m_aDockedData.m_aPos.Y() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
+ else
+ rUIElement.m_aDockedData.m_aPos.Y() = 0;
+ rDockingOperation = DOCKOP_AFTER_COLROW;
+ }
+ rTrackingRect.setWidth( nSize );
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ nPosX = pDockingAreaWindow->ScreenToOutputPixel(
+ pContainerWindow->OutputToScreenPixel( rTrackingRect.TopLeft() )).X();
+ }
+ rUIElement.m_aDockedData.m_aPos.X() = nPosX;
+ }
+ else
+ {
+ sal_Int32 nMaxDockingAreaHeight = std::max( sal_Int32( 0 ), sal_Int32( nMaxLeftRightDockAreaSize ));
+ sal_Int32 nPosY( std::max( sal_Int32( aTrackingRect.Top()), sal_Int32( nTopDockingAreaSize )));
+ if (( nPosY + aTrackingRect.getHeight()) > ( nTopDockingAreaSize + nMaxDockingAreaHeight ))
+ nPosY = std::min( nPosY,
+ std::max( sal_Int32( nTopDockingAreaSize + ( nMaxDockingAreaHeight - aTrackingRect.getHeight() )),
+ sal_Int32( nTopDockingAreaSize )));
+
+ sal_Int32 nSize = std::min( nMaxDockingAreaHeight, static_cast<sal_Int32>(aTrackingRect.getHeight()) );
+ sal_Int32 nDockWidth = std::max( static_cast<sal_Int32>(aDockingAreaRect.getWidth()), sal_Int32( 0 ));
+ if ( nDockWidth == 0 )
+ {
+ sal_Int32 nPosX( std::max( aDockingAreaRect.Left(), aDockingAreaRect.Right() ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_RIGHT )
+ nPosX -= rTrackingRect.getWidth();
+ rTrackingRect.SetPos( Point( nPosX, nPosY ));
+ rUIElement.m_aDockedData.m_aPos.X() = 0;
+ }
+ else if ( rMousePos.X() < ( aDockingAreaRect.Left() + ( nDockWidth / 2 )))
+ {
+ rTrackingRect.SetPos( Point( aDockingAreaRect.Left() - rTrackingRect.getWidth(), nPosY ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ rUIElement.m_aDockedData.m_aPos.X() = 0;
+ else
+ rUIElement.m_aDockedData.m_aPos.X() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
+ rDockingOperation = DOCKOP_BEFORE_COLROW;
+ }
+ else
+ {
+ rTrackingRect.SetPos( Point( aDockingAreaRect.Right(), nPosY ));
+ if ( eDockedArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ rUIElement.m_aDockedData.m_aPos.X() = ( nMaxRowCol >= 0 ) ? nMaxRowCol+1 : 0;
+ else
+ rUIElement.m_aDockedData.m_aPos.X() = 0;
+ rDockingOperation = DOCKOP_AFTER_COLROW;
+ }
+ rTrackingRect.setHeight( nSize );
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ nPosY = pDockingAreaWindow->ScreenToOutputPixel(
+ pContainerWindow->OutputToScreenPixel( rTrackingRect.TopLeft() )).Y();
+ }
+ rUIElement.m_aDockedData.m_aPos.Y() = nPosY;
+ }
+ }
+}
+
+framework::ToolbarLayoutManager::DockingOperation ToolbarLayoutManager::implts_determineDockingOperation(
+ ui::DockingArea DockingArea,
+ const ::Rectangle& rRowColRect,
+ const Point& rMousePos )
+{
+ const sal_Int32 nHorzVerticalRegionSize = 6;
+ const sal_Int32 nHorzVerticalMoveRegion = 4;
+
+ if ( rRowColRect.IsInside( rMousePos ))
+ {
+ if ( isHorizontalDockingArea( DockingArea ))
+ {
+ sal_Int32 nRegion = rRowColRect.getHeight() / nHorzVerticalRegionSize;
+ sal_Int32 nPosY = rRowColRect.Top() + nRegion;
+
+ if ( rMousePos.Y() < nPosY )
+ return ( DockingArea == ui::DockingArea_DOCKINGAREA_TOP ) ? DOCKOP_BEFORE_COLROW : DOCKOP_AFTER_COLROW;
+ else if ( rMousePos.Y() < ( nPosY + nRegion*nHorzVerticalMoveRegion ))
+ return DOCKOP_ON_COLROW;
+ else
+ return ( DockingArea == ui::DockingArea_DOCKINGAREA_TOP ) ? DOCKOP_AFTER_COLROW : DOCKOP_BEFORE_COLROW;
+ }
+ else
+ {
+ sal_Int32 nRegion = rRowColRect.getWidth() / nHorzVerticalRegionSize;
+ sal_Int32 nPosX = rRowColRect.Left() + nRegion;
+
+ if ( rMousePos.X() < nPosX )
+ return ( DockingArea == ui::DockingArea_DOCKINGAREA_LEFT ) ? DOCKOP_BEFORE_COLROW : DOCKOP_AFTER_COLROW;
+ else if ( rMousePos.X() < ( nPosX + nRegion*nHorzVerticalMoveRegion ))
+ return DOCKOP_ON_COLROW;
+ else
+ return ( DockingArea == ui::DockingArea_DOCKINGAREA_LEFT ) ? DOCKOP_AFTER_COLROW : DOCKOP_BEFORE_COLROW;
+ }
+ }
+ else
+ return DOCKOP_ON_COLROW;
+}
+
+::Rectangle ToolbarLayoutManager::implts_calcTrackingAndElementRect(
+ ui::DockingArea eDockingArea,
+ sal_Int32 nRowCol,
+ UIElement& rUIElement,
+ const ::Rectangle& rTrackingRect,
+ const ::Rectangle& rRowColumnRect,
+ const ::Size& rContainerWinSize )
+{
+ ReadGuard aReadGuard( m_aLock );
+ ::Rectangle aDockingAreaOffsets( m_aDockingAreaOffsets );
+ aReadGuard.unlock();
+
+ bool bHorizontalDockArea( isHorizontalDockingArea( eDockingArea ));
+ sal_Int32 nTopDockingAreaSize( implts_getTopBottomDockingAreaSizes().Width() );
+ sal_Int32 nBottomDockingAreaSize( implts_getTopBottomDockingAreaSizes().Height() );
+
+ sal_Int32 nMaxLeftRightDockAreaSize = rContainerWinSize.Height() -
+ nTopDockingAreaSize -
+ nBottomDockingAreaSize -
+ aDockingAreaOffsets.Top() -
+ aDockingAreaOffsets.Bottom();
+
+ ::Rectangle aTrackingRect( rTrackingRect );
+ if ( bHorizontalDockArea )
+ {
+ sal_Int32 nPosX( std::max( sal_Int32( rTrackingRect.Left()), sal_Int32( 0 )));
+ if (( nPosX + rTrackingRect.getWidth()) > rContainerWinSize.Width() )
+ nPosX = std::min( nPosX,
+ std::max( sal_Int32( rContainerWinSize.Width() - rTrackingRect.getWidth() ),
+ sal_Int32( 0 )));
+
+ sal_Int32 nSize = std::min( rContainerWinSize.Width(), rTrackingRect.getWidth() );
+
+ aTrackingRect.SetPos( ::Point( nPosX, rRowColumnRect.Top() ));
+ aTrackingRect.setWidth( nSize );
+ aTrackingRect.setHeight( rRowColumnRect.getHeight() );
+
+ // Set virtual position
+ rUIElement.m_aDockedData.m_aPos.X() = nPosX;
+ rUIElement.m_aDockedData.m_aPos.Y() = nRowCol;
+ }
+ else
+ {
+ sal_Int32 nMaxDockingAreaHeight = std::max( sal_Int32( 0 ),
+ sal_Int32( nMaxLeftRightDockAreaSize ));
+
+ sal_Int32 nPosY( std::max( sal_Int32( aTrackingRect.Top()), sal_Int32( nTopDockingAreaSize )));
+ if (( nPosY + aTrackingRect.getHeight()) > ( nTopDockingAreaSize + nMaxDockingAreaHeight ))
+ nPosY = std::min( nPosY,
+ std::max( sal_Int32( nTopDockingAreaSize + ( nMaxDockingAreaHeight - aTrackingRect.getHeight() )),
+ sal_Int32( nTopDockingAreaSize )));
+
+ sal_Int32 nSize = std::min( nMaxDockingAreaHeight, static_cast<sal_Int32>(aTrackingRect.getHeight()) );
+
+ aTrackingRect.SetPos( ::Point( rRowColumnRect.Left(), nPosY ));
+ aTrackingRect.setWidth( rRowColumnRect.getWidth() );
+ aTrackingRect.setHeight( nSize );
+
+ aReadGuard.lock();
+ uno::Reference< awt::XWindow > xDockingAreaWindow( m_xDockAreaWindows[eDockingArea] );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ aReadGuard.unlock();
+
+ sal_Int32 nDockPosY( 0 );
+ Window* pDockingAreaWindow( 0 );
+ Window* pContainerWindow( 0 );
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xDockingAreaWindow );
+ pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ nDockPosY = pDockingAreaWindow->ScreenToOutputPixel( pContainerWindow->OutputToScreenPixel( ::Point( 0, nPosY ))).Y();
+ }
+
+ // Set virtual position
+ rUIElement.m_aDockedData.m_aPos.X() = nRowCol;
+ rUIElement.m_aDockedData.m_aPos.Y() = nDockPosY;
+ }
+
+ return aTrackingRect;
+}
+
+void ToolbarLayoutManager::implts_setTrackingRect( ui::DockingArea eDockingArea, const ::Point& rMousePos, ::Rectangle& rTrackingRect )
+{
+ ::Point aPoint( rTrackingRect.TopLeft());
+ if ( isHorizontalDockingArea( eDockingArea ))
+ aPoint.X() = rMousePos.X();
+ else
+ aPoint.Y() = rMousePos.Y();
+ rTrackingRect.SetPos( aPoint );
+}
+
+void ToolbarLayoutManager::implts_renumberRowColumnData(
+ ui::DockingArea eDockingArea,
+ DockingOperation /*eDockingOperation*/,
+ const UIElement& rUIElement )
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< container::XNameAccess > xPersistentWindowState( m_xPersistentWindowState );
+ aReadLock.unlock();
+
+ bool bHorzDockingArea( isHorizontalDockingArea( eDockingArea ));
+ sal_Int32 nRowCol( bHorzDockingArea ? rUIElement.m_aDockedData.m_aPos.Y() : rUIElement.m_aDockedData.m_aPos.X() );
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ WriteGuard aWriteLock( m_aLock );
+ UIElementVector::iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if (( pIter->m_aDockedData.m_nDockedArea == sal_Int16( eDockingArea )) && ( pIter->m_aName != rUIElement.m_aName ))
+ {
+ // Don't change toolbars without a valid docking position!
+ if ( isDefaultPos( pIter->m_aDockedData.m_aPos ))
+ continue;
+
+ sal_Int32 nWindowRowCol = ( bHorzDockingArea ) ? pIter->m_aDockedData.m_aPos.Y() : pIter->m_aDockedData.m_aPos.X();
+ if ( nWindowRowCol >= nRowCol )
+ {
+ if ( bHorzDockingArea )
+ pIter->m_aDockedData.m_aPos.Y() += 1;
+ else
+ pIter->m_aDockedData.m_aPos.X() += 1;
+ }
+ }
+ }
+ aWriteLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
+ // We have to change the persistent window state part
+ if ( xPersistentWindowState.is() )
+ {
+ try
+ {
+ uno::Sequence< ::rtl::OUString > aWindowElements = xPersistentWindowState->getElementNames();
+ for ( sal_Int32 i = 0; i < aWindowElements.getLength(); i++ )
+ {
+ if ( rUIElement.m_aName != aWindowElements[i] )
+ {
+ try
+ {
+ uno::Sequence< beans::PropertyValue > aPropValueSeq;
+ awt::Point aDockedPos;
+ ui::DockingArea nDockedArea( ui::DockingArea_DOCKINGAREA_DEFAULT );
+
+ xPersistentWindowState->getByName( aWindowElements[i] ) >>= aPropValueSeq;
+ for ( sal_Int32 j = 0; j < aPropValueSeq.getLength(); j++ )
+ {
+ if ( aPropValueSeq[j].Name.equalsAscii( WINDOWSTATE_PROPERTY_DOCKINGAREA ))
+ aPropValueSeq[j].Value >>= nDockedArea;
+ else if ( aPropValueSeq[j].Name.equalsAscii( WINDOWSTATE_PROPERTY_DOCKPOS ))
+ aPropValueSeq[j].Value >>= aDockedPos;
+ }
+
+ // Don't change toolbars without a valid docking position!
+ if ( isDefaultPos( aDockedPos ))
+ continue;
+
+ sal_Int32 nWindowRowCol = ( bHorzDockingArea ) ? aDockedPos.Y : aDockedPos.X;
+ if (( nDockedArea == eDockingArea ) && ( nWindowRowCol >= nRowCol ))
+ {
+ if ( bHorzDockingArea )
+ aDockedPos.Y += 1;
+ else
+ aDockedPos.X += 1;
+
+ uno::Reference< container::XNameReplace > xReplace( xPersistentWindowState, uno::UNO_QUERY );
+ xReplace->replaceByName( aWindowElements[i], makeAny( aPropValueSeq ));
+ }
+ }
+ catch ( uno::Exception& ) {}
+ }
+ }
+ }
+ catch ( uno::Exception& ) {}
+ }
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XWindowListener
+//---------------------------------------------------------------------------------------------------------
+void SAL_CALL ToolbarLayoutManager::windowResized( const awt::WindowEvent& aEvent )
+throw( uno::RuntimeException )
+{
+ WriteGuard aWriteLock( m_aLock );
+ bool bLocked( m_bDockingInProgress );
+ bool bLayoutInProgress( m_bLayoutInProgress );
+ aWriteLock.unlock();
+
+ // Do not do anything if we are in the middle of a docking process. This would interfere all other
+ // operations. We will store the new position and size in the docking handlers.
+ // Do not do anything if we are in the middle of our layouting process. We will adapt the position
+ // and size of the user interface elements.
+ if ( !bLocked && !bLayoutInProgress )
+ {
+ bool bNotify( false );
+ uno::Reference< awt::XWindow > xWindow( aEvent.Source, uno::UNO_QUERY );
+
+ UIElement aUIElement = implts_findToolbar( aEvent.Source );
+ if ( aUIElement.m_xUIElement.is() )
+ {
+ if ( aUIElement.m_bFloating )
+ {
+ uno::Reference< awt::XWindow2 > xWindow2( xWindow, uno::UNO_QUERY );
+
+ if( xWindow2.is() )
+ {
+ awt::Rectangle aPos = xWindow2->getPosSize();
+ awt::Size aSize = xWindow2->getOutputSize(); // always use output size for consistency
+ bool bVisible = xWindow2->isVisible();
+
+ // update element data
+ aUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
+ aUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
+ aUIElement.m_bVisible = bVisible;
+ }
+
+ implts_writeWindowStateData( aUIElement );
+ }
+ else
+ {
+ implts_setLayoutDirty();
+ bNotify = true;
+ }
+ }
+
+ if ( bNotify )
+ m_pParentLayouter->requestLayout( ILayoutNotifications::HINT_TOOLBARSPACE_HAS_CHANGED );
+ }
+}
+
+void SAL_CALL ToolbarLayoutManager::windowMoved( const awt::WindowEvent& /*aEvent*/ )
+throw( uno::RuntimeException )
+{
+}
+
+void SAL_CALL ToolbarLayoutManager::windowShown( const lang::EventObject& /*aEvent*/ )
+throw( uno::RuntimeException )
+{
+}
+
+void SAL_CALL ToolbarLayoutManager::windowHidden( const lang::EventObject& /*aEvent*/ )
+throw( uno::RuntimeException )
+{
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XDockableWindowListener
+//---------------------------------------------------------------------------------------------------------
+void SAL_CALL ToolbarLayoutManager::startDocking( const awt::DockingEvent& e )
+throw (uno::RuntimeException)
+{
+ bool bWinFound( false );
+
+ ReadGuard aReadGuard( m_aLock );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ uno::Reference< awt::XWindow2 > xWindow( e.Source, uno::UNO_QUERY );
+ aReadGuard.unlock();
+
+ Window* pContainerWindow( 0 );
+ Window* pWindow( 0 );
+ ::Point aMousePos;
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pContainerWindow = VCLUnoHelper::GetWindow( xContainerWindow );
+ aMousePos = pContainerWindow->ScreenToOutputPixel( ::Point( e.MousePos.X, e.MousePos.Y ));
+ }
+
+ UIElement aUIElement = implts_findToolbar( e.Source );
+
+ if ( aUIElement.m_xUIElement.is() && xWindow.is() )
+ {
+ awt::Rectangle aRect;
+
+ bWinFound = true;
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow->isFloating() )
+ {
+ awt::Rectangle aPos = xWindow->getPosSize();
+ awt::Size aSize = xWindow->getOutputSize();
+
+ aUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
+ aUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ToolBox* pToolBox = (ToolBox *)pWindow;
+ aUIElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
+ aUIElement.m_aFloatingData.m_bIsHorizontal = isToolboxHorizontalAligned( pToolBox );
+ }
+ }
+ }
+
+ WriteGuard aWriteLock( m_aLock );
+ m_bDockingInProgress = bWinFound;
+ m_aDockUIElement = aUIElement;
+ m_aDockUIElement.m_bUserActive = true;
+ m_aStartDockMousePos = aMousePos;
+ aWriteLock.unlock();
+}
+
+awt::DockingData SAL_CALL ToolbarLayoutManager::docking( const awt::DockingEvent& e )
+throw (uno::RuntimeException)
+{
+ const sal_Int32 MAGNETIC_DISTANCE_UNDOCK = 25;
+ const sal_Int32 MAGNETIC_DISTANCE_DOCK = 20;
+
+ ReadGuard aReadLock( m_aLock );
+ awt::DockingData aDockingData;
+ uno::Reference< awt::XDockableWindow > xDockWindow( e.Source, uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xWindow( e.Source, uno::UNO_QUERY );
+ uno::Reference< awt::XWindow > xTopDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_TOP] );
+ uno::Reference< awt::XWindow > xLeftDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_LEFT] );
+ uno::Reference< awt::XWindow > xRightDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_RIGHT] );
+ uno::Reference< awt::XWindow > xBottomDockingWindow( m_xDockAreaWindows[ui::DockingArea_DOCKINGAREA_BOTTOM] );
+ uno::Reference< awt::XWindow2 > xContainerWindow( m_xContainerWindow );
+ UIElement aUIDockingElement( m_aDockUIElement );
+ DockingOperation eDockingOperation( DOCKOP_ON_COLROW );
+ bool bDockingInProgress( m_bDockingInProgress );
+ aReadLock.unlock();
+
+ if ( bDockingInProgress )
+ aDockingData.TrackingRectangle = e.TrackingRectangle;
+
+ if ( bDockingInProgress && xDockWindow.is() && xWindow.is() )
+ {
+ try
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+
+ sal_Int16 eDockingArea( -1 ); // none
+ sal_Int32 nMagneticZone( aUIDockingElement.m_bFloating ? MAGNETIC_DISTANCE_DOCK : MAGNETIC_DISTANCE_UNDOCK );
+ awt::Rectangle aNewTrackingRect;
+ ::Rectangle aTrackingRect( e.TrackingRectangle.X, e.TrackingRectangle.Y,
+ ( e.TrackingRectangle.X + e.TrackingRectangle.Width ),
+ ( e.TrackingRectangle.Y + e.TrackingRectangle.Height ));
+
+ awt::Rectangle aTmpRect = xTopDockingWindow->getPosSize();
+ ::Rectangle aTopDockRect( aTmpRect.X, aTmpRect.Y, aTmpRect.Width, aTmpRect.Height );
+ ::Rectangle aHotZoneTopDockRect( implts_calcHotZoneRect( aTopDockRect, nMagneticZone ));
+
+ aTmpRect = xBottomDockingWindow->getPosSize();
+ ::Rectangle aBottomDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width), ( aTmpRect.Y + aTmpRect.Height ));
+ ::Rectangle aHotZoneBottomDockRect( implts_calcHotZoneRect( aBottomDockRect, nMagneticZone ));
+
+ aTmpRect = xLeftDockingWindow->getPosSize();
+ ::Rectangle aLeftDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width ), ( aTmpRect.Y + aTmpRect.Height ));
+ ::Rectangle aHotZoneLeftDockRect( implts_calcHotZoneRect( aLeftDockRect, nMagneticZone ));
+
+ aTmpRect = xRightDockingWindow->getPosSize();
+ ::Rectangle aRightDockRect( aTmpRect.X, aTmpRect.Y, ( aTmpRect.X + aTmpRect.Width ), ( aTmpRect.Y + aTmpRect.Height ));
+ ::Rectangle aHotZoneRightDockRect( implts_calcHotZoneRect( aRightDockRect, nMagneticZone ));
+
+ Window* pContainerWindow( VCLUnoHelper::GetWindow( xContainerWindow ) );
+ Window* pDockingAreaWindow( 0 );
+ ::Point aMousePos( pContainerWindow->ScreenToOutputPixel( ::Point( e.MousePos.X, e.MousePos.Y )));
+
+ if ( aHotZoneTopDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+ else if ( aHotZoneBottomDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_BOTTOM;
+ else if ( aHotZoneLeftDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_LEFT;
+ else if ( aHotZoneRightDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_RIGHT;
+
+ // Higher priority for movements inside the real docking area
+ if ( aTopDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_TOP;
+ else if ( aBottomDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_BOTTOM;
+ else if ( aLeftDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_LEFT;
+ else if ( aRightDockRect.IsInside( aMousePos ))
+ eDockingArea = ui::DockingArea_DOCKINGAREA_RIGHT;
+
+ // Determine if we have a toolbar and set alignment according to the docking area!
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ ToolBox* pToolBox = 0;
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ pToolBox = (ToolBox *)pWindow;
+
+ if ( eDockingArea != -1 )
+ {
+ if ( eDockingArea == ui::DockingArea_DOCKINGAREA_TOP )
+ {
+ aUIDockingElement.m_aDockedData.m_nDockedArea = ui::DockingArea_DOCKINGAREA_TOP;
+ aUIDockingElement.m_bFloating = false;
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xTopDockingWindow );
+ }
+ else if ( eDockingArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ {
+ aUIDockingElement.m_aDockedData.m_nDockedArea = ui::DockingArea_DOCKINGAREA_BOTTOM;
+ aUIDockingElement.m_bFloating = false;
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xBottomDockingWindow );
+ }
+ else if ( eDockingArea == ui::DockingArea_DOCKINGAREA_LEFT )
+ {
+ aUIDockingElement.m_aDockedData.m_nDockedArea = ui::DockingArea_DOCKINGAREA_LEFT;
+ aUIDockingElement.m_bFloating = false;
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xLeftDockingWindow );
+ }
+ else if ( eDockingArea == ui::DockingArea_DOCKINGAREA_RIGHT )
+ {
+ aUIDockingElement.m_aDockedData.m_nDockedArea = ui::DockingArea_DOCKINGAREA_RIGHT;
+ aUIDockingElement.m_bFloating = false;
+ pDockingAreaWindow = VCLUnoHelper::GetWindow( xRightDockingWindow );
+ }
+
+ ::Point aOutputPos = pContainerWindow->ScreenToOutputPixel( aTrackingRect.TopLeft() );
+ aTrackingRect.SetPos( aOutputPos );
+
+ ::Rectangle aNewDockingRect( aTrackingRect );
+ implts_calcDockingPosSize( aUIDockingElement, eDockingOperation, aNewDockingRect, aMousePos );
+
+ ::Point aScreenPos = pContainerWindow->OutputToScreenPixel( aNewDockingRect.TopLeft() );
+ aNewTrackingRect = awt::Rectangle( aScreenPos.X(), aScreenPos.Y(),
+ aNewDockingRect.getWidth(), aNewDockingRect.getHeight() );
+ aDockingData.TrackingRectangle = aNewTrackingRect;
+ }
+ else if ( pToolBox && bDockingInProgress )
+ {
+ bool bIsHorizontal = isToolboxHorizontalAligned( pToolBox );
+ ::Size aFloatSize = aUIDockingElement.m_aFloatingData.m_aSize;
+ if ( aFloatSize.Width() > 0 && aFloatSize.Height() > 0 )
+ {
+ aUIDockingElement.m_aFloatingData.m_aPos = pContainerWindow->ScreenToOutputPixel(
+ ::Point( e.MousePos.X, e.MousePos.Y ));
+ aDockingData.TrackingRectangle.Height = aFloatSize.Height();
+ aDockingData.TrackingRectangle.Width = aFloatSize.Width();
+ }
+ else
+ {
+ aFloatSize = pToolBox->CalcWindowSizePixel();
+ if ( !bIsHorizontal )
+ {
+ // Floating toolbars are always horizontal aligned! We have to swap
+ // width/height if we have a vertical aligned toolbar.
+ sal_Int32 nTemp = aFloatSize.Height();
+ aFloatSize.Height() = aFloatSize.Width();
+ aFloatSize.Width() = nTemp;
+ }
+
+ aDockingData.TrackingRectangle.Height = aFloatSize.Height();
+ aDockingData.TrackingRectangle.Width = aFloatSize.Width();
+
+ // For the first time we don't have any data about the floating size of a toolbar.
+ // We calculate it and store it for later use.
+ aUIDockingElement.m_aFloatingData.m_aPos = pContainerWindow->ScreenToOutputPixel(::Point( e.MousePos.X, e.MousePos.Y ));
+ aUIDockingElement.m_aFloatingData.m_aSize = aFloatSize;
+ aUIDockingElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
+ aUIDockingElement.m_aFloatingData.m_bIsHorizontal = isToolboxHorizontalAligned( pToolBox );
+ }
+ aDockingData.TrackingRectangle.X = e.MousePos.X;
+ aDockingData.TrackingRectangle.Y = e.MousePos.Y;
+ }
+
+ aDockingData.bFloating = ( eDockingArea == -1 );
+
+ // Write current data to the member docking progress data
+ WriteGuard aWriteLock( m_aLock );
+ m_aDockUIElement.m_bFloating = aDockingData.bFloating;
+ if ( !aDockingData.bFloating )
+ {
+ m_aDockUIElement.m_aDockedData = aUIDockingElement.m_aDockedData;
+ m_eDockOperation = eDockingOperation;
+ }
+ else
+ m_aDockUIElement.m_aFloatingData = aUIDockingElement.m_aFloatingData;
+ aWriteLock.unlock();
+ }
+ catch ( uno::Exception& ) {}
+ }
+
+ return aDockingData;
+}
+
+void SAL_CALL ToolbarLayoutManager::endDocking( const awt::EndDockingEvent& e )
+throw (uno::RuntimeException)
+{
+ bool bDockingInProgress( false );
+ bool bStartDockFloated( false );
+ bool bFloating( false );
+ UIElement aUIDockingElement;
+
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+ WriteGuard aWriteLock( m_aLock );
+ bDockingInProgress = m_bDockingInProgress;
+ aUIDockingElement = m_aDockUIElement;
+ bFloating = aUIDockingElement.m_bFloating;
+
+ UIElement& rUIElement = impl_findToolbar( aUIDockingElement.m_aName );
+ if ( rUIElement.m_aName == aUIDockingElement.m_aName )
+ {
+ if ( aUIDockingElement.m_bFloating )
+ {
+ // Write last position into position data
+ uno::Reference< awt::XWindow > xWindow( aUIDockingElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ rUIElement.m_aFloatingData = aUIDockingElement.m_aFloatingData;
+ awt::Rectangle aTmpRect = xWindow->getPosSize();
+ rUIElement.m_aFloatingData.m_aPos = ::Point( aTmpRect.X, aTmpRect.Y );
+ // make changes also for our local data as we use it to make data persistent
+ aUIDockingElement.m_aFloatingData = rUIElement.m_aFloatingData;
+ }
+ else
+ {
+ rUIElement.m_aDockedData = aUIDockingElement.m_aDockedData;
+ rUIElement.m_aFloatingData.m_aSize = aUIDockingElement.m_aFloatingData.m_aSize;
+
+ if ( m_eDockOperation != DOCKOP_ON_COLROW )
+ {
+ // we have to renumber our row/column data to insert a new row/column
+ implts_renumberRowColumnData((ui::DockingArea)aUIDockingElement.m_aDockedData.m_nDockedArea, m_eDockOperation, aUIDockingElement );
+ }
+ }
+
+ bStartDockFloated = rUIElement.m_bFloating;
+ rUIElement.m_bFloating = m_aDockUIElement.m_bFloating;
+ rUIElement.m_bUserActive = true;
+ }
+
+ // reset member for next docking operation
+ m_aDockUIElement.m_xUIElement.clear();
+ m_eDockOperation = DOCKOP_ON_COLROW;
+ aWriteLock.unlock();
+ /* SAFE AREA ----------------------------------------------------------------------------------------------- */
+
+ implts_writeWindowStateData( aUIDockingElement );
+
+ if ( bDockingInProgress )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( uno::Reference< awt::XWindow >( e.Source, uno::UNO_QUERY ));
+ ToolBox* pToolBox = 0;
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ pToolBox = (ToolBox *)pWindow;
+
+ if ( pToolBox )
+ {
+ if( e.bFloating )
+ {
+ if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
+ pToolBox->SetAlign( WINDOWALIGN_TOP );
+ else
+ pToolBox->SetAlign( WINDOWALIGN_LEFT );
+ }
+ else
+ {
+ ::Size aSize;
+
+ pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
+
+ // Docked toolbars have always one line
+ aSize = pToolBox->CalcWindowSizePixel( 1 );
+
+ // Lock layouting updates as our listener would be called due to SetSizePixel
+ pToolBox->SetOutputSizePixel( aSize );
+ }
+ }
+ }
+
+ implts_sortUIElements();
+
+ aWriteLock.lock();
+ m_bDockingInProgress = sal_False;
+ m_bLayoutDirty = !bStartDockFloated || !bFloating;
+ bool bNotify = m_bLayoutDirty;
+ aWriteLock.unlock();
+
+ if ( bNotify )
+ m_pParentLayouter->requestLayout( ILayoutNotifications::HINT_TOOLBARSPACE_HAS_CHANGED );
+}
+
+sal_Bool SAL_CALL ToolbarLayoutManager::prepareToggleFloatingMode( const lang::EventObject& e )
+throw (uno::RuntimeException)
+{
+ ReadGuard aReadLock( m_aLock );
+ bool bDockingInProgress = m_bDockingInProgress;
+ aReadLock.unlock();
+
+ UIElement aUIDockingElement = implts_findToolbar( e.Source );
+ bool bWinFound( aUIDockingElement.m_aName.getLength() > 0 );
+ uno::Reference< awt::XWindow > xWindow( e.Source, uno::UNO_QUERY );
+
+ if ( bWinFound && xWindow.is() )
+ {
+ if ( !bDockingInProgress )
+ {
+ awt::Rectangle aRect;
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ if ( xDockWindow->isFloating() )
+ {
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xWindow );
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ {
+ ToolBox* pToolBox = static_cast< ToolBox *>( pWindow );
+ aUIDockingElement.m_aFloatingData.m_aPos = pToolBox->GetPosPixel();
+ aUIDockingElement.m_aFloatingData.m_aSize = pToolBox->GetOutputSizePixel();
+ aUIDockingElement.m_aFloatingData.m_nLines = pToolBox->GetFloatingLines();
+ aUIDockingElement.m_aFloatingData.m_bIsHorizontal = isToolboxHorizontalAligned( pToolBox );
+ }
+ }
+
+ UIElement aUIElement = implts_findToolbar( aUIDockingElement.m_aName );
+ if ( aUIElement.m_aName == aUIDockingElement.m_aName )
+ implts_setToolbar( aUIDockingElement );
+ }
+ }
+ }
+
+ return sal_True;
+}
+
+void SAL_CALL ToolbarLayoutManager::toggleFloatingMode( const lang::EventObject& e )
+throw (uno::RuntimeException)
+{
+ UIElement aUIDockingElement;
+
+ ReadGuard aReadLock( m_aLock );
+ bool bDockingInProgress( m_bDockingInProgress );
+ if ( bDockingInProgress )
+ aUIDockingElement = m_aDockUIElement;
+ aReadLock.unlock();
+
+ Window* pWindow( 0 );
+ ToolBox* pToolBox( 0 );
+ uno::Reference< awt::XWindow2 > xWindow;
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ xWindow = uno::Reference< awt::XWindow2 >( e.Source, uno::UNO_QUERY );
+ pWindow = VCLUnoHelper::GetWindow( xWindow );
+
+ if ( pWindow && pWindow->GetType() == WINDOW_TOOLBOX )
+ pToolBox = (ToolBox *)pWindow;
+ }
+
+ if ( !bDockingInProgress )
+ {
+ aUIDockingElement = implts_findToolbar( e.Source );
+ bool bWinFound = ( aUIDockingElement.m_aName.getLength() > 0 );
+
+ if ( bWinFound && xWindow.is() )
+ {
+ aUIDockingElement.m_bFloating = !aUIDockingElement.m_bFloating;
+ aUIDockingElement.m_bUserActive = true;
+
+ implts_setLayoutInProgress( true );
+ if ( aUIDockingElement.m_bFloating )
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pToolBox )
+ {
+ pToolBox->SetLineCount( aUIDockingElement.m_aFloatingData.m_nLines );
+ if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
+ pToolBox->SetAlign( WINDOWALIGN_TOP );
+ else
+ pToolBox->SetAlign( WINDOWALIGN_LEFT );
+ }
+
+ bool bUndefPos = hasDefaultPosValue( aUIDockingElement.m_aFloatingData.m_aPos );
+ bool bSetSize = !hasEmptySize( aUIDockingElement.m_aFloatingData.m_aSize );
+
+ if ( bUndefPos )
+ aUIDockingElement.m_aFloatingData.m_aPos = implts_findNextCascadeFloatingPos();
+
+ if ( !bSetSize )
+ {
+ if ( pToolBox )
+ aUIDockingElement.m_aFloatingData.m_aSize = pToolBox->CalcFloatingWindowSizePixel();
+ else
+ aUIDockingElement.m_aFloatingData.m_aSize = pWindow->GetOutputSizePixel();
+ }
+
+ xWindow->setPosSize( aUIDockingElement.m_aFloatingData.m_aPos.X(),
+ aUIDockingElement.m_aFloatingData.m_aPos.Y(),
+ 0, 0, awt::PosSize::POS );
+ xWindow->setOutputSize( AWTSize( aUIDockingElement.m_aFloatingData.m_aSize ) );
+ }
+ else
+ {
+ if ( isDefaultPos( aUIDockingElement.m_aDockedData.m_aPos ))
+ {
+ // Docking on its default position without a preset position -
+ // we have to find a good place for it.
+ ::Point aPixelPos;
+ ::Point aDockPos;
+ ::Size aSize;
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pToolBox )
+ aSize = pToolBox->CalcWindowSizePixel( 1, ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea ) );
+ else
+ aSize = pWindow->GetSizePixel();
+ }
+
+ implts_findNextDockingPos((ui::DockingArea)aUIDockingElement.m_aDockedData.m_nDockedArea, aSize, aDockPos, aPixelPos );
+ aUIDockingElement.m_aDockedData.m_aPos = aDockPos;
+ }
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pToolBox )
+ {
+ pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
+ ::Size aSize = pToolBox->CalcWindowSizePixel( 1 );
+ awt::Rectangle aRect = xWindow->getPosSize();
+ xWindow->setPosSize( aRect.X, aRect.Y, 0, 0, awt::PosSize::POS );
+ xWindow->setOutputSize( AWTSize( aSize ) );
+ }
+ }
+
+ implts_setLayoutInProgress( false );
+ implts_setToolbar( aUIDockingElement );
+ implts_writeWindowStateData( aUIDockingElement );
+ implts_sortUIElements();
+ implts_setLayoutDirty();
+
+ aReadLock.lock();
+ ILayoutNotifications* pParentLayouter( m_pParentLayouter );
+ aReadLock.unlock();
+
+ if ( pParentLayouter )
+ pParentLayouter->requestLayout( ILayoutNotifications::HINT_TOOLBARSPACE_HAS_CHANGED );
+ }
+ }
+ else
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pToolBox )
+ {
+ if ( aUIDockingElement.m_bFloating )
+ {
+ if ( aUIDockingElement.m_aFloatingData.m_bIsHorizontal )
+ pToolBox->SetAlign( WINDOWALIGN_TOP );
+ else
+ pToolBox->SetAlign( WINDOWALIGN_LEFT );
+ }
+ else
+ pToolBox->SetAlign( ImplConvertAlignment( aUIDockingElement.m_aDockedData.m_nDockedArea) );
+ }
+ }
+}
+
+void SAL_CALL ToolbarLayoutManager::closed( const lang::EventObject& e )
+throw (uno::RuntimeException)
+{
+ rtl::OUString aName;
+ UIElement aUIElement;
+ UIElementVector::iterator pIter;
+
+ WriteGuard aWriteLock( m_aLock );
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ uno::Reference< ui::XUIElement > xUIElement( pIter->m_xUIElement );
+ if ( xUIElement.is() )
+ {
+ uno::Reference< uno::XInterface > xIfac( xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xIfac == e.Source )
+ {
+ aName = pIter->m_aName;
+
+ // user closes a toolbar =>
+ // context sensitive toolbar: only destroy toolbar and store state.
+ // context sensitive toolbar: make it invisible, store state and destroy it.
+ if ( !pIter->m_bContextSensitive )
+ pIter->m_bVisible = sal_False;
+
+ aUIElement = *pIter;
+ break;
+ }
+ }
+ }
+ aWriteLock.unlock();
+
+ // destroy element
+ if ( aName.getLength() > 0 )
+ {
+ implts_writeWindowStateData( aUIElement );
+ destroyToolbar( aName );
+ }
+}
+
+void SAL_CALL ToolbarLayoutManager::endPopupMode( const awt::EndPopupModeEvent& /*e*/ )
+throw (uno::RuntimeException)
+{
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XUIConfigurationListener
+//---------------------------------------------------------------------------------------------------------
+void SAL_CALL ToolbarLayoutManager::elementInserted( const ui::ConfigurationEvent& rEvent )
+throw (uno::RuntimeException)
+{
+ UIElement aUIElement = implts_findToolbar( rEvent.ResourceURL );
+
+ uno::Reference< ui::XUIElementSettings > xElementSettings( aUIElement.m_xUIElement, uno::UNO_QUERY );
+ if ( xElementSettings.is() )
+ {
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ uno::Reference< beans::XPropertySet > xPropSet( xElementSettings, uno::UNO_QUERY );
+ if ( xPropSet.is() )
+ {
+ if ( rEvent.Source == uno::Reference< uno::XInterface >( m_xDocCfgMgr, uno::UNO_QUERY ))
+ xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( m_xDocCfgMgr ));
+ }
+ xElementSettings->updateSettings();
+ }
+ else
+ {
+ ::rtl::OUString aElementType;
+ ::rtl::OUString aElementName;
+ parseResourceURL( rEvent.ResourceURL, aElementType, aElementName );
+ if ( aElementName.indexOf( m_aCustomTbxPrefix ) != -1 )
+ {
+ // custom toolbar must be directly created, shown and layouted!
+ createToolbar( rEvent.ResourceURL );
+ uno::Reference< ui::XUIElement > xUIElement = getToolbar( rEvent.ResourceURL );
+ if ( xUIElement.is() )
+ {
+ ::rtl::OUString aUIName;
+ uno::Reference< ui::XUIConfigurationManager > xCfgMgr;
+ uno::Reference< beans::XPropertySet > xPropSet;
+
+ try
+ {
+ xCfgMgr = uno::Reference< ui::XUIConfigurationManager >( rEvent.Source, uno::UNO_QUERY );
+ xPropSet = uno::Reference< beans::XPropertySet >( xCfgMgr->getSettings( rEvent.ResourceURL, sal_False ), uno::UNO_QUERY );
+
+ if ( xPropSet.is() )
+ xPropSet->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "UIName" ))) >>= aUIName;
+ }
+ catch ( container::NoSuchElementException& ) {}
+ catch ( beans::UnknownPropertyException& ) {}
+ catch ( lang::WrappedTargetException& ) {}
+
+ {
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ Window* pWindow = getWindowFromXUIElement( xUIElement );
+ if ( pWindow )
+ pWindow->SetText( aUIName );
+ }
+
+ showToolbar( rEvent.ResourceURL );
+ }
+ }
+ }
+}
+
+void SAL_CALL ToolbarLayoutManager::elementRemoved( const ui::ConfigurationEvent& rEvent )
+throw (uno::RuntimeException)
+{
+ ReadGuard aReadLock( m_aLock );
+ uno::Reference< awt::XWindow > xContainerWindow( m_xContainerWindow, uno::UNO_QUERY );
+ uno::Reference< ui::XUIConfigurationManager > xModuleCfgMgr( m_xModuleCfgMgr );
+ uno::Reference< ui::XUIConfigurationManager > xDocCfgMgr( m_xDocCfgMgr );
+ aReadLock.unlock();
+
+ UIElement aUIElement = implts_findToolbar( rEvent.ResourceURL );
+ uno::Reference< ui::XUIElementSettings > xElementSettings( aUIElement.m_xUIElement, uno::UNO_QUERY );
+ if ( xElementSettings.is() )
+ {
+ bool bNoSettings( false );
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ uno::Reference< uno::XInterface > xElementCfgMgr;
+ uno::Reference< beans::XPropertySet > xPropSet( xElementSettings, uno::UNO_QUERY );
+
+ if ( xPropSet.is() )
+ xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
+
+ if ( !xElementCfgMgr.is() )
+ return;
+
+ // Check if the same UI configuration manager has changed => check further
+ if ( rEvent.Source == xElementCfgMgr )
+ {
+ // Same UI configuration manager where our element has its settings
+ if ( rEvent.Source == uno::Reference< uno::XInterface >( xDocCfgMgr, uno::UNO_QUERY ))
+ {
+ // document settings removed
+ if ( xModuleCfgMgr->hasSettings( rEvent.ResourceURL ))
+ {
+ xPropSet->setPropertyValue( aConfigSourcePropName, makeAny( xModuleCfgMgr ));
+ xElementSettings->updateSettings();
+ return;
+ }
+ }
+
+ bNoSettings = true;
+ }
+
+ // No settings anymore, element must be destroyed
+ if ( xContainerWindow.is() && bNoSettings )
+ destroyToolbar( rEvent.ResourceURL );
+ }
+}
+
+void SAL_CALL ToolbarLayoutManager::elementReplaced( const ui::ConfigurationEvent& rEvent )
+throw (uno::RuntimeException)
+{
+ UIElement aUIElement = implts_findToolbar( rEvent.ResourceURL );
+
+ uno::Reference< ui::XUIElementSettings > xElementSettings( aUIElement.m_xUIElement, uno::UNO_QUERY );
+ if ( xElementSettings.is() )
+ {
+ ::rtl::OUString aConfigSourcePropName( RTL_CONSTASCII_USTRINGPARAM( "ConfigurationSource" ));
+ uno::Reference< uno::XInterface > xElementCfgMgr;
+ uno::Reference< beans::XPropertySet > xPropSet( xElementSettings, uno::UNO_QUERY );
+
+ if ( xPropSet.is() )
+ xPropSet->getPropertyValue( aConfigSourcePropName ) >>= xElementCfgMgr;
+
+ if ( !xElementCfgMgr.is() )
+ return;
+
+ // Check if the same UI configuration manager has changed => update settings
+ if ( rEvent.Source == xElementCfgMgr )
+ {
+ xElementSettings->updateSettings();
+
+ WriteGuard aWriteLock( m_aLock );
+ bool bNotify = !aUIElement.m_bFloating;
+ m_bLayoutDirty = bNotify;
+ ILayoutNotifications* pParentLayouter( m_pParentLayouter );
+ aWriteLock.unlock();
+
+ if ( bNotify && pParentLayouter )
+ pParentLayouter->requestLayout( ILayoutNotifications::HINT_TOOLBARSPACE_HAS_CHANGED );
+ }
+ }
+}
+
+uno::Reference< ui::XUIElement > ToolbarLayoutManager::getToolbar( const ::rtl::OUString& aName )
+{
+ return implts_findToolbar( aName ).m_xUIElement;
+}
+
+uno::Sequence< uno::Reference< ui::XUIElement > > ToolbarLayoutManager::getToolbars()
+{
+ uno::Sequence< uno::Reference< ui::XUIElement > > aSeq;
+
+ ReadGuard aReadLock( m_aLock );
+ if ( m_aUIElements.size() > 0 )
+ {
+ sal_uInt32 nCount(0);
+ UIElementVector::iterator pIter;
+ for ( pIter = m_aUIElements.begin(); pIter != m_aUIElements.end(); pIter++ )
+ {
+ if ( pIter->m_xUIElement.is() )
+ {
+ ++nCount;
+ aSeq.realloc( nCount );
+ aSeq[nCount-1] = pIter->m_xUIElement;
+ }
+ }
+ }
+
+ return aSeq;
+}
+
+bool ToolbarLayoutManager::floatToolbar( const ::rtl::OUString& rResourceURL )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+ if ( aUIElement.m_xUIElement.is() )
+ {
+ try
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( aUIElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xDockWindow.is() && !xDockWindow->isFloating() )
+ {
+ aUIElement.m_bFloating = true;
+ implts_writeWindowStateData( aUIElement );
+ xDockWindow->setFloatingMode( true );
+
+ implts_setLayoutDirty();
+ implts_setToolbar( aUIElement );
+ return true;
+ }
+ }
+ catch ( lang::DisposedException& ) {}
+ }
+
+ return false;
+}
+
+bool ToolbarLayoutManager::lockToolbar( const ::rtl::OUString& rResourceURL )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+ if ( aUIElement.m_xUIElement.is() )
+ {
+ try
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( aUIElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xDockWindow.is() && !xDockWindow->isFloating() && !xDockWindow->isLocked() )
+ {
+ aUIElement.m_aDockedData.m_bLocked = true;
+ implts_writeWindowStateData( aUIElement );
+ xDockWindow->lock();
+
+ implts_setLayoutDirty();
+ implts_setToolbar( aUIElement );
+ return true;
+ }
+ }
+ catch ( lang::DisposedException& ) {}
+ }
+
+ return false;
+}
+
+bool ToolbarLayoutManager::unlockToolbar( const ::rtl::OUString& rResourceURL )
+{
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+ if ( aUIElement.m_xUIElement.is() )
+ {
+ try
+ {
+ uno::Reference< awt::XDockableWindow > xDockWindow( aUIElement.m_xUIElement->getRealInterface(), uno::UNO_QUERY );
+ if ( xDockWindow.is() && !xDockWindow->isFloating() && xDockWindow->isLocked() )
+ {
+ aUIElement.m_aDockedData.m_bLocked = false;
+ implts_writeWindowStateData( aUIElement );
+ xDockWindow->unlock();
+
+ implts_setLayoutDirty();
+ implts_setToolbar( aUIElement );
+ return true;
+ }
+ }
+ catch ( lang::DisposedException& ) {}
+ }
+
+ return false;
+}
+
+bool ToolbarLayoutManager::isToolbarVisible( const ::rtl::OUString& rResourceURL )
+{
+ uno::Reference< awt::XWindow2 > xWindow2( implts_getXWindow( rResourceURL ), uno::UNO_QUERY );
+ return ( xWindow2.is() && xWindow2->isVisible() );
+}
+
+bool ToolbarLayoutManager::isToolbarFloating( const ::rtl::OUString& rResourceURL )
+{
+ uno::Reference< awt::XDockableWindow > xDockWindow( implts_getXWindow( rResourceURL ), uno::UNO_QUERY );
+ return ( xDockWindow.is() && xDockWindow->isFloating() );
+}
+
+bool ToolbarLayoutManager::isToolbarDocked( const ::rtl::OUString& rResourceURL )
+{
+ return !isToolbarFloating( rResourceURL );
+}
+
+bool ToolbarLayoutManager::isToolbarLocked( const ::rtl::OUString& rResourceURL )
+{
+ uno::Reference< awt::XDockableWindow > xDockWindow( implts_getXWindow( rResourceURL ), uno::UNO_QUERY );
+ return ( xDockWindow.is() && xDockWindow->isLocked() );
+}
+
+awt::Size ToolbarLayoutManager::getToolbarSize( const ::rtl::OUString& rResourceURL )
+{
+ Window* pWindow = implts_getWindow( rResourceURL );
+
+ vos::OGuard aGuard( Application::GetSolarMutex() );
+ if ( pWindow )
+ {
+ ::Size aSize = pWindow->GetSizePixel();
+ awt::Size aWinSize;
+ aWinSize.Width = aSize.Width();
+ aWinSize.Height = aSize.Height();
+ return aWinSize;
+ }
+
+ return awt::Size();
+}
+
+awt::Point ToolbarLayoutManager::getToolbarPos( const ::rtl::OUString& rResourceURL )
+{
+ awt::Point aPos;
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ uno::Reference< awt::XWindow > xWindow( implts_getXWindow( rResourceURL ));
+ if ( xWindow.is() )
+ {
+ if ( aUIElement.m_bFloating )
+ {
+ awt::Rectangle aRect = xWindow->getPosSize();
+ aPos.X = aRect.X;
+ aPos.Y = aRect.Y;
+ }
+ else
+ {
+ ::Point aVirtualPos = aUIElement.m_aDockedData.m_aPos;
+ aPos.X = aVirtualPos.X();
+ aPos.Y = aVirtualPos.Y();
+ }
+ }
+
+ return aPos;
+}
+
+void ToolbarLayoutManager::setToolbarSize( const ::rtl::OUString& rResourceURL, const awt::Size& aSize )
+{
+ uno::Reference< awt::XWindow2 > xWindow( implts_getXWindow( rResourceURL ), uno::UNO_QUERY );
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ if ( xWindow.is() && xDockWindow.is() && xDockWindow->isFloating() )
+ {
+ xWindow->setOutputSize( aSize );
+ aUIElement.m_aFloatingData.m_aSize = ::Size( aSize.Width, aSize.Height );
+ implts_setToolbar( aUIElement );
+ implts_writeWindowStateData( aUIElement );
+ implts_sortUIElements();
+ }
+}
+
+void ToolbarLayoutManager::setToolbarPos( const ::rtl::OUString& rResourceURL, const awt::Point& aPos )
+{
+ uno::Reference< awt::XWindow > xWindow( implts_getXWindow( rResourceURL ));
+ uno::Reference< awt::XDockableWindow > xDockWindow( xWindow, uno::UNO_QUERY );
+ UIElement aUIElement = implts_findToolbar( rResourceURL );
+
+ if ( xWindow.is() && xDockWindow.is() && xDockWindow->isFloating() )
+ {
+ xWindow->setPosSize( aPos.X, aPos.Y, 0, 0, awt::PosSize::POS );
+ aUIElement.m_aFloatingData.m_aPos = ::Point( aPos.X, aPos.Y );
+ implts_setToolbar( aUIElement );
+ implts_writeWindowStateData( aUIElement );
+ implts_sortUIElements();
+ }
+}
+
+void ToolbarLayoutManager::setToolbarPosSize( const ::rtl::OUString& rResourceURL, const awt::Point& aPos, const awt::Size& aSize )
+{
+ setToolbarPos( rResourceURL, aPos );
+ setToolbarSize( rResourceURL, aSize );
+}
+
+} // namespace framework
diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.hxx b/framework/source/layoutmanager/toolbarlayoutmanager.hxx
new file mode 100755
index 0000000000..1c839c2e2d
--- /dev/null
+++ b/framework/source/layoutmanager/toolbarlayoutmanager.hxx
@@ -0,0 +1,344 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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 __FRAMEWORK_LAYOUTMANAGER_TOOLBARLAYOUTMANAGER_HXX_
+#define __FRAMEWORK_LAYOUTMANAGER_TOOLBARLAYOUTMANAGER_HXX_
+
+/** Attention: stl headers must(!) be included at first. Otherwhise it can make trouble
+ with solaris headers ...
+*/
+#include <vector>
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+#include <threadhelp/threadhelpbase.hxx>
+#include <threadhelp/resetableguard.hxx>
+#include <threadhelp/writeguard.hxx>
+#include <threadhelp/readguard.hxx>
+#include <macros/generic.hxx>
+#include <macros/xinterface.hxx>
+#include <macros/xtypeprovider.hxx>
+#include <macros/xserviceinfo.hxx>
+#include <stdtypes.h>
+#include <properties.h>
+#include <stdtypes.h>
+#include <uiconfiguration/globalsettings.hxx>
+#include <uiconfiguration/windowstateconfiguration.hxx>
+#include <framework/addonsoptions.hxx>
+#include <uielement/uielement.hxx>
+#include <helper/ilayoutnotifications.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/frame/XLayoutManager.hpp>
+#include <com/sun/star/ui/XUIConfigurationManager.hpp>
+#include <com/sun/star/ui/XUIConfiguration.hpp>
+#include <com/sun/star/frame/XModuleManager.hpp>
+#include <com/sun/star/frame/XFrameActionListener.hpp>
+#include <com/sun/star/awt/XWindowListener.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
+#include <com/sun/star/ui/XUIElementFactory.hpp>
+#include <com/sun/star/ui/DockingArea.hpp>
+#include <com/sun/star/awt/XTopWindow2.hpp>
+#include <com/sun/star/awt/XWindow2.hpp>
+#include <com/sun/star/awt/XDockableWindow.hpp>
+#include <com/sun/star/awt/XDockableWindowListener.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <cppuhelper/implbase3.hxx>
+
+
+namespace framework
+{
+
+class ToolbarLayoutManager : public ::cppu::WeakImplHelper3< ::com::sun::star::awt::XDockableWindowListener,
+ ::com::sun::star::ui::XUIConfigurationListener,
+ ::com::sun::star::awt::XWindowListener >,
+ private ThreadHelpBase // Struct for right initalization of mutex member! Must be first of baseclasses.
+{
+ public:
+ enum { DOCKINGAREAS_COUNT = 4 };
+
+ ToolbarLayoutManager( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xSMGR,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElementFactory >& xUIElementFactory,
+ ILayoutNotifications* pParentLayouter );
+ virtual ~ToolbarLayoutManager();
+
+ void reset();
+ void attach( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager >& xModuleCfgMgr,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager >& xDocCfgMgr,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& xPersistentWindowState );
+
+ void setParentWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& xParentWindow );
+ void setDockingAreaOffsets( const ::Rectangle aOffsets );
+
+ void resetDockingArea();
+
+ ::com::sun::star::awt::Rectangle getDockingArea();
+ void setDockingArea( const ::com::sun::star::awt::Rectangle& rDockingArea );
+
+ // layouting
+ bool isLayoutDirty();
+ void doLayout(const ::Size& aContainerSize);
+
+ // creation/destruction
+ void createStaticToolbars();
+ void destroyToolbars();
+
+ bool requestToolbar( const ::rtl::OUString& rResourceURL );
+ bool createToolbar( const ::rtl::OUString& rResourceURL );
+ bool destroyToolbar( const ::rtl::OUString& rResourceURL );
+
+ // visibility
+ bool showToolbar( const ::rtl::OUString& rResourceURL );
+ bool hideToolbar( const ::rtl::OUString& rResourceURL );
+
+ void refreshToolbarsVisibility( bool bAutomaticToolbars );
+ void setFloatingToolbarsVisibility( bool bVisible );
+ void setVisible(bool bVisible);
+ bool isVisible() { return m_bVisible; }
+
+ // docking and further functions
+ bool dockToolbar( const ::rtl::OUString& rResourceURL, ::com::sun::star::ui::DockingArea eDockingArea, const ::com::sun::star::awt::Point& aPos );
+ bool dockAllToolbars();
+ bool floatToolbar( const ::rtl::OUString& rResoureURL );
+ bool lockToolbar( const ::rtl::OUString& rResourceURL );
+ bool unlockToolbar( const ::rtl::OUString& rResourceURL );
+ void setToolbarPos( const ::rtl::OUString& rResourceURL, const ::com::sun::star::awt::Point& aPos );
+ void setToolbarSize( const ::rtl::OUString& rResourceURL, const ::com::sun::star::awt::Size& aSize );
+ void setToolbarPosSize( const ::rtl::OUString& rResourceURL, const ::com::sun::star::awt::Point& aPos, const ::com::sun::star::awt::Size& aSize );
+ bool isToolbarVisible( const ::rtl::OUString& rResourceURL );
+ bool isToolbarFloating( const ::rtl::OUString& rResourceURL );
+ bool isToolbarDocked( const ::rtl::OUString& rResourceURL );
+ bool isToolbarLocked( const ::rtl::OUString& rResourceURL );
+ ::com::sun::star::awt::Point getToolbarPos( const ::rtl::OUString& rResourceURL );
+ ::com::sun::star::awt::Size getToolbarSize( const ::rtl::OUString& rResourceURL );
+ ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > getToolbar( const ::rtl::OUString& aName );
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement > > getToolbars();
+
+ // child window notifications
+ long childWindowEvent( VclSimpleEvent* pEvent );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XInterface
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL acquire() throw();
+ virtual void SAL_CALL release() throw();
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XEventListener
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL disposing( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XWindowListener
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL windowResized( const css::awt::WindowEvent& aEvent ) throw( css::uno::RuntimeException );
+ virtual void SAL_CALL windowMoved( const css::awt::WindowEvent& aEvent ) throw( css::uno::RuntimeException );
+ virtual void SAL_CALL windowShown( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
+ virtual void SAL_CALL windowHidden( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException );
+
+ //---------------------------------------------------------------------------------------------------------
+ // XDockableWindowListener
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL startDocking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::DockingData SAL_CALL docking( const ::com::sun::star::awt::DockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL endDocking( const ::com::sun::star::awt::EndDockingEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL prepareToggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL toggleFloatingMode( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL closed( const ::com::sun::star::lang::EventObject& e ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL endPopupMode( const ::com::sun::star::awt::EndPopupModeEvent& e ) throw (::com::sun::star::uno::RuntimeException);
+
+ //---------------------------------------------------------------------------------------------------------
+ // XUIConfigurationListener
+ //---------------------------------------------------------------------------------------------------------
+ virtual void SAL_CALL elementInserted( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementRemoved( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL elementReplaced( const ::com::sun::star::ui::ConfigurationEvent& Event ) throw (::com::sun::star::uno::RuntimeException);
+
+ private:
+ enum DockingOperation
+ {
+ DOCKOP_BEFORE_COLROW,
+ DOCKOP_ON_COLROW,
+ DOCKOP_AFTER_COLROW
+ };
+
+ typedef std::vector< UIElement > UIElementVector;
+ struct SingleRowColumnWindowData
+ {
+ SingleRowColumnWindowData() : nVarSize( 0 ), nStaticSize( 0 ), nSpace( 0 ) {}
+
+ std::vector< rtl::OUString > aUIElementNames;
+ std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > > aRowColumnWindows;
+ std::vector< ::com::sun::star::awt::Rectangle > aRowColumnWindowSizes;
+ std::vector< sal_Int32 > aRowColumnSpace;
+ ::com::sun::star::awt::Rectangle aRowColumnRect;
+ sal_Int32 nVarSize;
+ sal_Int32 nStaticSize;
+ sal_Int32 nSpace;
+ sal_Int32 nRowColumn;
+ };
+
+ //---------------------------------------------------------------------------------------------------------
+ // internal helper methods
+ //---------------------------------------------------------------------------------------------------------
+ bool implts_isParentWindowVisible() const;
+ ::Rectangle implts_calcDockingArea();
+ void implts_sortUIElements();
+ void implts_reparentToolbars();
+ rtl::OUString implts_generateGenericAddonToolbarTitle( sal_Int32 nNumber ) const;
+ void implts_setElementData( UIElement& rUIElement, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XDockableWindow >& rDockWindow );
+ void implts_destroyDockingAreaWindows();
+
+ //---------------------------------------------------------------------------------------------------------
+ // layout methods
+ //---------------------------------------------------------------------------------------------------------
+ void implts_setDockingAreaWindowSizes( const ::com::sun::star::awt::Rectangle& rBorderSpace );
+ ::Point implts_findNextCascadeFloatingPos();
+ void implts_renumberRowColumnData( ::com::sun::star::ui::DockingArea eDockingArea, DockingOperation eDockingOperation, const UIElement& rUIElement );
+ void implts_calcWindowPosSizeOnSingleRowColumn( sal_Int32 nDockingArea,
+ sal_Int32 nOffset,
+ SingleRowColumnWindowData& rRowColumnWindowData,
+ const ::Size& rContainerSize );
+ void implts_setLayoutDirty();
+ void implts_setLayoutInProgress( bool bInProgress = true );
+ bool implts_isLayoutInProgress() const { return m_bLayoutInProgress; }
+
+ //---------------------------------------------------------------------------------------------------------
+ // lookup/container methods
+ //---------------------------------------------------------------------------------------------------------
+ UIElement implts_findToolbar( const rtl::OUString& aName );
+ UIElement implts_findToolbar( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xToolbar );
+ UIElement& impl_findToolbar( const rtl::OUString& aName );
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > implts_getXWindow( const ::rtl::OUString& aName );
+ Window* implts_getWindow( const ::rtl::OUString& aName );
+ bool implts_insertToolbar( const UIElement& rUIElement );
+ void implts_setToolbar( const UIElement& rUIElement );
+ ::Size implts_getTopBottomDockingAreaSizes();
+ void implts_getUIElementVectorCopy( UIElementVector& rCopy );
+
+ //---------------------------------------------------------------------------------------------------------
+ // internal docking methods
+ //---------------------------------------------------------------------------------------------------------
+ ::Rectangle implts_calcHotZoneRect( const ::Rectangle& rRect, sal_Int32 nHotZoneOffset );
+ void implts_calcDockingPosSize( UIElement& aUIElement, DockingOperation& eDockOperation, ::Rectangle& rTrackingRect, const Point& rMousePos );
+ DockingOperation implts_determineDockingOperation( ::com::sun::star::ui::DockingArea DockingArea, const ::Rectangle& rRowColRect, const Point& rMousePos );
+ ::Rectangle implts_getWindowRectFromRowColumn( ::com::sun::star::ui::DockingArea DockingArea, const SingleRowColumnWindowData& rRowColumnWindowData, const ::Point& rMousePos, const rtl::OUString& rExcludeElementName );
+ ::Rectangle implts_determineFrontDockingRect( ::com::sun::star::ui::DockingArea eDockingArea,
+ sal_Int32 nRowCol,
+ const ::Rectangle& rDockedElementRect,
+ const ::rtl::OUString& rMovedElementName,
+ const ::Rectangle& rMovedElementRect );
+ ::Rectangle implts_calcTrackingAndElementRect( ::com::sun::star::ui::DockingArea eDockingArea,
+ sal_Int32 nRowCol,
+ UIElement& rUIElement,
+ const ::Rectangle& rTrackingRect,
+ const ::Rectangle& rRowColumnRect,
+ const ::Size& rContainerWinSize );
+
+ void implts_getDockingAreaElementInfos( ::com::sun::star::ui::DockingArea DockingArea, std::vector< SingleRowColumnWindowData >& rRowColumnsWindowData );
+ void implts_getDockingAreaElementInfoOnSingleRowCol( ::com::sun::star::ui::DockingArea, sal_Int32 nRowCol, SingleRowColumnWindowData& rRowColumnWindowData );
+ void implts_findNextDockingPos( ::com::sun::star::ui::DockingArea DockingArea, const ::Size& aUIElementSize, ::Point& rVirtualPos, ::Point& rPixelPos );
+ void implts_setTrackingRect( ::com::sun::star::ui::DockingArea eDockingArea, const ::Point& rMousePos, ::Rectangle& rTrackingRect );
+
+ //---------------------------------------------------------------------------------------------------------
+ // creation methods
+ //---------------------------------------------------------------------------------------------------------
+ void implts_createAddonsToolBars();
+ void implts_createCustomToolBars();
+ void implts_createNonContextSensitiveToolBars();
+ void implts_createCustomToolBars( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > >& aCustomTbxSeq );
+ void implts_createCustomToolBar( const rtl::OUString& aTbxResName, const rtl::OUString& aTitle );
+ void implts_createToolBar( const ::rtl::OUString& aName, bool& bNotify, ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIElement >& rUIElement );
+ css::uno::Reference< css::ui::XUIElement > implts_createElement( const ::rtl::OUString& aName );
+ void implts_setToolbarCreation( bool bStart = true );
+ bool implts_isToolbarCreationActive();
+
+ //---------------------------------------------------------------------------------------------------------
+ // persistence methods
+ //---------------------------------------------------------------------------------------------------------
+ sal_Bool implts_readWindowStateData( const rtl::OUString& aName, UIElement& rElementData );
+ void implts_writeWindowStateData( const UIElement& rElementData );
+ void implts_writeNewWindowStateData( const rtl::OUString aName, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow >& xWindow );
+
+ //---------------------------------------------------------------------------------------------------------
+ // members
+ //---------------------------------------------------------------------------------------------------------
+ css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR;
+ css::uno::Reference< css::frame::XFrame > m_xFrame;
+ css::uno::Reference< css::awt::XWindow2 > m_xContainerWindow;
+ css::uno::Reference< css::awt::XWindow > m_xDockAreaWindows[DOCKINGAREAS_COUNT];
+ css::uno::Reference< ::com::sun::star::ui::XUIElementFactory > m_xUIElementFactoryManager;
+ css::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > m_xModuleCfgMgr;
+ css::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > m_xDocCfgMgr;
+ css::uno::Reference< ::com::sun::star::awt::XToolkit > m_xToolkit;
+ css::uno::Reference< ::com::sun::star::container::XNameAccess > m_xPersistentWindowState;
+ ILayoutNotifications* m_pParentLayouter;
+
+ UIElementVector m_aUIElements;
+ UIElement m_aDockUIElement;
+ Point m_aStartDockMousePos;
+ Rectangle m_aDockingArea;
+ Rectangle m_aDockingAreaOffsets;
+ DockingOperation m_eDockOperation;
+
+ AddonsOptions* m_pAddonOptions;
+ GlobalSettings* m_pGlobalSettings;
+
+ bool m_bComponentAttached;
+ bool m_bMustLayout;
+ bool m_bLayoutDirty;
+ bool m_bStoreWindowState;
+ bool m_bGlobalSettings;
+ bool m_bDockingInProgress;
+ bool m_bVisible;
+ bool m_bLayoutInProgress;
+ bool m_bToolbarCreation;
+
+ ::rtl::OUString m_aFullAddonTbxPrefix;
+ ::rtl::OUString m_aCustomTbxPrefix;
+ ::rtl::OUString m_aCustomizeCmd;
+ ::rtl::OUString m_aToolbarTypeString;
+ ::rtl::OUString m_aModuleIdentifier;
+};
+
+} // namespace framework
+
+#endif // __FRAMEWORK_LAYOUTMANAGER_TOOLBARLAYOUTMANAGER_HXX_
diff --git a/framework/source/layoutmanager/uielement.cxx b/framework/source/layoutmanager/uielement.cxx
new file mode 100755
index 0000000000..df635c37fd
--- /dev/null
+++ b/framework/source/layoutmanager/uielement.cxx
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * 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: layoutmanager.hxx,v $
+ * $Revision: 1.34 $
+ *
+ * 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_framework.hxx"
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <uielement/uielement.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/ui/DockingArea.hpp>
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+using namespace ::com::sun::star;
+
+namespace framework
+{
+
+ bool UIElement::operator< ( const ::framework::UIElement& aUIElement ) const
+{
+ if ( !m_xUIElement.is() && aUIElement.m_xUIElement.is() )
+ return false;
+ else if ( m_xUIElement.is() && !aUIElement.m_xUIElement.is() )
+ return true;
+ else if ( !m_bVisible && aUIElement.m_bVisible )
+ return false;
+ else if ( m_bVisible && !aUIElement.m_bVisible )
+ return true;
+ else if ( !m_bFloating && aUIElement.m_bFloating )
+ return true;
+ else if ( m_bFloating && !aUIElement.m_bFloating )
+ return false;
+ else
+ {
+ if ( m_bFloating )
+ {
+ bool bEqual = ( m_aFloatingData.m_aPos.Y() == aUIElement.m_aFloatingData.m_aPos.Y() );
+ if ( bEqual )
+ return ( m_aFloatingData.m_aPos.X() < aUIElement.m_aFloatingData.m_aPos.X() );
+ else
+ return ( m_aFloatingData.m_aPos.Y() < aUIElement.m_aFloatingData.m_aPos.Y() );
+ }
+ else
+ {
+ if ( m_aDockedData.m_nDockedArea < aUIElement.m_aDockedData.m_nDockedArea )
+ return true;
+ else if ( m_aDockedData.m_nDockedArea > aUIElement.m_aDockedData.m_nDockedArea )
+ return false;
+ else
+ {
+ if ( m_aDockedData.m_nDockedArea == ui::DockingArea_DOCKINGAREA_TOP ||
+ m_aDockedData.m_nDockedArea == ui::DockingArea_DOCKINGAREA_BOTTOM )
+ {
+ if ( !( m_aDockedData.m_aPos.Y() == aUIElement.m_aDockedData.m_aPos.Y() ) )
+ return ( m_aDockedData.m_aPos.Y() < aUIElement.m_aDockedData.m_aPos.Y() );
+ else
+ {
+ bool bEqual = ( m_aDockedData.m_aPos.X() == aUIElement.m_aDockedData.m_aPos.X() );
+ if ( bEqual )
+ {
+ if ( m_bUserActive && !aUIElement.m_bUserActive )
+ return sal_True;
+ else if ( !m_bUserActive && aUIElement.m_bUserActive )
+ return sal_False;
+ else
+ return sal_False;
+ }
+ else
+ return ( m_aDockedData.m_aPos.X() <= aUIElement.m_aDockedData.m_aPos.X() );
+ }
+ }
+ else
+ {
+ if ( !( m_aDockedData.m_aPos.X() == aUIElement.m_aDockedData.m_aPos.X() ) )
+ return ( m_aDockedData.m_aPos.X() < aUIElement.m_aDockedData.m_aPos.X() );
+ else
+ {
+ bool bEqual = ( m_aDockedData.m_aPos.Y() == aUIElement.m_aDockedData.m_aPos.Y() );
+ if ( bEqual )
+ {
+ if ( m_bUserActive && !aUIElement.m_bUserActive )
+ return sal_True;
+ else if ( !m_bUserActive && aUIElement.m_bUserActive )
+ return sal_False;
+ else
+ return sal_False;
+ }
+ else
+ return ( m_aDockedData.m_aPos.Y() <= aUIElement.m_aDockedData.m_aPos.Y() );
+ }
+ }
+ }
+ }
+ }
+}
+
+UIElement& UIElement::operator= ( const UIElement& rUIElement )
+{
+ m_aType = rUIElement.m_aType;
+ m_aName = rUIElement.m_aName;
+ m_aUIName = rUIElement.m_aUIName;
+ m_xUIElement = rUIElement.m_xUIElement;
+ m_bFloating = rUIElement.m_bFloating;
+ m_bVisible = rUIElement.m_bVisible;
+ m_bUserActive = rUIElement.m_bUserActive;
+ m_bCreateNewRowCol0 = rUIElement.m_bCreateNewRowCol0;
+ m_bDeactiveHide = rUIElement.m_bDeactiveHide;
+ m_bMasterHide = rUIElement.m_bMasterHide;
+ m_bContextSensitive = rUIElement.m_bContextSensitive;
+ m_bContextActive = rUIElement.m_bContextActive;
+ m_bNoClose = rUIElement.m_bNoClose;
+ m_bSoftClose = rUIElement.m_bSoftClose;
+ m_bStateRead = rUIElement.m_bStateRead;
+ m_nStyle = rUIElement.m_nStyle;
+ m_aDockedData = rUIElement.m_aDockedData;
+ m_aFloatingData = rUIElement.m_aFloatingData;
+ return *this;
+}
+
+} // namespace framework
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index 31d7ae7828..b4f54a337d 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -34,9 +34,7 @@
#ifndef __FRAMEWORK_LOADENV_TARGETHELPER_HXX_
#include <loadenv/targethelper.hxx>
#endif
-#include <classes/framelistanalyzer.hxx>
-
-#include <dispatch/interaction.hxx>
+#include <framework/framelistanalyzer.hxx>
#ifndef __FRAMEWORK_CONSTANT_FRAMELOADER_HXX_
#include <constant/frameloader.hxx>
@@ -56,7 +54,8 @@
#include <properties.h>
#include <protocols.h>
#include <services.h>
-#include <dispatch/interaction.hxx>
+#include <comphelper/interaction.hxx>
+#include <framework/interaction.hxx>
//_______________________________________________
// includes of uno interface
@@ -1058,8 +1057,8 @@ sal_Bool LoadEnv::impl_furtherDocsAllowed()
css::uno::Any aInteraction;
css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > lContinuations(2);
- ContinuationAbort* pAbort = new ContinuationAbort();
- ContinuationApprove* pApprove = new ContinuationApprove();
+ comphelper::OInteractionAbort* pAbort = new comphelper::OInteractionAbort();
+ comphelper::OInteractionApprove* pApprove = new comphelper::OInteractionApprove();
lContinuations[0] = css::uno::Reference< css::task::XInteractionContinuation >(
static_cast< css::task::XInteractionContinuation* >(pAbort),
@@ -1071,13 +1070,7 @@ sal_Bool LoadEnv::impl_furtherDocsAllowed()
css::task::ErrorCodeRequest aErrorCode;
aErrorCode.ErrCode = ERRCODE_SFX_NOMOREDOCUMENTSALLOWED;
aInteraction <<= aErrorCode;
-
- InteractionRequest* pRequest = new InteractionRequest(aInteraction, lContinuations);
- css::uno::Reference< css::task::XInteractionRequest > xRequest(
- static_cast< css::task::XInteractionRequest* >(pRequest),
- css::uno::UNO_QUERY_THROW);
-
- xInteraction->handle(xRequest);
+ xInteraction->handle( InteractionRequest::CreateRequest(aInteraction, lContinuations) );
}
}
diff --git a/framework/source/loadenv/makefile.mk b/framework/source/loadenv/makefile.mk
deleted file mode 100644
index c68ad8d304..0000000000
--- a/framework/source/loadenv/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= framework
-TARGET= fwk_loadenv
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/loadenv.obj \
- $(SLO)$/targethelper.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/recording/makefile.mk b/framework/source/recording/makefile.mk
deleted file mode 100644
index a13eb7b912..0000000000
--- a/framework/source/recording/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=framework
-TARGET=recording
-ENABLE_EXCEPTIONS=TRUE
-NO_BSYMBOLIC=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES =\
- $(SLO)$/dispatchrecordersupplier.obj\
- $(SLO)$/dispatchrecorder.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/register/makefile.mk b/framework/source/register/makefile.mk
deleted file mode 100644
index 2920cb2830..0000000000
--- a/framework/source/register/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= framework
-TARGET= fwk_register
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-LIBTARGET= NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-VISIBILITY_HIDDEN = TRUE
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/registerservices.obj \
- $(SLO)$/registertemp.obj \
- $(SLO)$/register3rdcomponents.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/register/registerservices.cxx b/framework/source/register/registerservices.cxx
index 7078ec6beb..af0ec0900c 100644
--- a/framework/source/register/registerservices.cxx
+++ b/framework/source/register/registerservices.cxx
@@ -54,7 +54,7 @@
=================================================================================================================*/
#include <services/urltransformer.hxx>
#include <services/desktop.hxx>
-//#include <services/tabwindowservice.hxx>
+#include <services/tabwindowservice.hxx>
#include <services/frame.hxx>
#include <services/modulemanager.hxx>
//#include <dispatch/oxt_handler.hxx>
@@ -169,7 +169,7 @@ COMPONENTGETFACTORY ( IFFACTORY( ::framework::URLTransformer ) else
IFFACTORY( ::framework::LangSelectionStatusbarController ) else
//IFFACTORY( ::framework::LanguageSelectionMenuController ) else
IFFACTORY( ::framework::WindowContentFactoryManager ) else
- //IFFACTORY( ::framework::TabWindowService ) else
+ IFFACTORY( ::framework::TabWindowService ) else
IFFACTORY( ::framework::SubstitutePathVariables ) else
IFFACTORY( ::framework::PathSettings )
)
diff --git a/framework/source/register/registertemp.cxx b/framework/source/register/registertemp.cxx
index 2ad7f59365..3f0bebac0d 100644
--- a/framework/source/register/registertemp.cxx
+++ b/framework/source/register/registertemp.cxx
@@ -65,7 +65,6 @@
#include <uielement/simpletextstatusbarcontroller.hxx>
#include <uielement/logoimagestatusbarcontroller.hxx>
#include <uielement/logotextstatusbarcontroller.hxx>
-#include <services/tabwindowservice.hxx>
#include <uielement/fontmenucontroller.hxx>
#include <uielement/fontsizemenucontroller.hxx>
#include <uielement/footermenucontroller.hxx>
@@ -86,7 +85,6 @@ COMPONENTGETFACTORY ( IFFACTORY( ::framework::MediaTypeDetectionHelper )
IFFACTORY( ::framework::License ) else
IFFACTORY( ::framework::PopupMenuDispatcher ) else
IFFACTORY( ::framework::DispatchHelper ) else
- IFFACTORY( ::framework::TabWindowService ) else
IFFACTORY( ::framework::DispatchRecorder ) else
IFFACTORY( ::framework::DispatchRecorderSupplier ) else
IFFACTORY( ::framework::SimpleTextStatusbarController ) else
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index 4b75a84171..e50a50417c 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -27,6 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_framework.hxx"
+
#include "services/autorecovery.hxx"
#include <loadenv/loadenv.hxx>
@@ -97,6 +98,8 @@
#include <tools/urlobj.hxx>
+#include <fwkdllapi.h>
+
//_______________________________________________
// namespaces
@@ -123,6 +126,7 @@ using ::com::sun::star::lang::XComponent;
namespace fpf = ::framework::pattern::frame;
+
namespace framework
{
diff --git a/framework/source/services/backingcomp.cxx b/framework/source/services/backingcomp.cxx
index 4353cd2b59..edd5f0cac8 100644
--- a/framework/source/services/backingcomp.cxx
+++ b/framework/source/services/backingcomp.cxx
@@ -37,7 +37,7 @@
#include <threadhelp/readguard.hxx>
#include <threadhelp/writeguard.hxx>
#include <classes/droptargetlistener.hxx>
-#include <helper/acceleratorinfo.hxx>
+#include <framework/acceleratorinfo.hxx>
#include <targets.h>
#include <properties.h>
#include <services.h>
diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index 56a51f5f6a..c06e91c76b 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -101,6 +101,8 @@
#endif
#include <comphelper/extract.hxx>
+#include <fwkdllapi.h>
+
//_________________________________________________________________________________________________________________
// namespace
//_________________________________________________________________________________________________________________
diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx
index 462d866944..305a375170 100644
--- a/framework/source/services/frame.cxx
+++ b/framework/source/services/frame.cxx
@@ -42,11 +42,11 @@
#include <loadenv/loadenv.hxx>
#include <helper/oframes.hxx>
#include <helper/statusindicatorfactory.hxx>
-#include <helper/titlehelper.hxx>
+#include <framework/titlehelper.hxx>
#include <classes/droptargetlistener.hxx>
#include <classes/taskcreator.hxx>
#include <loadenv/targethelper.hxx>
-#include <classes/framelistanalyzer.hxx>
+#include <framework/framelistanalyzer.hxx>
#include <helper/dockingareadefaultacceptor.hxx>
#include <dispatch/dispatchinformationprovider.hxx>
#include <threadhelp/transactionguard.hxx>
diff --git a/framework/source/services/makefile.mk b/framework/source/services/makefile.mk
deleted file mode 100644
index 2978d9aacf..0000000000
--- a/framework/source/services/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= framework
-TARGET= fwk_services
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES=\
- $(SLO)$/desktop.obj \
- $(SLO)$/frame.obj \
- $(SLO)$/urltransformer.obj \
- $(SLO)$/mediatypedetectionhelper.obj \
- $(SLO)$/substitutepathvars.obj \
- $(SLO)$/pathsettings.obj \
- $(SLO)$/backingcomp.obj \
- $(SLO)$/backingwindow.obj \
- $(SLO)$/dispatchhelper.obj \
- $(SLO)$/license.obj \
- $(SLO)$/modulemanager.obj \
- $(SLO)$/autorecovery.obj \
- $(SLO)$/sessionlistener.obj \
- $(SLO)$/taskcreatorsrv.obj \
- $(SLO)$/uriabbreviation.obj \
- $(SLO)$/tabwindowservice.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES= fwk_services.src
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/services/modelwinservice.cxx b/framework/source/services/modelwinservice.cxx
new file mode 100755
index 0000000000..8c422db2aa
--- /dev/null
+++ b/framework/source/services/modelwinservice.cxx
@@ -0,0 +1,279 @@
+/*************************************************************************
+ *
+ * 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: urltransformer.cxx,v $
+ * $Revision: 1.17 $
+ *
+ * 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_framework.hxx"
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include "services.h"
+#include "services/modelwinservice.hxx"
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/awt/XControlModel.hpp>
+
+using namespace ::com::sun::star;
+
+//_________________________________________________________________________________________________________________
+// namespace
+//_________________________________________________________________________________________________________________
+
+namespace framework{
+
+//_________________________________________________________________________________________________________________
+// non exported definitions
+//_________________________________________________________________________________________________________________
+
+//_________________________________________________________________________________________________________________
+// declarations
+//_________________________________________________________________________________________________________________
+
+class Impl_ModelWinService
+{
+ public:
+ ~Impl_ModelWinService();
+
+ static Impl_ModelWinService* getSingleInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager );
+
+ uno::Any getByName( const ::rtl::OUString& sName )
+ throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException );
+
+ uno::Sequence< ::rtl::OUString > getElementNames()
+ throw( uno::RuntimeException );
+
+ sal_Bool hasByName( const ::rtl::OUString& sName )
+ throw( uno::RuntimeException );
+
+ uno::Type getElementType()
+ throw( css::uno::RuntimeException );
+
+ sal_Bool hasElements()
+ throw( css::uno::RuntimeException );
+
+ void registerModelForXWindow( const uno::Reference< awt::XWindow >& rWindow, const uno::Reference< awt::XControlModel >& rModel );
+
+ void deregisterModelForXWindow( const uno::Reference< awt::XWindow >& rWindow );
+
+ private:
+ typedef BaseHash< uno::WeakReference< awt::XControlModel > > ModelWinMap;
+
+ Impl_ModelWinService();
+ Impl_ModelWinService( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager );
+
+ static Impl_ModelWinService* m_pModelWinService;
+
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
+ ModelWinMap m_aModelMap;
+};
+
+Impl_ModelWinService* Impl_ModelWinService::m_pModelWinService = 0;
+
+Impl_ModelWinService* Impl_ModelWinService::getSingleInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager )
+{
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+ if ( !m_pModelWinService )
+ m_pModelWinService = new Impl_ModelWinService( rServiceManager );
+ return m_pModelWinService;
+}
+
+Impl_ModelWinService::Impl_ModelWinService( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rServiceManager ) :
+ m_xServiceManager( rServiceManager )
+{
+}
+
+Impl_ModelWinService::Impl_ModelWinService()
+{
+}
+
+Impl_ModelWinService::~Impl_ModelWinService()
+{
+}
+
+void Impl_ModelWinService::registerModelForXWindow( const uno::Reference< awt::XWindow >& rWindow, const uno::Reference< awt::XControlModel >& rModel )
+{
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+
+ ::rtl::OUString sName = rtl::OUString::valueOf( reinterpret_cast< sal_Int64 >((void*)rWindow.get()));
+ ModelWinMap::iterator pIter = m_aModelMap.find( sName );
+ if ( pIter != m_aModelMap.end() )
+ pIter->second = rModel;
+ else
+ m_aModelMap[sName] = rModel;
+}
+
+void Impl_ModelWinService::deregisterModelForXWindow( const uno::Reference< awt::XWindow >& /*rWindow*/ )
+{
+}
+
+uno::Any Impl_ModelWinService::getByName( const ::rtl::OUString& sName )
+throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException )
+{
+ uno::Any aAny;
+
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+ ModelWinMap::iterator pIter = m_aModelMap.find( sName );
+ if ( pIter != m_aModelMap.end())
+ {
+ uno::Reference< awt::XControlModel > xModel( pIter->second );
+ aAny = uno::makeAny(xModel);
+ }
+
+ return aAny;
+}
+
+uno::Sequence< ::rtl::OUString > Impl_ModelWinService::getElementNames()
+throw( uno::RuntimeException )
+{
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+ uno::Sequence< ::rtl::OUString > aResult( m_aModelMap.size() );
+
+ sal_Int32 i = 0;
+ ModelWinMap::const_iterator pIter = m_aModelMap.begin();
+ while ( pIter != m_aModelMap.end())
+ aResult[i++] = pIter->first;
+
+ return aResult;
+}
+
+sal_Bool Impl_ModelWinService::hasByName( const ::rtl::OUString& sName )
+throw( uno::RuntimeException )
+{
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+ ModelWinMap::iterator pIter = m_aModelMap.find( sName );
+ if ( pIter != m_aModelMap.end())
+ return true;
+ else
+ return false;
+}
+
+uno::Type Impl_ModelWinService::getElementType()
+throw( css::uno::RuntimeException )
+{
+ return ::getCppuType(( const uno::Reference< awt::XControlModel >*)NULL );
+}
+
+sal_Bool Impl_ModelWinService::hasElements()
+throw( css::uno::RuntimeException )
+{
+ osl::MutexGuard aGuard( osl::Mutex::getGlobalMutex() ) ;
+ return (m_aModelMap.size() > 0);
+}
+
+//*****************************************************************************************************************
+// css::uno::XInterface, XTypeProvider, XServiceInfo
+//*****************************************************************************************************************
+
+DEFINE_XINTERFACE_4 ( ModelWinService ,
+ OWeakObject ,
+ DIRECT_INTERFACE(css::lang::XTypeProvider ),
+ DIRECT_INTERFACE(css::lang::XServiceInfo ),
+ DIRECT_INTERFACE(css::container::XNameAccess ),
+ DIRECT_INTERFACE(css::container::XElementAccess )
+ )
+
+DEFINE_XTYPEPROVIDER_4 ( ModelWinService ,
+ css::lang::XTypeProvider ,
+ css::lang::XServiceInfo ,
+ css::container::XNameAccess ,
+ css::container::XElementAccess
+ )
+
+DEFINE_XSERVICEINFO_MULTISERVICE ( ModelWinService ,
+ OWeakObject ,
+ SERVICENAME_MODELWINSERVICE ,
+ IMPLEMENTATIONNAME_MODELWINSERVICE
+ )
+
+DEFINE_INIT_SERVICE ( ModelWinService,
+ {
+ }
+ )
+
+//*****************************************************************************************************************
+// constructor
+//*****************************************************************************************************************
+ModelWinService::ModelWinService(const uno::Reference< lang::XMultiServiceFactory >& rServiceManager ) :
+ m_xServiceManager( rServiceManager )
+{
+}
+
+ModelWinService::~ModelWinService()
+{
+}
+
+void ModelWinService::registerModelForXWindow( const uno::Reference< awt::XWindow >& rWindow, const uno::Reference< awt::XControlModel >& rModel )
+{
+ Impl_ModelWinService::getSingleInstance(m_xServiceManager)->registerModelForXWindow( rWindow, rModel );
+}
+
+void ModelWinService::deregisterModelForXWindow( const uno::Reference< awt::XWindow >& rWindow )
+{
+ Impl_ModelWinService::getSingleInstance(m_xServiceManager)->deregisterModelForXWindow( rWindow );
+}
+
+uno::Any SAL_CALL ModelWinService::getByName( const ::rtl::OUString& sName )
+throw( container::NoSuchElementException, lang::WrappedTargetException, uno::RuntimeException )
+{
+ return Impl_ModelWinService::getSingleInstance(m_xServiceManager)->getByName( sName );
+}
+
+uno::Sequence< ::rtl::OUString > SAL_CALL ModelWinService::getElementNames()
+throw( uno::RuntimeException )
+{
+ return Impl_ModelWinService::getSingleInstance(m_xServiceManager)->getElementNames( );
+}
+
+sal_Bool SAL_CALL ModelWinService::hasByName( const ::rtl::OUString& sName )
+throw( uno::RuntimeException )
+{
+ return Impl_ModelWinService::getSingleInstance(m_xServiceManager)->hasByName( sName );
+}
+
+//---------------------------------------------------------------------------------------------------------
+// XElementAccess
+//---------------------------------------------------------------------------------------------------------
+uno::Type SAL_CALL ModelWinService::getElementType()
+throw( uno::RuntimeException )
+{
+ return ::getCppuType( (const uno::Reference< awt::XControlModel > *)NULL );
+}
+
+sal_Bool SAL_CALL ModelWinService::hasElements()
+throw( uno::RuntimeException )
+{
+ return Impl_ModelWinService::getSingleInstance(m_xServiceManager)->hasElements();
+}
+
+}
diff --git a/framework/source/services/pathsettings.cxx b/framework/source/services/pathsettings.cxx
index 147c1108fd..b187d45962 100644
--- a/framework/source/services/pathsettings.cxx
+++ b/framework/source/services/pathsettings.cxx
@@ -57,6 +57,8 @@
#include <comphelper/configurationhelper.hxx>
#include <unotools/configpathes.hxx>
+#include <fwkdllapi.h>
+
// ______________________________________________
// non exported const
@@ -243,21 +245,24 @@ void PathSettings::impl_readAll()
OUStringList PathSettings::impl_readOldFormat(const ::rtl::OUString& sPath)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "PathSettings::impl_readOldFormat" );
- css::uno::Reference< css::container::XNameAccess > xCfg = fa_getCfgOld();
- css::uno::Any aVal = xCfg->getByName(sPath);
-
- ::rtl::OUString sStringVal;
- css::uno::Sequence< ::rtl::OUString > lStringListVal;
- OUStringList aPathVal;
+ css::uno::Reference< css::container::XNameAccess > xCfg( fa_getCfgOld() );
+ OUStringList aPathVal;
- if (aVal >>= sStringVal)
- {
- aPathVal.push_back(sStringVal);
- }
- else
- if (aVal >>= lStringListVal)
+ if( xCfg->hasByName(sPath) )
{
- aPathVal << lStringListVal;
+ css::uno::Any aVal( xCfg->getByName(sPath) );
+
+ ::rtl::OUString sStringVal;
+ css::uno::Sequence< ::rtl::OUString > lStringListVal;
+
+ if (aVal >>= sStringVal)
+ {
+ aPathVal.push_back(sStringVal);
+ }
+ else if (aVal >>= lStringListVal)
+ {
+ aPathVal << lStringListVal;
+ }
}
return aPathVal;
diff --git a/framework/source/tabwin/makefile.mk b/framework/source/tabwin/makefile.mk
deleted file mode 100644
index 6147672bdc..0000000000
--- a/framework/source/tabwin/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= framework
-TARGET= fwk_tabwin
-USE_DEFFILE= TRUE
-NO_BSYMBOLIC= TRUE
-ENABLE_EXCEPTIONS= TRUE
-BOOTSTRAP_SERVICE= FALSE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/tabwinfactory.obj \
- $(SLO)$/tabwindow.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/threadhelp/makefile.mk b/framework/source/threadhelp/makefile.mk
deleted file mode 100644
index be4d711379..0000000000
--- a/framework/source/threadhelp/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= framework
-TARGET= fwk_threadhelp
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= $(SLO)$/lockhelper.obj \
- $(SLO)$/transactionmanager.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/uiconfiguration/imagemanager.cxx b/framework/source/uiconfiguration/imagemanager.cxx
index 9e02fb57c3..c4d2b07276 100644
--- a/framework/source/uiconfiguration/imagemanager.cxx
+++ b/framework/source/uiconfiguration/imagemanager.cxx
@@ -29,7 +29,7 @@
#include "precompiled_framework.hxx"
#include <uiconfiguration/imagemanager.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <xml/imagesconfiguration.hxx>
+#include <framework/imagesconfiguration.hxx>
#include <uiconfiguration/graphicnameaccess.hxx>
#include <services.h>
#include "imagemanagerimpl.hxx"
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx
index 24b0f1d344..76b3925122 100644..100755
--- a/framework/source/uiconfiguration/imagemanagerimpl.cxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx
@@ -29,7 +29,7 @@
#include "precompiled_framework.hxx"
#include <imagemanagerimpl.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <xml/imagesconfiguration.hxx>
+#include <framework/imagesconfiguration.hxx>
#include <uiconfiguration/graphicnameaccess.hxx>
#include <services.h>
diff --git a/framework/source/uiconfiguration/makefile.mk b/framework/source/uiconfiguration/makefile.mk
deleted file mode 100644
index ef82e2da76..0000000000
--- a/framework/source/uiconfiguration/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= framework
-TARGET= fwk_uiconfiguration
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/uiconfigurationmanager.obj \
- $(SLO)$/moduleuiconfigurationmanager.obj \
- $(SLO)$/moduleuicfgsupplier.obj \
- $(SLO)$/windowstateconfiguration.obj \
- $(SLO)$/moduleimagemanager.obj \
- $(SLO)$/imagemanager.obj \
- $(SLO)$/imagemanagerimpl.obj \
- $(SLO)$/graphicnameaccess.obj \
- $(SLO)$/uicategorydescription.obj \
- $(SLO)$/globalsettings.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/uiconfiguration/moduleimagemanager.cxx b/framework/source/uiconfiguration/moduleimagemanager.cxx
index cd400b7e3f..0818c90d27 100644
--- a/framework/source/uiconfiguration/moduleimagemanager.cxx
+++ b/framework/source/uiconfiguration/moduleimagemanager.cxx
@@ -30,7 +30,7 @@
#include <rtl/logfile.hxx>
#include <uiconfiguration/moduleimagemanager.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <xml/imagesconfiguration.hxx>
+#include <framework/imagesconfiguration.hxx>
#include <uiconfiguration/graphicnameaccess.hxx>
#include <services.h>
#include "imagemanagerimpl.hxx"
diff --git a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
index 54f8ecf506..74ee45e5d9 100644
--- a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
@@ -33,11 +33,11 @@
#include <uielement/constitemcontainer.hxx>
#include <uielement/rootitemcontainer.hxx>
#include <uielement/uielementtypenames.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/toolboxconfiguration.hxx>
#ifndef __FRAMEWORK_XML_STATUSBARCONFIGURATION_HXX_
-#include <xml/statusbarconfiguration.hxx>
+#include <framework/statusbarconfiguration.hxx>
#endif
//_________________________________________________________________________________________________________________
@@ -723,8 +723,9 @@ void ModuleUIConfigurationManager::impl_Initialize()
Reference< XStorage > xElementTypeStorage;
try
{
- Any a = xNameAccess->getByName( OUString::createFromAscii( UIELEMENTTYPENAMES[i] ));
- a >>= xElementTypeStorage;
+ const OUString sName( OUString::createFromAscii( UIELEMENTTYPENAMES[i] ) );
+ if( xNameAccess->hasByName( sName ) )
+ xNameAccess->getByName( sName ) >>= xElementTypeStorage;
}
catch ( com::sun::star::container::NoSuchElementException& )
{
diff --git a/framework/source/uiconfiguration/uiconfigurationmanager.cxx b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
index dd9d42958a..2c52286a85 100644
--- a/framework/source/uiconfiguration/uiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
@@ -33,11 +33,11 @@
#include <uielement/rootitemcontainer.hxx>
#include <uielement/constitemcontainer.hxx>
#include <uielement/uielementtypenames.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/toolboxconfiguration.hxx>
#ifndef __FRAMEWORK_XML_STATUSBARCONFIGURATION_HXX_
-#include <xml/statusbarconfiguration.hxx>
+#include <framework/statusbarconfiguration.hxx>
#endif
//_________________________________________________________________________________________________________________
diff --git a/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx b/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx
index d6c7f26b95..9ff45d885b 100755
--- a/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx
+++ b/framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx
@@ -33,12 +33,12 @@
#include <uielement/constitemcontainer.hxx>
#include <uielement/rootitemcontainer.hxx>
#include <uielement/uielementtypenames.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <xml/toolboxconfiguration.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/toolboxconfiguration.hxx>
#include <uiconfiguration/imagemanager.hxx>
#ifndef __FRAMEWORK_XML_STATUSBARCONFIGURATION_HXX_
-#include <xml/statusbarconfiguration.hxx>
+#include <framework/statusbarconfiguration.hxx>
#endif
//_________________________________________________________________________________________________________________
diff --git a/framework/source/uiconfiguration/windowstateconfiguration.cxx b/framework/source/uiconfiguration/windowstateconfiguration.cxx
index 5d5fa60f14..421676db83 100644
--- a/framework/source/uiconfiguration/windowstateconfiguration.cxx
+++ b/framework/source/uiconfiguration/windowstateconfiguration.cxx
@@ -364,16 +364,20 @@ throw ( RuntimeException )
sal_Bool SAL_CALL ConfigurationAccess_WindowState::hasByName( const ::rtl::OUString& rResourceURL )
throw (::com::sun::star::uno::RuntimeException)
{
- try
- {
- getByName( rResourceURL );
- }
- catch ( NoSuchElementException& )
+ // SAFE
+ ResetableGuard aLock( m_aLock );
+
+ ResourceURLToInfoCache::const_iterator pIter = m_aResourceURLToInfoCache.find( rResourceURL );
+ if ( pIter != m_aResourceURLToInfoCache.end() )
+ return sal_True;
+ else
{
- return sal_False;
+ Any a( impl_getWindowStateFromResourceURL( rResourceURL ) );
+ if ( a == Any() )
+ return sal_False;
+ else
+ return sal_True;
}
-
- return sal_True;
}
// XElementAccess
@@ -1044,12 +1048,11 @@ Any ConfigurationAccess_WindowState::impl_getWindowStateFromResourceURL( const r
try
{
// Try to ask our configuration access
- if ( m_xConfigAccess.is() )
+ if ( m_xConfigAccess.is() && m_xConfigAccess->hasByName( rResourceURL ) )
{
- Reference< XNameAccess > xNameAccess;
- Any a( m_xConfigAccess->getByName( rResourceURL ));
- if ( a >>= xNameAccess )
+ Reference< XNameAccess > xNameAccess( m_xConfigAccess->getByName( rResourceURL ), UNO_QUERY );
+ if ( xNameAccess.is() )
return impl_insertCacheAndReturnSequence( rResourceURL, xNameAccess );
}
}
diff --git a/framework/source/uielement/addonstoolbarmanager.cxx b/framework/source/uielement/addonstoolbarmanager.cxx
index ef45115c7f..fc3620ae13 100644
--- a/framework/source/uielement/addonstoolbarmanager.cxx
+++ b/framework/source/uielement/addonstoolbarmanager.cxx
@@ -43,13 +43,13 @@
#endif
#include <threadhelp/resetableguard.hxx>
#include "services.h"
-#include <helper/imageproducer.hxx>
-#include <classes/sfxhelperfunctions.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/sfxhelperfunctions.hxx>
#include <classes/fwkresid.hxx>
#ifndef __FRAMEWORK_CLASES_RESOURCE_HRC_
#include <classes/resource.hrc>
#endif
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#ifndef __FRAMEWORK_UIELEMENT_COMBOBOXTOOLBARCONTROLLER_HXX
#include <uielement/comboboxtoolbarcontroller.hxx>
#endif
diff --git a/framework/source/uielement/addonstoolbarwrapper.cxx b/framework/source/uielement/addonstoolbarwrapper.cxx
index 7693002d20..194885b610 100644
--- a/framework/source/uielement/addonstoolbarwrapper.cxx
+++ b/framework/source/uielement/addonstoolbarwrapper.cxx
@@ -35,7 +35,7 @@
#include <uielement/addonstoolbarwrapper.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <uielement/constitemcontainer.hxx>
#include <uielement/rootitemcontainer.hxx>
#include <uielement/addonstoolbarmanager.hxx>
diff --git a/framework/source/uielement/comboboxtoolbarcontroller.cxx b/framework/source/uielement/comboboxtoolbarcontroller.cxx
index ef01456c98..ae4f806ee9 100644
--- a/framework/source/uielement/comboboxtoolbarcontroller.cxx
+++ b/framework/source/uielement/comboboxtoolbarcontroller.cxx
@@ -261,19 +261,30 @@ void ComboboxToolbarController::LoseFocus()
long ComboboxToolbarController::PreNotify( NotifyEvent& rNEvt )
{
- if( rNEvt.GetType() == EVENT_KEYINPUT )
+ switch ( rNEvt.GetType() )
{
- const ::KeyEvent* pKeyEvent = rNEvt.GetKeyEvent();
- const KeyCode& rKeyCode = pKeyEvent->GetKeyCode();
- if(( rKeyCode.GetModifier() | rKeyCode.GetCode()) == KEY_RETURN )
- {
- // Call execute only with non-empty text
- if ( m_pComboBox->GetText().Len() > 0 )
- execute( rKeyCode.GetModifier() );
- return 1;
- }
+ case EVENT_KEYINPUT :
+ {
+ const ::KeyEvent* pKeyEvent = rNEvt.GetKeyEvent();
+ const KeyCode& rKeyCode = pKeyEvent->GetKeyCode();
+ if(( rKeyCode.GetModifier() | rKeyCode.GetCode()) == KEY_RETURN )
+ {
+ // Call execute only with non-empty text
+ if ( m_pComboBox->GetText().Len() > 0 )
+ execute( rKeyCode.GetModifier() );
+ return 1;
+ }
+ }
+ break;
+ case EVENT_GETFOCUS :
+ notifyFocusGet();
+ break;
+ case EVENT_LOSEFOCUS :
+ notifyFocusLost();
+ break;
+ default :
+ break;
}
-
return 0;
}
diff --git a/framework/source/uielement/generictoolbarcontroller.cxx b/framework/source/uielement/generictoolbarcontroller.cxx
index 1bf5db68b6..1b853df6a8 100644
--- a/framework/source/uielement/generictoolbarcontroller.cxx
+++ b/framework/source/uielement/generictoolbarcontroller.cxx
@@ -65,7 +65,7 @@
#include <classes/fwkresid.hxx>
#include <dispatch/uieventloghelper.hxx>
-#include <xml/menuconfiguration.hxx>
+#include <framework/menuconfiguration.hxx>
#include <uielement/menubarmanager.hxx>
using namespace ::com::sun::star::awt;
diff --git a/framework/source/uielement/imagebuttontoolbarcontroller.cxx b/framework/source/uielement/imagebuttontoolbarcontroller.cxx
index 0a71a0c2d3..ef3e05b664 100644
--- a/framework/source/uielement/imagebuttontoolbarcontroller.cxx
+++ b/framework/source/uielement/imagebuttontoolbarcontroller.cxx
@@ -35,7 +35,7 @@
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#ifndef __FRAMEWORK_TOOLBAR_HXX_
#include "uielement/toolbar.hxx"
#endif
diff --git a/framework/source/uielement/macrosmenucontroller.cxx b/framework/source/uielement/macrosmenucontroller.cxx
index e80bc31803..e166db58b2 100644
--- a/framework/source/uielement/macrosmenucontroller.cxx
+++ b/framework/source/uielement/macrosmenucontroller.cxx
@@ -34,7 +34,7 @@
#include "services.h"
#include <classes/resource.hrc>
#include <classes/fwkresid.hxx>
-#include <helper/imageproducer.hxx>
+#include <framework/imageproducer.hxx>
#include <com/sun/star/awt/MenuItemStyle.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/framework/source/uielement/makefile.mk b/framework/source/uielement/makefile.mk
deleted file mode 100644
index b74adb1e17..0000000000
--- a/framework/source/uielement/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= framework
-TARGET= fwk_uielement
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/addonstoolbarmanager.obj \
- $(SLO)$/addonstoolbarwrapper.obj \
- $(SLO)$/buttontoolbarcontroller.obj \
- $(SLO)$/comboboxtoolbarcontroller.obj \
- $(SLO)$/complextoolbarcontroller.obj \
- $(SLO)$/constitemcontainer.obj \
- $(SLO)$/controlmenucontroller.obj \
- $(SLO)$/dropdownboxtoolbarcontroller.obj \
- $(SLO)$/edittoolbarcontroller.obj \
- $(SLO)$/fontmenucontroller.obj \
- $(SLO)$/fontsizemenucontroller.obj \
- $(SLO)$/footermenucontroller.obj \
- $(SLO)$/generictoolbarcontroller.obj \
- $(SLO)$/headermenucontroller.obj \
- $(SLO)$/imagebuttontoolbarcontroller.obj \
- $(SLO)$/itemcontainer.obj \
- $(SLO)$/langselectionmenucontroller.obj \
- $(SLO)$/langselectionstatusbarcontroller.obj \
- $(SLO)$/logoimagestatusbarcontroller.obj \
- $(SLO)$/logotextstatusbarcontroller.obj \
- $(SLO)$/macrosmenucontroller.obj \
- $(SLO)$/menubarmanager.obj \
- $(SLO)$/menubarmerger.obj \
- $(SLO)$/menubarwrapper.obj \
- $(SLO)$/newmenucontroller.obj \
- $(SLO)$/objectmenucontroller.obj \
- $(SLO)$/progressbarwrapper.obj \
- $(SLO)$/recentfilesmenucontroller.obj \
- $(SLO)$/rootitemcontainer.obj \
- $(SLO)$/simpletextstatusbarcontroller.obj \
- $(SLO)$/spinfieldtoolbarcontroller.obj \
- $(SLO)$/statusbar.obj \
- $(SLO)$/statusbarmanager.obj \
- $(SLO)$/statusbarwrapper.obj \
- $(SLO)$/statusindicatorinterfacewrapper.obj \
- $(SLO)$/togglebuttontoolbarcontroller.obj \
- $(SLO)$/toolbar.obj \
- $(SLO)$/toolbarmanager.obj \
- $(SLO)$/toolbarmerger.obj \
- $(SLO)$/toolbarsmenucontroller.obj \
- $(SLO)$/toolbarwrapper.obj \
- $(SLO)$/popupmenucontroller.obj \
- $(SLO)$/uicommanddescription.obj \
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx
index a61b66ea09..2f0e09851b 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -33,17 +33,17 @@
// my own includes
//_________________________________________________________________________________________________________________
#include <uielement/menubarmanager.hxx>
-#include <xml/menuconfiguration.hxx>
-#include <classes/bmkmenu.hxx>
-#include <classes/addonmenu.hxx>
-#include <helper/imageproducer.hxx>
+#include <framework/menuconfiguration.hxx>
+#include <framework/bmkmenu.hxx>
+#include <framework/addonmenu.hxx>
+#include <framework/imageproducer.hxx>
#include <threadhelp/resetableguard.hxx>
-#include "classes/addonsoptions.hxx"
+#include "framework/addonsoptions.hxx"
#include <classes/fwkresid.hxx>
#include <classes/menumanager.hxx>
-#include <helper/acceleratorinfo.hxx>
+#include <framework/acceleratorinfo.hxx>
#include <helper/mischelper.hxx>
-#include <classes/menuextensionsupplier.hxx>
+#include <framework/menuextensionsupplier.hxx>
#include <classes/resource.hrc>
#include <services.h>
@@ -97,7 +97,7 @@
#include <svtools/acceleratorexecute.hxx>
#include <rtl/logfile.hxx>
#include "svtools/miscopt.hxx"
-#include <classes/addonmenu.hxx>
+#include <framework/addonmenu.hxx>
#include <uielement/menubarmerger.hxx>
#include <dispatch/uieventloghelper.hxx>
diff --git a/framework/source/uielement/menubarmerger.cxx b/framework/source/uielement/menubarmerger.cxx
index 51f87a400a..6315c1013c 100644
--- a/framework/source/uielement/menubarmerger.cxx
+++ b/framework/source/uielement/menubarmerger.cxx
@@ -29,7 +29,7 @@
#include "precompiled_framework.hxx"
#include <uielement/menubarmerger.hxx>
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
using namespace ::com::sun::star;
diff --git a/framework/source/uielement/menubarwrapper.cxx b/framework/source/uielement/menubarwrapper.cxx
index c9e9e8644a..a7c2c32e6e 100644
--- a/framework/source/uielement/menubarwrapper.cxx
+++ b/framework/source/uielement/menubarwrapper.cxx
@@ -33,7 +33,7 @@
//_________________________________________________________________________________________________________________
#include <uielement/menubarwrapper.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <services.h>
//_________________________________________________________________________________________________________________
diff --git a/framework/source/uielement/newmenucontroller.cxx b/framework/source/uielement/newmenucontroller.cxx
index 679fa27357..b49fca2521 100644
--- a/framework/source/uielement/newmenucontroller.cxx
+++ b/framework/source/uielement/newmenucontroller.cxx
@@ -38,9 +38,9 @@
#include <classes/resource.hrc>
#endif
#include <classes/fwkresid.hxx>
-#include <classes/bmkmenu.hxx>
-#include <helper/imageproducer.hxx>
-#include <xml/menuconfiguration.hxx>
+#include <framework/bmkmenu.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/menuconfiguration.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/uielement/panelwindow.cxx b/framework/source/uielement/panelwindow.cxx
new file mode 100755
index 0000000000..d008ee550d
--- /dev/null
+++ b/framework/source/uielement/panelwindow.cxx
@@ -0,0 +1,77 @@
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_framework.hxx"
+
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <uielement/panelwindow.hxx>
+
+namespace framework
+{
+
+PanelWindow::PanelWindow( Window* pParent, WinBits nWinBits ) :
+ DockingWindow( pParent, nWinBits )
+{
+}
+
+PanelWindow::~PanelWindow()
+{
+}
+
+const ::rtl::OUString& PanelWindow::getResourceURL() const
+{
+ return m_aResourceURL;
+}
+
+void PanelWindow::setResourceURL(const ::rtl::OUString& rResourceURL)
+{
+ m_aResourceURL = rResourceURL;
+}
+
+Window* PanelWindow::getContentWindow() const
+{
+ return m_pContentWindow;
+}
+
+void PanelWindow::setContentWindow( Window* pContentWindow )
+{
+ m_pContentWindow = pContentWindow;
+ if ( m_pContentWindow != NULL )
+ {
+ m_pContentWindow->SetParent(this);
+ m_pContentWindow->SetSizePixel( GetOutputSizePixel() );
+ m_pContentWindow->Show();
+ }
+}
+
+void PanelWindow::Command( const CommandEvent& rCEvt )
+{
+ if ( m_aCommandHandler.IsSet() )
+ m_aCommandHandler.Call( (void *)( &rCEvt ));
+ DockingWindow::Command( rCEvt );
+}
+
+void PanelWindow::StateChanged( StateChangedType nType )
+{
+ DockingWindow::StateChanged( nType );
+ if ( m_aStateChangedHandler.IsSet() )
+ m_aStateChangedHandler.Call( &nType );
+}
+
+void PanelWindow::DataChanged( const DataChangedEvent& rDCEvt )
+{
+ DockingWindow::DataChanged( rDCEvt );
+ if ( m_aDataChangedHandler.IsSet() )
+ m_aDataChangedHandler.Call( (void*)&rDCEvt );
+}
+
+void PanelWindow::Resize()
+{
+ DockingWindow::Resize();
+ if ( m_pContentWindow )
+ m_pContentWindow->SetSizePixel( GetOutputSizePixel() );
+}
+
+}
diff --git a/framework/source/uielement/panelwrapper.cxx b/framework/source/uielement/panelwrapper.cxx
new file mode 100755
index 0000000000..b0b4d77735
--- /dev/null
+++ b/framework/source/uielement/panelwrapper.cxx
@@ -0,0 +1,226 @@
+
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_framework.hxx"
+//_________________________________________________________________________________________________________________
+// my own includes
+//_________________________________________________________________________________________________________________
+
+#include <services.h>
+#include <uielement/panelwrapper.hxx>
+#include <threadhelp/resetableguard.hxx>
+#include <uielement/constitemcontainer.hxx>
+#include <uielement/rootitemcontainer.hxx>
+#include <uielement/panelwindow.hxx>
+#include <services/modelwinservice.hxx>
+
+//_________________________________________________________________________________________________________________
+// interface includes
+//_________________________________________________________________________________________________________________
+
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/awt/XSystemDependentMenuPeer.hpp>
+#include <com/sun/star/awt/XMenuBar.hpp>
+#include <com/sun/star/container/XIndexContainer.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/ui/UIElementType.hpp>
+
+//_________________________________________________________________________________________________________________
+// other includes
+//_________________________________________________________________________________________________________________
+
+#include <toolkit/unohlp.hxx>
+#include <toolkit/awt/vclxwindow.hxx>
+#include <comphelper/processfactory.hxx>
+#include <svtools/miscopt.hxx>
+#include <vcl/svapp.hxx>
+#include <rtl/logfile.hxx>
+
+using namespace com::sun::star;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::frame;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::container;
+using namespace com::sun::star::awt;
+using namespace ::com::sun::star::ui;
+
+namespace framework
+{
+
+PanelWrapper::PanelWrapper( const Reference< XMultiServiceFactory >& xServiceManager ) :
+ UIElementWrapperBase( UIElementType::DOCKINGWINDOW ),
+ m_xServiceManager( xServiceManager ),
+ m_bNoClose(false)
+{
+}
+
+PanelWrapper::~PanelWrapper()
+{
+}
+
+// XInterface
+void SAL_CALL PanelWrapper::acquire() throw()
+{
+ UIElementWrapperBase::acquire();
+}
+
+void SAL_CALL PanelWrapper::release() throw()
+{
+ UIElementWrapperBase::release();
+}
+
+uno::Any SAL_CALL PanelWrapper::queryInterface( const uno::Type & rType )
+throw( ::com::sun::star::uno::RuntimeException )
+{
+ return UIElementWrapperBase::queryInterface( rType );
+}
+
+// XComponent
+void SAL_CALL PanelWrapper::dispose() throw ( RuntimeException )
+{
+ Reference< XComponent > xThis( static_cast< OWeakObject* >(this), UNO_QUERY );
+ Reference< XMultiServiceFactory > xSMGR( m_xServiceManager );
+ Reference< XWindow > xWindow;
+
+ {
+ ResetableGuard aLock( m_aLock );
+ if ( m_bDisposed )
+ return;
+ xSMGR = m_xServiceManager;
+ }
+
+ com::sun::star::lang::EventObject aEvent( xThis );
+ m_aListenerContainer.disposeAndClear( aEvent );
+
+ rtl::OUString aModelWinService( SERVICENAME_MODELWINSERVICE );
+ Reference< XNameAccess > xNameAccess( xSMGR->createInstance( aModelWinService ), UNO_QUERY );
+ if ( xNameAccess.is() )
+ {
+ ModelWinService* pService = dynamic_cast< ModelWinService* >( xNameAccess.get() );
+ if ( pService != 0 )
+ {
+ vos::OGuard aSolarMutexGuard( Application::GetSolarMutex() );
+ PanelWindow* pPanelWindow = dynamic_cast< PanelWindow* >( m_xPanelWindow.get() );
+ if ( pPanelWindow != NULL )
+ {
+ xWindow = VCLUnoHelper::GetInterface( pPanelWindow->getContentWindow() );
+ pService->deregisterModelForXWindow( xWindow );
+ }
+ }
+ }
+
+ ResetableGuard aLock( m_aLock );
+ m_xPanelWindow.clear();
+ m_bDisposed = sal_True;
+}
+
+// XInitialization
+void SAL_CALL PanelWrapper::initialize( const Sequence< Any >& aArguments ) throw ( Exception, RuntimeException )
+{
+ ResetableGuard aLock( m_aLock );
+
+ if ( m_bDisposed )
+ throw DisposedException();
+
+ if ( !m_bInitialized )
+ {
+ UIElementWrapperBase::initialize( aArguments );
+
+ sal_Bool bPopupMode( sal_False );
+ Reference< XWindow > xContentWindow;
+ for ( sal_Int32 i = 0; i < aArguments.getLength(); i++ )
+ {
+ PropertyValue aPropValue;
+ if ( aArguments[i] >>= aPropValue )
+ {
+ if ( aPropValue.Name.equalsAsciiL( "PopupMode", 9 ))
+ aPropValue.Value >>= bPopupMode;
+ else if ( aPropValue.Name.equalsAsciiL( "ContentWindow", 13 ))
+ aPropValue.Value >>= xContentWindow;
+ }
+ }
+
+ Reference< XFrame > xFrame( m_xWeakFrame );
+ if ( xFrame.is() )
+ {
+ PanelWindow* pPanelWindow(0);
+ Window* pContentWindow(0);
+ {
+ vos::OGuard aSolarMutexGuard( Application::GetSolarMutex() );
+ Window* pWindow = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() );
+ pContentWindow = VCLUnoHelper::GetWindow( xContentWindow );
+ if ( pWindow )
+ {
+ ULONG nStyles = WB_LINESPACING | WB_BORDER | WB_SCROLL | WB_MOVEABLE | WB_3DLOOK | WB_DOCKABLE | WB_SIZEABLE | WB_CLOSEABLE;
+
+ pPanelWindow = new PanelWindow( pWindow, nStyles );
+ m_xPanelWindow = VCLUnoHelper::GetInterface( pPanelWindow );
+ pPanelWindow->setResourceURL( m_aResourceURL );
+ pPanelWindow->setContentWindow( pContentWindow );
+ }
+ }
+
+ try
+ {
+ }
+ catch ( NoSuchElementException& )
+ {
+ }
+ }
+ }
+}
+
+// XEventListener
+void SAL_CALL PanelWrapper::disposing( const ::com::sun::star::lang::EventObject& ) throw (::com::sun::star::uno::RuntimeException)
+{
+ // nothing todo
+}
+
+// XUpdatable
+void SAL_CALL PanelWrapper::update() throw (::com::sun::star::uno::RuntimeException)
+{
+ ResetableGuard aLock( m_aLock );
+
+ if ( m_bDisposed )
+ throw DisposedException();
+}
+
+// XUIElement interface
+Reference< XInterface > SAL_CALL PanelWrapper::getRealInterface( ) throw (::com::sun::star::uno::RuntimeException)
+{
+ ResetableGuard aLock( m_aLock );
+ return m_xPanelWindow;
+}
+
+void SAL_CALL PanelWrapper::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const com::sun::star::uno::Any& aValue ) throw( com::sun::star::uno::Exception )
+{
+ ResetableGuard aLock( m_aLock );
+ sal_Bool bNoClose( m_bNoClose );
+ aLock.unlock();
+
+ UIElementWrapperBase::setFastPropertyValue_NoBroadcast( nHandle, aValue );
+
+ aLock.lock();
+
+ sal_Bool bNewNoClose( m_bNoClose );
+ if ( m_xPanelWindow.is() && !m_bDisposed && ( bNewNoClose != bNoClose ))
+ {
+ PanelWindow* pPanelWindow = dynamic_cast< PanelWindow* >( VCLUnoHelper::GetWindow( m_xPanelWindow ) );
+ if ( pPanelWindow )
+ {
+ if ( bNewNoClose )
+ {
+ pPanelWindow->SetStyle( pPanelWindow->GetStyle() & ~WB_CLOSEABLE );
+ pPanelWindow->SetFloatStyle( pPanelWindow->GetFloatStyle() & ~WB_CLOSEABLE );
+ }
+ else
+ {
+ pPanelWindow->SetStyle( pPanelWindow->GetStyle() | WB_CLOSEABLE );
+ pPanelWindow->SetFloatStyle( pPanelWindow->GetFloatStyle() | WB_CLOSEABLE );
+ }
+ }
+ }
+}
+
+} // namespace framework
diff --git a/framework/source/uielement/statusbarmanager.cxx b/framework/source/uielement/statusbarmanager.cxx
index 4c56bfe016..bfac51cd4b 100644
--- a/framework/source/uielement/statusbarmanager.cxx
+++ b/framework/source/uielement/statusbarmanager.cxx
@@ -35,7 +35,7 @@
//_________________________________________________________________________________________________________________
#include <threadhelp/threadhelpbase.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <classes/sfxhelperfunctions.hxx>
+#include <framework/sfxhelperfunctions.hxx>
#include <macros/generic.hxx>
#include <macros/xinterface.hxx>
#include <macros/xtypeprovider.hxx>
diff --git a/framework/source/uielement/statusbarwrapper.cxx b/framework/source/uielement/statusbarwrapper.cxx
index 289bf25cbc..14a927d5bc 100644
--- a/framework/source/uielement/statusbarwrapper.cxx
+++ b/framework/source/uielement/statusbarwrapper.cxx
@@ -34,7 +34,7 @@
// my own includes
//_________________________________________________________________________________________________________________
#include <threadhelp/resetableguard.hxx>
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <uielement/constitemcontainer.hxx>
#include <uielement/rootitemcontainer.hxx>
#include <uielement/statusbar.hxx>
diff --git a/framework/source/uielement/togglebuttontoolbarcontroller.cxx b/framework/source/uielement/togglebuttontoolbarcontroller.cxx
index 76d22f5f14..04da994901 100644
--- a/framework/source/uielement/togglebuttontoolbarcontroller.cxx
+++ b/framework/source/uielement/togglebuttontoolbarcontroller.cxx
@@ -35,7 +35,7 @@
//_________________________________________________________________________________________________________________
// my own includes
//_________________________________________________________________________________________________________________
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#ifndef __FRAMEWORK_TOOLBAR_HXX_
#include "uielement/toolbar.hxx"
#endif
diff --git a/framework/source/uielement/toolbarmanager.cxx b/framework/source/uielement/toolbarmanager.cxx
index 28bf5530e5..e299fbb425 100644
--- a/framework/source/uielement/toolbarmanager.cxx
+++ b/framework/source/uielement/toolbarmanager.cxx
@@ -44,15 +44,15 @@
#include "services.h"
#include "general.h"
#include "properties.h"
-#include <helper/imageproducer.hxx>
-#include <classes/sfxhelperfunctions.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/sfxhelperfunctions.hxx>
#include <classes/fwkresid.hxx>
#ifndef __FRAMEWORK_CLASES_RESOURCE_HRC_
#include <classes/resource.hrc>
#endif
-#include <classes/addonsoptions.hxx>
+#include <framework/addonsoptions.hxx>
#include <uielement/toolbarmerger.hxx>
-#include <helper/acceleratorinfo.hxx>
+#include <framework/acceleratorinfo.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/uielement/toolbarmerger.cxx b/framework/source/uielement/toolbarmerger.cxx
index 06bc5c6de3..026107721b 100644
--- a/framework/source/uielement/toolbarmerger.cxx
+++ b/framework/source/uielement/toolbarmerger.cxx
@@ -30,7 +30,7 @@
#include <uielement/toolbarmerger.hxx>
#include <uielement/generictoolbarcontroller.hxx>
-#include <helper/imageproducer.hxx>
+#include <framework/imageproducer.hxx>
#include <svtools/miscopt.hxx>
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index f98c06cc3e..2fb0a6e233 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -41,8 +41,8 @@
#endif
#include <classes/fwkresid.hxx>
#include <uiconfiguration/windowstateconfiguration.hxx>
-#include <helper/imageproducer.hxx>
-#include <classes/sfxhelperfunctions.hxx>
+#include <framework/imageproducer.hxx>
+#include <framework/sfxhelperfunctions.hxx>
//_________________________________________________________________________________________________________________
// interface includes
diff --git a/framework/source/uielement/toolbarwrapper.cxx b/framework/source/uielement/toolbarwrapper.cxx
index 075403bad7..a083595a02 100644
--- a/framework/source/uielement/toolbarwrapper.cxx
+++ b/framework/source/uielement/toolbarwrapper.cxx
@@ -34,7 +34,7 @@
#include <uielement/toolbarwrapper.hxx>
#include <threadhelp/resetableguard.hxx>
-#include <helper/actiontriggerhelper.hxx>
+#include <framework/actiontriggerhelper.hxx>
#include <uielement/constitemcontainer.hxx>
#include <uielement/rootitemcontainer.hxx>
#include <uielement/toolbarmanager.hxx>
diff --git a/framework/source/uielement/uicommanddescription.cxx b/framework/source/uielement/uicommanddescription.cxx
index a6fedb6624..4f07fc5dde 100644
--- a/framework/source/uielement/uicommanddescription.cxx
+++ b/framework/source/uielement/uicommanddescription.cxx
@@ -144,6 +144,8 @@ class ConfigurationAccess_UICommand : // Order is neccessary for right initializ
virtual void SAL_CALL disposing( const EventObject& aEvent ) throw(RuntimeException);
protected:
+ virtual ::com::sun::star::uno::Any SAL_CALL getByNameImpl( const ::rtl::OUString& aName );
+
struct CmdToInfoMap
{
CmdToInfoMap() : bPopup( false ),
@@ -253,9 +255,9 @@ ConfigurationAccess_UICommand::~ConfigurationAccess_UICommand()
xContainer->removeContainerListener( this );
}
+
// XNameAccess
-Any SAL_CALL ConfigurationAccess_UICommand::getByName( const ::rtl::OUString& rCommandURL )
-throw ( NoSuchElementException, WrappedTargetException, RuntimeException)
+Any SAL_CALL ConfigurationAccess_UICommand::getByNameImpl( const ::rtl::OUString& rCommandURL )
{
static sal_Int32 nRequests = 0;
@@ -280,19 +282,24 @@ throw ( NoSuchElementException, WrappedTargetException, RuntimeException)
else if ( rCommandURL.equalsIgnoreAsciiCaseAscii( UICOMMANDDESCRIPTION_NAMEACCESS_COMMANDMIRRORIMAGELIST ))
return makeAny( m_aCommandMirrorImageList );
else
- throw NoSuchElementException();
+ return Any();
}
else
{
// SAFE
++nRequests;
- Any a = getInfoFromCommand( rCommandURL );
+ return getInfoFromCommand( rCommandURL );
+ }
+}
- if ( !a.hasValue() )
- throw NoSuchElementException();
+Any SAL_CALL ConfigurationAccess_UICommand::getByName( const ::rtl::OUString& rCommandURL )
+throw ( NoSuchElementException, WrappedTargetException, RuntimeException)
+{
+ Any aRet( getByNameImpl( rCommandURL ) );
+ if( !aRet.hasValue() )
+ throw NoSuchElementException();
- return a;
- }
+ return aRet;
}
Sequence< ::rtl::OUString > SAL_CALL ConfigurationAccess_UICommand::getElementNames()
@@ -304,7 +311,7 @@ throw ( RuntimeException )
sal_Bool SAL_CALL ConfigurationAccess_UICommand::hasByName( const ::rtl::OUString& rCommandURL )
throw (::com::sun::star::uno::RuntimeException)
{
- return getByName( rCommandURL ).hasValue();
+ return getByNameImpl( rCommandURL ).hasValue();
}
// XElementAccess
@@ -470,7 +477,7 @@ Any ConfigurationAccess_UICommand::getInfoFromCommand( const rtl::OUString& rCom
{
// First try to ask our global commands configuration access. It also caches maybe
// we find the entry in its cache first.
- if ( m_xGenericUICommands.is() )
+ if ( m_xGenericUICommands.is() && m_xGenericUICommands->hasByName( rCommandURL ) )
{
try
{
diff --git a/framework/source/uifactory/makefile.mk b/framework/source/uifactory/makefile.mk
deleted file mode 100644
index cf820e9873..0000000000
--- a/framework/source/uifactory/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=framework
-TARGET= fwk_uifactory
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/popupmenucontrollerfactory.obj \
- $(SLO)$/uielementfactorymanager.obj \
- $(SLO)$/menubarfactory.obj \
- $(SLO)$/toolboxfactory.obj \
- $(SLO)$/addonstoolboxfactory.obj \
- $(SLO)$/toolbarcontrollerfactory.obj \
- $(SLO)$/statusbarfactory.obj \
- $(SLO)$/statusbarcontrollerfactory.obj \
- $(SLO)$/factoryconfiguration.obj \
- $(SLO)$/windowcontentfactorymanager.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/source/xml/makefile.mk b/framework/source/xml/makefile.mk
deleted file mode 100644
index a4f18a555a..0000000000
--- a/framework/source/xml/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= framework
-TARGET= fwk_xml
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- Generate -----------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/eventsconfiguration.obj \
- $(SLO)$/eventsdocumenthandler.obj \
- $(SLO)$/imagesconfiguration.obj \
- $(SLO)$/imagesdocumenthandler.obj \
- $(SLO)$/menuconfiguration.obj \
- $(SLO)$/menudocumenthandler.obj \
- $(SLO)$/statusbarconfiguration.obj \
- $(SLO)$/statusbardocumenthandler.obj \
- $(SLO)$/toolboxconfiguration.obj \
- $(SLO)$/toolboxdocumenthandler.obj \
- $(SLO)$/saxnamespacefilter.obj \
- $(SLO)$/xmlnamespaces.obj \
- $(SLO)$/acceleratorconfigurationreader.obj \
- $(SLO)$/acceleratorconfigurationwriter.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/test/makefile.mk b/framework/test/makefile.mk
deleted file mode 100644
index 6764af8dd0..0000000000
--- a/framework/test/makefile.mk
+++ /dev/null
@@ -1,94 +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= framework
-TARGET= test
-LIBTARGET= NO
-ENABLE_EXCEPTIONS= TRUE
-USE_DEFFILE= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- applikation: "test" --------------------------------------------------
-
-#APP1TARGET= test
-
-#APP1OBJS= $(SLO)$/test.obj
-#DEPOBJFILES+= $(APP1OBJS)
-
-#APP1LIBS= $(SLB)$/fwk_classes.lib \
-# $(SLB)$/fwk_helper.lib
-
-#APP1STDLIBS= $(CPPULIB) \
-# $(CPPUHELPERLIB) \
-# $(SALLIB) \
-# $(VOSLIB) \
-# $(TOOLSLIB) \
-# $(SVTOOLLIB) \
-# $(TKLIB) \
-# $(COMPHELPERLIB) \
-# $(VCLLIB)
-
-#APP1DEPN= $(SLB)$/fwk_helper.lib \
-# $(SLB)$/fwk_classes.lib
-
-# --- application: "threadtest" --------------------------------------------------
-
-APP2TARGET= threadtest
-
-APP2OBJS= $(SLO)$/threadtest.obj \
- $(SLO)$/transactionmanager.obj \
- $(SLO)$/transactionguard.obj \
- $(SLO)$/fairrwlock.obj \
- $(SLO)$/resetableguard.obj \
- $(SLO)$/gate.obj \
- $(SLO)$/readguard.obj \
- $(SLO)$/writeguard.obj
-
-DEPOBJFILES+= $(APP2OBJS)
-
-APP2STDLIBS= $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(VCLLIB)
-
-APP2DEPN= $(SLO)$/fairrwlock.obj \
- $(SLO)$/transactionmanager.obj \
- $(SLO)$/transactionguard.obj \
- $(SLO)$/resetableguard.obj \
- $(SLO)$/gate.obj \
- $(SLO)$/readguard.obj \
- $(SLO)$/writeguard.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/test/threadtest/makefile.mk b/framework/test/threadtest/makefile.mk
deleted file mode 100644
index 833c328dc8..0000000000
--- a/framework/test/threadtest/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= framework
-TARGET= threadtest
-LIBTARGET= NO
-ENABLE_EXCEPTIONS= TRUE
-USE_DEFFILE= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- application: "threadtest" --------------------------------------------------
-
-APP1TARGET= threadtest
-
-APP1OBJS= $(SLO)$/threadtest.obj \
- $(SLO)$/lockhelper.obj
-
-DEPOBJFILES=$(APP1OBJS)
-
-# [ed] 6/16/02 Add the transaction manager library on OS X
-
-APP1STDLIBS= $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(VCLLIB)
-
-APP1DEPN= $(INC)$/threadhelp$/threadhelpbase.hxx \
- $(INC)$/threadhelp$/transactionbase.hxx \
- $(INC)$/threadhelp$/transactionmanager.hxx \
- $(INC)$/threadhelp$/transactionguard.hxx \
- $(INC)$/threadhelp$/resetableguard.hxx \
- $(INC)$/threadhelp$/readguard.hxx \
- $(INC)$/threadhelp$/writeguard.hxx
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/test/typecfg/makefile.mk b/framework/test/typecfg/makefile.mk
deleted file mode 100644
index 83782fdc4d..0000000000
--- a/framework/test/typecfg/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= framework
-TARGET= typecfg
-LIBTARGET= NO
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- applikation: "xml2xcd" --------------------------------------------------
-
-# --- applikation: "cfgview" --------------------------------------------------
-
-APP2TARGET= cfgview
-
-APP2OBJS= $(SLO)$/cfgview.obj \
- $(SLO)$/servicemanager.obj \
- $(SLO)$/filtercachedata.obj \
- $(SLO)$/filtercache.obj \
- $(SLO)$/wildcard.obj \
- $(SLO)$/lockhelper.obj
-
-DEPOBJFILES=$(APP2OBJS)
-
-APP2STDLIBS= $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(COMPHELPERLIB) \
- $(UNOTOOLSLIB) \
- $(VCLLIB)
-
-APP2DEPN= $(SLO)$/servicemanager.obj \
- $(SLO)$/filtercachedata.obj \
- $(SLO)$/filtercache.obj \
- $(SLO)$/wildcard.obj \
- $(SLO)$/lockhelper.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/util/guiapps/makefile.mk b/framework/util/guiapps/makefile.mk
deleted file mode 100644
index efa5fc3fd8..0000000000
--- a/framework/util/guiapps/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= framework
-TARGET= framework_guiapp
-TARGETTYPE=GUI
-
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-GEN_HID= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- login applikation -------------------------------------------------------
-
-APP1TARGET= login
-
-APP1OBJS= $(SLO)$/login.obj \
- $(SLO)$/servicemanager.obj \
- $(SLO)$/lockhelper.obj \
- $(SLO)$/transactionmanager.obj
-
-DEPOBJFILES=$(APP1OBJS)
-
-APP1STDLIBS= $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(VOSLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(COMPHELPERLIB) \
- $(VCLLIB)
-
-APP1DEPN= $(SLO)$/servicemanager.obj
-
-# --- Targets -----------------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/framework/util/makefile.mk b/framework/util/makefile.mk
deleted file mode 100644
index a3f14341d3..0000000000
--- a/framework/util/makefile.mk
+++ /dev/null
@@ -1,445 +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= framework
-TARGET= framework
-
-USE_DEFFILE= TRUE
-ENABLE_EXCEPTIONS= TRUE
-NO_BSYMBOLIC= TRUE
-GEN_HID= TRUE
-GEN_HID_OTHER= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# --- internal import -------------------------------------------------
-
-LIB1TARGET= $(SLB)$/fwiobj.lib
-
-LIB1OBJFILES= \
- $(SLO)$/converter.obj \
- $(SLO)$/lockhelper.obj \
- $(SLO)$/transactionmanager.obj \
- $(SLO)$/protocolhandlercache.obj \
- $(SLO)$/networkdomain.obj \
- $(SLO)$/configaccess.obj \
- $(SLO)$/shareablemutex.obj \
- $(SLO)$/itemcontainer.obj \
- $(SLO)$/rootitemcontainer.obj \
- $(SLO)$/constitemcontainer.obj \
- $(SLO)$/jobconst.obj \
- $(SLO)$/mischelper.obj \
- $(SLO)$/propertysethelper.obj
-
-
-
-# --- export library for sfx2 -------------------------------------------------
-
-LIB2TARGET= $(SLB)$/fweobj.lib
-
-LIB2OBJFILES= \
- $(SLO)$/bmkmenu.obj \
- $(SLO)$/eventsconfiguration.obj \
- $(SLO)$/eventsdocumenthandler.obj \
- $(SLO)$/imageproducer.obj \
- $(SLO)$/lockhelper.obj \
- $(SLO)$/menuconfiguration.obj \
- $(SLO)$/menudocumenthandler.obj \
- $(SLO)$/saxnamespacefilter.obj \
- $(SLO)$/statusbarconfiguration.obj \
- $(SLO)$/statusbardocumenthandler.obj \
- $(SLO)$/toolboxconfiguration.obj \
- $(SLO)$/toolboxdocumenthandler.obj \
- $(SLO)$/imagesconfiguration.obj \
- $(SLO)$/imagesdocumenthandler.obj \
- $(SLO)$/xmlnamespaces.obj \
- $(SLO)$/actiontriggerpropertyset.obj \
- $(SLO)$/actiontriggerseparatorpropertyset.obj \
- $(SLO)$/actiontriggercontainer.obj \
- $(SLO)$/propertysetcontainer.obj \
- $(SLO)$/rootactiontriggercontainer.obj \
- $(SLO)$/actiontriggerhelper.obj \
- $(SLO)$/imagewrapper.obj \
- $(SLO)$/interaction.obj \
- $(SLO)$/addonmenu.obj \
- $(SLO)$/addonsoptions.obj \
- $(SLO)$/fwkresid.obj \
- $(SLO)$/acceleratorinfo.obj \
- $(SLO)$/sfxhelperfunctions.obj \
- $(SLO)$/uielementwrapperbase.obj \
- $(SLO)$/uiconfigelementwrapperbase.obj \
- $(SLO)$/configimporter.obj \
- $(SLO)$/menuextensionsupplier.obj \
- $(SLO)$/preventduplicateinteraction.obj \
- $(SLO)$/framelistanalyzer.obj \
- $(SLO)$/titlehelper.obj
-
-# --- import classes library ---------------------------------------------------
-
-SHL1TARGET= fwi$(DLLPOSTFIX)
-
-SHL1IMPLIB= ifwi
-
-SHL1LIBS= $(LIB1TARGET)
-
-SHL1STDLIBS= \
- $(UNOTOOLSLIB) \
- $(CPPUHELPERLIB) \
- $(TOOLSLIB) \
- $(SVTOOLLIB) \
- $(SVLLIB) \
- $(I18NISOLANGLIB) \
- $(VOSLIB) \
- $(VCLLIB) \
- $(TKLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-.IF "$(GUI)"=="WNT"
-SHL1STDLIBS+=\
- $(UWINAPILIB) \
- $(UNICOWSLIB) \
- $(ADVAPI32LIB) \
- $(KERNEL32LIB)
-.ENDIF
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-
-DEFLIB1NAME= fwiobj
-DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt
-
-
-# --- export classes library ---------------------------------------------------
-
-SHL2TARGET= fwe$(DLLPOSTFIX)
-
-SHL2IMPLIB= ifwe
-
-SHL2LIBS= $(LIB2TARGET)
-
-SHL2STDLIBS= \
- $(FWILIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SVTOOLLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SALLIB)
-
-SHL2DEF= $(MISC)$/$(SHL2TARGET).def
-SHL2DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN)
-
-DEF2NAME= $(SHL2TARGET)
-
-DEFLIB2NAME= fweobj
-DEF2DEPN= $(MISC)$/$(SHL2TARGET).flt
-
-# --- light services library ----------------------------------------------------
-
-SHL3TARGET= fwl$(DLLPOSTFIX)
-
-SHL3IMPLIB= ifwl
-
-SHL3OBJS= $(SLO)$/mediatypedetectionhelper.obj\
- $(SLO)$/registertemp.obj \
- $(SLO)$/mailtodispatcher.obj \
- $(SLO)$/oxt_handler.obj \
- $(SLO)$/toolbarsmenucontroller.obj \
- $(SLO)$/newmenucontroller.obj \
- $(SLO)$/macrosmenucontroller.obj \
- $(SLO)$/langselectionmenucontroller.obj \
- $(SLO)$/headermenucontroller.obj \
- $(SLO)$/footermenucontroller.obj \
- $(SLO)$/fontsizemenucontroller.obj \
- $(SLO)$/fontmenucontroller.obj \
- $(SLO)$/tabwindowservice.obj \
- $(SLO)$/fwktabwindow.obj \
- $(SLO)$/logotextstatusbarcontroller.obj \
- $(SLO)$/fwlresid.obj \
- $(SLO)$/logoimagestatusbarcontroller.obj \
- $(SLO)$/simpletextstatusbarcontroller.obj \
- $(SLO)$/uriabbreviation.obj \
- $(SLO)$/servicehandler.obj \
- $(SLO)$/license.obj \
- $(SLO)$/dispatchrecorder.obj \
- $(SLO)$/dispatchrecordersupplier.obj\
- $(SLO)$/dispatchhelper.obj \
- $(SLO)$/popupmenudispatcher.obj \
- $(SLO)$/popupmenucontroller.obj
-
-SHL3STDLIBS= \
- $(FWILIB) \
- $(FWELIB) \
- $(SVLLIB) \
- $(TKLIB) \
- $(SVTOOLLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(COMPHELPERLIB) \
- $(CPPULIB) \
- $(VCLLIB) \
- $(SALLIB)
-
-SHL3DEF= $(MISC)$/$(SHL3TARGET).def
-SHL3DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2TARGETN)
-
-DEF3NAME= $(SHL3TARGET)
-
-SHL3VERSIONMAP= $(SOLARENV)/src/component.map
-
-# --- services library ----------------------------------------------------
-
-SHL4TARGET= fwk$(DLLPOSTFIX)
-
-SHL4IMPLIB= ifwk
-
-SHL4OBJS= \
- $(SLO)$/acceleratorcache.obj \
- $(SLO)$/acceleratorconfiguration.obj \
- $(SLO)$/acceleratorconfigurationreader.obj \
- $(SLO)$/acceleratorconfigurationwriter.obj \
- $(SLO)$/addonstoolbarmanager.obj \
- $(SLO)$/addonstoolbarwrapper.obj \
- $(SLO)$/addonstoolboxfactory.obj \
- $(SLO)$/autorecovery.obj \
- $(SLO)$/backingcomp.obj \
- $(SLO)$/backingwindow.obj \
- $(SLO)$/buttontoolbarcontroller.obj \
- $(SLO)$/closedispatcher.obj \
- $(SLO)$/comboboxtoolbarcontroller.obj \
- $(SLO)$/complextoolbarcontroller.obj \
- $(SLO)$/configaccess.obj \
- $(SLO)$/containerquery.obj \
- $(SLO)$/contenthandler.obj \
- $(SLO)$/controlmenucontroller.obj \
- $(SLO)$/desktop.obj \
- $(SLO)$/dispatchinformationprovider.obj \
- $(SLO)$/dispatchprovider.obj \
- $(SLO)$/dockingareadefaultacceptor.obj \
- $(SLO)$/documentacceleratorconfiguration.obj \
- $(SLO)$/dropdownboxtoolbarcontroller.obj \
- $(SLO)$/droptargetlistener.obj \
- $(SLO)$/edittoolbarcontroller.obj \
- $(SLO)$/factoryconfiguration.obj \
- $(SLO)$/framecontainer.obj \
- $(SLO)$/frameloader.obj \
- $(SLO)$/frame.obj \
- $(SLO)$/generictoolbarcontroller.obj \
- $(SLO)$/globalacceleratorconfiguration.obj \
- $(SLO)$/globalsettings.obj \
- $(SLO)$/graphicnameaccess.obj \
- $(SLO)$/helpagentdispatcher.obj \
- $(SLO)$/imagebuttontoolbarcontroller.obj \
- $(SLO)$/imagemanager.obj \
- $(SLO)$/imagemanagerimpl.obj \
- $(SLO)$/interceptionhelper.obj \
- $(SLO)$/jobdata.obj \
- $(SLO)$/jobdispatch.obj \
- $(SLO)$/jobexecutor.obj \
- $(SLO)$/job.obj \
- $(SLO)$/jobresult.obj \
- $(SLO)$/joburl.obj \
- $(SLO)$/keymapping.obj \
- $(SLO)$/langselectionstatusbarcontroller.obj \
- $(SLO)$/layoutmanager.obj \
- $(SLO)$/loaddispatcher.obj \
- $(SLO)$/loadenv.obj \
- $(SLO)$/menubarfactory.obj \
- $(SLO)$/menubarmanager.obj \
- $(SLO)$/menubarmerger.obj \
- $(SLO)$/menubarwrapper.obj \
- $(SLO)$/menudispatcher.obj \
- $(SLO)$/menumanager.obj \
- $(SLO)$/moduleacceleratorconfiguration.obj \
- $(SLO)$/moduleimagemanager.obj \
- $(SLO)$/modulemanager.obj \
- $(SLO)$/moduleuicfgsupplier.obj \
- $(SLO)$/moduleuiconfigurationmanager.obj \
- $(SLO)$/objectmenucontroller.obj \
- $(SLO)$/ocomponentaccess.obj \
- $(SLO)$/ocomponentenumeration.obj \
- $(SLO)$/oframes.obj \
- $(SLO)$/pathsettings.obj \
- $(SLO)$/persistentwindowstate.obj \
- $(SLO)$/popupmenucontrollerfactory.obj\
- $(SLO)$/presethandler.obj \
- $(SLO)$/progressbarwrapper.obj \
- $(SLO)$/recentfilesmenucontroller.obj \
- $(SLO)$/registerservices.obj \
- $(SLO)$/sessionlistener.obj \
- $(SLO)$/spinfieldtoolbarcontroller.obj \
- $(SLO)$/statusbarcontrollerfactory.obj\
- $(SLO)$/statusbarfactory.obj \
- $(SLO)$/statusbarmanager.obj \
- $(SLO)$/statusbar.obj \
- $(SLO)$/statusbarwrapper.obj \
- $(SLO)$/statusindicatorfactory.obj \
- $(SLO)$/statusindicatorinterfacewrapper.obj \
- $(SLO)$/statusindicator.obj \
- $(SLO)$/quietinteraction.obj \
- $(SLO)$/storageholder.obj \
- $(SLO)$/substitutepathvars.obj \
- $(SLO)$/tagwindowasmodified.obj \
- $(SLO)$/targethelper.obj \
- $(SLO)$/taskcreator.obj \
- $(SLO)$/taskcreatorsrv.obj \
- $(SLO)$/titlebarupdate.obj \
- $(SLO)$/togglebuttontoolbarcontroller.obj \
- $(SLO)$/toolbarcontrollerfactory.obj\
- $(SLO)$/toolbarmanager.obj \
- $(SLO)$/toolbarmerger.obj \
- $(SLO)$/toolbar.obj \
- $(SLO)$/toolbarwrapper.obj \
- $(SLO)$/toolboxfactory.obj \
- $(SLO)$/uicategorydescription.obj \
- $(SLO)$/uicommanddescription.obj \
- $(SLO)$/uiconfigurationmanager.obj \
- $(SLO)$/uielementfactorymanager.obj \
- $(SLO)$/urltransformer.obj \
- $(SLO)$/vclstatusindicator.obj \
- $(SLO)$/wakeupthread.obj \
- $(SLO)$/windowcommanddispatch.obj \
- $(SLO)$/windowstateconfiguration.obj \
- $(SLO)$/windowcontentfactorymanager.obj \
- $(SLO)$/startmoduledispatcher.obj
-
-SHL4STDLIBS= \
- $(FWILIB) \
- $(FWELIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SOTLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB) \
- $(UCBHELPERLIB) \
- $(I18NISOLANGLIB)
-
-SHL4DEF= $(MISC)$/$(SHL4TARGET).def
-SHL4DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN) $(SHL2IMPLIBN) $(SHL2TARGETN)
-
-DEF4NAME= $(SHL4TARGET)
-
-SHL4VERSIONMAP= $(SOLARENV)/src/component.map
-
-# --- services library ----------------------------------------------------
-
-SHL5TARGET= fwm$(DLLPOSTFIX)
-
-SHL5IMPLIB= ifwm
-
-SHL5OBJS= \
- $(SLO)$/helponstartup.obj \
- $(SLO)$/tabwinfactory.obj \
- $(SLO)$/tabwindow.obj \
- $(SLO)$/systemexec.obj \
- $(SLO)$/shelljob.obj \
- $(SLO)$/register3rdcomponents.obj
-
-SHL5STDLIBS= \
- $(FWILIB) \
- $(TKLIB) \
- $(VCLLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-SHL5DEF= $(MISC)$/$(SHL5TARGET).def
-SHL5DEPN= $(SHL1IMPLIBN) $(SHL1TARGETN)
-
-DEF5NAME= $(SHL5TARGET)
-
-SHL5VERSIONMAP= $(SOLARENV)/src/component.map
-
-RESLIB1NAME= fwe
-RESLIB1IMAGES= $(PRJ)$/res
-RESLIB1SRSFILES= $(SRS)$/fwk_classes.srs \
- $(SRS)$/fwk_services.srs \
-
-# --- Targets -----------------------------------------------------------------
-
-.INCLUDE : target.mk
-
-$(MISC)$/$(SHL1TARGET).flt: makefile.mk
- @echo ------------------------------
- @echo Making: $@
- @echo _Impl>$@
- @echo WEP>>$@
- @echo m_pLoader>$@
- @echo _TI2>>$@
- @echo _TI3>>$@
- @echo LIBMAIN>>$@
- @echo LibMain>>$@
- @echo _STL::pair>>$@
-
-$(MISC)$/$(SHL2TARGET).flt: makefile.mk
- @echo ------------------------------
- @echo Making: $@
- @echo _Impl>$@
- @echo WEP>>$@
- @echo m_pLoader>$@
- @echo _TI2>>$@
- @echo LIBMAIN>>$@
- @echo LibMain>>$@
-
-ALLTAR : $(MISC)/fwk.component $(MISC)/fwl.component $(MISC)/fwm.component
-
-$(MISC)/fwk.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- fwk.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL4TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt fwk.component
-
-$(MISC)/fwl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- fwl.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL3TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt fwl.component
-
-$(MISC)/fwm.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- fwm.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL5TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt fwm.component
diff --git a/framework/util/makefile.pmk b/framework/util/makefile.pmk
index e567ba01c1..6dc45f466d 100644
--- a/framework/util/makefile.pmk
+++ b/framework/util/makefile.pmk
@@ -36,3 +36,4 @@ PATH_SEPERATOR=";"
.ENDIF
JARFILES = uno.jar
+VISIBILITY_HIDDEN=TRUE
diff --git a/idl/source/prj/command.cxx b/idl/source/prj/command.cxx
index 33bde87f42..f3e3b72944 100755
--- a/idl/source/prj/command.cxx
+++ b/idl/source/prj/command.cxx
@@ -202,7 +202,11 @@ sal_Bool ReadIdl( SvIdlWorkingBase * pDataBase, const SvCommand & rCommand )
}
}
else
+ {
+ const ByteString aStr( aFileName, RTL_TEXTENCODING_UTF8 );
+ fprintf( stderr, "unable to read input file: %s\n", aStr.GetBuffer() );
return sal_False;
+ }
}
return sal_True;
}
diff --git a/linguistic/inc/hyphdta.hxx b/linguistic/inc/linguistic/hyphdta.hxx
index fe8683196d..fe8683196d 100644
--- a/linguistic/inc/hyphdta.hxx
+++ b/linguistic/inc/linguistic/hyphdta.hxx
diff --git a/linguistic/inc/lngprophelp.hxx b/linguistic/inc/linguistic/lngprophelp.hxx
index 757012f742..757012f742 100644
--- a/linguistic/inc/lngprophelp.hxx
+++ b/linguistic/inc/linguistic/lngprophelp.hxx
diff --git a/linguistic/inc/lngprops.hxx b/linguistic/inc/linguistic/lngprops.hxx
index c13bdd4874..c13bdd4874 100644
--- a/linguistic/inc/lngprops.hxx
+++ b/linguistic/inc/linguistic/lngprops.hxx
diff --git a/linguistic/inc/misc.hxx b/linguistic/inc/linguistic/misc.hxx
index 76ebf57a9c..76ebf57a9c 100644
--- a/linguistic/inc/misc.hxx
+++ b/linguistic/inc/linguistic/misc.hxx
diff --git a/linguistic/inc/spelldta.hxx b/linguistic/inc/linguistic/spelldta.hxx
index 7be1d83f61..7be1d83f61 100644
--- a/linguistic/inc/spelldta.hxx
+++ b/linguistic/inc/linguistic/spelldta.hxx
diff --git a/linguistic/prj/build.lst b/linguistic/prj/build.lst
index b85d4cfd9d..0043eaffc6 100644
--- a/linguistic/prj/build.lst
+++ b/linguistic/prj/build.lst
@@ -1,4 +1,4 @@
-lg linguistic : svl xmloff ucbhelper vos comphelper ICU:icu NULL
+lg linguistic : svl xmloff ucbhelper vos comphelper ICU:icu LIBXSLT:libxslt NULL
lg linguistic usr1 - all lg_mkout NULL
lg linguistic\prj get - all lg_prj NULL
lg linguistic\inc nmake - all lg_inc NULL
diff --git a/linguistic/prj/d.lst b/linguistic/prj/d.lst
index 0e0534feaf..03237f9257 100644
--- a/linguistic/prj/d.lst
+++ b/linguistic/prj/d.lst
@@ -7,5 +7,7 @@
..\xml\*.xml %_DEST%\xml%_EXT%\*.xml
mkdir: %_DEST%\inc%_EXT%\linguistic
-..\inc\*.hxx %_DEST%\inc%_EXT%\linguistic\*.hxx
+..\inc\linguistic\*.hxx %_DEST%\inc%_EXT%\linguistic\*.hxx
+
..\%__SRC%\misc\lng.component %_DEST%\xml%_EXT%\lng.component
+
diff --git a/linguistic/source/convdic.cxx b/linguistic/source/convdic.cxx
index c12a4bb641..eed826625d 100644
--- a/linguistic/source/convdic.cxx
+++ b/linguistic/source/convdic.cxx
@@ -66,7 +66,7 @@
#include "convdic.hxx"
#include "convdicxml.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
using namespace std;
diff --git a/linguistic/source/convdic.hxx b/linguistic/source/convdic.hxx
index 249acd7884..0b9188b64d 100644
--- a/linguistic/source/convdic.hxx
+++ b/linguistic/source/convdic.hxx
@@ -38,7 +38,7 @@
#include <hash_map>
#include <set>
#include <memory>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
// text conversion dictionary extension
diff --git a/linguistic/source/convdiclist.cxx b/linguistic/source/convdiclist.cxx
index 281de88990..66195121aa 100644
--- a/linguistic/source/convdiclist.cxx
+++ b/linguistic/source/convdiclist.cxx
@@ -53,7 +53,7 @@
#include "convdiclist.hxx"
#include "convdic.hxx"
#include "hhconvdic.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
//using namespace utl;
diff --git a/linguistic/source/convdiclist.hxx b/linguistic/source/convdiclist.hxx
index 635df1ea60..056acac0fa 100644
--- a/linguistic/source/convdiclist.hxx
+++ b/linguistic/source/convdiclist.hxx
@@ -36,7 +36,7 @@
#include <svl/svarray.hxx>
#include <tools/debug.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "lngopt.hxx"
diff --git a/linguistic/source/convdicxml.cxx b/linguistic/source/convdicxml.cxx
index be31a7204c..9a06fcd892 100644
--- a/linguistic/source/convdicxml.cxx
+++ b/linguistic/source/convdicxml.cxx
@@ -58,7 +58,7 @@
#include "convdic.hxx"
#include "convdicxml.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
using namespace std;
diff --git a/linguistic/source/convdicxml.hxx b/linguistic/source/convdicxml.hxx
index 765e8f4fe8..dbeb2cc948 100644
--- a/linguistic/source/convdicxml.hxx
+++ b/linguistic/source/convdicxml.hxx
@@ -38,7 +38,7 @@
#include <cppuhelper/interfacecontainer.h>
#include <tools/string.hxx>
#include <rtl/ustring.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
diff --git a/linguistic/source/dicimp.hxx b/linguistic/source/dicimp.hxx
index 4ac27dd59d..f33d1c7958 100644
--- a/linguistic/source/dicimp.hxx
+++ b/linguistic/source/dicimp.hxx
@@ -40,7 +40,7 @@
#include <tools/stream.hxx>
#include "defs.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
///////////////////////////////////////////////////////////////////////////
diff --git a/linguistic/source/dlistimp.hxx b/linguistic/source/dlistimp.hxx
index a58245d7bc..f8677cd06b 100644
--- a/linguistic/source/dlistimp.hxx
+++ b/linguistic/source/dlistimp.hxx
@@ -41,7 +41,7 @@
#include <vector>
#include <memory>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "lngopt.hxx"
class DicEvtListenerHelper;
diff --git a/linguistic/source/gciterator.cxx b/linguistic/source/gciterator.cxx
index e8dd25a2f6..ab186e4eb4 100644
--- a/linguistic/source/gciterator.cxx
+++ b/linguistic/source/gciterator.cxx
@@ -67,7 +67,7 @@
#include <map>
#include <vector>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
#include "lngopt.hxx"
diff --git a/linguistic/source/grammarchecker.cxx b/linguistic/source/grammarchecker.cxx
index 2640b62473..52afa8391c 100644
--- a/linguistic/source/grammarchecker.cxx
+++ b/linguistic/source/grammarchecker.cxx
@@ -34,7 +34,7 @@
#include <cppuhelper/implbase4.hxx>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
#include <cppuhelper/factory.hxx>
#include <com/sun/star/registry/XRegistryKey.hpp>
diff --git a/linguistic/source/hhconvdic.cxx b/linguistic/source/hhconvdic.cxx
index b55a8538de..7aad848a66 100644
--- a/linguistic/source/hhconvdic.cxx
+++ b/linguistic/source/hhconvdic.cxx
@@ -48,7 +48,7 @@
#include <com/sun/star/registry/XRegistryKey.hpp>
#include "hhconvdic.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
using namespace utl;
diff --git a/linguistic/source/hhconvdic.hxx b/linguistic/source/hhconvdic.hxx
index c66974f26e..f83f924af8 100644
--- a/linguistic/source/hhconvdic.hxx
+++ b/linguistic/source/hhconvdic.hxx
@@ -35,7 +35,7 @@
#include <cppuhelper/interfacecontainer.h>
#include <tools/string.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
#include "convdic.hxx"
diff --git a/linguistic/source/hyphdsp.cxx b/linguistic/source/hyphdsp.cxx
index f73966c1df..d12b2a5c1c 100644
--- a/linguistic/source/hyphdsp.cxx
+++ b/linguistic/source/hyphdsp.cxx
@@ -42,8 +42,8 @@
#include <osl/mutex.hxx>
#include "hyphdsp.hxx"
-#include "hyphdta.hxx"
-#include "lngprops.hxx"
+#include "linguistic/hyphdta.hxx"
+#include "linguistic/lngprops.hxx"
#include "lngsvcmgr.hxx"
diff --git a/linguistic/source/hyphdsp.hxx b/linguistic/source/hyphdsp.hxx
index 686270da77..338eb80ca4 100644
--- a/linguistic/source/hyphdsp.hxx
+++ b/linguistic/source/hyphdsp.hxx
@@ -45,7 +45,7 @@
#include <map>
#include "lngopt.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
class LngSvcMgr;
diff --git a/linguistic/source/hyphdta.cxx b/linguistic/source/hyphdta.cxx
index 118592bdc1..3242d64120 100644
--- a/linguistic/source/hyphdta.cxx
+++ b/linguistic/source/hyphdta.cxx
@@ -28,9 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_linguistic.hxx"
-#include "hyphdta.hxx"
-#include "lngprops.hxx"
-#include "misc.hxx"
+#include "linguistic/hyphdta.hxx"
+#include "linguistic/lngprops.hxx"
+#include "linguistic/misc.hxx"
#include <osl/mutex.hxx>
diff --git a/linguistic/source/iprcache.cxx b/linguistic/source/iprcache.cxx
index 1c64371cee..c488b13783 100644
--- a/linguistic/source/iprcache.cxx
+++ b/linguistic/source/iprcache.cxx
@@ -31,7 +31,7 @@
#include <string.h>
#include "iprcache.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include <com/sun/star/linguistic2/DictionaryListEventFlags.hpp>
#include <tools/debug.hxx>
@@ -57,7 +57,7 @@
#endif
#include <unotools/processfactory.hxx>
-#include <lngprops.hxx>
+#include <linguistic/lngprops.hxx>
using namespace utl;
using namespace osl;
diff --git a/linguistic/source/lngopt.cxx b/linguistic/source/lngopt.cxx
index 75cdc14ec6..92bb7295a2 100644
--- a/linguistic/source/lngopt.cxx
+++ b/linguistic/source/lngopt.cxx
@@ -29,8 +29,8 @@
#include "precompiled_linguistic.hxx"
#include "lngopt.hxx"
-#include "lngprops.hxx"
-#include "misc.hxx"
+#include "linguistic/lngprops.hxx"
+#include "linguistic/misc.hxx"
#include <tools/debug.hxx>
#include <unotools/lingucfg.hxx>
diff --git a/linguistic/source/lngopt.hxx b/linguistic/source/lngopt.hxx
index 8f2dca7b7f..06a438ffe6 100644
--- a/linguistic/source/lngopt.hxx
+++ b/linguistic/source/lngopt.hxx
@@ -45,7 +45,7 @@
#include <tools/solar.h>
#include <svl/itemprop.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
#include <vos/refernce.hxx>
diff --git a/linguistic/source/lngprophelp.cxx b/linguistic/source/lngprophelp.cxx
index 2183b3468d..c10c91abae 100644
--- a/linguistic/source/lngprophelp.cxx
+++ b/linguistic/source/lngprophelp.cxx
@@ -36,10 +36,10 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <osl/mutex.hxx>
-#include <misc.hxx>
-#include <lngprops.hxx>
+#include <linguistic/misc.hxx>
+#include <linguistic/lngprops.hxx>
-#include <lngprophelp.hxx>
+#include <linguistic/lngprophelp.hxx>
//using namespace utl;
diff --git a/linguistic/source/lngsvcmgr.cxx b/linguistic/source/lngsvcmgr.cxx
index 90513a1812..0e63b58528 100644
--- a/linguistic/source/lngsvcmgr.cxx
+++ b/linguistic/source/lngsvcmgr.cxx
@@ -49,7 +49,7 @@
#include "lngsvcmgr.hxx"
#include "lngopt.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "spelldsp.hxx"
#include "hyphdsp.hxx"
#include "thesdsp.hxx"
diff --git a/linguistic/source/lngsvcmgr.hxx b/linguistic/source/lngsvcmgr.hxx
index 32f3f8f42d..613e06fb93 100644
--- a/linguistic/source/lngsvcmgr.hxx
+++ b/linguistic/source/lngsvcmgr.hxx
@@ -42,7 +42,7 @@
//#include <vcl/timer.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
class SpellCheckerDispatcher;
diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx
index 235a6bd6c6..1e674c6eb4 100644
--- a/linguistic/source/misc.cxx
+++ b/linguistic/source/misc.cxx
@@ -53,10 +53,10 @@
#include <rtl/instance.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "defs.hxx"
-#include "lngprops.hxx"
-#include "hyphdta.hxx"
+#include "linguistic/lngprops.hxx"
+#include "linguistic/hyphdta.hxx"
#include <i18npool/mslangid.hxx>
using namespace utl;
diff --git a/linguistic/source/misc2.cxx b/linguistic/source/misc2.cxx
index 2f05092660..38743e3e73 100644
--- a/linguistic/source/misc2.cxx
+++ b/linguistic/source/misc2.cxx
@@ -44,7 +44,7 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/uno/Reference.h>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
using namespace com::sun::star;
diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx
index 3eb64a866e..e69b7ec13c 100644
--- a/linguistic/source/spelldsp.cxx
+++ b/linguistic/source/spelldsp.cxx
@@ -43,9 +43,9 @@
#include <vector>
#include "spelldsp.hxx"
-#include "spelldta.hxx"
+#include "linguistic/spelldta.hxx"
#include "lngsvcmgr.hxx"
-#include "lngprops.hxx"
+#include "linguistic/lngprops.hxx"
using namespace utl;
diff --git a/linguistic/source/spelldsp.hxx b/linguistic/source/spelldsp.hxx
index 11c1e4106f..fb86652fd7 100644
--- a/linguistic/source/spelldsp.hxx
+++ b/linguistic/source/spelldsp.hxx
@@ -29,7 +29,7 @@
#define _LINGUISTIC_SPELLDSP_HXX_
#include "lngopt.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "iprcache.hxx"
#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
diff --git a/linguistic/source/spelldta.cxx b/linguistic/source/spelldta.cxx
index 7c1e4e2cfc..3b4627db34 100644
--- a/linguistic/source/spelldta.cxx
+++ b/linguistic/source/spelldta.cxx
@@ -37,7 +37,7 @@
#include <vector>
-#include "spelldta.hxx"
+#include "linguistic/spelldta.hxx"
#include "lngsvcmgr.hxx"
diff --git a/linguistic/source/thesdsp.cxx b/linguistic/source/thesdsp.cxx
index 499219f304..de466dac9d 100644
--- a/linguistic/source/thesdsp.cxx
+++ b/linguistic/source/thesdsp.cxx
@@ -38,7 +38,7 @@
#include <osl/mutex.hxx>
#include "thesdsp.hxx"
-#include "lngprops.hxx"
+#include "linguistic/lngprops.hxx"
using namespace utl;
using namespace osl;
diff --git a/linguistic/source/thesdta.cxx b/linguistic/source/thesdta.cxx
index e2d59f3548..c5fce82b3c 100644
--- a/linguistic/source/thesdta.cxx
+++ b/linguistic/source/thesdta.cxx
@@ -30,7 +30,7 @@
#include <tools/debug.hxx>
#include <osl/mutex.hxx>
-#include <misc.hxx>
+#include <linguistic/misc.hxx>
#include "thesdta.hxx"
diff --git a/linguistic/workben/sprophelp.cxx b/linguistic/workben/sprophelp.cxx
index 40f2fa986d..db72008c03 100644
--- a/linguistic/workben/sprophelp.cxx
+++ b/linguistic/workben/sprophelp.cxx
@@ -28,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_linguistic.hxx"
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "sprophelp.hxx"
-#include "lngprops.hxx"
+#include "linguistic/lngprops.hxx"
#include <tools/debug.hxx>
#include <com/sun/star/linguistic2/LinguServiceEvent.hpp>
diff --git a/linguistic/workben/sspellimp.cxx b/linguistic/workben/sspellimp.cxx
index d6761afbd1..8ac51a7a00 100644
--- a/linguistic/workben/sspellimp.cxx
+++ b/linguistic/workben/sspellimp.cxx
@@ -41,8 +41,8 @@
#include <sspellimp.hxx>
#endif
-#include "lngprops.hxx"
-#include "spelldta.hxx"
+#include "linguistic/lngprops.hxx"
+#include "linguistic/spelldta.hxx"
using namespace utl;
using namespace osl;
diff --git a/linguistic/workben/sspellimp.hxx b/linguistic/workben/sspellimp.hxx
index c02302fdfa..8f6494f478 100644
--- a/linguistic/workben/sspellimp.hxx
+++ b/linguistic/workben/sspellimp.hxx
@@ -42,7 +42,7 @@
#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp>
#include <tools/table.hxx>
-#include "misc.hxx"
+#include "linguistic/misc.hxx"
#include "sprophelp.hxx"
using namespace ::rtl;
diff --git a/officecfg/registry/data/org/openoffice/Interaction.xcu b/officecfg/registry/data/org/openoffice/Interaction.xcu
index 4269378c36..c359ea662b 100644
--- a/officecfg/registry/data/org/openoffice/Interaction.xcu
+++ b/officecfg/registry/data/org/openoffice/Interaction.xcu
@@ -52,5 +52,17 @@
<value>com.sun.star.comp.dbaccess.DatabaseInteractionHandler</value>
</prop>
</node>
+ <node oor:name="org.openoffice.Filter.PDFExport.Interactions" oor:op="replace">
+ <node oor:name="HandledRequestTypes">
+ <node oor:name="com.sun.star.task.PDFExportException" oor:op="replace">
+ <prop oor:name="Propagation" oor:type="xs:string">
+ <value>named-and-derived</value>
+ </prop>
+ </node>
+ </node>
+ <prop oor:name="ServiceName" oor:type="xs:string">
+ <value>com.sun.star.filter.pdfexport.PDFExportInteractionHandler</value>
+ </prop>
+ </node>
</node>
</oor:component-data>
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 2efbaaa703..f3b2a4a690 100755
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -29,13 +29,13 @@
<oor:component-data oor:name="GenericCommands" oor:package="org.openoffice.Office.UI" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<node oor:name="UserInterface">
<node oor:name="Commands">
- <node oor:name=".uno:WebHtml" oor:op="replace">
+ <node oor:name=".uno:WebHtml" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="de">Vorschau in Web-Browser</value>
<value xml:lang="en-US">Preview in Web Browser</value>
</prop>
</node>
- <node oor:name=".uno:NewPresentation" oor:op="replace">
+ <node oor:name=".uno:NewPresentation" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">New Presentation</value>
</prop>
@@ -1471,7 +1471,7 @@
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
- </node>
+ </node>
<node oor:name=".uno:UpSearch" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Find Previous</value>
@@ -1484,7 +1484,7 @@
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Focus to Findbar</value>
</prop>
- </node>
+ </node>
<node oor:name=".uno:ExtendedHelp" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">What's ~This?</value>
@@ -2117,9 +2117,9 @@
</prop>
</node>
<node oor:name=".uno:LanguageStatus" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Language Status</value>
- </prop>
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Language Status</value>
+ </prop>
</node>
<node oor:name=".uno:ChooseControls" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
@@ -3006,7 +3006,7 @@
<value xml:lang="en-US">~Spelling and Grammar...</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
- <value>1</value>
+ <value>1</value>
</prop>
</node>
<node oor:name=".uno:SpellDialog" oor:op="replace">
@@ -3461,12 +3461,12 @@
<value>9</value>
</prop>
</node>
- <node oor:name=".uno:TaskPane" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Task Pane</value>
- </prop>
- </node>
- <node oor:name=".uno:RestoreEditingView" oor:op="replace">
+ <node oor:name=".uno:TaskPane" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Task Pane</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:RestoreEditingView" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Restore Editing View</value>
</prop>
@@ -3480,10 +3480,10 @@
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Fit to Frame</value>
</prop>
- <prop oor:name="Properties" oor:type="xs:int">
- <value>8</value>
- </prop>
- </node>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>8</value>
+ </prop>
+ </node>
<node oor:name=".uno:ImageMapDialog" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">ImageMap</value>
@@ -3740,10 +3740,10 @@
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Flash</value>
</prop>
- <prop oor:name="Properties" oor:type="xs:int">
- <value>8</value>
- </prop>
- </node>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>8</value>
+ </prop>
+ </node>
<node oor:name=".uno:ToolsMacroEdit" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Edit Macros</value>
@@ -4047,12 +4047,12 @@
</node>
<node oor:name=".uno:RubyDialog" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">As~ian phonetic guide...</value>
+ <value xml:lang="en-US">As~ian phonetic guide...</value>
</prop>
- <prop oor:name="Properties" oor:type="xs:int">
- <value>8</value>
- </prop>
- </node>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>8</value>
+ </prop>
+ </node>
<node oor:name=".uno:InsertSymbol" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">S~pecial Character...</value>
@@ -4149,10 +4149,10 @@
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Status ~Bar</value>
</prop>
- <prop oor:name="Properties" oor:type="xs:int">
- <value>8</value>
- </prop>
- </node>
+ <prop oor:name="Properties" oor:type="xs:int">
+ <value>8</value>
+ </prop>
+ </node>
<node oor:name=".uno:MacroBarVisible" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Macro Toolbar On/Off</value>
@@ -5121,16 +5121,16 @@
<value xml:lang="en-US">~Extension Manager...</value>
</prop>
</node>
- <node oor:name=".uno:Signature" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Digital Signatu~res...</value>
- </prop>
- </node>
- <node oor:name=".uno:MacroSignature" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Digital Signature...</value>
- </prop>
- </node>
+ <node oor:name=".uno:Signature" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Digital Signatu~res...</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:MacroSignature" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Digital Signature...</value>
+ </prop>
+ </node>
<node oor:name=".uno:CommonAlignLeft" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Left</value>
@@ -5187,22 +5187,27 @@
<value xml:lang="en-US">Find</value>
</prop>
</node> -->
- <node oor:name=".uno:DeleteAllNotes" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Delete All Comments</value>
- </prop>
- </node>
- <node oor:name=".uno:DeleteAuthor" oor:op="replace">
- <prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Delete All Comments by This Author</value>
- </prop>
- </node>
- <node oor:name=".uno:DeleteNote" oor:op="replace">
+ <node oor:name=".uno:DeleteAllNotes" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Delete All Comments</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:DeleteAuthor" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Delete All Comments by This Author</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:ReplyComment" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
- <value xml:lang="en-US">Delete Comment</value>
+ <value xml:lang="en-US">Reply Comment</value>
</prop>
</node>
- </node>
+ <node oor:name=".uno:DeleteComment" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Delete Comment</value>
+ </prop>
+ </node>
+ </node>
<node oor:name="Popups">
<node oor:name=".uno:HelpMenu" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
index 4fa236666b..465c6b37c0 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu
@@ -166,6 +166,16 @@
<value xml:lang="en-US">~Protect Records...</value>
</prop>
</node>
+ <node oor:name=".uno:RejectTracedChange" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Reject Change</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:AcceptTracedChange" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Accept Change</value>
+ </prop>
+ </node>
<node oor:name=".uno:UpdateAllLinks" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Links</value>
diff --git a/officecfg/registry/data/org/openoffice/Office/Writer.xcu b/officecfg/registry/data/org/openoffice/Office/Writer.xcu
index 8add2a0aa1..5f3bd4e6e3 100644
--- a/officecfg/registry/data/org/openoffice/Office/Writer.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Writer.xcu
@@ -53,6 +53,9 @@
</node>
<node oor:name="Insert">
<node oor:name="Caption">
+ <prop oor:name="CaptionOrderNumberingFirst">
+ <value xml:lang="hu">true</value>
+ </prop>
<node oor:name="WriterObject">
<node oor:name="Table">
<node oor:name="Settings">
diff --git a/officecfg/registry/schema/org/openoffice/Office/ExtensionManager.xcs b/officecfg/registry/schema/org/openoffice/Office/ExtensionManager.xcs
index de26a3ae14..819290c3c2 100644..100755
--- a/officecfg/registry/schema/org/openoffice/Office/ExtensionManager.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/ExtensionManager.xcs
@@ -26,28 +26,52 @@
*
************************************************************************ -->
<!DOCTYPE oor:component-schema SYSTEM "../../../../component-schema.dtd">
-<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:name="ExtensionManager" oor:package="org.openoffice.Office" xml:lang="en-US">
- <info>
- <author>JL</author>
- <desc >Contains information for the Extension Manager.</desc>
- </info>
- <component>
- <group oor:name="ExtensionRepositories">
- <info>
- <desc>Information about repositories for extensions.
- </desc>
- </info>
- <prop oor:name="WebsiteLink" oor:type="xs:string">
- <info>
- <desc>This links is used from the Extension Manager. A user can click on the &amp;Download extensions...&amp;
- control so that a browser is opened which displayed the website to which directs this URL.
- </desc>
- </info>
- <value></value>
- </prop>
-
- </group>
- </component>
-
+<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:name="ExtensionManager" oor:package="org.openoffice.Office" xml:lang="en-US">
+ <info>
+ <author>JL</author>
+ <desc>Contains information for the Extension Manager.</desc>
+ </info>
+ <templates>
+ <group oor:name="UpdateInfo">
+ <info>
+ <desc>Holds the information about updates for extensions.</desc>
+ </info>
+ <prop oor:name="Version" oor:type="xs:string" oor:localized="false">
+ <info>
+ <desc>The version of the extension</desc>
+ </info>
+ </prop>
+ </group>
+ </templates>
+ <component>
+ <group oor:name="ExtensionRepositories">
+ <info>
+ <desc>Information about repositories for extensions.</desc>
+ </info>
+ <prop oor:name="WebsiteLink" oor:type="xs:string">
+ <info>
+ <desc>This links is used from the Extension Manager. A user can click on the &amp;Download extensions...&amp;
+ control so that a browser is opened which displayed the website to which directs this URL.
+ </desc>
+ </info>
+ <value></value>
+ </prop>
+ </group>
+ <group oor:name="ExtensionUpdateData">
+ <info>
+ <desc>Contains inforamtion about availabe or ignored updates for extensions."</desc>
+ </info>
+ <set oor:name="AvailableUpdates" oor:node-type="UpdateInfo">
+ <info>
+ <desc>This set lists all known updates for extensions, which where not applied yet.</desc>
+ </info>
+ </set>
+ <set oor:name="IgnoredUpdates" oor:node-type="UpdateInfo">
+ <info>
+ <desc>This set lists all updates for extensions which the user wanted to ignore.</desc>
+ </info>
+ </set>
+ </group>
+ </component>
</oor:component-schema>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Jobs.xcs b/officecfg/registry/schema/org/openoffice/Office/Jobs.xcs
index a9b4cdc70f..f5421c8a24 100644..100755
--- a/officecfg/registry/schema/org/openoffice/Office/Jobs.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Jobs.xcs
@@ -40,6 +40,11 @@
<desc>Must contain an UNO implementation(!) name of the implemented job component.</desc>
</info>
</prop>
+ <prop oor:name="Context" oor:type="xs:string">
+ <info>
+ <desc>An property to define the context this event should be active in. It can be empty or a colon separated list of the supported application modules.</desc>
+ </info>
+ </prop>
<group oor:name="Arguments" oor:extensible="true">
<info>
<desc>Can be filled with any argument, which is under control of the job component.</desc>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
index 4a3c2c02c3..ea806e58f3 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Writer.xcs
@@ -1512,6 +1512,15 @@
<info>
<desc>Contains miscellaneous settings.</desc>
</info>
+ <prop oor:name="IsAlignMathObjectsToBaseline" oor:type="xs:boolean">
+ <!-- UIHints: none yet -->
+ <info>
+ <author>TL</author>
+ <desc>Automatically align the baseline of Math objects with the baseline of the surrounding text.</desc>
+ <label>Align Math objects</label>
+ </info>
+ <value>true</value>
+ </prop>
<prop oor:name="MeasureUnit" oor:type="xs:int">
<!-- OldPath: Writer/Layout -->
<!-- OldLocation: Soffice.cfg -->
diff --git a/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs b/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
index 8738d9db21..b92e4684c8 100644
--- a/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/WriterWeb.xcs
@@ -418,6 +418,15 @@
<info>
<desc>Contains miscellaneous settings.</desc>
</info>
+ <prop oor:name="IsAlignMathObjectsToBaseline" oor:type="xs:boolean">
+ <!-- UIHints: none yet -->
+ <info>
+ <author>TL</author>
+ <desc>Automatically align the baseline of Math objects with the baseline of the surrounding text.</desc>
+ <label>Align Math objects</label>
+ </info>
+ <value>true</value>
+ </prop>
<prop oor:name="MeasureUnit" oor:type="xs:int">
<!-- OldPath: HTML_Editor/Layout/Window -->
<!-- OldLocation: Soffice.cfg -->
diff --git a/oovbaapi/ooo/vba/XApplicationBase.idl b/oovbaapi/ooo/vba/XApplicationBase.idl
index 2a9830568d..c5ed2518aa 100644
--- a/oovbaapi/ooo/vba/XApplicationBase.idl
+++ b/oovbaapi/ooo/vba/XApplicationBase.idl
@@ -49,9 +49,9 @@ interface XApplicationBase
void Quit();
- any CommandBars( [in] any aIndex );
- void Run([in] string MacroName, [in] /*Optional*/ any varg1, [in] /*Optional*/ any varg2, [in] /*Optional*/ any varg3, [in] /*Optional*/ any varg4, [in] /*Optional*/ any varg5, [in] /*Optional*/ any varg6, [in] /*Optional*/ any varg7, [in] /*Optional*/ any varg8, [in] /*Optional*/ any varg9, [in] /*Optional*/ any varg10, [in] /*Optional*/ any varg11, [in] /*Optional*/ any varg12, [in] /*Optional*/ any varg13, [in] /*Optional*/ any varg14, [in] /*Optional*/ any varg15, [in] /*Optional*/ any varg16, [in] /*Optional*/ any varg17, [in] /*Optional*/ any varg18, [in] /*Optional*/ any varg19, [in] /*Optional*/ any varg20, [in] /*Optional*/ any varg21, [in] /*Optional*/ any varg22, [in] /*Optional*/ any varg23, [in] /*Optional*/ any varg24, [in] /*Optional*/ any varg25, [in] /*Optional*/ any varg26, [in] /*Optional*/ any varg27, [in] /*Optional*/ any varg28, [in] /*Optional*/ any varg29, [in] /*Optional*/ any varg30);
- void OnTime( [in] any aEarliestTime, [in] string aFunction, [in] any aLatestTime, [in] any aSchedule );
+ any CommandBars( [in] any Index );
+ void Run( [in] string Macro, [in] /*Optional*/ any Arg1, [in] /*Optional*/ any Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30);
+ void OnTime( [in] any EarliestTime, [in] string Procedure, [in] any LatestTime, [in] any Schedule );
float CentimetersToPoints([in] float Centimeters );
void Undo();
};
diff --git a/oovbaapi/ooo/vba/XVBAAppService.idl b/oovbaapi/ooo/vba/XVBAAppService.idl
deleted file mode 100644
index 38cb0f9a1a..0000000000
--- a/oovbaapi/ooo/vba/XVBAAppService.idl
+++ /dev/null
@@ -1,72 +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: XWorkbook.idl,v $
- * $Revision: 1.4 $
- *
- * 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 __ooo_vba_appservice_idl__
-#define __ooo_vba_appservice_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_uno_XComponentContext_idl__
-#include <com/sun/star/uno/XComponentContext.idl>
-#endif
-
-#ifndef __com_sun_star_frame_XModel_idl__
-#include <com/sun/star/frame/XModel.idl>
-#endif
-
-#ifndef __com_sun_star_script_XLibraryContainer_idl__
-#include <com/sun/star/script/XLibraryContainer.idl>
-#endif
-
-//=============================================================================
-
-module ooo { module vba {
-
-//=============================================================================
-
-
-interface XHelperInterface;
-interface XComponentContext;
-interface XModel;
-
-interface XVBAAppService
-{
- interface ::com::sun::star::uno::XInterface;
-
- any getVBE([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel);
- any getVBProjects([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel, [in] ::com::sun::star::script::XLibraryContainer xMacroLibraryContainer, [in] com::sun::star::script::XLibraryContainer xDialogLibraryContainer);
-
-
-};
-
- }; };
-
-#endif
diff --git a/oovbaapi/ooo/vba/XVBADocService.idl b/oovbaapi/ooo/vba/XVBADocService.idl
deleted file mode 100644
index 2028772702..0000000000
--- a/oovbaapi/ooo/vba/XVBADocService.idl
+++ /dev/null
@@ -1,72 +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: XVBADocService.idl,v $
- * $Revision: 1.4 $
- *
- * 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 __ooo_vba_socservice_idl__
-#define __ooo_vba_appservice_idl__
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_uno_XComponentContext_idl__
-#include <com/sun/star/uno/XComponentContext.idl>
-#endif
-
-#ifndef __com_sun_star_frame_XModel_idl__
-#include <com/sun/star/frame/XModel.idl>
-#endif
-
-#ifndef __com_sun_star_script_XLibraryContainer_idl__
-#include <com/sun/star/script/XLibraryContainer.idl>
-#endif
-
-//=============================================================================
-
-module ooo { module vba {
-
-//=============================================================================
-
-
-interface XHelperInterface;
-interface XComponentContext;
-interface XModel;
-
-interface XVBADocService
-{
- interface ::com::sun::star::uno::XInterface;
-
-
- any getVBProject([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel, [in] ::com::sun::star::script::XLibraryContainer xMacroLibraryContainer, [in] com::sun::star::script::XLibraryContainer xDialogLibraryContainer);
-
-
-};
-
- }; };
-
-#endif
diff --git a/oovbaapi/ooo/vba/excel/SheetObject.idl b/oovbaapi/ooo/vba/excel/SheetObject.idl
index 5d8e6efb39..618c0962d5 100644
--- a/oovbaapi/ooo/vba/excel/SheetObject.idl
+++ b/oovbaapi/ooo/vba/excel/SheetObject.idl
@@ -111,7 +111,7 @@ interface XButton : com::sun::star::uno::XInterface
[attribute] long Orientation;
/** Access to text and text formatting of the button caption. */
- XCharacters Characters( [in] any aStart, [in] any aLength );
+ XCharacters Characters( [in] any Start, [in] any Length );
};
//=============================================================================
diff --git a/oovbaapi/ooo/vba/excel/SheetObjects.idl b/oovbaapi/ooo/vba/excel/SheetObjects.idl
index 4c93bb3bf5..a88ab6b162 100644
--- a/oovbaapi/ooo/vba/excel/SheetObjects.idl
+++ b/oovbaapi/ooo/vba/excel/SheetObjects.idl
@@ -81,7 +81,7 @@ interface XGraphicObjects : com::sun::star::uno::XInterface
@return The created graphic object.
*/
- any Add( [in] any fLeft, [in] any fTop, [in] any fWidth, [in] any fHeight );
+ any Add( [in] any Left, [in] any Top, [in] any Width, [in] any Height );
};
//=============================================================================
@@ -109,7 +109,7 @@ interface XLineObjects : com::sun::star::uno::XInterface
@return The created line object.
*/
- any Add( [in] any fX1, [in] any fY1, [in] any fX2, [in] any fY2 );
+ any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2 );
};
//=============================================================================
@@ -131,7 +131,7 @@ interface XDrawings : com::sun::star::uno::XInterface
@return The created polygon object.
*/
- any Add( [in] any fX1, [in] any fY1, [in] any fX2, [in] any fY2, [in] any bClosed );
+ any Add( [in] any X1, [in] any Y1, [in] any X2, [in] any Y2, [in] any Closed );
};
//=============================================================================
diff --git a/oovbaapi/ooo/vba/excel/XApplication.idl b/oovbaapi/ooo/vba/excel/XApplication.idl
index ac1f4c4ee0..9716b4810a 100644
--- a/oovbaapi/ooo/vba/excel/XApplication.idl
+++ b/oovbaapi/ooo/vba/excel/XApplication.idl
@@ -73,10 +73,10 @@ interface XApplication
string LibraryPath() raises(com::sun::star::script::BasicErrorException);
string TemplatesPath() raises(com::sun::star::script::BasicErrorException);
string PathSeparator() raises(com::sun::star::script::BasicErrorException);
- //any CommandBars( [in] any aIndex );
- any Workbooks( [in] any aIndex );
- any Worksheets( [in] any aIndex );
- any Windows( [in] any aIndex );
+ //any CommandBars( [in] any Index );
+ any Workbooks( [in] any Index );
+ any Worksheets( [in] any Index );
+ any Windows( [in] any Index );
any WorksheetFunction();
any Evaluate( [in] string Name );
any Dialogs( [in] any DialogIndex );
@@ -92,7 +92,7 @@ interface XApplication
raises(com::sun::star::script::BasicErrorException);
void Volatile([in] any Volatile);
void DoEvents();
- any Caller( [in] any aIndex );
+ any Caller( [in] any Index );
};
}; }; };
diff --git a/oovbaapi/ooo/vba/excel/XFormat.idl b/oovbaapi/ooo/vba/excel/XFormat.idl
index 7b3622ecc5..3cbb678dad 100644
--- a/oovbaapi/ooo/vba/excel/XFormat.idl
+++ b/oovbaapi/ooo/vba/excel/XFormat.idl
@@ -46,7 +46,7 @@ interface XFormat
interface ::ooo::vba::XHelperInterface;
// void Clear( ) raises ( com::sun::star::script::BasicErrorException );
- any Borders( [in] any item )
+ any Borders( [in] any Item )
raises(com::sun::star::script::BasicErrorException);
XFont Font()
diff --git a/oovbaapi/ooo/vba/excel/XGlobals.idl b/oovbaapi/ooo/vba/excel/XGlobals.idl
index ad9d85eb45..52ebfdadaf 100644
--- a/oovbaapi/ooo/vba/excel/XGlobals.idl
+++ b/oovbaapi/ooo/vba/excel/XGlobals.idl
@@ -65,18 +65,18 @@ interface XGlobals: com::sun::star::uno::XInterface
void Calculate() raises(com::sun::star::script::BasicErrorException);
XRange Cells([in] any RowIndex, [in] any ColumnIndex);
- XRange Columns([in] any aIndex);
- any CommandBars( [in] any aIndex );
+ XRange Columns([in] any Index);
+ any CommandBars( [in] any Index );
any Evaluate( [in] string Name );
XRange Intersect([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30)
raises(com::sun::star::script::BasicErrorException);
- any WorkSheets( [in] any aIndex );
- any WorkBooks( [in] any aIndex );
+ any WorkSheets( [in] any Index );
+ any WorkBooks( [in] any Index );
any WorksheetFunction();
- any Windows( [in] any aIndex );
- any Sheets( [in] any aIndex );
+ any Windows( [in] any Index );
+ any Sheets( [in] any Index );
any Range( [in] any Cell1, [in] any Cell2 );
- XRange Rows([in] any aIndex);
+ XRange Rows([in] any Index);
any Names( [in] any Index );
XRange Union([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30)
raises(com::sun::star::script::BasicErrorException);
diff --git a/oovbaapi/ooo/vba/excel/XHyperlinks.idl b/oovbaapi/ooo/vba/excel/XHyperlinks.idl
index 76c6daf3e3..0b8a6c28b6 100644
--- a/oovbaapi/ooo/vba/excel/XHyperlinks.idl
+++ b/oovbaapi/ooo/vba/excel/XHyperlinks.idl
@@ -47,11 +47,11 @@ interface XHyperlinks
// ------------------------------------------------------------------------
XHyperlink Add(
- [in] any aAnchor,
- [in] any aAddress,
- [in] any aSubAddress,
- [in] any aScreenTip,
- [in] any aTextToDisplay );
+ [in] any Anchor,
+ [in] any Address,
+ [in] any SubAddress,
+ [in] any ScreenTip,
+ [in] any TextToDisplay );
// ------------------------------------------------------------------------
diff --git a/oovbaapi/ooo/vba/excel/XRange.idl b/oovbaapi/ooo/vba/excel/XRange.idl
index 5d59a3baec..bdc3500f21 100644
--- a/oovbaapi/ooo/vba/excel/XRange.idl
+++ b/oovbaapi/ooo/vba/excel/XRange.idl
@@ -113,7 +113,7 @@ interface XRange
void FillRight();
void FillUp();
void FillDown();
- XRange Item([in] any row, [in] any column) raises(com::sun::star::script::BasicErrorException);
+ XRange Item([in] any RowIndex, [in] any ColumnIndex) raises(com::sun::star::script::BasicErrorException);
XRange Offset([in] any RowOffset, [in] any ColumnOffset);
XRange CurrentRegion();
XRange CurrentArray();
@@ -146,7 +146,7 @@ interface XRange
XCharacters characters([in] any Start, [in] any Length);
void Delete( [in] any Shift );
- any Areas( [in] any item );
+ any Areas( [in] any Item );
any BorderAround( [in] any LineStyle, [in] any Weight, [in] any ColorIndex, [in] any Color );
void AutoFilter([in ] any Field, [in] any Criteria1, [in] any Operator, [in] any Criteria2, [in] any VisibleDropDown);
void Insert([in] any Shift, [in] any CopyOrigin);
@@ -165,7 +165,7 @@ interface XRange
void RemoveSubtotal() raises ( com::sun::star::script::BasicErrorException );
void Subtotal( [in] long GroupBy, [in] long Function, [in] /*Optional*/ sequence<long> TotalList, [in] /*Optional*/ any Replace, [in] /*Optional*/ any PageBreaks, [in] any SummaryBelowData ) raises ( com::sun::star::script::BasicErrorException );
XRange MergeArea( ) raises ( com::sun::star::script::BasicErrorException );
- any Hyperlinks( [in] any aIndex );
+ any Hyperlinks( [in] any Index );
};
//=============================================================================
diff --git a/oovbaapi/ooo/vba/excel/XWindow.idl b/oovbaapi/ooo/vba/excel/XWindow.idl
index e2bf39a699..3e2e55eac3 100644
--- a/oovbaapi/ooo/vba/excel/XWindow.idl
+++ b/oovbaapi/ooo/vba/excel/XWindow.idl
@@ -60,7 +60,7 @@ interface XWindow : com::sun::star::uno::XInterface
[attribute, readonly] XRange VisibleRange;
[attribute] any WindowState;
[attribute] any Zoom;
- any SelectedSheets( [in] any aIndex );
+ any SelectedSheets( [in] any Index );
void SmallScroll( [in] any Down, [in] any Up, [in] any ToRight, [in] any ToLeft );
void LargeScroll( [in] any Down, [in] any Up, [in] any ToRight, [in] any ToLeft );
void ScrollWorkbookTabs( [in] any Sheets, [in] any Position );
diff --git a/oovbaapi/ooo/vba/excel/XWorkbook.idl b/oovbaapi/ooo/vba/excel/XWorkbook.idl
index e35b661a44..7d8a30760c 100644
--- a/oovbaapi/ooo/vba/excel/XWorkbook.idl
+++ b/oovbaapi/ooo/vba/excel/XWorkbook.idl
@@ -52,14 +52,14 @@ interface XWorkbook : com::sun::star::uno::XInterface
[attribute, readonly] string CodeName;
[attribute] boolean PrecisionAsDisplayed;
- any Worksheets([in] any sheet);
- any Styles([in] any Index );
- any Sheets([in] any sheet);
- any Windows([in] any index );
+ any Worksheets( [in] any Index );
+ any Styles( [in] any Index );
+ any Sheets( [in] any Index );
+ any Windows( [in] any Index );
void ResetColors() raises (com::sun::star::script::BasicErrorException);
void Activate();
any Names( [in] any Index );
- any Colors([in] any Index) raises (com::sun::star::script::BasicErrorException);
+ any Colors( [in] any Index ) raises (com::sun::star::script::BasicErrorException);
long FileFormat() raises (com::sun::star::script::BasicErrorException);
void SaveCopyAs( [in] string Filename );
};
diff --git a/oovbaapi/ooo/vba/excel/XWorkbooks.idl b/oovbaapi/ooo/vba/excel/XWorkbooks.idl
index 721411b987..add5909e1c 100644
--- a/oovbaapi/ooo/vba/excel/XWorkbooks.idl
+++ b/oovbaapi/ooo/vba/excel/XWorkbooks.idl
@@ -44,7 +44,7 @@ module ooo { module vba { module excel {
interface XWorkbooks : com::sun::star::uno::XInterface
{
- any Add();
+ any Add([in] any Template);
any Open([in] string Filename, [in] any UpdateLinks, [in] any ReadOnly, [in] any Format, [in] any Password, [in] any WriteResPassword, [in] any IgnoreReadOnlyRecommended, [in] any Origin, [in] any Delimiter, [in] any Editable, [in] any Notify, [in] any Converter, [in] any AddToMru);
void Close();
diff --git a/oovbaapi/ooo/vba/excel/XWorksheet.idl b/oovbaapi/ooo/vba/excel/XWorksheet.idl
index a6d86957ec..9a5cd58118 100644
--- a/oovbaapi/ooo/vba/excel/XWorksheet.idl
+++ b/oovbaapi/ooo/vba/excel/XWorksheet.idl
@@ -60,7 +60,7 @@ interface XWorksheet
interface ::com::sun::star::script::XInvocation;
interface ::com::sun::star::container::XNamed;
- [attribute] boolean Visible;
+ [attribute] long Visible;
[attribute, readonly] long StandardHeight;
[attribute, readonly] long StandardWidth;
[attribute, readonly] boolean ProtectionMode;
@@ -101,26 +101,26 @@ interface XWorksheet
/* The following form control related symbols do not refer to ActiveX form
controls embedded in the sheet, but to the old-style drawing controls
of Excel. This is an Excel-only feature. */
- any Buttons( [in] any aIndex );
- any CheckBoxes( [in] any aIndex );
- any DropDowns( [in] any aIndex );
- any GroupBoxes( [in] any aIndex );
- any Labels( [in] any aIndex );
- any ListBoxes( [in] any aIndex );
- any OptionButtons( [in] any aIndex );
- any ScrollBars( [in] any aIndex );
- any Spinners( [in] any aIndex );
+ any Buttons( [in] any Index );
+ any CheckBoxes( [in] any Index );
+ any DropDowns( [in] any Index );
+ any GroupBoxes( [in] any Index );
+ any Labels( [in] any Index );
+ any ListBoxes( [in] any Index );
+ any OptionButtons( [in] any Index );
+ any ScrollBars( [in] any Index );
+ any Spinners( [in] any Index );
// FIXME: should prolly inherit from Range somehow...
- XRange Cells([in] any RowIndex, [in] any ColumnIndex);
- XRange Rows([in] any aIndex);
- XRange Columns([in] any aIndex);
- any Hyperlinks( [in] any aIndex );
+ XRange Cells( [in] any RowIndex, [in] any ColumnIndex );
+ XRange Rows( [in] any Index );
+ XRange Columns( [in] any Index );
+ any Hyperlinks( [in] any Index );
any Names( [in] any Index );
- any Evaluate( [in] string Name);
+ any Evaluate( [in] string Name );
- void setEnableCalculation([in] boolean EnableCalculation) raises(com::sun::star::script::BasicErrorException);
+ void setEnableCalculation( [in] boolean EnableCalculation ) raises(com::sun::star::script::BasicErrorException);
boolean getEnableCalculation() raises(com::sun::star::script::BasicErrorException);
void PrintOut( [in] any From, [in] any To, [in] any Copies, [in] any Preview, [in] any ActivePrinter, [in] any PrintToFile, [in] any Collate, [in] any PrToFileName, [in] any IgnorePrintAreas );
};
diff --git a/oovbaapi/ooo/vba/word/XApplication.idl b/oovbaapi/ooo/vba/word/XApplication.idl
index e6cde02f81..e34a26ad55 100644
--- a/oovbaapi/ooo/vba/word/XApplication.idl
+++ b/oovbaapi/ooo/vba/word/XApplication.idl
@@ -53,10 +53,10 @@ interface XApplication : com::sun::star::uno::XInterface
[attribute] boolean DisplayAutoCompleteTips;
[attribute] long EnableCancelKey;
- any CommandBars( [in] any aIndex );
- any Documents( [in] any aIndex );
- any Addins( [in] any aIndex );
- any Dialogs( [in] any aIndex );
+ any CommandBars( [in] any Index );
+ any Documents( [in] any Index );
+ any Addins( [in] any Index );
+ any Dialogs( [in] any Index );
float CentimetersToPoints([in] float Centimeters );
};
diff --git a/oovbaapi/ooo/vba/word/XDocument.idl b/oovbaapi/ooo/vba/word/XDocument.idl
index 4b55552856..0f1aea780d 100644
--- a/oovbaapi/ooo/vba/word/XDocument.idl
+++ b/oovbaapi/ooo/vba/word/XDocument.idl
@@ -51,16 +51,16 @@ interface XDocument : com::sun::star::script::XInvocation
[attribute] any AttachedTemplate;
XRange Range( [in] any Start, [in] any End );
- any BuiltInDocumentProperties( [in] any index );
- any CustomDocumentProperties( [in] any index );
- any Bookmarks( [in] any aIndex );
- any Variables( [in] any aIndex );
- any Paragraphs( [in] any aIndex );
- any Styles( [in] any aIndex );
- any Tables( [in] any aIndex );
- any Fields( [in] any aIndex );
- any Shapes([in] any Index);
- any Sections([in] any Index);
+ any BuiltInDocumentProperties( [in] any Index );
+ any CustomDocumentProperties( [in] any Index );
+ any Bookmarks( [in] any Index );
+ any Variables( [in] any Index );
+ any Paragraphs( [in] any Index );
+ any Styles( [in] any Index );
+ any Tables( [in] any Index );
+ any Fields( [in] any Index );
+ any Shapes( [in] any Index );
+ any Sections( [in] any Index );
void Activate();
any PageSetup();
};
diff --git a/oovbaapi/ooo/vba/word/XGlobals.idl b/oovbaapi/ooo/vba/word/XGlobals.idl
index 45b52fc2fb..443d48ab51 100644
--- a/oovbaapi/ooo/vba/word/XGlobals.idl
+++ b/oovbaapi/ooo/vba/word/XGlobals.idl
@@ -45,10 +45,10 @@ interface XGlobals : com::sun::star::uno::XInterface
[attribute, readonly] ooo::vba::word::XSystem System;
[attribute, readonly] ooo::vba::word::XOptions Options;
[attribute, readonly] ooo::vba::word::XSelection Selection;
- any CommandBars( [in] any aIndex );
- any Documents( [in] any aIndex );
- any Addins( [in] any aIndex );
- any Dialogs( [in] any aIndex );
+ any CommandBars( [in] any Index );
+ any Documents( [in] any Index );
+ any Addins( [in] any Index );
+ any Dialogs( [in] any Index );
float CentimetersToPoints([in] float Centimeters );
};
diff --git a/oovbaapi/ooo/vba/word/XSelection.idl b/oovbaapi/ooo/vba/word/XSelection.idl
index 053cbc67e1..5a00650526 100644
--- a/oovbaapi/ooo/vba/word/XSelection.idl
+++ b/oovbaapi/ooo/vba/word/XSelection.idl
@@ -59,8 +59,8 @@ interface XSelection
[attribute] long Start;
[attribute] long End;
- any Tables( [in] any aIndex );
- any Fields( [in] any aIndex );
+ any Tables( [in] any Index );
+ any Fields( [in] any Index );
void TypeText( [in] string Text );
void HomeKey( [in] any Unit, [in] any Extend );
void EndKey( [in] any Unit, [in] any Extend );
diff --git a/oovbaapi/ooo/vba/word/XTable.idl b/oovbaapi/ooo/vba/word/XTable.idl
index 235067c4bf..8e15093d4b 100644
--- a/oovbaapi/ooo/vba/word/XTable.idl
+++ b/oovbaapi/ooo/vba/word/XTable.idl
@@ -68,7 +68,7 @@ interface XTable
XRange ConvertToText([in] any Separator, [in] any NestedTables)
raises(com::sun::star::script::BasicErrorException);
*/
- any Borders( [in] any aIndex );
+ any Borders( [in] any Index );
};
diff --git a/oovbaapi/ooo/vba/word/XTemplate.idl b/oovbaapi/ooo/vba/word/XTemplate.idl
index 0a5f0ed38c..d4c8f31779 100644
--- a/oovbaapi/ooo/vba/word/XTemplate.idl
+++ b/oovbaapi/ooo/vba/word/XTemplate.idl
@@ -43,7 +43,7 @@ interface XTemplate
[attribute, readonly] string Name;
- any AutoTextEntries( [in] any aIndex );
+ any AutoTextEntries( [in] any Index );
};
}; }; };
diff --git a/oovbaapi/ooo/vba/word/XWindow.idl b/oovbaapi/ooo/vba/word/XWindow.idl
index 225a92381c..1f23009251 100644
--- a/oovbaapi/ooo/vba/word/XWindow.idl
+++ b/oovbaapi/ooo/vba/word/XWindow.idl
@@ -46,7 +46,7 @@ interface XWindow : com::sun::star::uno::XInterface
[attribute] any View;
void Activate();
void Close([in] any SaveChanges, [in] any RouteDocument);
- any Panes( [in] any aIndex ); // this is a fake api for it seems not support in Write
+ any Panes( [in] any Index ); // this is a fake api for it seems not support in Write
any ActivePane(); // this is a fake api for it seems not support in Write
};
diff --git a/scripting/prj/build.lst b/scripting/prj/build.lst
index 7d5162173e..d0ceb4cb81 100755
--- a/scripting/prj/build.lst
+++ b/scripting/prj/build.lst
@@ -1,4 +1,4 @@
-tc scripting : oovbaapi vbahelper bridges rdbmaker vcl xmlscript basic sfx2 rhino BSH:beanshell javaunohelper NULL
+tc scripting : oovbaapi vbahelper bridges rdbmaker vcl xmlscript basic sfx2 rhino BSH:beanshell javaunohelper LIBXSLT:libxslt NULL
tc scripting usr1 - all tc1_mkout NULL
tc scripting\inc nmake - all tc1_inc NULL
tc scripting\source\provider nmake - all tc1_scriptingprovider tc1_inc NULL
diff --git a/scripting/source/basprov/basscript.cxx b/scripting/source/basprov/basscript.cxx
index 620e249362..06f58b94bf 100644
--- a/scripting/source/basprov/basscript.cxx
+++ b/scripting/source/basprov/basscript.cxx
@@ -80,11 +80,33 @@ namespace basprov
,m_documentBasicManager( &documentBasicManager )
,m_xDocumentScriptContext( documentScriptContext )
{
+ StartListening( *m_documentBasicManager );
}
// -----------------------------------------------------------------------------
BasicScriptImpl::~BasicScriptImpl()
{
+ if ( m_documentBasicManager )
+ EndListening( *m_documentBasicManager );
+ }
+
+ // -----------------------------------------------------------------------------
+ // SfxListener
+ // -----------------------------------------------------------------------------
+ void BasicScriptImpl::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
+ {
+ if ( &rBC != m_documentBasicManager )
+ {
+ OSL_ENSURE( false, "BasicScriptImpl::Notify: where does this come from?" );
+ // not interested in
+ return;
+ }
+ const SfxSimpleHint* pSimpleHint = PTR_CAST( SfxSimpleHint, &rHint );
+ if ( pSimpleHint && ( pSimpleHint->GetId() == SFX_HINT_DYING ) )
+ {
+ m_documentBasicManager = NULL;
+ EndListening( rBC ); // prevent multiple notifications
+ }
}
// -----------------------------------------------------------------------------
diff --git a/scripting/source/basprov/basscript.hxx b/scripting/source/basprov/basscript.hxx
index a524c186b2..99d351ee51 100644
--- a/scripting/source/basprov/basscript.hxx
+++ b/scripting/source/basprov/basscript.hxx
@@ -32,6 +32,7 @@
#include <com/sun/star/document/XScriptInvocationContext.hpp>
#include <cppuhelper/implbase1.hxx>
#include <basic/sbmeth.hxx>
+#include <svl/lstner.hxx>
class BasicManager;
@@ -49,7 +50,7 @@ namespace basprov
::com::sun::star::script::provider::XScript > BasicScriptImpl_BASE;
- class BasicScriptImpl : public BasicScriptImpl_BASE
+ class BasicScriptImpl : public BasicScriptImpl_BASE, public SfxListener
{
private:
SbMethodRef m_xMethod;
@@ -80,6 +81,9 @@ namespace basprov
::com::sun::star::script::provider::ScriptFrameworkErrorException,
::com::sun::star::reflection::InvocationTargetException,
::com::sun::star::uno::RuntimeException );
+
+ // SfxListener
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
};
//.........................................................................
diff --git a/scripting/source/basprov/makefile.mk b/scripting/source/basprov/makefile.mk
index c98f961e6b..bde15f95d5 100644
--- a/scripting/source/basprov/makefile.mk
+++ b/scripting/source/basprov/makefile.mk
@@ -58,6 +58,7 @@ SHL1STDLIBS= \
$(SFX2LIB) \
$(BASICLIB) \
$(VCLLIB) \
+ $(SVLLIB) \
$(TOOLSLIB) \
$(UCBHELPERLIB) \
$(COMPHELPERLIB) \
diff --git a/sfx2/AllLangResTarget_sfx2.mk b/sfx2/AllLangResTarget_sfx2.mk
new file mode 100644
index 0000000000..aa3270e08a
--- /dev/null
+++ b/sfx2/AllLangResTarget_sfx2.mk
@@ -0,0 +1,79 @@
+#*************************************************************************
+#
+# 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,sfx))
+
+$(eval $(call gb_AllLangResTarget_set_reslocation,sfx,sfx2))
+
+$(eval $(call gb_AllLangResTarget_add_srs,sfx,\
+ sfx/res \
+))
+
+$(eval $(call gb_SrsTarget_SrsTarget,sfx/res))
+
+$(eval $(call gb_SrsTarget_set_include,sfx/res,\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc \
+ -I$(WORKDIR)/inc \
+ -I$(SRCDIR)/sfx2/source/dialog \
+ -I$(SRCDIR)/sfx2/source/inc \
+ -I$(SRCDIR)/sfx2/inc/ \
+ -I$(SRCDIR)/sfx2/inc/sfx \
+))
+
+$(eval $(call gb_SrsTarget_add_files,sfx/res,\
+ sfx2/source/appl/app.src \
+ sfx2/source/appl/dde.src \
+ sfx2/source/appl/newhelp.src \
+ sfx2/source/appl/sfx.src \
+ sfx2/source/bastyp/bastyp.src \
+ sfx2/source/bastyp/fltfnc.src \
+ sfx2/source/dialog/alienwarn.src \
+ sfx2/source/dialog/dialog.src \
+ sfx2/source/dialog/dinfdlg.src \
+ sfx2/source/dialog/dinfedt.src \
+ sfx2/source/dialog/filedlghelper.src \
+ sfx2/source/dialog/mailwindow.src \
+ sfx2/source/dialog/mgetempl.src \
+ sfx2/source/dialog/newstyle.src \
+ sfx2/source/dialog/passwd.src \
+ sfx2/source/dialog/printopt.src \
+ sfx2/source/dialog/recfloat.src \
+ sfx2/source/dialog/srchdlg.src \
+ sfx2/source/dialog/templdlg.src \
+ sfx2/source/dialog/versdlg.src \
+ sfx2/source/doc/doc.src \
+ sfx2/source/doc/doctdlg.src \
+ sfx2/source/doc/doctempl.src \
+ sfx2/source/doc/docvor.src \
+ sfx2/source/doc/graphhelp.src \
+ sfx2/source/doc/new.src \
+ sfx2/source/menu/menu.src \
+ sfx2/source/view/view.src \
+))
+
+
diff --git a/sfx2/Library_qstart.mk b/sfx2/Library_qstart.mk
new file mode 100755
index 0000000000..6ed99271d3
--- /dev/null
+++ b/sfx2/Library_qstart.mk
@@ -0,0 +1,92 @@
+#*************************************************************************
+#
+# 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,qstart_gtk))
+
+$(eval $(call gb_Library_set_include,qstart_gtk,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/sfx2/inc \
+ -I$(SRCDIR)/sfx2/inc/sfx2 \
+ -I$(SRCDIR)/sfx2/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+ $(filter -I%,$(GTK_CFLAGS)) \
+))
+
+$(eval $(call gb_Library_set_defs,qstart_gtk,\
+ $$(DEFS) \
+ -DDLL_NAME=$(notdir $(call gb_Library_get_target,sfx2)) \
+ -DENABLE_QUICKSTART_APPLET \
+))
+
+$(eval $(call gb_Library_set_cflags,qstart_gtk,\
+ $$(CFLAGS) \
+ $(filter-out -I%,$(GTK_CFLAGS)) \
+))
+
+$(eval $(call gb_Library_set_ldflags,qstart_gtk,\
+ $$(LDFLAGS) \
+ $(GTK_LIBS) \
+))
+
+$(eval $(call gb_Library_add_linked_libs,qstart_gtk,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwe \
+ i18nisolang1 \
+ sal \
+ sax \
+ sb \
+ sot \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ vos3 \
+ xml2 \
+ eggtray \
+ sfx \
+))
+
+$(eval $(call gb_Library_add_linked_system_libs,qstart_gtk,\
+ dl \
+ icuuc \
+ m \
+ pthread \
+))
+
+$(eval $(call gb_Library_add_exception_objects,qstart_gtk,\
+ sfx2/source/appl/shutdowniconunx \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
new file mode 100755
index 0000000000..ed941d5b9a
--- /dev/null
+++ b/sfx2/Library_sfx.mk
@@ -0,0 +1,309 @@
+#*************************************************************************
+#
+# 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,sfx))
+
+$(eval $(call gb_Library_add_package_headers,sfx,\
+ sfx2_inc \
+ sfx2_sdi \
+))
+
+$(eval $(call gb_Library_add_precompiled_header,sfx,$(SRCDIR)/sfx2/inc/pch/precompiled_sfx2))
+
+$(eval $(call gb_Library_add_sdi_headers,sfx,sfx2/sdi/sfxslots))
+
+$(eval $(call gb_Library_set_componentfile,sfx,sfx2/util/sfx))
+
+$(eval $(call gb_Library_set_include,sfx,\
+ -I$(SRCDIR)/sfx2/inc \
+ -I$(SRCDIR)/sfx2/inc/sfx2 \
+ -I$(SRCDIR)/sfx2/source/inc \
+ -I$(SRCDIR)/sfx2/inc/pch \
+ -I$(WORKDIR)/SdiTarget/sfx2/sdi \
+ -I$(WORKDIR)/inc/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+ $(LIBXML_CFLAGS) \
+))
+
+$(eval $(call gb_Library_set_defs,sfx,\
+ $$(DEFS) \
+ -DSFX2_DLLIMPLEMENTATION \
+ -DABOUTBMPNAMES="$(ABOUTBITMAPS)" \
+))
+
+$(eval $(call gb_Library_add_linked_libs,sfx,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ fwe \
+ i18nisolang1 \
+ sal \
+ sax \
+ sb \
+ sot \
+ stl \
+ svl \
+ svt \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ vos3 \
+ xml2 \
+))
+
+$(eval $(call gb_Library_add_linked_system_libs,sfx,\
+ icuuc \
+ dl \
+ m \
+ pthread \
+))
+
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+ sfx2/source/appl/app \
+ sfx2/source/appl/appbas \
+ sfx2/source/appl/appbaslib \
+ sfx2/source/appl/appcfg \
+ sfx2/source/appl/appchild \
+ sfx2/source/appl/appdata \
+ sfx2/source/appl/appdde \
+ sfx2/source/appl/appinit \
+ sfx2/source/appl/appmain \
+ sfx2/source/appl/appmisc \
+ sfx2/source/appl/appopen \
+ sfx2/source/appl/appquit \
+ sfx2/source/appl/appreg \
+ sfx2/source/appl/appserv \
+ sfx2/source/appl/appuno \
+ sfx2/source/appl/childwin \
+ sfx2/source/appl/fileobj \
+ sfx2/source/appl/fwkhelper \
+ sfx2/source/appl/helpdispatch \
+ sfx2/source/appl/helpinterceptor \
+ sfx2/source/appl/imagemgr \
+ sfx2/source/appl/imestatuswindow \
+ sfx2/source/appl/impldde \
+ sfx2/source/appl/linkmgr2 \
+ sfx2/source/appl/linksrc \
+ sfx2/source/appl/lnkbase2 \
+ sfx2/source/appl/module \
+ sfx2/source/appl/newhelp \
+ sfx2/source/appl/opengrf \
+ sfx2/source/appl/sfxhelp \
+ sfx2/source/appl/sfxpicklist \
+ sfx2/source/appl/shutdownicon \
+ sfx2/source/appl/workwin \
+ sfx2/source/appl/xpackcreator \
+ sfx2/source/bastyp/bitset \
+ sfx2/source/bastyp/fltfnc \
+ sfx2/source/bastyp/fltlst \
+ sfx2/source/bastyp/frmhtml \
+ sfx2/source/bastyp/frmhtmlw \
+ sfx2/source/bastyp/helper \
+ sfx2/source/bastyp/mieclip \
+ sfx2/source/bastyp/minarray \
+ sfx2/source/bastyp/misc \
+ sfx2/source/bastyp/progress \
+ sfx2/source/bastyp/sfxhtml \
+ sfx2/source/bastyp/sfxresid \
+ sfx2/source/config/evntconf \
+ sfx2/source/control/bindings \
+ sfx2/source/control/ctrlitem \
+ sfx2/source/control/dispatch \
+ sfx2/source/control/macrconf \
+ sfx2/source/control/macro \
+ sfx2/source/control/minfitem \
+ sfx2/source/control/msg \
+ sfx2/source/control/msgpool \
+ sfx2/source/control/objface \
+ sfx2/source/control/querystatus \
+ sfx2/source/control/request \
+ sfx2/source/control/sfxstatuslistener \
+ sfx2/source/control/shell \
+ sfx2/source/control/sorgitm \
+ sfx2/source/control/statcach \
+ sfx2/source/control/unoctitm \
+ sfx2/source/dialog/about \
+ sfx2/source/dialog/alienwarn \
+ sfx2/source/dialog/basedlgs \
+ sfx2/source/dialog/dinfdlg \
+ sfx2/source/dialog/dinfedt \
+ sfx2/source/dialog/dockwin \
+ sfx2/source/dialog/filedlghelper \
+ sfx2/source/dialog/filtergrouping \
+ sfx2/source/dialog/intro \
+ sfx2/source/dialog/itemconnect \
+ sfx2/source/dialog/mailmodel \
+ sfx2/source/dialog/mgetempl \
+ sfx2/source/dialog/navigat \
+ sfx2/source/dialog/newstyle \
+ sfx2/source/dialog/partwnd \
+ sfx2/source/dialog/passwd \
+ sfx2/source/dialog/printopt \
+ sfx2/source/dialog/recfloat \
+ sfx2/source/dialog/securitypage \
+ sfx2/source/dialog/sfxdlg \
+ sfx2/source/dialog/splitwin \
+ sfx2/source/dialog/srchdlg \
+ sfx2/source/dialog/styfitem \
+ sfx2/source/dialog/styledlg \
+ sfx2/source/dialog/tabdlg \
+ sfx2/source/dialog/taskpane \
+ sfx2/source/dialog/templdlg \
+ sfx2/source/dialog/titledockwin \
+ sfx2/source/dialog/tplcitem \
+ sfx2/source/dialog/tplpitem \
+ sfx2/source/dialog/versdlg \
+ sfx2/source/doc/DocumentMetadataAccess \
+ sfx2/source/doc/Metadatable \
+ sfx2/source/doc/QuerySaveDocument \
+ sfx2/source/doc/SfxDocumentMetaData \
+ sfx2/source/doc/docfac \
+ sfx2/source/doc/docfile \
+ sfx2/source/doc/docfilt \
+ sfx2/source/doc/docinf \
+ sfx2/source/doc/docinsert \
+ sfx2/source/doc/docmacromode \
+ sfx2/source/doc/docstoragemodifylistener \
+ sfx2/source/doc/doctdlg \
+ sfx2/source/doc/doctempl \
+ sfx2/source/doc/doctemplates \
+ sfx2/source/doc/doctemplateslocal \
+ sfx2/source/doc/docvor \
+ sfx2/source/doc/frmdescr \
+ sfx2/source/doc/graphhelp \
+ sfx2/source/doc/guisaveas \
+ sfx2/source/doc/iframe \
+ sfx2/source/doc/new \
+ sfx2/source/doc/objcont \
+ sfx2/source/doc/objembed \
+ sfx2/source/doc/objitem \
+ sfx2/source/doc/objmisc \
+ sfx2/source/doc/objserv \
+ sfx2/source/doc/objstor \
+ sfx2/source/doc/objuno \
+ sfx2/source/doc/objxtor \
+ sfx2/source/doc/oleprops \
+ sfx2/source/doc/ownsubfilterservice \
+ sfx2/source/doc/plugin \
+ sfx2/source/doc/printhelper \
+ sfx2/source/doc/querytemplate \
+ sfx2/source/doc/sfxbasemodel \
+ sfx2/source/doc/sfxmodelfactory \
+ sfx2/source/doc/syspath \
+ sfx2/source/explorer/nochaos \
+ sfx2/source/inet/inettbc \
+ sfx2/source/menu/mnuitem \
+ sfx2/source/menu/mnumgr \
+ sfx2/source/menu/objmnctl \
+ sfx2/source/menu/thessubmenu \
+ sfx2/source/menu/virtmenu \
+ sfx2/source/notify/eventsupplier \
+ sfx2/source/notify/hintpost \
+ sfx2/source/statbar/stbitem \
+ sfx2/source/toolbox/imgmgr \
+ sfx2/source/toolbox/tbxitem \
+ sfx2/source/view/frame \
+ sfx2/source/view/frame2 \
+ sfx2/source/view/frmload \
+ sfx2/source/view/ipclient \
+ sfx2/source/view/orgmgr \
+ sfx2/source/view/printer \
+ sfx2/source/view/sfxbasecontroller \
+ sfx2/source/view/userinputinterception \
+ sfx2/source/view/viewfac \
+ sfx2/source/view/viewfrm \
+ sfx2/source/view/viewfrm2 \
+ sfx2/source/view/viewprn \
+ sfx2/source/view/viewsh \
+))
+
+$(eval $(call gb_SdiTarget_SdiTarget,sfx2/sdi/sfxslots,sfx2/sdi/sfx))
+
+$(eval $(call gb_SdiTarget_set_include,sfx2/sdi/sfxslots,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/sfx2/inc/sfx2 \
+ -I$(SRCDIR)/sfx2/inc \
+ -I$(SRCDIR)/sfx2/sdi \
+))
+
+ifeq ($(OS),$(filter WNT MACOSX,$(OS)))
+$(eval $(call gb_Library_set_defs,sfx,\
+ $$(DEFS) \
+ -DENABLE_QUICKSTART_APPLET \
+))
+endif
+
+ifeq ($(OS),OS2)
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+ sfx2/source/appl/shutdowniconOs2.ob \
+))
+endif
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_Library_add_objcxxobjects,sfx,\
+ sfx2/source/appl/shutdowniconaqua \
+))
+$(eval $(call gb_Library_add_linked_libs,sfx,\
+ objc \
+ Cocoa \
+))
+endif
+ifeq ($(OS),WNT)
+# workaround: disable PCH for these objects to avoid redeclaration
+# errors - needs to be fixed in module tools
+$(eval $(call gb_Library_add_cxxobjects,sfx,\
+ sfx2/source/appl/shutdowniconw32 \
+ sfx2/source/doc/sfxacldetect \
+ sfx2/source/doc/syspathw32 \
+ , $(gb_LinkTarget_EXCEPTIONFLAGS) -nologo -UPRECOMPILED_HEADERS \
+))
+
+$(eval $(call gb_Library_add_linked_libs,sfx,\
+ advapi32 \
+ gdi32 \
+ kernel32 \
+ msvcrt \
+ oldnames \
+ ole32 \
+ shell32 \
+ user32 \
+ uuid \
+ uwinapi \
+))
+else
+$(eval $(call gb_Library_add_cxxobjects,sfx,\
+ sfx2/source/appl/shutdowniconw32 \
+ sfx2/source/doc/sfxacldetect \
+ , $(gb_LinkTarget_EXCEPTIONFLAGS) \
+))
+
+endif
+# vim: set noet sw=4 ts=4:
+
diff --git a/sfx2/Makefile b/sfx2/Makefile
new file mode 100644
index 0000000000..a79aff8310
--- /dev/null
+++ b/sfx2/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/framework/qa/complex/loadAllDocuments/helper/makefile.mk b/sfx2/Module_sfx2.mk
index 05a3c7a997..f6ac7c4c05 100644..100755
--- a/framework/qa/complex/loadAllDocuments/helper/makefile.mk
+++ b/sfx2/Module_sfx2.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,34 +14,42 @@
#
# 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 = ../../../..
-TARGET = CheckXComponentLoader
-PRJNAME = framework
-PACKAGE = complex/loadAllDocuments/helper
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
-JAVAFILES = InteractionHandler.java StatusIndicator.java StreamSimulator.java
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
-
-MAXLINELENGTH = 100000
-
-.INCLUDE : target.mk
-
-
+$(eval $(call gb_Module_Module,sfx2))
+
+$(eval $(call gb_Module_add_targets,sfx2,\
+ AllLangResTarget_sfx2 \
+ Library_sfx \
+ Package_inc \
+ Package_sdi \
+))
+
+ifeq ($(OS),LINUX)
+ifeq ($(ENABLE_SYSTRAY_GTK),TRUE)
+$(eval $(call gb_Module_add_targets,sfx2,\
+ Library_qstart \
+))
+endif
+endif
+
+#todo: map file?
+#todo: source/appl ohne Optimierung?
+#todo: source/control ohne Optimierung?
+#todo: source/dialog BUILD_VER_STRING
+#todo: source/doc SYSTEM_LIBXML2
+#todo: noopt for acldetect.cxx?
+#todo: ENABLE_LAYOUT
+#todo: quickstarter
+#todo: link against cocoa on Mac
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Package_inc.mk b/sfx2/Package_inc.mk
new file mode 100644
index 0000000000..6ad8b0209c
--- /dev/null
+++ b/sfx2/Package_inc.mk
@@ -0,0 +1,138 @@
+#*************************************************************************
+#
+# 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,sfx2_inc,$(SRCDIR)/sfx2/inc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/DocumentMetadataAccess.hxx,sfx2/DocumentMetadataAccess.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/Metadatable.hxx,sfx2/Metadatable.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/QuerySaveDocument.hxx,sfx2/QuerySaveDocument.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/XmlIdRegistry.hxx,sfx2/XmlIdRegistry.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/app.hxx,sfx2/app.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/app.hxx,sfx2/app.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/appuno.hxx,sfx2/appuno.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/basedlgs.hxx,sfx2/basedlgs.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/basmgr.hxx,sfx2/basmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/bindings.hxx,sfx2/bindings.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/brokenpackageint.hxx,sfx2/brokenpackageint.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/chalign.hxx,sfx2/chalign.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/childwin.hxx,sfx2/childwin.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/cntids.hrc,sfx2/cntids.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/controlwrapper.hxx,sfx2/controlwrapper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/ctrlitem.hxx,sfx2/ctrlitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dialogs.hrc,sfx2/dialogs.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dinfdlg.hxx,sfx2/dinfdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dinfedt.hxx,sfx2/dinfedt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dispatch.hxx,sfx2/dispatch.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dllapi.h,sfx2/dllapi.h))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfac.hxx,sfx2/docfac.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfile.hxx,sfx2/docfile.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfilt.hxx,sfx2/docfilt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docinf.hxx,sfx2/docinf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docinsert.hxx,sfx2/docinsert.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dockwin.hxx,sfx2/dockwin.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docmacromode.hxx,sfx2/docmacromode.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docstoragemodifylistener.hxx,sfx2/docstoragemodifylistener.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/doctdlg.hxx,sfx2/doctdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/doctempl.hxx,sfx2/doctempl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/event.hxx,sfx2/event.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/evntconf.hxx,sfx2/evntconf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/fcontnr.hxx,sfx2/fcontnr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/filedlghelper.hxx,sfx2/filedlghelper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frame.hxx,sfx2/frame.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmdescr.hxx,sfx2/frmdescr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmhtml.hxx,sfx2/frmhtml.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmhtmlw.hxx,sfx2/frmhtmlw.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/genlink.hxx,sfx2/genlink.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/hintpost.hxx,sfx2/hintpost.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/htmlmode.hxx,sfx2/htmlmode.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imagemgr.hxx,sfx2/imagemgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imgdef.hxx,sfx2/imgdef.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imgmgr.hxx,sfx2/imgmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/ipclient.hxx,sfx2/ipclient.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/itemconnect.hxx,sfx2/itemconnect.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/itemwrapper.hxx,sfx2/itemwrapper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-post.hxx,sfx2/layout-post.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-pre.hxx,sfx2/layout-pre.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-tabdlg.hxx,sfx2/layout-tabdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout.hxx,sfx2/layout.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/linkmgr.hxx,sfx2/linkmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/linksrc.hxx,sfx2/linksrc.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/lnkbase.hxx,sfx2/lnkbase.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/macrconf.hxx,sfx2/macrconf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mailmodelapi.hxx,sfx2/mailmodelapi.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mgetempl.hxx,sfx2/mgetempl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mieclip.hxx,sfx2/mieclip.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minarray.hxx,sfx2/minarray.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minfitem.hxx,sfx2/minfitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minstack.hxx,sfx2/minstack.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mnuitem.hxx,sfx2/mnuitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mnumgr.hxx,sfx2/mnumgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/module.hxx,sfx2/module.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/msg.hxx,sfx2/msg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/msgpool.hxx,sfx2/msgpool.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/navigat.hxx,sfx2/navigat.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/new.hxx,sfx2/new.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/newstyle.hxx,sfx2/newstyle.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objface.hxx,sfx2/objface.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objitem.hxx,sfx2/objitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objsh.hxx,sfx2/objsh.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/opengrf.hxx,sfx2/opengrf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/passwd.hxx,sfx2/passwd.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/printer.hxx,sfx2/printer.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/printopt.hxx,sfx2/printopt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/prnmon.hxx,sfx2/prnmon.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/progress.hxx,sfx2/progress.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/querystatus.hxx,sfx2/querystatus.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/request.hxx,sfx2/request.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfx.hrc,sfx2/sfx.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxbasecontroller.hxx,sfx2/sfxbasecontroller.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxbasemodel.hxx,sfx2/sfxbasemodel.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxcommands.h,sfx2/sfxcommands.h))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxdefs.hxx,sfx2/sfxdefs.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxdlg.hxx,sfx2/sfxdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxhelp.hxx,sfx2/sfxhelp.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxhtml.hxx,sfx2/sfxhtml.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxmodelfactory.hxx,sfx2/sfxmodelfactory.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxresid.hxx,sfx2/sfxresid.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxsids.hrc,sfx2/sfxsids.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxstatuslistener.hxx,sfx2/sfxstatuslistener.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxuno.hxx,sfx2/sfxuno.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/shell.hxx,sfx2/shell.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/signaturestate.hxx,sfx2/signaturestate.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/stbitem.hxx,sfx2/stbitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/styfitem.hxx,sfx2/styfitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/styledlg.hxx,sfx2/styledlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tabdlg.hxx,sfx2/tabdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/taskpane.hxx,sfx2/taskpane.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tbxctrl.hxx,sfx2/tbxctrl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/templdlg.hxx,sfx2/templdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/titledockwin.hxx,sfx2/titledockwin.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tplpitem.hxx,sfx2/tplpitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/unoctitm.hxx,sfx2/unoctitm.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/userinputinterception.hxx,sfx2/userinputinterception.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewfac.hxx,sfx2/viewfac.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewfrm.hxx,sfx2/viewfrm.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewsh.hxx,sfx2/viewsh.hxx))
diff --git a/sfx2/Package_sdi.mk b/sfx2/Package_sdi.mk
new file mode 100644
index 0000000000..63f2138adf
--- /dev/null
+++ b/sfx2/Package_sdi.mk
@@ -0,0 +1,30 @@
+#*************************************************************************
+#
+# 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,sfx2_sdi,$(SRCDIR)/sfx2/sdi))
+$(eval $(call gb_Package_add_file,sfx2_sdi,inc/sfx2/sfx.sdi,sfx.sdi))
+$(eval $(call gb_Package_add_file,sfx2_sdi,inc/sfx2/sfxitems.sdi,sfxitems.sdi))
diff --git a/sfx2/inc/brokenpackageint.hxx b/sfx2/inc/brokenpackageint.hxx
deleted file mode 100644
index 293557399d..0000000000
--- a/sfx2/inc/brokenpackageint.hxx
+++ /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.
- *
- ************************************************************************/
-
-#include "sal/config.h"
-#include "sfx2/dllapi.h"
-#include <com/sun/star/document/BrokenPackageRequest.hpp>
-#include <com/sun/star/task/XInteractionApprove.hpp>
-#include <com/sun/star/task/XInteractionDisapprove.hpp>
-#include <framework/interaction.hxx>
-
-using namespace ::framework;
-typedef ContinuationBase< ::com::sun::star::task::XInteractionApprove > SfxContinuationApprove;
-typedef ContinuationBase< ::com::sun::star::task::XInteractionDisapprove > SfxContinuationDisapprove;
-
-class SFX2_DLLPUBLIC RequestPackageReparation :
- public ::com::sun::star::task::XInteractionRequest,
- public ::cppu::OWeakObject
-{
- ::com::sun::star::uno::Any m_aRequest;
-
- ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
- > m_lContinuations;
-
- SfxContinuationApprove* m_pApprove;
- SfxContinuationDisapprove* m_pDisapprove;
-
-public:
- RequestPackageReparation( ::rtl::OUString aName );
-
- // XInterface / OWeakObject
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire( ) throw ();
- virtual void SAL_CALL release( ) throw ();
-
- sal_Bool isApproved() { return m_pApprove->isSelected(); }
-
- virtual ::com::sun::star::uno::Any SAL_CALL getRequest()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
- > SAL_CALL getContinuations()
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-class SFX2_DLLPUBLIC NotifyBrokenPackage :
- public ::com::sun::star::task::XInteractionRequest,
- public ::cppu::OWeakObject
-{
- ::com::sun::star::uno::Any m_aRequest;
-
- ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
- > m_lContinuations;
-
- ContinuationAbort* m_pAbort;
-
-public:
- NotifyBrokenPackage( ::rtl::OUString aName );
-
- // XInterface / OWeakObject
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire( ) throw ();
- virtual void SAL_CALL release( ) throw ();
-
- sal_Bool isAborted() { return m_pAbort->isSelected(); }
-
- virtual ::com::sun::star::uno::Any SAL_CALL getRequest()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Sequence<
- ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
- > SAL_CALL getContinuations()
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
diff --git a/sfx2/inc/guisaveas.hxx b/sfx2/inc/guisaveas.hxx
index b3321ddc94..2b938be0bf 100644
--- a/sfx2/inc/guisaveas.hxx
+++ b/sfx2/inc/guisaveas.hxx
@@ -79,12 +79,6 @@ public:
::rtl::OUString aUserSelectedName,
sal_uInt16 nDocumentSignatureState = SIGNATURESTATE_NOSIGNATURES );
- 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 CheckFilterOptionsAppearence(
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& xFilterCFG,
const ::rtl::OUString& aFilterName );
diff --git a/sfx2/inc/makefile.mk b/sfx2/inc/makefile.mk
deleted file mode 100644
index b7aa547e2c..0000000000
--- a/sfx2/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=sfx2
-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/sfx2/inc/QuerySaveDocument.hxx b/sfx2/inc/sfx2/QuerySaveDocument.hxx
index fefd7226ce..fefd7226ce 100644
--- a/sfx2/inc/QuerySaveDocument.hxx
+++ b/sfx2/inc/sfx2/QuerySaveDocument.hxx
diff --git a/sfx2/inc/basmgr.hxx b/sfx2/inc/sfx2/basmgr.hxx
index d961042d2f..16b6c7f7b6 100644
--- a/sfx2/inc/basmgr.hxx
+++ b/sfx2/inc/sfx2/basmgr.hxx
@@ -28,8 +28,7 @@
#ifndef _SFX_BASMGR_HXX
#define _SFX_BASMGR_HXX
-#ifndef _BASMGR_HXX_
#include <basic/basmgr.hxx>
-#endif
+#include <svtools/svtools.hrc>
#endif //_SFX_BASMGR_HXX
diff --git a/sfx2/inc/sfx2/brokenpackageint.hxx b/sfx2/inc/sfx2/brokenpackageint.hxx
new file mode 100755
index 0000000000..cadd5bd3e6
--- /dev/null
+++ b/sfx2/inc/sfx2/brokenpackageint.hxx
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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 "sal/config.h"
+#include "sfx2/dllapi.h"
+#include <com/sun/star/document/BrokenPackageRequest.hpp>
+#include <com/sun/star/task/XInteractionApprove.hpp>
+#include <com/sun/star/task/XInteractionDisapprove.hpp>
+
+class RequestPackageReparation_Impl;
+class SFX2_DLLPUBLIC RequestPackageReparation
+{
+ RequestPackageReparation_Impl* pImp;
+public:
+ RequestPackageReparation( ::rtl::OUString aName );
+ ~RequestPackageReparation();
+ sal_Bool isApproved();
+ com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > GetRequest();
+};
+
+class NotifyBrokenPackage_Impl;
+class SFX2_DLLPUBLIC NotifyBrokenPackage
+{
+ NotifyBrokenPackage_Impl* pImp;
+public:
+ NotifyBrokenPackage( ::rtl::OUString aName );
+ ~NotifyBrokenPackage();
+ sal_Bool isAborted();
+ com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > GetRequest();
+};
+
diff --git a/sfx2/inc/dinfedt.hxx b/sfx2/inc/sfx2/dinfedt.hxx
index ab2ea95d5d..ab2ea95d5d 100644
--- a/sfx2/inc/dinfedt.hxx
+++ b/sfx2/inc/sfx2/dinfedt.hxx
diff --git a/sfx2/inc/sfx2/docfile.hxx b/sfx2/inc/sfx2/docfile.hxx
index 8bed61e997..ccf5c7a353 100644
--- a/sfx2/inc/sfx2/docfile.hxx
+++ b/sfx2/inc/sfx2/docfile.hxx
@@ -112,7 +112,7 @@ class SFX2_DLLPUBLIC SfxMedium : public SvRefBase
SAL_DLLPRIVATE void CloseStreams_Impl();
DECL_DLLPRIVATE_STATIC_LINK( SfxMedium, UCBHdl_Impl, sal_uInt32 * );
- SAL_DLLPRIVATE void SetPasswordToStorage_Impl();
+ SAL_DLLPRIVATE void SetEncryptionDataToStorage_Impl();
#endif
public:
diff --git a/sfx2/inc/sfx2/docfilt.hxx b/sfx2/inc/sfx2/docfilt.hxx
index 9c6c0b18ac..030ee7dcdf 100644
--- a/sfx2/inc/sfx2/docfilt.hxx
+++ b/sfx2/inc/sfx2/docfilt.hxx
@@ -37,42 +37,7 @@
#include <com/sun/star/uno/RuntimeException.hpp>
#include <tools/wldcrd.hxx>
-// 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
-// Legt Objekt nur an, kein Laden
-#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
+#include <comphelper/documentconstants.hxx>
#include <sfx2/sfxdefs.hxx>
diff --git a/sfx2/inc/docinsert.hxx b/sfx2/inc/sfx2/docinsert.hxx
index 0f10e2c638..0f10e2c638 100644
--- a/sfx2/inc/docinsert.hxx
+++ b/sfx2/inc/sfx2/docinsert.hxx
diff --git a/sfx2/inc/sfx2/event.hxx b/sfx2/inc/sfx2/event.hxx
index 976fbb1666..c81329b0c5 100644
--- a/sfx2/inc/sfx2/event.hxx
+++ b/sfx2/inc/sfx2/event.hxx
@@ -36,6 +36,7 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <com/sun/star/frame/XController2.hpp>
class SfxObjectShell;
@@ -67,6 +68,29 @@ public:
//-------------------------------------------------------------------
+class SFX2_DLLPUBLIC SfxViewEventHint : public SfxEventHint
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 > xViewController;
+
+public:
+ TYPEINFO();
+
+ SfxViewEventHint( USHORT nId, const ::rtl::OUString& aName, SfxObjectShell *pObj, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& xController )
+ : SfxEventHint( nId, aName, pObj )
+ , xViewController( xController, ::com::sun::star::uno::UNO_QUERY )
+ {}
+
+ SfxViewEventHint( USHORT nId, const ::rtl::OUString& aName, SfxObjectShell *pObj, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >& xController )
+ : SfxEventHint( nId, aName, pObj )
+ , xViewController( xController )
+ {}
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 > GetController() const
+ { return xViewController; }
+};
+
+//-------------------------------------------------------------------
+
class SfxNamedHint : public SfxHint
{
String _aEventName;
diff --git a/sfx2/inc/imagemgr.hxx b/sfx2/inc/sfx2/imagemgr.hxx
index fa552ad42b..fa552ad42b 100644
--- a/sfx2/inc/imagemgr.hxx
+++ b/sfx2/inc/sfx2/imagemgr.hxx
diff --git a/sfx2/inc/imgmgr.hxx b/sfx2/inc/sfx2/imgmgr.hxx
index ce945eb671..ce945eb671 100644
--- a/sfx2/inc/imgmgr.hxx
+++ b/sfx2/inc/sfx2/imgmgr.hxx
diff --git a/sfx2/inc/sfx2/ipclient.hxx b/sfx2/inc/sfx2/ipclient.hxx
index 1e00d474fa..99f24c703f 100644
--- a/sfx2/inc/sfx2/ipclient.hxx
+++ b/sfx2/inc/sfx2/ipclient.hxx
@@ -101,6 +101,7 @@ public:
// used in Writer
// Rectangle PixelObjVisAreaToLogic( const Rectangle & rObjRect ) const;
// Rectangle LogicObjAreaToPixel( const Rectangle & rRect ) const;
+ virtual void FormatChanged(); // object format was changed (used for StarMath formulas aligning)
};
#endif
diff --git a/sfx2/inc/mailmodelapi.hxx b/sfx2/inc/sfx2/mailmodelapi.hxx
index ba305a02ae..ba305a02ae 100644
--- a/sfx2/inc/mailmodelapi.hxx
+++ b/sfx2/inc/sfx2/mailmodelapi.hxx
diff --git a/sfx2/inc/sfx2/mgetempl.hxx b/sfx2/inc/sfx2/mgetempl.hxx
index 8180a69766..1c775f5a4a 100644
--- a/sfx2/inc/sfx2/mgetempl.hxx
+++ b/sfx2/inc/sfx2/mgetempl.hxx
@@ -37,6 +37,9 @@
#include <sfx2/tabdlg.hxx>
+#include <svtools/svmedit2.hxx>
+#include <svtools/svmedit.hxx>
+
/* erwartet:
SID_TEMPLATE_NAME : In: StringItem, Name der Vorlage
SID_TEMPLATE_FAMILY : In: Familie der Vorlage
@@ -54,6 +57,8 @@ class SfxManageStyleSheetPage : public SfxTabPage
{
FixedText aNameFt;
Edit aNameEd;
+ ExtMultiLineEdit aNameMLE;
+
CheckBox aAutoCB;
FixedText aFollowFt;
diff --git a/sfx2/inc/mieclip.hxx b/sfx2/inc/sfx2/mieclip.hxx
index 735000aa1a..735000aa1a 100644
--- a/sfx2/inc/mieclip.hxx
+++ b/sfx2/inc/sfx2/mieclip.hxx
diff --git a/sfx2/inc/minfitem.hxx b/sfx2/inc/sfx2/minfitem.hxx
index 16be97df92..16be97df92 100644
--- a/sfx2/inc/minfitem.hxx
+++ b/sfx2/inc/sfx2/minfitem.hxx
diff --git a/sfx2/inc/sfx2/passwd.hxx b/sfx2/inc/sfx2/passwd.hxx
index f761a3965c..4ca2dd8149 100644
--- a/sfx2/inc/sfx2/passwd.hxx
+++ b/sfx2/inc/sfx2/passwd.hxx
@@ -28,40 +28,44 @@
#define _SFX_PASSWD_HXX
#include "sal/config.h"
-#include "sfx2/dllapi.h"
-
-#ifndef _SV_BUTTON_HXX
+#include <sfx2/dllapi.h>
#include <vcl/button.hxx>
-#endif
#include <vcl/dialog.hxx>
#include <vcl/edit.hxx>
#include <vcl/fixed.hxx>
+#include <sfx2/app.hxx>
// defines ---------------------------------------------------------------
-#define SHOWEXTRAS_NONE ((USHORT)0x0000)
-#define SHOWEXTRAS_USER ((USHORT)0x0001)
-#define SHOWEXTRAS_CONFIRM ((USHORT)0x0002)
-#define SHOWEXTRAS_ALL ((USHORT)(SHOWEXTRAS_USER | SHOWEXTRAS_CONFIRM))
+#define SHOWEXTRAS_NONE ((USHORT)0x0000)
+#define SHOWEXTRAS_USER ((USHORT)0x0001)
+#define SHOWEXTRAS_CONFIRM ((USHORT)0x0002)
+#define SHOWEXTRAS_PASSWORD2 ((USHORT)0x0004)
+#define SHOWEXTRAS_CONFIRM2 ((USHORT)0x0008)
+#define SHOWEXTRAS_ALL ((USHORT)(SHOWEXTRAS_USER | SHOWEXTRAS_CONFIRM))
// class SfxPasswordDialog -----------------------------------------------
class SFX2_DLLPUBLIC SfxPasswordDialog : public ModalDialog
{
private:
+ FixedLine maPasswordBox;
FixedText maUserFT;
Edit maUserED;
FixedText maPasswordFT;
Edit maPasswordED;
FixedText maConfirmFT;
Edit maConfirmED;
- FixedLine maPasswordBox;
+ FixedLine maPassword2Box;
+ FixedText maPassword2FT;
+ Edit maPassword2ED;
+ FixedText maConfirm2FT;
+ Edit maConfirm2ED;
OKButton maOKBtn;
CancelButton maCancelBtn;
HelpButton maHelpBtn;
- String maConfirmStr;
USHORT mnMinLen;
USHORT mnExtras;
@@ -75,6 +79,10 @@ public:
String GetUser() const { return maUserED.GetText(); }
String GetPassword() const { return maPasswordED.GetText(); }
String GetConfirm() const { return maConfirmED.GetText(); }
+
+ String GetPassword2() const { return maPassword2ED.GetText(); }
+ String GetConfirm2() const { return maConfirm2ED.GetText(); }
+ void SetGroup2Text( const String& i_rText ) { maPassword2Box.SetText( i_rText ); }
void SetMinLen( USHORT Len );
void SetMaxLen( USHORT Len );
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc
index 4dc2fc575f..f30273f83f 100644
--- a/sfx2/inc/sfx2/sfx.hrc
+++ b/sfx2/inc/sfx2/sfx.hrc
@@ -362,9 +362,6 @@
#define RID_ITEMLIST_LINGU (RID_OPTIONS_START + 11)
#define RID_SFXPAGE_PRINTOPTIONS (RID_OPTIONS_START + 12)
-#define STR_UNDO (RID_SFX_VIEW_START+11)
-#define STR_REDO (RID_SFX_VIEW_START+12)
-#define STR_REPEAT (RID_SFX_VIEW_START+13)
#define RID_STR_NEW_TASK (RID_SFX_DOC_START+ 76)
// Member-Ids ------------------------------------------------------------
diff --git a/sfx2/inc/sfx2/sfxbasemodel.hxx b/sfx2/inc/sfx2/sfxbasemodel.hxx
index 52fe2c14bf..5a8e377b7a 100644
--- a/sfx2/inc/sfx2/sfxbasemodel.hxx
+++ b/sfx2/inc/sfx2/sfxbasemodel.hxx
@@ -39,7 +39,7 @@
#include <com/sun/star/container/XChild.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/container/XNameReplace.hpp>
-#include <com/sun/star/frame/XController.hpp>
+#include <com/sun/star/frame/XController2.hpp>
#include <com/sun/star/document/XDocumentInfo.hpp>
#include <com/sun/star/document/XDocumentInfoSupplier.hpp>
#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
@@ -48,6 +48,7 @@
#include <com/sun/star/rdf/XDocumentMetadataAccess.hpp>
#include <com/sun/star/document/XEventBroadcaster.hpp>
+#include <com/sun/star/document/XDocumentEventBroadcaster.hpp>
#include <com/sun/star/document/XEventListener.hpp>
#include <com/sun/star/document/XEventsSupplier.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp>
@@ -96,9 +97,9 @@
#include <com/sun/star/task/XInteractionHandler.hpp>
//________________________________________________________________________________________________________
-#if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_30)
-#define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_30
-#define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 30
+#if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_31)
+#define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_31
+#define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 31
#include <comphelper/implbase_var.hxx>
#endif
@@ -143,6 +144,7 @@
#define XDOCUMENTINFO ::com::sun::star::document::XDocumentInfo
#define XDOCUMENTINFOSUPPLIER ::com::sun::star::document::XDocumentInfoSupplier
#define XEVENTBROADCASTER ::com::sun::star::document::XEventBroadcaster
+#define XDOCUMENTEVENTBROADCASTER ::com::sun::star::document::XDocumentEventBroadcaster
#define XEVENTSSUPPLIER ::com::sun::star::document::XEventsSupplier
#define XEMBEDDEDSCRIPTS ::com::sun::star::document::XEmbeddedScripts
#define XSCRIPTINVOCATIONCONTEXT ::com::sun::star::document::XScriptInvocationContext
@@ -237,12 +239,13 @@ namespace sfx { namespace intern {
SfxListener
*/
-typedef ::comphelper::WeakImplHelper30 < XCHILD
+typedef ::comphelper::WeakImplHelper31 < XCHILD
, XDOCUMENTINFOSUPPLIER
, ::com::sun::star::document::XDocumentPropertiesSupplier
, ::com::sun::star::rdf::XDocumentMetadataAccess
, ::com::sun::star::document::XDocumentRecovery
, XEVENTBROADCASTER
+ , XDOCUMENTEVENTBROADCASTER
, XEVENTLISTENER
, XEVENTSSUPPLIER
, XEMBEDDEDSCRIPTS
@@ -1249,6 +1252,18 @@ public:
virtual void SAL_CALL removeEventListener( const REFERENCE< XDOCEVENTLISTENER >& xListener ) throw( RUNTIMEEXCEPTION );
+ //____________________________________________________________________________________________________
+ // XDocumentEventBroadcaster
+ //____________________________________________________________________________________________________
+
+ virtual void SAL_CALL addDocumentEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentEventListener >& _Listener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeDocumentEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentEventListener >& _Listener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL notifyDocumentEvent( const ::rtl::OUString& _EventName, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >& _ViewController, const ::com::sun::star::uno::Any& _Supplement ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException);
+
+ //____________________________________________________________________________________________________
+ // XUnoTunnel
+ //____________________________________________________________________________________________________
+
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
// css.frame.XModule
@@ -1484,8 +1499,8 @@ public:
*/
SAL_DLLPRIVATE sal_Bool impl_isDisposed() const ;
- sal_Bool IsDisposed() const ;
sal_Bool IsInitialized() const;
+ void MethodEntryCheck( const bool i_mustBeInitialized ) const;
::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData() throw (::com::sun::star::uno::RuntimeException);
void SAL_CALL setViewData( const ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess >& aData ) throw (::com::sun::star::uno::RuntimeException);
@@ -1531,7 +1546,9 @@ private:
SAL_DLLPRIVATE void impl_store( const OUSTRING& sURL ,
const SEQUENCE< PROPERTYVALUE >& seqArguments ,
sal_Bool bSaveTo ) ;
- SAL_DLLPRIVATE void postEvent_Impl( ::rtl::OUString );
+
+ SAL_DLLPRIVATE void postEvent_Impl( const ::rtl::OUString& aName, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >& xController = ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >() );
+
SAL_DLLPRIVATE String getEventName_Impl( long nID );
SAL_DLLPRIVATE void NotifyStorageListeners_Impl();
SAL_DLLPRIVATE bool QuerySaveSizeExceededModules( const com::sun::star::uno::Reference< com::sun::star::task::XInteractionHandler >& xHandler );
@@ -1573,10 +1590,7 @@ public:
SfxModelGuard( SfxBaseModel& i_rModel, const AllowedModelState i_eState = E_FULLY_ALIVE )
:m_aGuard( Application::GetSolarMutex() )
{
- if ( i_rModel.IsDisposed() )
- throw ::com::sun::star::lang::DisposedException( ::rtl::OUString(), *&i_rModel );
- if ( ( i_eState != E_INITIALIZING ) && !i_rModel.IsInitialized() )
- throw ::com::sun::star::lang::NotInitializedException( ::rtl::OUString(), *&i_rModel );
+ i_rModel.MethodEntryCheck( i_eState != E_INITIALIZING );
}
~SfxModelGuard()
{
diff --git a/sfx2/inc/sfxhelp.hxx b/sfx2/inc/sfx2/sfxhelp.hxx
index ff08edbd66..ff08edbd66 100644
--- a/sfx2/inc/sfxhelp.hxx
+++ b/sfx2/inc/sfx2/sfxhelp.hxx
diff --git a/sfx2/inc/sfxresid.hxx b/sfx2/inc/sfx2/sfxresid.hxx
index aa3a13b37b..095f7e1077 100644
--- a/sfx2/inc/sfxresid.hxx
+++ b/sfx2/inc/sfx2/sfxresid.hxx
@@ -28,12 +28,10 @@
#define _SFX_SFXRESID_HXX
#include <tools/string.hxx>
-
-#ifndef _RESID_HXX //autogen
+#include "sfx2/dllapi.h"
#include <tools/resid.hxx>
-#endif
-class SfxResId: public ResId
+class SFX2_DLLPUBLIC SfxResId: public ResId
{
public:
SfxResId( USHORT nId );
diff --git a/sfx2/inc/sfx2/sfxsids.hrc b/sfx2/inc/sfx2/sfxsids.hrc
index 2a4b77b3d1..d6ab79d2a1 100644
--- a/sfx2/inc/sfx2/sfxsids.hrc
+++ b/sfx2/inc/sfx2/sfxsids.hrc
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -93,6 +93,8 @@
#define SID_MAIL_PRIORITY (SID_SFX_START + 337)
#define SID_MAIL_ATTACH_FILE (SID_SFX_START + 375)
+#define SID_MAIL_PREPAREEXPORT (SID_SFX_START + 385)
+#define SID_MAIL_NEEDS_PREPAREEXPORT (SID_SFX_START + 386)
#define SID_MAIL_EXPORT_FINISHED (SID_SFX_START + 388)
#define SID_WEBHTML (SID_SFX_START + 393)
@@ -135,7 +137,7 @@
#define SID_JUMPTOMARK (SID_SFX_START + 598)
#define SID_OPENTEMPLATE (SID_SFX_START + 594)
#define SID_SAVEASDOC (SID_SFX_START + 502)
-#define SID_CLOSING (SID_SFX_START +1539)
+#define SID_CLOSING (SID_SFX_START +1539)
#define SID_CLOSEDOC (SID_SFX_START + 503)
#define SID_CLOSEDOCS (SID_SFX_START + 595)
#define SID_CLOSEDOC_SAVE (SID_SFX_START + 1)
@@ -155,7 +157,7 @@
#define SID_RELOAD (SID_SFX_START + 508)
#define SID_PRINTDOCDIRECT (SID_SFX_START + 509)
#define SID_PICKLIST (SID_SFX_START + 510)
-#define SID_ATTR_XWINDOW (SID_SFX_START + 777)
+#define SID_ATTR_XWINDOW (SID_SFX_START + 777)
#define SID_PLUGIN_MODE (SID_SFX_START + 827)
#define SID_EXPORTDOC (SID_SFX_START + 829)
#define SID_EXPORTDOCASPDF (SID_SFX_START + 1673)
@@ -190,17 +192,17 @@
#define SID_EXPLORER_FILEPROPS_START (SID_SFX_START + 1390)
#define SID_EXPLORER_FILEPROPS_END (SID_SFX_START + 1399)
-#define ID_FILETP_START SID_EXPLORER_FILEPROPS_START
-#define ID_FILETP_READONLY (ID_FILETP_START + 0)
-#define ID_FILETP_TITLE (ID_FILETP_START + 1)
+#define ID_FILETP_START SID_EXPLORER_FILEPROPS_START
+#define ID_FILETP_READONLY (ID_FILETP_START + 0)
+#define ID_FILETP_TITLE (ID_FILETP_START + 1)
#define SID_EXPLORER_PROPS_START (SID_SFX_START + 1410)
#define SID_EXPLORER_PROPS_END (SID_SFX_START + 1499)
-#define SID_AUTOLOAD (SID_SFX_START + 1509)
+#define SID_AUTOLOAD (SID_SFX_START + 1509)
#define SID_FILLFRAME (SID_SFX_START + 1516)
#define SID_BASEURL (SID_SFX_START + 1518)
-#define SID_TEMPLATE (SID_SFX_START + 1519)
+#define SID_TEMPLATE (SID_SFX_START + 1519)
#define SID_ONLINE_REGISTRATION (SID_SFX_START + 1537)
@@ -224,10 +226,10 @@
#define SID_OFFICE_PLK (SID_SFX_START + 1601)
#define SID_OFFICE_PALK (SID_SFX_START + 1604)
-#define SID_CHECK_KEY (SID_SFX_START + 1605)
-#define SID_OFFICE_PRIVATE_USE (SID_SFX_START + 1606)
-#define SID_OFFICE_COMMERCIAL_USE (SID_SFX_START + 1607)
-#define SID_OFFICE_CUSTOMERNUMBER (SID_SFX_START + 1608)
+#define SID_CHECK_KEY (SID_SFX_START + 1605)
+#define SID_OFFICE_PRIVATE_USE (SID_SFX_START + 1606)
+#define SID_OFFICE_COMMERCIAL_USE (SID_SFX_START + 1607)
+#define SID_OFFICE_CUSTOMERNUMBER (SID_SFX_START + 1608)
#define SID_OFFICE_INVALIDATE_TITLE (SID_SFX_START + 1609)
#define SID_OFFICE_CHECK_PLZ (SID_SFX_START + 1610)
#define SID_INTERNET_SEARCH (SID_SFX_START + 1611)
@@ -240,14 +242,14 @@
#define SID_NEW_MSG_PARENT (SID_SFX_START + 1622)
-#define SID_PGP_ENCODE (SID_SFX_START + 1625)
-#define SID_PGP_DECODE (SID_SFX_START + 1626)
-#define SID_TIPWINDOW (SID_SFX_START + 1632)
-#define SID_CHARSET (SID_SFX_START + 1633)
-#define SID_OVERWRITE (SID_SFX_START + 1634)
+#define SID_PGP_ENCODE (SID_SFX_START + 1625)
+#define SID_PGP_DECODE (SID_SFX_START + 1626)
+#define SID_TIPWINDOW (SID_SFX_START + 1632)
+#define SID_CHARSET (SID_SFX_START + 1633)
+#define SID_OVERWRITE (SID_SFX_START + 1634)
#define SID_RENAME (SID_SFX_START + 1653)
-#define SID_PARTWIN (SID_SFX_START + 1640)
-#define SID_CRASH (SID_SFX_START + 1645)
+#define SID_PARTWIN (SID_SFX_START + 1640)
+#define SID_CRASH (SID_SFX_START + 1645)
#define SID_FAIL_ON_WARNING (SID_SFX_START + 1646)
#define SID_MAIL_CHILDWIN (SID_SFX_START + 1647)
#define SID_INPUTSTREAM (SID_SFX_START + 1648)
@@ -275,7 +277,7 @@
#define SID_SHOW_IME_STATUS_WINDOW (SID_SFX_START + 1680)
#define SID_UPDATE_CONFIG (SID_SFX_START + 1681)
#define SID_VIEWONLY (SID_SFX_START + 1682)
-#define SID_REPAIRPACKAGE (SID_SFX_START + 1683)
+#define SID_REPAIRPACKAGE (SID_SFX_START + 1683)
#define SID_ADDONHELP (SID_SFX_START + 1684)
#define SID_OBJECTSHELL (SID_SFX_START + 1685)
#define SID_MINIMIZED (SID_SFX_START + 1687)
@@ -285,7 +287,7 @@
#define SID_MACROORGANIZER (SID_SFX_START + 1691)
#define SID_RUNMACRO (SID_SFX_START + 1692)
#define SID_AVMEDIA_TOOLBOX (SID_SFX_START + 1693)
-#define SID_AVMEDIA_PLAYER (SID_SFX_START + 1694)
+#define SID_AVMEDIA_PLAYER (SID_SFX_START + 1694)
#define SID_INSERT_AVMEDIA (SID_SFX_START + 1696)
#define SID_RECENTFILELIST (SID_SFX_START + 1697)
#define SID_AVAILABLE_TOOLBARS (SID_SFX_START + 1698)
@@ -309,8 +311,12 @@
#define SID_DEFAULTFILENAME (SID_SFX_START + 1717)
#define SID_MODIFYPASSWORDINFO (SID_SFX_START + 1718)
#define SID_RECOMMENDREADONLY (SID_SFX_START + 1719)
-#define SID_SFX_free_START (SID_SFX_START + 1720)
-#define SID_SFX_free_END (SID_SFX_START + 3999)
+#define SID_SUGGESTEDSAVEASDIR (SID_SFX_START + 1720)
+#define SID_SUGGESTEDSAVEASNAME (SID_SFX_START + 1721)
+#define SID_ENCRYPTIONDATA (SID_SFX_START + 1722)
+#define SID_PASSWORDINTERACTION (SID_SFX_START + 1723)
+#define SID_SFX_free_START (SID_SFX_START + 1724)
+#define SID_SFX_free_END (SID_SFX_START + 3999)
#define SID_OPEN_NEW_VIEW (SID_SFX_START + 520)
// FREE, was SID_VIEW_ZOOM_MODE
@@ -492,7 +498,7 @@
#define SID_PASTE (SID_SFX_START + 712)
// steht unter diesem Wert in chaos/cntids.hrc!!!
-//#define SID_DELETE (SID_SFX_START + 713)
+//#define SID_DELETE (SID_SFX_START + 713)
#define SID_BACKSPACE (SID_SFX_START + 714)
#define SID_FORMATPAINTBRUSH (SID_SFX_START + 715)
@@ -557,7 +563,7 @@
#define SID_RESTORETOOLBOX (SID_SFX_START + 903)
#define SID_CONFIG (SID_SFX_START + 904)
#define SID_TOGGLECOMMONTASKBAR (SID_SFX_START + 928)
-#define SID_TOGGLEINETBAR (SID_SFX_START + 928)
+#define SID_TOGGLEINETBAR (SID_SFX_START + 928)
#define SID_TOGGLEOBJECTBAR (SID_SFX_START + 905)
#define SID_CONFIGTOOLBOX (SID_SFX_START + 906)
#define SID_TOOLBOXOPTIONS (SID_SFX_START + 907)
@@ -653,10 +659,10 @@
#define SID_OPT_DESKTOP_PATH (SID_SFX_START + 1558)
#define SID_OPT_CACHE_PATH (SID_SFX_START + 1559)
-#define SID_OPT_HELP_PATH (SID_SFX_START + 1560)
+#define SID_OPT_HELP_PATH (SID_SFX_START + 1560)
#define SID_OPT_BOOKMARKS_PATH (SID_SFX_START + 1561)
#define SID_OPT_GALLERY_PATH (SID_SFX_START + 1562)
-#define SID_OPT_NEWDOC_PATH (SID_SFX_START + 1563)
+#define SID_OPT_NEWDOC_PATH (SID_SFX_START + 1563)
#define SID_OPT_AGENTS_PATH (SID_SFX_START + 1564)
#define SID_OPT_AUTOPILOT_PATH (SID_SFX_START + 1565)
#define SID_OPT_EXPLORER_PATH (SID_SFX_START + 1566)
@@ -750,12 +756,12 @@
#define SID_ATTR_AUTOHELPAGENT (SID_OPTIONS_START + 67)
#define SID_AUTOHELPAGENT_RESET (SID_OPTIONS_START + 68)
#define SID_HELPAGENT_TIMEOUT (SID_OPTIONS_START + 93)
-#define SID_ATTR_WELCOMESCREEN (SID_OPTIONS_START + 81)
+#define SID_ATTR_WELCOMESCREEN (SID_OPTIONS_START + 81)
#define SID_WELCOMESCREEN_RESET (SID_OPTIONS_START + 82)
-#define SID_RESTORE_EXPAND_STATE (SID_OPTIONS_START + 83)
+#define SID_RESTORE_EXPAND_STATE (SID_OPTIONS_START + 83)
#define SID_ATTR_QUICKLAUNCHER (SID_OPTIONS_START + 74)
#define SID_ATTR_YEAR2000 (SID_OPTIONS_START + 87)
-#define SID_ATTR_ALLOWFOLDERWEBVIEW (SID_OPTIONS_START + 92)
+#define SID_ATTR_ALLOWFOLDERWEBVIEW (SID_OPTIONS_START + 92)
// PathTabPage
@@ -824,7 +830,7 @@
#define SID_INET_CHANNELS_ONOFF (SID_OPTIONS_START + 64)
-#define SID_INET_COOKIESHANDLE (SID_OPTIONS_START + 69)
+#define SID_INET_COOKIESHANDLE (SID_OPTIONS_START + 69)
#define SID_INET_CACHEJS (SID_OPTIONS_START + 70)
#define SID_INET_CACHEEXPIRED (SID_OPTIONS_START + 71)
@@ -835,9 +841,9 @@
#define SID_SAVEREL_FSYS (SID_OPTIONS_START + 31)
// Automatisches update von Styles - Verwalten-TabPage
-#define SID_ATTR_AUTO_STYLE_UPDATE (SID_OPTIONS_START + 65)
+#define SID_ATTR_AUTO_STYLE_UPDATE (SID_OPTIONS_START + 65)
-#define SID_SECURE_URL (SID_OPTIONS_START + 66)
+#define SID_SECURE_URL (SID_OPTIONS_START + 66)
#define SID_OPT_SCREENSCALING (SID_OPTIONS_START + 78)
@@ -940,7 +946,7 @@
#define SID_BASICIDE_ARG_COLUMN1 ( SID_BASICIDE_START + 49 )
#define SID_BASICIDE_ARG_COLUMN2 ( SID_BASICIDE_START + 50 )
#define SID_BASICIDE_ARG_DOCUMENT_MODEL ( SID_BASICIDE_START + 51 )
-#define SID_BASICIDE_MANAGE_LANG ( SID_BASICIDE_START + 52 )
+#define SID_BASICIDE_MANAGE_LANG ( SID_BASICIDE_START + 52 )
#define SID_BASICIDE_CURRENT_LANG ( SID_BASICIDE_START + 53 )
// SlotIds f"ur Apps --------------------------------------------------------
@@ -988,7 +994,7 @@
//-----------------------------------------------------------------------
-#define SID_ATTR_CHAR_FILLCOLOR (SID_SFX_START + 1551)
+#define SID_ATTR_CHAR_FILLCOLOR (SID_SFX_START + 1551)
// SfxScriptOrganizerItem
#define MID_SCRIPT_ORGANIZER_LANGUAGE 1 // Don't use zero for MID's. It's forbidden to do it!
diff --git a/sfx2/inc/sfx2/sfxuno.hxx b/sfx2/inc/sfx2/sfxuno.hxx
index f070dd4676..0b441b2f0f 100644
--- a/sfx2/inc/sfx2/sfxuno.hxx
+++ b/sfx2/inc/sfx2/sfxuno.hxx
@@ -37,6 +37,7 @@
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
#include <com/sun/star/task/ErrorCodeIOException.hpp>
+#include <com/sun/star/beans/NamedValue.hpp>
//________________________________________________________________________________________________________________________
@@ -104,7 +105,7 @@ SFX2_DLLPUBLIC void TransformItems( sal_uInt16 nSlotId ,
UNOSEQUENCE< UNOPROPERTYVALUE >& seqArgs ,
const SfxSlot* pSlot = 0 );
-sal_Bool GetPasswd_Impl( const SfxItemSet* pSet, ::rtl::OUString& rPasswd );
+bool GetEncryptionData_Impl( const SfxItemSet* pSet, ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aEncryptionData );
#define FrameSearchFlags sal_Int32
diff --git a/sfx2/inc/stbitem.hxx b/sfx2/inc/sfx2/stbitem.hxx
index 94261e54ca..94261e54ca 100644
--- a/sfx2/inc/stbitem.hxx
+++ b/sfx2/inc/sfx2/stbitem.hxx
diff --git a/sfx2/inc/tplpitem.hxx b/sfx2/inc/sfx2/tplpitem.hxx
index fdff95cf61..fdff95cf61 100644
--- a/sfx2/inc/tplpitem.hxx
+++ b/sfx2/inc/sfx2/tplpitem.hxx
diff --git a/sfx2/inc/viewfac.hxx b/sfx2/inc/sfx2/viewfac.hxx
index 15462c3361..cbf3c954de 100644
--- a/sfx2/inc/viewfac.hxx
+++ b/sfx2/inc/sfx2/viewfac.hxx
@@ -30,9 +30,7 @@
#include "sal/config.h"
#include "sfx2/dllapi.h"
#include <tools/string.hxx>
-#ifndef _RESID_HXX //autogen
#include <tools/resid.hxx>
-#endif
class SfxViewFrame;
class SfxViewShell;
@@ -51,7 +49,6 @@ public:
SfxViewShell *CreateInstance(SfxViewFrame *pViewFrame, SfxViewShell *pOldSh);
void InitFactory();
-
USHORT GetOrdinal() const { return nOrd; }
/// returns a legacy view name. This is "view" with an appended ordinal/ID.
diff --git a/sfx2/inc/sfx2/viewsh.hxx b/sfx2/inc/sfx2/viewsh.hxx
index f60c58b283..354edb836b 100644
--- a/sfx2/inc/sfx2/viewsh.hxx
+++ b/sfx2/inc/sfx2/viewsh.hxx
@@ -37,6 +37,7 @@
#include <svl/lstner.hxx>
#include <com/sun/star/ui/XContextMenuInterceptor.hpp>
#include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp>
+#include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp>
#include <cppuhelper/interfacecontainer.hxx>
#include "shell.hxx"
#include <tools/gen.hxx>
@@ -293,6 +294,7 @@ public:
void ExecPrint( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >&, sal_Bool, sal_Bool );
void AddRemoveClipboardListener( const com::sun::star::uno::Reference < com::sun::star::datatransfer::clipboard::XClipboardListener>&, BOOL );
+ ::com::sun::star::uno::Reference< ::com::sun::star::datatransfer::clipboard::XClipboardNotifier > GetClipboardNotifier();
#if _SOLAR__PRIVATE
SAL_DLLPRIVATE SfxInPlaceClient* GetUIActiveIPClient_Impl() const;
@@ -380,4 +382,3 @@ inline SfxViewFrame* SfxViewShell::GetViewFrame() const
#endif // #ifndef _SFXVIEWSH_HXX
-
diff --git a/sfx2/prj/build.lst b/sfx2/prj/build.lst
index 1e471312c6..f8fddef145 100644
--- a/sfx2/prj/build.lst
+++ b/sfx2/prj/build.lst
@@ -1,31 +1,11 @@
-sf sfx2 : l10n idl basic xmlscript framework readlicense_oo shell setup_native sax SYSTRAY_GTK:libegg LIBXML2:libxml2 NULL
+sf sfx2 : l10n idl basic xmlscript framework readlicense_oo shell setup_native sax SYSTRAY_GTK:libegg LIBXML2:libxml2 LIBXSLT:libxslt NULL
sf sfx2 usr1 - all sf_mkout NULL
-sf sfx2\inc nmake - all sf_inc NULL
-sf sfx2\prj get - all sf_prj NULL
-sf sfx2\mac\res get - all sf_mres NULL
-sf sfx2\source\inc get - all sf_sinc NULL
-sf sfx2\sdi nmake - all sf_sdi NULL
-sf sfx2\source\appl nmake - all sf_appl sf_sdi sf_inc NULL
-sf sfx2\source\view nmake - all sf_view sf_sdi sf_inc NULL
-sf sfx2\source\bastyp nmake - all sf_bast sf_sdi sf_inc NULL
-sf sfx2\source\config nmake - all sf_cnfg sf_sdi sf_inc NULL
-sf sfx2\source\control nmake - all sf_ctrl sf_sdi sf_inc NULL
-sf sfx2\source\dialog nmake - all sf_dlg sf_sdi sf_inc NULL
-sf sfx2\source\doc nmake - all sf_doc sf_sdi sf_inc NULL
-sf sfx2\source\layout nmake - all sf_layout sf_sdi sf_inc NULL
-sf sfx2\source\menu nmake - all sf_menu sf_sdi sf_inc NULL
-sf sfx2\source\notify nmake - all sf_noti sf_sdi sf_inc NULL
-sf sfx2\source\statbar nmake - all sf_sbar sf_sdi sf_inc NULL
-sf sfx2\source\toolbox nmake - all sf_tbox sf_sdi sf_inc NULL
-sf sfx2\source\inet nmake - all sf_inet sf_sdi sf_inc NULL
-sf sfx2\source\explorer nmake - all sf_expl sf_sdi sf_inc NULL
-sf sfx2\workben\custompanel nmake - all sf_wb_custompanel NULL
-sf sfx2\util nmake - all sf_util sf_appl sf_bast sf_cnfg sf_ctrl sf_dlg sf_doc sf_expl sf_inet sf_menu sf_layout sf_noti sf_sbar sf_tbox sf_view NULL
-sf sfx2\qa\unoapi nmake - all sf_qa_unoapi NULL
-sf sfx2\qa\cppunit nmake - all sf_qa_cppunit sf_util NULL
+sf sfx2\prj nmake - all sf_prj NULL
+
# fails on unxsoli4
# sf sfx2\qa\complex\standalonedocumentinfo nmake - all sf_qa_complex_standalonedocumentinfo sf_util NULL
# sf sfx2\qa\complex\framework nmake - all sf_qa_complex_framework sf_qa_complex_framework_dochelper NULL
# sf sfx2\qa\complex\docinfo nmake - all sf_qa_complex_docinfo sf_util NULL
+
diff --git a/sfx2/prj/d.lst b/sfx2/prj/d.lst
index 0768000425..e69de29bb2 100644
--- a/sfx2/prj/d.lst
+++ b/sfx2/prj/d.lst
@@ -1,47 +0,0 @@
-mkdir: %COMMON_DEST%\bin%_EXT%\hid
-mkdir: %COMMON_DEST%\res%_EXT%
-mkdir: %_DEST%\inc%_EXT%\sfx2
-
-..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
-..\%__SRC%\lib\sfx.lib %_DEST%\lib%_EXT%\sfx.lib
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
-..\%__SRC%\lib\*.a %_DEST%\lib%_EXT%\*.a
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-..\%__SRC%\slb\sfx.lib %_DEST%\lib%_EXT%\xsfx.lib
-..\%__SRC%\lib\isfx.lib %_DEST%\lib%_EXT%\isfx.lib
-..\%__SRC%\lib\debug.lib %_DEST%\lib%_EXT%\sfxdebug.lib
-..\%__SRC%\bin\sfx?????.sym %_DEST%\bin%_EXT%\sfx?????.sym
-..\%__SRC%\bin\sfx?????.dll %_DEST%\bin%_EXT%\sfx?????.dll
-..\%__SRC%\bin\sfx*.res %_DEST%\bin%_EXT%\sfx*.res
-..\%__SRC%\bin\sfx?????.sym %_DEST%\bin%_EXT%\sfx?????.sym
-..\%__SRC%\misc\sfx?????.map %_DEST%\bin%_EXT%\sfx?????.map
-..\%__SRC%\bin\elc?????.dll %_DEST%\bin%_EXT%\elc?????.dll
-..\%__SRC%\srs\sfx.srs %_DEST%\res%_EXT%\sfx.srs
-..\%COMMON_OUTDIR%\srs\sfx_srs.hid %COMMON_DEST%\res%_EXT%\sfx_srs.hid
-..\%__SRC%\srs\sfxslots.srs %_DEST%\res%_EXT%\sfxslots.srs
-..\%COMMON_OUTDIR%\srs\sfxslots_srs.hid %COMMON_DEST%\res%_EXT%\sfxslots_srs.hid
-..\util\sfx.xml %_DEST%\xml%_EXT%\sfx.xml
-..\%__SRC%\misc\sfx2.csv %_DEST%\inc%_EXT%\sfx2.csv
-
-..\inc\sfx2\*.h %_DEST%\inc%_EXT%\sfx2\*.h
-..\inc\sfx2\*.hxx %_DEST%\inc%_EXT%\sfx2\*.hxx
-..\inc\sfx2\*.hrc %_DEST%\inc%_EXT%\sfx2\*.hrc
-
-..\sdi\sfx.sdi %_DEST%\inc%_EXT%\sfx2\sfx.sdi
-..\sdi\sfxitems.sdi %_DEST%\inc%_EXT%\sfx2\sfxitems.sdi
-..\inc\brokenpackageint.hxx %_DEST%\inc%_EXT%\sfx2\brokenpackageint.hxx
-..\inc\dinfedt.hxx %_DEST%\inc%_EXT%\sfx2\dinfedt.hxx
-..\inc\imgmgr.hxx %_DEST%\inc%_EXT%\sfx2\imgmgr.hxx
-..\inc\mieclip.hxx %_DEST%\inc%_EXT%\sfx2\mieclip.hxx
-..\inc\minfitem.hxx %_DEST%\inc%_EXT%\sfx2\minfitem.hxx
-..\inc\sfxhelp.hxx %_DEST%\inc%_EXT%\sfx2\sfxhelp.hxx
-..\inc\stbitem.hxx %_DEST%\inc%_EXT%\sfx2\stbitem.hxx
-..\inc\tplpitem.hxx %_DEST%\inc%_EXT%\sfx2\tplpitem.hxx
-..\inc\viewfac.hxx %_DEST%\inc%_EXT%\sfx2\viewfac.hxx
-..\inc\basmgr.hxx %_DEST%\inc%_EXT%\sfx2\basmgr.hxx
-..\inc\imagemgr.hxx %_DEST%\inc%_EXT%\sfx2\imagemgr.hxx
-..\inc\QuerySaveDocument.hxx %_DEST%\inc%_EXT%\sfx2\QuerySaveDocument.hxx
-..\inc\mailmodelapi.hxx %_DEST%\inc%_EXT%\sfx2\mailmodelapi.hxx
-..\inc\docinsert.hxx %_DEST%\inc%_EXT%\sfx2\docinsert.hxx
-
-..\%__SRC%\misc\sfx.component %_DEST%\xml%_EXT%\sfx.component
diff --git a/sfx2/source/config/makefile.mk b/sfx2/prj/makefile.mk
index d090babd15..c73a3d944b 100644
--- a/sfx2/source/config/makefile.mk
+++ b/sfx2/prj/makefile.mk
@@ -25,23 +25,16 @@
#
#*************************************************************************
-PRJ=..$/..
+PRJ=..
+TARGET=prj
-PRJNAME=sfx2
-TARGET=config
-ENABLE_EXCEPTIONS=TRUE
+.INCLUDE : settings.mk
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/evntconf.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/sfx2/qa/complex/docinfo/makefile.mk b/sfx2/qa/complex/docinfo/makefile.mk
deleted file mode 100644
index 626b648a6d..0000000000
--- a/sfx2/qa/complex/docinfo/makefile.mk
+++ /dev/null
@@ -1,63 +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 = sfx2
-TARGET = qa_complex_docinfo
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/docinfo
-JAVATESTFILES = \
- DocumentProperties.java
-
-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
-
-
-
-
-
diff --git a/sfx2/qa/complex/framework/DocHelper/makefile.mk b/sfx2/qa/complex/framework/DocHelper/makefile.mk
deleted file mode 100644
index ad614cfca3..0000000000
--- a/sfx2/qa/complex/framework/DocHelper/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 = ../../../..
-TARGET = DocHelper
-PRJNAME = $(TARGET)
-PACKAGE = complex/framework/dochelper
-
-# --- Settings -----------------------------------------------------
-.INCLUDE: settings.mk
-
-
-#----- compile .java files -----------------------------------------
-
-JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
-JAVAFILES = \
- DialogThread.java \
- WriterHelper.java
-
-JAVACLASSFILES = $(foreach,i,$(JAVAFILES) $(CLASSDIR)/$(PACKAGE)/$(i:b).class)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/qa/complex/framework/makefile.mk b/sfx2/qa/complex/framework/makefile.mk
deleted file mode 100644
index 325135b913..0000000000
--- a/sfx2/qa/complex/framework/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.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = sfx2
-TARGET = qa_complex_framework
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/framework
-JAVATESTFILES = \
- DocumentPropertiesTest.java \
- DocumentMetadataAccessTest.java \
- CheckGlobalEventBroadcaster_writer1.java
-
-JAVAFILES = $(JAVATESTFILES) \
- TestDocument.java \
- WriterHelper.java \
- DialogThread.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
-
-
diff --git a/sfx2/qa/complex/standalonedocumentinfo/makefile.mk b/sfx2/qa/complex/standalonedocumentinfo/makefile.mk
deleted file mode 100644
index aade48dbd7..0000000000
--- a/sfx2/qa/complex/standalonedocumentinfo/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.
-#
-#*************************************************************************
-
-.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
-nothing .PHONY:
-.ELSE
-
-PRJ = ../../..
-PRJNAME = sfx2
-TARGET = qa_complex_standalonedocumentinfo
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = complex/standalonedocumentinfo
-JAVATESTFILES = \
- StandaloneDocumentInfoUnitTest.java
-
-JAVAFILES = $(JAVATESTFILES) \
- StandaloneDocumentInfoTest.java \
- Test01.java \
- TestHelper.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
diff --git a/sfx2/qa/cppunit/makefile.mk b/sfx2/qa/cppunit/makefile.mk
deleted file mode 100644
index dce0b86a06..0000000000
--- a/sfx2/qa/cppunit/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=sfx2
-TARGET=qa_cppunit
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-#building with stlport, but cppunit was not built with stlport
-.IF "$(USE_SYSTEM_STL)"!="YES"
-.IF "$(SYSTEM_CPPUNIT)"=="YES"
-CFLAGSCXX+=-DADAPT_EXT_STL
-.ENDIF
-.ENDIF
-
-CFLAGSCXX += $(CPPUNIT_CFLAGS)
-DLLPRE = # no leading "lib" on .so files
-
-# --- Libs ---------------------------------------------------------
-
-SHL1OBJS= \
- $(SLO)/test_metadatable.obj \
-
-
-SHL1STDLIBS= \
- $(CPPUNITLIB) \
- $(SALLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(VCLLIB) \
- $(SFXLIB) \
-
-
-SHL1TARGET= test_metadatable
-SHL1RPATH = NONE
-SHL1IMPLIB= i$(SHL1TARGET)
-# SHL1DEF= $(MISC)/$(SHL1TARGET).def
-DEF1NAME=$(SHL1TARGET)
-# DEF1EXPORTFILE= export.exp
-SHL1VERSIONMAP= version.map
-
-# --- All object files ---------------------------------------------
-
-SLOFILES= \
- $(SHL1OBJS) \
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : _cppunit.mk
-
diff --git a/sfx2/qa/unoapi/makefile.mk b/sfx2/qa/unoapi/makefile.mk
deleted file mode 100644
index ea91ba4d1c..0000000000
--- a/sfx2/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 = sfx2
-TARGET = qa_unoapi
-
-.IF "$(OOO_JUNIT_JAR)" != ""
-PACKAGE = org/openoffice/sfx2/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/sfx2/sdi/makefile.mk b/sfx2/sdi/makefile.mk
deleted file mode 100644
index c02e51eb69..0000000000
--- a/sfx2/sdi/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=sfx2
-TARGET=sfxslots
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-.IF "$(L10N_framework)"==""
-
-SDI1NAME=$(TARGET)
-SDI1EXPORT=sfx
-#SIDHRCNAME=sfx.hrc unused???
-
-.ENDIF
-# --- Files --------------------------------------------------------
-
-SVSDI1DEPEND= \
- $(PRJ)$/inc$/sfx2$/sfxsids.hrc \
- sfx.sdi \
- appslots.sdi \
- sfxslots.sdi \
- docslots.sdi \
- viwslots.sdi \
- frmslots.sdi
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 53ad04a78a..35ba7ba0c7 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -5317,7 +5317,7 @@ SfxBoolItem SaveAll SID_SAVEDOCS
//--------------------------------------------------------------------------
SfxBoolItem SaveAs SID_SAVEASDOC
-(SfxStringItem URL SID_FILE_NAME,SfxStringItem FilterName SID_FILTER_NAME,SfxStringItem Password SID_PASSWORD,SfxStringItem FilterOptions SID_FILE_FILTEROPTIONS,SfxStringItem VersionComment SID_DOCINFO_COMMENTS,SfxStringItem VersionAuthor SID_DOCINFO_AUTHOR,SfxBoolItem Overwrite SID_OVERWRITE,SfxBoolItem Unpacked SID_UNPACK,SfxBoolItem SaveTo SID_SAVETO)
+(SfxStringItem URL SID_FILE_NAME,SfxStringItem FilterName SID_FILTER_NAME,SfxStringItem Password SID_PASSWORD,SfxBoolItem PasswordInteraction SID_PASSWORDINTERACTION,SfxStringItem FilterOptions SID_FILE_FILTEROPTIONS,SfxStringItem VersionComment SID_DOCINFO_COMMENTS,SfxStringItem VersionAuthor SID_DOCINFO_AUTHOR,SfxBoolItem Overwrite SID_OVERWRITE,SfxBoolItem Unpacked SID_UNPACK,SfxBoolItem SaveTo SID_SAVETO)
[
/* flags: */
AutoUpdate = FALSE,
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index de333ac5a7..0130f29f08 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -43,14 +43,10 @@
#include <basic/basrdll.hxx>
#include <svtools/asynclink.hxx>
#include <svl/stritem.hxx>
-#ifndef _SOUND_HXX //autogen
#include <vcl/sound.hxx>
-#endif
#include <svl/eitem.hxx>
#include <svl/urlbmk.hxx>
-#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
-#endif
#include <svtools/sfxecode.hxx>
#include <svtools/ehdl.hxx>
@@ -58,8 +54,6 @@
#include <tools/urlobj.hxx>
#include <unotools/tempfile.hxx>
#include <osl/file.hxx>
-#ifndef GCC
-#endif
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
@@ -78,23 +72,18 @@
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
-#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
-#endif
#include <com/sun/star/uri/XUriReferenceFactory.hpp>
#include <com/sun/star/uri/XVndSunStarScriptUrl.hpp>
-
#include <basic/basmgr.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/svapp.hxx>
-
#include <rtl/logfile.hxx>
-
#include <sfx2/appuno.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/request.hxx>
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "arrdecl.hxx"
#include <sfx2/progress.hxx>
#include <sfx2/objsh.hxx>
@@ -120,9 +109,10 @@
#include <sfx2/module.hxx>
#include <sfx2/tbxctrl.hxx>
#include <sfx2/sfxdlg.hxx>
-#include "stbitem.hxx"
+#include "sfx2/stbitem.hxx"
#include "eventsupplier.hxx"
#include <sfx2/dockwin.hxx>
+#include <tools/svlibrary.hxx>
#ifdef DBG_UTIL
#include <sfx2/tbxctrl.hxx>
@@ -291,7 +281,7 @@ void SfxPropertyHandler::Property( ApplicationProperty& rProp )
#include <framework/imageproducer.hxx>
#include <framework/acceleratorinfo.hxx>
#include <framework/sfxhelperfunctions.hxx>
-#include "imagemgr.hxx"
+#include "sfx2/imagemgr.hxx"
#include "fwkhelper.hxx"
::osl::Mutex SfxApplication::gMutex;
@@ -493,7 +483,7 @@ void SfxApplication::SetViewFrame_Impl( SfxViewFrame *pFrame )
if ( pOldContainerFrame )
{
if ( bTaskActivate )
- NotifyEvent( SfxEventHint( SFX_EVENT_DEACTIVATEDOC, GlobalEventConfig::GetEventName(STR_EVENT_DEACTIVATEDOC), pOldContainerFrame->GetObjectShell() ) );
+ NotifyEvent( SfxViewEventHint( SFX_EVENT_DEACTIVATEDOC, GlobalEventConfig::GetEventName(STR_EVENT_DEACTIVATEDOC), pOldContainerFrame->GetObjectShell(), pOldContainerFrame->GetFrame().GetController() ) );
pOldContainerFrame->DoDeactivate( bTaskActivate, pFrame );
if( pOldContainerFrame->GetProgress() )
@@ -517,7 +507,7 @@ void SfxApplication::SetViewFrame_Impl( SfxViewFrame *pFrame )
if ( bTaskActivate && pNewContainerFrame->GetObjectShell() )
{
pNewContainerFrame->GetObjectShell()->PostActivateEvent_Impl( pNewContainerFrame );
- NotifyEvent(SfxEventHint(SFX_EVENT_ACTIVATEDOC, GlobalEventConfig::GetEventName(STR_EVENT_ACTIVATEDOC), pNewContainerFrame->GetObjectShell() ) );
+ NotifyEvent(SfxViewEventHint(SFX_EVENT_ACTIVATEDOC, GlobalEventConfig::GetEventName(STR_EVENT_ACTIVATEDOC), pNewContainerFrame->GetObjectShell(), pNewContainerFrame->GetFrame().GetController() ) );
}
SfxProgress *pProgress = pNewContainerFrame->GetProgress();
@@ -736,9 +726,7 @@ extern "C" { static void SAL_CALL thisModule() {} }
IMPL_LINK( SfxApplication, GlobalBasicErrorHdl_Impl, StarBASIC*, pStarBasic )
{
// get basctl dllname
- String sLibName = String::CreateFromAscii( STRING( DLL_NAME ) );
- sLibName.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "sfx" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "basctl" ) ) );
- ::rtl::OUString aLibName( sLibName );
+ static ::rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "basctl" ) ) );
// load module
oslModule handleMod = osl_loadModuleRelative(
@@ -827,9 +815,7 @@ SfxApplication::ChooseScript()
void SfxApplication::MacroOrganizer( INT16 nTabId )
{
// get basctl dllname
- String sLibName = String::CreateFromAscii( STRING( DLL_NAME ) );
- sLibName.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "sfx" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "basctl" ) ) );
- ::rtl::OUString aLibName( sLibName );
+ static ::rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "basctl" ) ) );
// load module
oslModule handleMod = osl_loadModuleRelative(
diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src
index 0883e30f30..ae524c25ba 100644
--- a/sfx2/source/appl/app.src
+++ b/sfx2/source/appl/app.src
@@ -31,6 +31,45 @@
#include "app.hrc"
#include "helpid.hrc"
+String STR_NONAME
+{
+ Text [ en-US ] = "Untitled" ;
+};
+String STR_CLOSE
+{
+ Text [ en-US ] = "Close" ;
+};
+String STR_STYLE_FILTER_AUTO
+{
+ Text [ en-US ] = "Automatic" ;
+};
+String STR_STANDARD_SHORTCUT
+{
+ Text [ en-US ] = "Standard" ;
+};
+String STR_BYTES
+{
+ Text [ en-US ] = "Bytes" ;
+};
+String STR_KB
+{
+ Text [ en-US ] = "KB" ;
+};
+String STR_MB
+{
+ Text [ en-US ] = "MB" ;
+};
+String STR_GB
+{
+ Text [ en-US ] = "GB" ;
+};
+QueryBox MSG_QUERY_LASTVERSION
+{
+ Buttons = WB_YES_NO ;
+ DefButton = WB_DEF_NO ;
+ Message [ en-US ] = "Cancel all changes?" ;
+};
+
InfoBox RID_DOCALREADYLOADED_DLG
{
Message [ en-US ] = "Document already open." ;
@@ -891,19 +930,37 @@ Image IMG_MISSING_4
ImageBitmap = Bitmap { File = "sn064.bmp" ; };
};
+String STR_STANDARD
+{
+ Text [ en-US ] = "Standard" ;
+};
+
String RID_SVXSTR_FILELINK
{
Text [ en-US ] = "Document" ;
};
+
+String STR_NONE
+{
+ Text [ en-US ] = "- None -" ;
+};
String RID_SVXSTR_GRAFIKLINK
{
Text [ en-US ] = "Graphic" ;
};
+String STR_SFX_FILTERNAME_ALL
+{
+ Text [ en-US ] = "All files (*.*)" ;
+};
String RID_SVXSTR_EDITGRFLINK
{
Text [ en-US ] = "Link graphics" ;
};
-
+// i66948 used in project scripting
+String STR_ERRUNOEVENTBINDUNG
+{
+ Text [ en-US ] = "An appropriate component method %1\ncould not be found.\n\nCheck spelling of method name.";
+};
String RID_SVXSTR_GRFILTER_OPENERROR
{
Text [ en-US ] = "Graphics file cannot be opened" ;
diff --git a/sfx2/source/appl/appbas.cxx b/sfx2/source/appl/appbas.cxx
index 641991cf67..52e9d6248a 100644
--- a/sfx2/source/appl/appbas.cxx
+++ b/sfx2/source/appl/appbas.cxx
@@ -60,7 +60,7 @@
#include "arrdecl.hxx"
#include <sfx2/app.hxx>
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/msg.hxx>
#include <sfx2/msgpool.hxx>
#include <sfx2/progress.hxx>
@@ -69,8 +69,8 @@
#include <sfx2/viewfrm.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/dispatch.hxx>
-#include "tplpitem.hxx"
-#include "minfitem.hxx"
+#include "sfx2/tplpitem.hxx"
+#include "sfx2/minfitem.hxx"
#include "app.hrc"
#include <sfx2/evntconf.hxx>
#include <sfx2/macrconf.hxx>
@@ -78,8 +78,8 @@
#include <sfx2/dinfdlg.hxx>
#include "appdata.hxx"
#include "appbas.hxx"
-#include "sfxhelp.hxx"
-#include "basmgr.hxx"
+#include "sfx2/sfxhelp.hxx"
+#include "sfx2/basmgr.hxx"
#include "sorgitm.hxx"
#include "appbaslib.hxx"
#include <basic/basicmanagerrepository.hxx>
diff --git a/sfx2/source/appl/appbaslib.cxx b/sfx2/source/appl/appbaslib.cxx
index 8283a89379..fe84d4f1fd 100644..100755
--- a/sfx2/source/appl/appbaslib.cxx
+++ b/sfx2/source/appl/appbaslib.cxx
@@ -25,6 +25,9 @@
*
************************************************************************/
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sfx2.hxx"
+
#include "appbaslib.hxx"
#include <sfx2/sfxuno.hxx>
diff --git a/sfx2/source/appl/appcfg.cxx b/sfx2/source/appl/appcfg.cxx
index 7ec3ea7eb8..a109f6532b 100644
--- a/sfx2/source/appl/appcfg.cxx
+++ b/sfx2/source/appl/appcfg.cxx
@@ -78,7 +78,7 @@
#include <sfx2/app.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/viewfrm.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include "sfxtypes.hxx"
#include <sfx2/dispatch.hxx>
#include <sfx2/objsh.hxx>
@@ -91,7 +91,7 @@
#include <sfx2/macrconf.hxx>
#include "helper.hxx" // SfxContentHelper::...
#include "app.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "shutdownicon.hxx"
using namespace ::com::sun::star::uno;
diff --git a/sfx2/source/appl/appdata.cxx b/sfx2/source/appl/appdata.cxx
index 148f44cc1c..e48ffcc037 100644
--- a/sfx2/source/appl/appdata.cxx
+++ b/sfx2/source/appl/appdata.cxx
@@ -57,7 +57,7 @@
#include <sfx2/request.hxx>
#include "referers.hxx"
#include "app.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "objshimp.hxx"
#include <sfx2/appuno.hxx>
#include "imestatuswindow.hxx"
diff --git a/sfx2/source/appl/appinit.cxx b/sfx2/source/appl/appinit.cxx
index eec70a1eca..d7856fc15e 100644
--- a/sfx2/source/appl/appinit.cxx
+++ b/sfx2/source/appl/appinit.cxx
@@ -65,9 +65,6 @@
#include <rtl/logfile.hxx>
#include <vcl/edit.hxx>
-#ifndef GCC
-#endif
-
#include <sfx2/unoctitm.hxx>
#include "app.hrc"
#include "sfxlocal.hrc"
@@ -81,14 +78,15 @@
#include <sfx2/mnumgr.hxx>
#include <sfx2/msgpool.hxx>
#include <sfx2/progress.hxx>
-#include "sfxhelp.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxhelp.hxx"
+#include "sfx2/sfxresid.hxx"
#include "sfxtypes.hxx"
#include <sfx2/viewsh.hxx>
#include "nochaos.hxx"
#include <sfx2/fcontnr.hxx>
#include "helper.hxx" // SfxContentHelper::Kill()
#include "sfxpicklist.hxx"
+#include <tools/svlibrary.hxx>
#ifdef UNX
#define stricmp(a,b) strcmp(a,b)
@@ -215,10 +213,7 @@ String GetSpecialCharsForEdit(Window* pParent, const Font& rFont)
{
bDetermineFunction = true;
- String sLibName = String::CreateFromAscii( STRING( DLL_NAME ) );
- sLibName.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "sfx" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "cui" ) ) );
-
- rtl::OUString aLibName( sLibName );
+ static ::rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "cui" ) ) );
oslModule handleMod = osl_loadModuleRelative(
&thisModule, aLibName.pData, 0 );
diff --git a/sfx2/source/appl/appmain.cxx b/sfx2/source/appl/appmain.cxx
index 89de71d7c6..ded60743dc 100644
--- a/sfx2/source/appl/appmain.cxx
+++ b/sfx2/source/appl/appmain.cxx
@@ -53,7 +53,7 @@
#include <sfx2/app.hxx>
#include "arrdecl.hxx"
#include <sfx2/dispatch.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/fcontnr.hxx>
#include <sfx2/viewsh.hxx>
#include "intro.hxx"
diff --git a/sfx2/source/appl/appmisc.cxx b/sfx2/source/appl/appmisc.cxx
index e7eb75f99b..07d84df290 100644
--- a/sfx2/source/appl/appmisc.cxx
+++ b/sfx2/source/appl/appmisc.cxx
@@ -64,12 +64,12 @@
#include <unotools/moduleoptions.hxx>
#include <osl/file.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/app.hxx>
#include "appdata.hxx"
#include "arrdecl.hxx"
#include <sfx2/tbxctrl.hxx>
-#include "stbitem.hxx"
+#include "sfx2/stbitem.hxx"
#include <sfx2/mnuitem.hxx>
#include <sfx2/docfac.hxx>
#include <sfx2/docfile.hxx>
diff --git a/sfx2/source/appl/appopen.cxx b/sfx2/source/appl/appopen.cxx
index b7cf7129bd..272ae1e40f 100644
--- a/sfx2/source/appl/appopen.cxx
+++ b/sfx2/source/appl/appopen.cxx
@@ -98,7 +98,7 @@
#include <sfx2/passwd.hxx>
#include "referers.hxx"
#include <sfx2/request.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/viewsh.hxx>
#include "app.hrc"
#include <sfx2/viewfrm.hxx>
@@ -239,8 +239,7 @@ void SetTemplate_Impl( const String &rFileName,
pDoc->ResetFromTemplate( rLongName, rFileName );
}
-//--------------------------------------------------------------------
-
+//====================================================================
class SfxDocPasswordVerifier : public ::comphelper::IDocPasswordVerifier
{
public:
@@ -248,21 +247,33 @@ public:
mxStorage( rxStorage ) {}
virtual ::comphelper::DocPasswordVerifierResult
- verifyPassword( const ::rtl::OUString& rPassword );
+ verifyPassword( const ::rtl::OUString& rPassword, uno::Sequence< beans::NamedValue >& o_rEncryptionData );
+ virtual ::comphelper::DocPasswordVerifierResult
+ verifyEncryptionData( const uno::Sequence< beans::NamedValue >& rEncryptionData );
+
private:
Reference< embed::XStorage > mxStorage;
};
-::comphelper::DocPasswordVerifierResult SfxDocPasswordVerifier::verifyPassword( const ::rtl::OUString& rPassword )
+//--------------------------------------------------------------------
+::comphelper::DocPasswordVerifierResult SfxDocPasswordVerifier::verifyPassword( const ::rtl::OUString& rPassword, uno::Sequence< beans::NamedValue >& o_rEncryptionData )
+{
+ o_rEncryptionData = ::comphelper::OStorageHelper::CreatePackageEncryptionData( rPassword );
+ return verifyEncryptionData( o_rEncryptionData );
+}
+
+
+//--------------------------------------------------------------------
+::comphelper::DocPasswordVerifierResult SfxDocPasswordVerifier::verifyEncryptionData( const uno::Sequence< beans::NamedValue >& rEncryptionData )
{
::comphelper::DocPasswordVerifierResult eResult = ::comphelper::DocPasswordVerifierResult_WRONG_PASSWORD;
try
{
- // check the password
- // if the password correct is the stream will be opened successfuly
+ // check the encryption data
+ // if the data correct is the stream will be opened successfuly
// and immediatelly closed
- ::comphelper::OStorageHelper::SetCommonStoragePassword( mxStorage, rPassword );
+ ::comphelper::OStorageHelper::SetCommonStorageEncryptionData( mxStorage, rEncryptionData );
mxStorage->openStreamElement(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "content.xml" ) ),
@@ -283,6 +294,8 @@ private:
return eResult;
}
+//====================================================================
+
//--------------------------------------------------------------------
sal_uInt32 CheckPasswd_Impl
@@ -341,14 +354,28 @@ sal_uInt32 CheckPasswd_Impl
if( xInteractionHandler.is() )
{
// use the comphelper password helper to request a password
+ ::rtl::OUString aPassword;
+ SFX_ITEMSET_ARG( pSet, pPasswordItem, SfxStringItem, SID_PASSWORD, sal_False);
+ if ( pPasswordItem )
+ aPassword = pPasswordItem->GetValue();
+
+ uno::Sequence< beans::NamedValue > aEncryptionData;
+ SFX_ITEMSET_ARG( pSet, pEncryptionDataItem, SfxUnoAnyItem, SID_ENCRYPTIONDATA, sal_False);
+ if ( pEncryptionDataItem )
+ pEncryptionDataItem->GetValue() >>= aEncryptionData;
+
::rtl::OUString aDocumentName = INetURLObject( pFile->GetOrigURL() ).GetMainURL( INetURLObject::DECODE_WITH_CHARSET );
+
SfxDocPasswordVerifier aVerifier( xStorage );
- ::rtl::OUString aPassword = ::comphelper::DocPasswordHelper::requestAndVerifyDocPassword(
- aVerifier, ::rtl::OUString(), xInteractionHandler, aDocumentName, comphelper::DocPasswordRequestType_STANDARD );
+ aEncryptionData = ::comphelper::DocPasswordHelper::requestAndVerifyDocPassword(
+ aVerifier, aEncryptionData, aPassword, xInteractionHandler, aDocumentName, comphelper::DocPasswordRequestType_STANDARD );
+
+ pSet->ClearItem( SID_PASSWORD );
+ pSet->ClearItem( SID_ENCRYPTIONDATA );
- if ( aPassword.getLength() > 0 )
+ if ( aEncryptionData.getLength() > 0 )
{
- pSet->Put( SfxStringItem( SID_PASSWORD, aPassword ) );
+ pSet->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, uno::makeAny( aEncryptionData ) ) );
try
{
diff --git a/sfx2/source/appl/appquit.cxx b/sfx2/source/appl/appquit.cxx
index 3f724038e6..8499376f1c 100644
--- a/sfx2/source/appl/appquit.cxx
+++ b/sfx2/source/appl/appquit.cxx
@@ -50,7 +50,7 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/printer.hxx>
#include "arrdecl.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/event.hxx>
#include <sfx2/macrconf.hxx>
#include <sfx2/mnumgr.hxx>
diff --git a/sfx2/source/appl/appreg.cxx b/sfx2/source/appl/appreg.cxx
index a80b0145b4..ec0ee9e975 100644
--- a/sfx2/source/appl/appreg.cxx
+++ b/sfx2/source/appl/appreg.cxx
@@ -36,11 +36,11 @@
#include <sfx2/app.hxx>
#include "appdata.hxx"
#include "arrdecl.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/templdlg.hxx>
#include "objmnctl.hxx"
#include "inettbc.hxx"
-#include "stbitem.hxx"
+#include "sfx2/stbitem.hxx"
#include <sfx2/navigat.hxx>
#include <sfx2/taskpane.hxx>
#include <sfx2/module.hxx>
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index 8cb0918ff8..6089324bb2 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -28,9 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
#include <com/sun/star/uno/Reference.hxx>
-#ifndef _COM_SUN_STAR_LANG_XMultiServiceFactory_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#endif
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/frame/DispatchResultEvent.hpp>
#include <com/sun/star/frame/DispatchResultState.hpp>
@@ -40,9 +38,7 @@
#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/util/XCloseable.hpp>
-#ifndef _COM_SUN_STAR_UTIL_CloseVetoException_HPP_
#include <com/sun/star/util/CloseVetoException.hpp>
-#endif
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp>
#include <com/sun/star/embed/XStorage.hpp>
@@ -118,12 +114,12 @@
#include <sfx2/sfx.hrc>
#include "app.hrc"
#include <sfx2/passwd.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "arrdecl.hxx"
#include <sfx2/childwin.hxx>
#include "appdata.hxx"
#include <sfx2/macrconf.hxx>
-#include "minfitem.hxx"
+#include "sfx2/minfitem.hxx"
#include <sfx2/event.hxx>
#include <sfx2/module.hxx>
#include <sfx2/viewfrm.hxx>
@@ -132,7 +128,8 @@
#include <sfx2/sfxdlg.hxx>
#include <sfx2/dialogs.hrc>
#include "sorgitm.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
+#include <tools/svlibrary.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::beans;
@@ -749,9 +746,7 @@ extern "C" { static void SAL_CALL thisModule() {} }
::rtl::OUString ChooseMacro( const Reference< XModel >& rxLimitToDocument, BOOL bChooseOnly, const ::rtl::OUString& rMacroDesc = ::rtl::OUString() )
{
// get basctl dllname
- String sLibName = String::CreateFromAscii( STRING( DLL_NAME ) );
- sLibName.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "sfx" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "basctl" ) ) );
- ::rtl::OUString aLibName( sLibName );
+ static ::rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "basctl" ) ) );
// load module
oslModule handleMod = osl_loadModuleRelative(
@@ -771,9 +766,7 @@ extern "C" { static void SAL_CALL thisModule() {} }
void MacroOrganizer( INT16 nTabId )
{
// get basctl dllname
- String sLibName = String::CreateFromAscii( STRING( DLL_NAME ) );
- sLibName.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM( "sfx" ) ), String( RTL_CONSTASCII_USTRINGPARAM( "basctl" ) ) );
- ::rtl::OUString aLibName( sLibName );
+ static ::rtl::OUString aLibName( RTL_CONSTASCII_USTRINGPARAM( SVLIBRARY( "basctl" ) ) );
// load module
oslModule handleMod = osl_loadModuleRelative(
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index 5384d11ead..078ed11a53 100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -52,9 +52,7 @@
#include <basic/sbxobj.hxx>
#include <basic/sberrors.hxx>
#include <basic/basmgr.hxx>
-#ifndef _BASIC_SBUNO_HXX
#include <basic/sbuno.hxx>
-#endif
#include <basic/sbxcore.hxx>
#include <svl/ownlist.hxx>
@@ -97,6 +95,7 @@
#include <osl/mutex.hxx>
#include <comphelper/sequence.hxx>
#include <rtl/ustrbuf.hxx>
+#include <comphelper/interaction.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::ucb;
@@ -106,9 +105,6 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::io;
-#ifndef GCC
-#endif
-
#include "sfxtypes.hxx"
#include <sfx2/sfxuno.hxx>
#include <sfx2/app.hxx>
@@ -131,7 +127,7 @@ using namespace ::com::sun::star::io;
#include "fltoptint.hxx"
#include <sfx2/docfile.hxx>
#include <sfx2/sfxbasecontroller.hxx>
-#include "brokenpackageint.hxx"
+#include <sfx2/brokenpackageint.hxx>
#include "eventsupplier.hxx"
#include "xpackcreator.hxx"
#include "plugin.hxx"
@@ -139,7 +135,6 @@ using namespace ::com::sun::star::io;
#include <ownsubfilterservice.hxx>
#include "SfxDocumentMetaData.hxx"
-
#define FRAMELOADER_SERVICENAME "com.sun.star.frame.FrameLoader"
#define PROTOCOLHANDLER_SERVICENAME "com.sun.star.frame.ProtocolHandler"
@@ -165,7 +160,7 @@ static char const sDontEdit[] = "DontEdit";
static char const sSilent[] = "Silent";
static char const sJumpMark[] = "JumpMark";
static char const sFileName[] = "FileName";
-static char const sSalvageURL[] = "SalvagedFile";
+static char const sSalvagedFile[] = "SalvagedFile";
static char const sStatusInd[] = "StatusIndicator";
static char const sModel[] = "Model";
static char const sFrame[] = "Frame";
@@ -191,6 +186,10 @@ static char const sUseSystemDialog[] = "UseSystemDialog";
static char const sStandardDir[] = "StandardDir";
static char const sBlackList[] = "BlackList";
static char const sModifyPasswordInfo[] = "ModifyPasswordInfo";
+static char const sSuggestedSaveAsDir[] = "SuggestedSaveAsDir";
+static char const sSuggestedSaveAsName[] = "SuggestedSaveAsName";
+static char const sEncryptionData[] = "EncryptionData";
+
void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& rArgs, SfxAllItemSet& rSet, const SfxSlot* pSlot )
{
@@ -685,7 +684,7 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque
{
::rtl::OUString sVal;
sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength());
- DBG_ASSERT( bOK, "invalid type or value for StanadardDir" );
+ DBG_ASSERT( bOK, "invalid type or value for StandardDir" );
if (bOK)
rSet.Put( SfxStringItem( SID_STANDARD_DIR, sVal ) );
}
@@ -709,11 +708,11 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque
if (bOK)
rSet.Put( SfxStringItem( SID_FILE_NAME, sVal ) );
}
- else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSalvageURL)) )
+ else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSalvagedFile)) )
{
::rtl::OUString sVal;
sal_Bool bOK = (rProp.Value >>= sVal);
- DBG_ASSERT( bOK, "invalid type or value for SalvageURL" );
+ DBG_ASSERT( bOK, "invalid type or value for SalvagedFile" );
if (bOK)
rSet.Put( SfxStringItem( SID_DOC_SALVAGE, sVal ) );
}
@@ -721,7 +720,7 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque
{
::rtl::OUString sVal;
sal_Bool bOK = (rProp.Value >>= sVal);
- DBG_ASSERT( bOK, "invalid type or value for SalvageURL" );
+ DBG_ASSERT( bOK, "invalid type or value for FolderName" );
if (bOK)
rSet.Put( SfxStringItem( SID_PATH, sVal ) );
}
@@ -850,7 +849,27 @@ void TransformParameters( sal_uInt16 nSlotId, const ::com::sun::star::uno::Seque
{
rSet.Put( SfxUnoAnyItem( SID_MODIFYPASSWORDINFO, rProp.Value ) );
}
-#ifdef DBG_UTIL
+ else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sEncryptionData)) )
+ {
+ rSet.Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, rProp.Value ) );
+ }
+ else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSuggestedSaveAsDir)) )
+ {
+ ::rtl::OUString sVal;
+ sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength());
+ DBG_ASSERT( bOK, "invalid type or value for SuggestedSaveAsDir" );
+ if (bOK)
+ rSet.Put( SfxStringItem( SID_SUGGESTEDSAVEASDIR, sVal ) );
+ }
+ else if ( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sSuggestedSaveAsName)) )
+ {
+ ::rtl::OUString sVal;
+ sal_Bool bOK = ((rProp.Value >>= sVal) && sVal.getLength());
+ DBG_ASSERT( bOK, "invalid type or value for SuggestedSaveAsName" );
+ if (bOK)
+ rSet.Put( SfxStringItem( SID_SUGGESTEDSAVEASNAME, sVal ) );
+ }
+#ifdef DBG_UTIL
else
--nFoundArgs;
#endif
@@ -1064,6 +1083,13 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta
nAdditional++;
if ( rSet.GetItemState( SID_MODIFYPASSWORDINFO ) == SFX_ITEM_SET )
nAdditional++;
+ if ( rSet.GetItemState( SID_SUGGESTEDSAVEASDIR ) == SFX_ITEM_SET )
+ nAdditional++;
+ if ( rSet.GetItemState( SID_ENCRYPTIONDATA ) == SFX_ITEM_SET )
+ nAdditional++;
+ nAdditional++;
+ if ( rSet.GetItemState( SID_SUGGESTEDSAVEASNAME ) == SFX_ITEM_SET )
+ nAdditional++;
// consider additional arguments
nProps += nAdditional;
@@ -1199,12 +1225,18 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta
continue;
if ( nId == SID_NOAUTOSAVE )
continue;
+ if ( nId == SID_ENCRYPTIONDATA )
+ continue;
// used only internally
if ( nId == SID_SAVETO )
continue;
if ( nId == SID_MODIFYPASSWORDINFO )
continue;
+ if ( nId == SID_SUGGESTEDSAVEASDIR )
+ continue;
+ if ( nId == SID_SUGGESTEDSAVEASNAME )
+ continue;
}
ByteString aDbg( "Unknown item detected: ");
@@ -1477,7 +1509,7 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta
if ( rSet.GetItemState( SID_BLACK_LIST, sal_False, &pItem ) == SFX_ITEM_SET )
{
pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sBlackList));
-
+
com::sun::star::uno::Sequence< rtl::OUString > aList;
((SfxStringListItem*)pItem)->GetStringList( aList );
pValue[nActProp++].Value <<= aList ;
@@ -1489,7 +1521,7 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta
}
if ( rSet.GetItemState( SID_DOC_SALVAGE, sal_False, &pItem ) == SFX_ITEM_SET )
{
- pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSalvageURL));
+ pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSalvagedFile));
pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) );
}
if ( rSet.GetItemState( SID_PATH, sal_False, &pItem ) == SFX_ITEM_SET )
@@ -1568,6 +1600,21 @@ void TransformItems( sal_uInt16 nSlotId, const SfxItemSet& rSet, ::com::sun::sta
pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sModifyPasswordInfo));
pValue[nActProp++].Value = ( ((SfxUnoAnyItem*)pItem)->GetValue() );
}
+ if ( rSet.GetItemState( SID_ENCRYPTIONDATA, sal_False, &pItem ) == SFX_ITEM_SET )
+ {
+ pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sEncryptionData));
+ pValue[nActProp++].Value = ( ((SfxUnoAnyItem*)pItem)->GetValue() );
+ }
+ if ( rSet.GetItemState( SID_SUGGESTEDSAVEASDIR, sal_False, &pItem ) == SFX_ITEM_SET )
+ {
+ pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSuggestedSaveAsDir));
+ pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) );
+ }
+ if ( rSet.GetItemState( SID_SUGGESTEDSAVEASNAME, sal_False, &pItem ) == SFX_ITEM_SET )
+ {
+ pValue[nActProp].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(sSuggestedSaveAsName));
+ pValue[nActProp++].Value <<= ( ::rtl::OUString(((SfxStringItem*)pItem)->GetValue()) );
+ }
}
}
@@ -1873,8 +1920,8 @@ ErrCode SfxMacroLoader::loadMacro( const ::rtl::OUString& rURL, com::sun::star::
}
if ( pSh && pSh->GetModel().is() )
- // remove flag for modal mode
- pSh->SetMacroMode_Impl( FALSE );
+ // remove flag for modal mode
+ pSh->SetMacroMode_Impl( FALSE );
}
else
nErr = ERRCODE_BASIC_PROC_UNDEFINED;
@@ -2216,18 +2263,18 @@ RequestFilterOptions::RequestFilterOptions( ::com::sun::star::uno::Reference< ::
::rtl::OUString temp;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2;
::com::sun::star::document::FilterOptionsRequest aOptionsRequest( temp,
- temp2,
+ temp2,
rModel,
rProperties );
- m_aRequest <<= aOptionsRequest;
+ m_aRequest <<= aOptionsRequest;
- m_pAbort = new ContinuationAbort;
- m_pOptions = new FilterOptionsContinuation;
+ m_pAbort = new comphelper::OInteractionAbort;
+ m_pOptions = new FilterOptionsContinuation;
- m_lContinuations.realloc( 2 );
- m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort );
- m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pOptions );
+ m_lContinuations.realloc( 2 );
+ m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort );
+ m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pOptions );
}
::com::sun::star::uno::Any SAL_CALL RequestFilterOptions::getRequest()
@@ -2244,107 +2291,139 @@ RequestFilterOptions::RequestFilterOptions( ::com::sun::star::uno::Reference< ::
}
//=========================================================================
+class RequestPackageReparation_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
+{
+ ::com::sun::star::uno::Any m_aRequest;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
+ comphelper::OInteractionApprove* m_pApprove;
+ comphelper::OInteractionDisapprove* m_pDisapprove;
-RequestPackageReparation::RequestPackageReparation( ::rtl::OUString aName )
+public:
+ RequestPackageReparation_Impl( ::rtl::OUString aName );
+ sal_Bool isApproved();
+ virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations()
+ throw( ::com::sun::star::uno::RuntimeException );
+};
+
+RequestPackageReparation_Impl::RequestPackageReparation_Impl( ::rtl::OUString aName )
{
::rtl::OUString temp;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2;
::com::sun::star::document::BrokenPackageRequest aBrokenPackageRequest( temp,
temp2,
aName );
-
m_aRequest <<= aBrokenPackageRequest;
-
- m_pApprove = new ContinuationApprove;
- m_pDisapprove = new ContinuationDisapprove;
-
+ m_pApprove = new comphelper::OInteractionApprove;
+ m_pDisapprove = new comphelper::OInteractionDisapprove;
m_lContinuations.realloc( 2 );
m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pApprove );
m_lContinuations[1] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pDisapprove );
}
-/*uno::*/Any SAL_CALL RequestPackageReparation::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException)
-{
- return ::cppu::queryInterface ( rType,
- // OWeakObject interfaces
- dynamic_cast< XInterface* > ( (XInteractionRequest *) this ),
- static_cast< XWeak* > ( this ),
- // my own interfaces
- static_cast< XInteractionRequest* > ( this ) );
-}
-
-void SAL_CALL RequestPackageReparation::acquire( ) throw ()
-{
- OWeakObject::acquire();
+sal_Bool RequestPackageReparation_Impl::isApproved()
+{
+ return m_pApprove->wasSelected();
}
-void SAL_CALL RequestPackageReparation::release( ) throw ()
-{
- OWeakObject::release();
-}
-
-::com::sun::star::uno::Any SAL_CALL RequestPackageReparation::getRequest()
+::com::sun::star::uno::Any SAL_CALL RequestPackageReparation_Impl::getRequest()
throw( ::com::sun::star::uno::RuntimeException )
{
return m_aRequest;
}
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > >
- SAL_CALL RequestPackageReparation::getContinuations()
+ SAL_CALL RequestPackageReparation_Impl::getContinuations()
throw( ::com::sun::star::uno::RuntimeException )
{
return m_lContinuations;
}
+RequestPackageReparation::RequestPackageReparation( ::rtl::OUString aName )
+{
+ pImp = new RequestPackageReparation_Impl( aName );
+ pImp->acquire();
+}
+
+RequestPackageReparation::~RequestPackageReparation()
+{
+ pImp->release();
+}
+
+sal_Bool RequestPackageReparation::isApproved()
+{
+ return pImp->isApproved();
+}
+
+com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > RequestPackageReparation::GetRequest()
+{
+ return com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest >(pImp);
+}
+
//=========================================================================
+class NotifyBrokenPackage_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
+{
+ ::com::sun::star::uno::Any m_aRequest;
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
+ comphelper::OInteractionAbort* m_pAbort;
-NotifyBrokenPackage::NotifyBrokenPackage( ::rtl::OUString aName )
+public:
+ NotifyBrokenPackage_Impl( ::rtl::OUString aName );
+ sal_Bool isAborted();
+ virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations()
+ throw( ::com::sun::star::uno::RuntimeException );
+};
+
+NotifyBrokenPackage_Impl::NotifyBrokenPackage_Impl( ::rtl::OUString aName )
{
::rtl::OUString temp;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > temp2;
::com::sun::star::document::BrokenPackageRequest aBrokenPackageRequest( temp,
temp2,
aName );
-
m_aRequest <<= aBrokenPackageRequest;
-
- m_pAbort = new ContinuationAbort;
-
+ m_pAbort = new comphelper::OInteractionAbort;
m_lContinuations.realloc( 1 );
m_lContinuations[0] = ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >( m_pAbort );
}
-/*uno::*/Any SAL_CALL NotifyBrokenPackage::queryInterface( const /*uno::*/Type& rType ) throw (RuntimeException)
-{
- return ::cppu::queryInterface ( rType,
- // OWeakObject interfaces
- dynamic_cast< XInterface* > ( (XInteractionRequest *) this ),
- static_cast< XWeak* > ( this ),
- // my own interfaces
- static_cast< XInteractionRequest* > ( this ) );
-}
-
-void SAL_CALL NotifyBrokenPackage::acquire( ) throw ()
-{
- OWeakObject::acquire();
+sal_Bool NotifyBrokenPackage_Impl::isAborted()
+{
+ return m_pAbort->wasSelected();
}
-void SAL_CALL NotifyBrokenPackage::release( ) throw ()
-{
- OWeakObject::release();
-}
-
-::com::sun::star::uno::Any SAL_CALL NotifyBrokenPackage::getRequest()
+::com::sun::star::uno::Any SAL_CALL NotifyBrokenPackage_Impl::getRequest()
throw( ::com::sun::star::uno::RuntimeException )
{
return m_aRequest;
}
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > >
- SAL_CALL NotifyBrokenPackage::getContinuations()
+ SAL_CALL NotifyBrokenPackage_Impl::getContinuations()
throw( ::com::sun::star::uno::RuntimeException )
{
return m_lContinuations;
}
+NotifyBrokenPackage::NotifyBrokenPackage( ::rtl::OUString aName )
+{
+ pImp = new NotifyBrokenPackage_Impl( aName );
+ pImp->acquire();
+}
+
+NotifyBrokenPackage::~NotifyBrokenPackage()
+{
+ pImp->release();
+}
+
+sal_Bool NotifyBrokenPackage::isAborted()
+{
+ return pImp->isAborted();
+}
+
+com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest > NotifyBrokenPackage::GetRequest()
+{
+ return com::sun::star::uno::Reference < ::com::sun::star::task::XInteractionRequest >(pImp);
+}
diff --git a/sfx2/source/appl/fileobj.cxx b/sfx2/source/appl/fileobj.cxx
index 158fbb3365..7da8dd8d53 100644
--- a/sfx2/source/appl/fileobj.cxx
+++ b/sfx2/source/appl/fileobj.cxx
@@ -48,7 +48,7 @@
#include <comphelper/processfactory.hxx>
#include <sfx2/linkmgr.hxx>
#include <sfx2/opengrf.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "fileobj.hxx"
#include "app.hrc"
diff --git a/sfx2/source/appl/imagemgr.cxx b/sfx2/source/appl/imagemgr.cxx
index 114753862d..59714d0570 100644
--- a/sfx2/source/appl/imagemgr.cxx
+++ b/sfx2/source/appl/imagemgr.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
-#include "imagemgr.hxx"
+#include "sfx2/imagemgr.hxx"
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/ui/XImageManager.hpp>
#include <com/sun/star/frame/XModuleManager.hpp>
@@ -41,7 +41,7 @@
#include <rtl/ustring.hxx>
#include <rtl/logfile.hxx>
-#include "imgmgr.hxx"
+#include "sfx2/imgmgr.hxx"
#include <sfx2/app.hxx>
#include <sfx2/unoctitm.hxx>
#include <sfx2/dispatch.hxx>
diff --git a/sfx2/source/appl/impldde.cxx b/sfx2/source/appl/impldde.cxx
index fd642941b4..6598b066d4 100644
--- a/sfx2/source/appl/impldde.cxx
+++ b/sfx2/source/appl/impldde.cxx
@@ -45,7 +45,7 @@
#include "dde.hrc"
#include <sfx2/lnkbase.hxx>
#include <sfx2/linkmgr.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
index 76536378ad..dc6e680213 100644
--- a/sfx2/source/appl/linkmgr2.cxx
+++ b/sfx2/source/appl/linkmgr2.cxx
@@ -50,7 +50,7 @@
#include "fileobj.hxx"
#include "impldde.hxx"
#include "app.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
diff --git a/sfx2/source/appl/lnkbase2.cxx b/sfx2/source/appl/lnkbase2.cxx
index ea8a803418..d8fdcd5943 100644
--- a/sfx2/source/appl/lnkbase2.cxx
+++ b/sfx2/source/appl/lnkbase2.cxx
@@ -37,7 +37,7 @@
#include <sfx2/linkmgr.hxx>
#include <vcl/svapp.hxx>
#include "app.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/filedlghelper.hxx>
#include <tools/debug.hxx>
#include <svl/svdde.hxx>
diff --git a/sfx2/source/appl/makefile.mk b/sfx2/source/appl/makefile.mk
deleted file mode 100644
index 30f7435507..0000000000
--- a/sfx2/source/appl/makefile.mk
+++ /dev/null
@@ -1,158 +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=sfx2
-TARGET=appl
-ENABLE_EXCEPTIONS=TRUE
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# w.g. compilerbugs
-.IF "$(GUI)"=="WNT"
-.IF "$(COM)"!="GCC"
-CFLAGS+=-Od
-CFLAGS+=-DENABLE_QUICKSTART_APPLET
-.ENDIF
-.ENDIF
-
-.IF "$(GUIBASE)"=="aqua"
-CFLAGS+=-DENABLE_QUICKSTART_APPLET
-.ENDIF
-
-.IF "$(GUI)"=="UNX"
- CDEFS+=-DDLL_NAME=libsfx$(DLLPOSTFIX)$(DLLPOST)
-.IF "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
- PKGCONFIG_MODULES=gtk+-2.0
- .INCLUDE: pkg_config.mk
- CFLAGS+=$(PKGCONFIG_CFLAGS)
- CFLAGS+=-DENABLE_QUICKSTART_APPLET
- CDEFS+=-DPLUGIN_NAME=libqstart_gtk$(DLLPOSTFIX)$(DLLPOST)
-.ENDIF # "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
-.ELSE
- CDEFS+=-DDLL_NAME=sfx$(DLLPOSTFIX)$(DLLPOST)
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=appl
-SRC1FILES = \
- app.src newhelp.src dde.src
-
-SRS2NAME=sfx
-SRC2FILES = \
- sfx.src
-
-SFX_OBJECTS = \
- $(SLO)$/app.obj \
- $(SLO)$/appbas.obj \
- $(SLO)$/appcfg.obj \
- $(SLO)$/appchild.obj \
- $(SLO)$/appdata.obj \
- $(SLO)$/appdde.obj \
- $(SLO)$/appinit.obj \
- $(SLO)$/appmain.obj \
- $(SLO)$/appmisc.obj \
- $(SLO)$/appopen.obj \
- $(SLO)$/appquit.obj \
- $(SLO)$/appreg.obj \
- $(SLO)$/appserv.obj \
- $(SLO)$/appuno.obj \
- $(SLO)$/appbaslib.obj \
- $(SLO)$/childwin.obj \
- $(SLO)$/fileobj.obj \
- $(SLO)$/helpdispatch.obj \
- $(SLO)$/helpinterceptor.obj \
- $(SLO)$/imagemgr.obj\
- $(SLO)$/imestatuswindow.obj \
- $(SLO)$/impldde.obj \
- $(SLO)$/linkmgr2.obj \
- $(SLO)$/linksrc.obj \
- $(SLO)$/lnkbase2.obj \
- $(SLO)$/module.obj \
- $(SLO)$/newhelp.obj \
- $(SLO)$/opengrf.obj \
- $(SLO)$/sfxhelp.obj \
- $(SLO)$/sfxpicklist.obj \
- $(SLO)$/shutdownicon.obj \
- $(SLO)$/shutdowniconw32.obj \
- $(SLO)$/workwin.obj \
- $(SLO)$/xpackcreator.obj \
- $(SLO)$/fwkhelper.obj
-
-.IF "$(GUI)"=="OS2"
-SFX_OBJECTS += $(SLO)$/shutdowniconOs2.obj
-.ENDIF
-
-.IF "$(GUIBASE)"=="aqua"
-SFX_OBJECTS += $(SLO)$/shutdowniconaqua.obj
-.ENDIF
-
-SLOFILES = $(SFX_OBJECTS)
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1OBJFILES= $(SFX_OBJECTS)
-
-.IF "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
-QUICKSTART_OBJECTS = $(SLO)$/shutdowniconunx.obj
-SLOFILES += $(QUICKSTART_OBJECTS)
-
-LIB2TARGET= $(SLB)$/quickstart.lib
-LIB2OBJFILES= $(QUICKSTART_OBJECTS)
-.ENDIF
-
-.IF "$(GUI)"=="OS2"
-SLOFILES += $(SLO)$/shutdowniconOs2.obj
-.ENDIF
-
-EXCEPTIONSFILES=\
- $(SLO)$/imagemgr.obj \
- $(SLO)$/appopen.obj \
- $(SLO)$/appmain.obj \
- $(SLO)$/appmisc.obj \
- $(SLO)$/appinit.obj \
- $(SLO)$/appcfg.obj \
- $(SLO)$/fileobj.obj \
- $(SLO)$/helpinterceptor.obj \
- $(SLO)$/newhelp.obj \
- $(SLO)$/opengrf.obj \
- $(SLO)$/sfxhelp.obj \
- $(SLO)$/shutdownicon.obj \
- $(SLO)$/shutdowniconw32.obj \
- $(SLO)$/sfxpicklist.obj \
- $(SLO)$/helpdispatch.obj \
- $(SLO)$/xpackcreator.obj
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/appl/module.cxx b/sfx2/source/appl/module.cxx
index 7d1b8e7c78..a02e3128f9 100644
--- a/sfx2/source/appl/module.cxx
+++ b/sfx2/source/appl/module.cxx
@@ -38,10 +38,10 @@
#include <sfx2/module.hxx>
#include <sfx2/app.hxx>
#include "arrdecl.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/msgpool.hxx>
#include <sfx2/tbxctrl.hxx>
-#include "stbitem.hxx"
+#include "sfx2/stbitem.hxx"
#include <sfx2/mnuitem.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/mnumgr.hxx>
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index e7f15659ca..5033ca5b8f 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -30,16 +30,16 @@
#include "newhelp.hxx"
#include <sfx2/sfxuno.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "helpinterceptor.hxx"
#include "helper.hxx"
#include <sfx2/msgpool.hxx>
#include <sfx2/app.hxx>
#include "sfxtypes.hxx"
#include "panelist.hxx"
-#include "imgmgr.hxx"
+#include "sfx2/imgmgr.hxx"
#include "srchdlg.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include "app.hrc"
#include "newhelp.hrc"
@@ -300,7 +300,7 @@ ContentListBox_Impl::ContentListBox_Impl( Window* pParent, const ResId& rResId )
aDocumentImage = Image( SfxResId( IMG_HELP_CONTENT_DOC_HC ) );
}
- SetWindowBits( WB_HIDESELECTION | WB_HSCROLL );
+ SetStyle( GetStyle() | WB_HIDESELECTION | WB_HSCROLL );
SetEntryHeight( 16 );
SetSelectionMode( SINGLE_SELECTION );
diff --git a/sfx2/source/appl/opengrf.cxx b/sfx2/source/appl/opengrf.cxx
index 0d18659ec6..8ed5132f8a 100644
--- a/sfx2/source/appl/opengrf.cxx
+++ b/sfx2/source/appl/opengrf.cxx
@@ -54,7 +54,7 @@
#include <unotools/pathoptions.hxx>
#include <sfx2/opengrf.hxx>
#include "app.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
//-----------------------------------------------------------------------------
diff --git a/sfx2/source/appl/sfx.src b/sfx2/source/appl/sfx.src
index 6802197ee2..2b1f1095b8 100644
--- a/sfx2/source/appl/sfx.src
+++ b/sfx2/source/appl/sfx.src
@@ -27,107 +27,16 @@
#include <sfx2/sfx.hrc>
-String STR_NONAME
-{
- Text [ en-US ] = "Untitled" ;
-};
-
-String STR_NONE
-{
- Text [ en-US ] = "- None -" ;
-};
-
-String STR_CLOSE
-{
- Text [ en-US ] = "Close" ;
-};
-
-String STR_STYLE_FILTER_AUTO
-{
- Text [ en-US ] = "Automatic" ;
-};
-
String STR_STYLE_FILTER_USED
{
Text [ en-US ] = "Applied Styles" ;
};
-
-
-
String STR_STYLE_FILTER_USERDEF
{
Text [ en-US ] = "Custom Styles" ;
};
-
String STR_STYLE_FILTER_ALL
{
Text [ en-US ] = "All Styles" ;
};
-String STR_STANDARD
-{
- Text [ en-US ] = "Standard" ;
-};
-String STR_STANDARD_SHORTCUT
-{
- Text [ en-US ] = "Standard" ;
-};
-
-String STR_SFX_FILTERNAME_ALL
-{
- Text [ en-US ] = "All files (*.*)" ;
-};
-
-String STR_BYTES
-{
- Text [ en-US ] = "Bytes" ;
-};
-
-String STR_KB
-{
- Text [ en-US ] = "KB" ;
-};
-
-String STR_MB
-{
- Text [ en-US ] = "MB" ;
-};
-
-
-String STR_GB
-{
- Text [ en-US ] = "GB" ;
-};
-
-String STR_UNDO
-{
- Text [ en-US ] = "Undo: " ;
-};
-
-String STR_REDO
-{
- Text [ en-US ] = "Re~do: " ;
-};
-
-String STR_REPEAT
-{
- Text [ en-US ] = "~Repeat: " ;
-};
-
-String RID_STR_NEW_TASK
-{
- Text [ en-US ] = "New task";
-};
-QueryBox MSG_QUERY_LASTVERSION
-{
- Buttons = WB_YES_NO ;
- DefButton = WB_DEF_NO ;
- Message [ en-US ] = "Cancel all changes?" ;
-};
-
-// i66948 used in project scripting
-String STR_ERRUNOEVENTBINDUNG
-{
- Text [ en-US ] = "An appropriate component method %1\ncould not be found.\n\nCheck spelling of method name.";
-};
-
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index b281b5135b..7493f9c706 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -28,7 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
+
#include <set>
#include <algorithm>
#include <com/sun/star/uno/Reference.h>
@@ -70,7 +71,9 @@
#include <svl/svstdarr.hxx>
#include "newhelp.hxx"
-#include "sfxresid.hxx"
+#include <sfx2/objsh.hxx>
+#include <sfx2/docfac.hxx>
+#include "sfx2/sfxresid.hxx"
#include "helper.hxx"
#include "app.hrc"
#include <sfx2/sfxuno.hxx>
diff --git a/sfx2/source/appl/shutdownicon.cxx b/sfx2/source/appl/shutdownicon.cxx
index c65393b8e4..142602ca58 100644
--- a/sfx2/source/appl/shutdownicon.cxx
+++ b/sfx2/source/appl/shutdownicon.cxx
@@ -69,7 +69,7 @@
#endif
#include <vcl/timer.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::frame;
@@ -80,7 +80,11 @@ using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::util;
using namespace ::com::sun::star::ui::dialogs;
using namespace ::vos;
+#ifdef WNT
+using ::rtl::OUString;
+#else
using namespace ::rtl;
+#endif
using namespace ::sfx2;
#ifdef ENABLE_QUICKSTART_APPLET
@@ -89,6 +93,10 @@ extern "C" { static void SAL_CALL thisModule() {} }
# endif
#endif
+#if defined(UNX) && defined(ENABLE_SYSTRAY_GTK)
+#define PLUGIN_NAME "libqstart_gtkli.so"
+#endif
+
class SfxNotificationListener_Impl : public cppu::WeakImplHelper1< XDispatchResultListener >
{
public:
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index d4a34d099e..06083e5013 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -47,7 +47,7 @@
#include <sfx2/viewsh.hxx>
#include "splitwin.hxx"
#include <sfx2/msgpool.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/objsh.hxx>
#include <sfx2/request.hxx> // SFX_ITEMSET_SET
#include <vcl/taskpanelist.hxx>
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index c42e49d49e..a739230d53 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -110,7 +110,7 @@ using namespace ::vos;
#include <svtools/sfxecode.hxx>
#include <unotools/syslocale.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include "sfxbasic.hxx"
#include <sfx2/docfilt.hxx>
#include <sfx2/docfac.hxx>
@@ -120,7 +120,7 @@ using namespace ::vos;
#include <sfx2/progress.hxx>
#include "openflag.hxx"
#include "bastyp.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/doctempl.hxx>
#include <sfx2/frame.hxx>
#include <sfx2/dispatch.hxx>
diff --git a/sfx2/source/bastyp/frmhtmlw.cxx b/sfx2/source/bastyp/frmhtmlw.cxx
index bb5cd5cc01..4762c4e622 100644
--- a/sfx2/source/bastyp/frmhtmlw.cxx
+++ b/sfx2/source/bastyp/frmhtmlw.cxx
@@ -46,7 +46,7 @@
#include <sfx2/app.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/docfile.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/objsh.hxx>
#include <sfx2/sfx.hrc>
#include "bastyp.hrc"
diff --git a/sfx2/source/bastyp/makefile.mk b/sfx2/source/bastyp/makefile.mk
deleted file mode 100644
index 75c0cace40..0000000000
--- a/sfx2/source/bastyp/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=sfx2
-TARGET=bastyp
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES =\
- $(SLO)$/sfxhtml.obj \
- $(SLO)$/frmhtml.obj \
- $(SLO)$/frmhtmlw.obj \
- $(SLO)$/misc.obj \
- $(SLO)$/progress.obj \
- $(SLO)$/sfxresid.obj \
- $(SLO)$/bitset.obj \
- $(SLO)$/minarray.obj \
- $(SLO)$/fltfnc.obj \
- $(SLO)$/mieclip.obj \
- $(SLO)$/fltlst.obj \
- $(SLO)$/helper.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES =\
- fltfnc.src \
- bastyp.src
-
-EXCEPTIONSFILES =\
- $(SLO)$/helper.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/bastyp/mieclip.cxx b/sfx2/source/bastyp/mieclip.cxx
index 5f1aed0c73..9695e86bd5 100644
--- a/sfx2/source/bastyp/mieclip.cxx
+++ b/sfx2/source/bastyp/mieclip.cxx
@@ -33,7 +33,7 @@
#include <sot/storage.hxx>
#include <sot/formats.hxx>
-#include <mieclip.hxx>
+#include <sfx2/mieclip.hxx>
#include <sfx2/sfxuno.hxx>
MSE40HTMLClipFormatObj::~MSE40HTMLClipFormatObj()
diff --git a/sfx2/source/bastyp/progress.cxx b/sfx2/source/bastyp/progress.cxx
index 1e3f5dde97..f7d4737113 100644
--- a/sfx2/source/bastyp/progress.cxx
+++ b/sfx2/source/bastyp/progress.cxx
@@ -51,7 +51,7 @@
#include "sfxtypes.hxx"
#include <sfx2/docfile.hxx>
#include "workwin.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "bastyp.hrc"
#include <sfx2/msg.hxx>
diff --git a/sfx2/source/bastyp/sfxresid.cxx b/sfx2/source/bastyp/sfxresid.cxx
index 471f75294a..361f52ea2d 100644
--- a/sfx2/source/bastyp/sfxresid.cxx
+++ b/sfx2/source/bastyp/sfxresid.cxx
@@ -32,7 +32,7 @@
#endif
#include <tools/simplerm.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/app.hxx>
// -----------------------------------------------------------------------
diff --git a/sfx2/source/config/evntconf.cxx b/sfx2/source/config/evntconf.cxx
index 13b1bda03c..46a723b092 100644
--- a/sfx2/source/config/evntconf.cxx
+++ b/sfx2/source/config/evntconf.cxx
@@ -28,35 +28,27 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
#include <vcl/msgbox.hxx>
-#ifndef _SV_RESARY_HXX
#include <tools/resary.hxx>
-#endif
#include <svl/lstner.hxx>
#include <basic/basmgr.hxx>
#include <basic/sbmod.hxx>
#include <tools/urlobj.hxx>
#include <basic/sbx.hxx>
-
-#include <sot/storage.hxx>
+ #include <sot/storage.hxx>
#include <unotools/securityoptions.hxx>
-#ifndef _RTL_USTRING_
#include <rtl/ustring.h>
-#endif
-
#include <com/sun/star/uno/Any.hxx>
#include <framework/eventsconfiguration.hxx>
#include <comphelper/processfactory.hxx>
-
#include <sfx2/evntconf.hxx>
-
#include <sfx2/macrconf.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/app.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/dispatch.hxx>
#include "config.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "eventsupplier.hxx"
#include <com/sun/star/beans/PropertyValue.hpp>
@@ -68,6 +60,7 @@
// -----------------------------------------------------------------------
TYPEINIT1(SfxEventHint, SfxHint);
TYPEINIT1(SfxEventNamesItem, SfxPoolItem);
+TYPEINIT1(SfxViewEventHint, SfxHint);
using namespace com::sun::star;
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index fa3025acab..3660e7cfac 100755
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -57,7 +57,7 @@
// wg. nAutoPageID
#include "appdata.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/dispatch.hxx>
#include <sfx2/minstack.hxx>
#include <sfx2/msg.hxx>
diff --git a/sfx2/source/control/macrconf.cxx b/sfx2/source/control/macrconf.cxx
index d3a5604307..3b55e9362a 100644
--- a/sfx2/source/control/macrconf.cxx
+++ b/sfx2/source/control/macrconf.cxx
@@ -59,8 +59,8 @@
#include <sfx2/app.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/dispatch.hxx>
-#include "minfitem.hxx"
-#include "imgmgr.hxx"
+#include "sfx2/minfitem.hxx"
+#include "sfx2/imgmgr.hxx"
#include <sfx2/evntconf.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/genlink.hxx>
diff --git a/sfx2/source/control/makefile.mk b/sfx2/source/control/makefile.mk
deleted file mode 100644
index 86797589e3..0000000000
--- a/sfx2/source/control/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=sfx2
-TARGET=control
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# w.g. compilerbugs
-.IF "$(GUI)"=="WNT"
-.IF "$(COM)"!="GCC"
-CFLAGS+=-Od
-.ENDIF
-.ENDIF
-
-.IF "$(COM)"=="GCC"
-CFLAGS+=-O0
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/bindings.obj \
- $(SLO)$/ctrlitem.obj \
- $(SLO)$/dispatch.obj \
- $(SLO)$/macrconf.obj \
- $(SLO)$/macro.obj \
- $(SLO)$/minfitem.obj \
- $(SLO)$/msg.obj \
- $(SLO)$/msgpool.obj \
- $(SLO)$/objface.obj \
- $(SLO)$/querystatus.obj \
- $(SLO)$/request.obj \
- $(SLO)$/sfxstatuslistener.obj \
- $(SLO)$/shell.obj \
- $(SLO)$/sorgitm.obj \
- $(SLO)$/statcach.obj \
- $(SLO)$/unoctitm.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/control/minfitem.cxx b/sfx2/source/control/minfitem.cxx
index a998e85584..9d33ca5c71 100644
--- a/sfx2/source/control/minfitem.cxx
+++ b/sfx2/source/control/minfitem.cxx
@@ -30,10 +30,7 @@
// INCLUDE ---------------------------------------------------------------
-#ifndef GCC
-#endif
-
-#include "minfitem.hxx"
+#include "sfx2/minfitem.hxx"
// STATIC DATA -----------------------------------------------------------
diff --git a/sfx2/source/control/msgpool.cxx b/sfx2/source/control/msgpool.cxx
index e6b11ada9b..d939e3c984 100644
--- a/sfx2/source/control/msgpool.cxx
+++ b/sfx2/source/control/msgpool.cxx
@@ -41,7 +41,7 @@
#include <sfx2/objface.hxx>
#include "sfxtypes.hxx"
#include <sfx2/macrconf.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "arrdecl.hxx"
#include <sfx2/module.hxx>
diff --git a/sfx2/source/control/objface.cxx b/sfx2/source/control/objface.cxx
index 687d29be79..3e19d86283 100644
--- a/sfx2/source/control/objface.cxx
+++ b/sfx2/source/control/objface.cxx
@@ -39,7 +39,7 @@
#include <sfx2/msg.hxx>
#include <sfx2/app.hxx>
#include <sfx2/msgpool.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/minarray.hxx>
#include <sfx2/objsh.hxx>
diff --git a/sfx2/source/control/querystatus.cxx b/sfx2/source/control/querystatus.cxx
index 8fb40e460b..3e028498f8 100644
--- a/sfx2/source/control/querystatus.cxx
+++ b/sfx2/source/control/querystatus.cxx
@@ -44,7 +44,7 @@
#include <com/sun/star/frame/status/ItemState.hpp>
#include <com/sun/star/frame/status/Visibility.hpp>
-using namespace ::rtl;
+using ::rtl::OUString;
using namespace ::cppu;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::frame;
diff --git a/sfx2/source/control/sfxstatuslistener.cxx b/sfx2/source/control/sfxstatuslistener.cxx
index 67bf846dbc..e022890d6c 100644
--- a/sfx2/source/control/sfxstatuslistener.cxx
+++ b/sfx2/source/control/sfxstatuslistener.cxx
@@ -50,7 +50,7 @@
#include <sfx2/unoctitm.hxx>
#include <sfx2/msgpool.hxx>
-using namespace ::rtl;
+using ::rtl::OUString;
using namespace ::cppu;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::frame;
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 14b3fe06e9..dc856786da 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -463,7 +463,7 @@ void SfxOfficeDispatch::SetMasterUnoCommand( sal_Bool bSet )
sal_Bool SfxOfficeDispatch::IsMasterUnoCommand() const
{
if ( pControllerItem )
- pControllerItem->isMasterSlaveCommand();
+ return pControllerItem->isMasterSlaveCommand();
return sal_False;
}
diff --git a/sfx2/source/dialog/about.cxx b/sfx2/source/dialog/about.cxx
index 41f13b6d39..0d1ece34d4 100644
--- a/sfx2/source/dialog/about.cxx
+++ b/sfx2/source/dialog/about.cxx
@@ -29,7 +29,6 @@
#include "precompiled_sfx2.hxx"
// include ---------------------------------------------------------------
-#include <aboutbmpnames.hxx>
#ifndef _SV_APP_HXX
#include <vcl/svapp.hxx>
@@ -114,7 +113,7 @@ Image SfxApplication::GetApplicationLogo()
{
Image aAppLogo;
- rtl::OUString aAbouts( RTL_CONSTASCII_USTRINGPARAM( ABOUT_BITMAP_STRINGLIST ) );
+ rtl::OUString aAbouts;
bool bLoaded = false;
sal_Int32 nIndex = 0;
do
diff --git a/sfx2/source/dialog/alienwarn.cxx b/sfx2/source/dialog/alienwarn.cxx
index ac65fa0300..601cd7dad5 100644
--- a/sfx2/source/dialog/alienwarn.cxx
+++ b/sfx2/source/dialog/alienwarn.cxx
@@ -29,7 +29,7 @@
#include "precompiled_sfx2.hxx"
#include "alienwarn.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxuno.hxx>
#include "alienwarn.hrc"
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index 7aa488baec..edb58bb478 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -47,9 +47,9 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/viewsh.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include "workwin.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "dialog.hrc"
using namespace ::com::sun::star::uno;
diff --git a/sfx2/source/dialog/dinfedt.cxx b/sfx2/source/dialog/dinfedt.cxx
index bf91cb091d..8281290e74 100644
--- a/sfx2/source/dialog/dinfedt.cxx
+++ b/sfx2/source/dialog/dinfedt.cxx
@@ -31,8 +31,8 @@
#ifndef GCC
#endif
-#include "dinfedt.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/dinfedt.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfx.hrc>
#include "dinfedt.hrc"
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index 3dd0bb15ec..36be016832 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -44,7 +44,7 @@
#include "workwin.hxx"
#include "splitwin.hxx"
#include <sfx2/viewsh.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/objsh.hxx>
#include <sfx2/msgpool.hxx>
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx
index 3114009fe2..fba909e74d 100644
--- a/sfx2/source/dialog/filedlghelper.cxx
+++ b/sfx2/source/dialog/filedlghelper.cxx
@@ -91,7 +91,7 @@
#include <sfx2/docfac.hxx>
#include "openflag.hxx"
#include <sfx2/passwd.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxsids.hrc>
#include "filedlghelper.hrc"
#include "filtergrouping.hxx"
@@ -1522,8 +1522,8 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList,
// check password checkbox if the document had password before
if( mbHasPassword )
{
- SFX_ITEMSET_ARG( rpSet, pPassItem, SfxStringItem, SID_PASSWORD, FALSE );
- mbPwdCheckBoxState = ( pPassItem != NULL );
+ SFX_ITEMSET_ARG( rpSet, pPassItem, SfxBoolItem, SID_PASSWORDINTERACTION, FALSE );
+ mbPwdCheckBoxState = ( pPassItem != NULL && pPassItem->GetValue() );
// in case the document has password to modify, the dialog should be shown
SFX_ITEMSET_ARG( rpSet, pPassToModifyItem, SfxUnoAnyItem, SID_MODIFYPASSWORDINFO, FALSE );
@@ -1537,7 +1537,9 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList,
mbSelectionEnabled = sal_False;
// the password will be set in case user decide so
+ rpSet->ClearItem( SID_PASSWORDINTERACTION );
rpSet->ClearItem( SID_PASSWORD );
+ rpSet->ClearItem( SID_ENCRYPTIONDATA );
rpSet->ClearItem( SID_RECOMMENDREADONLY );
rpSet->ClearItem( SID_MODIFYPASSWORDINFO );
@@ -1652,7 +1654,30 @@ ErrCode FileDialogHelper_Impl::execute( SvStringsDtor*& rpURLList,
if ( pPasswordRequest->isPassword() )
{
if ( pPasswordRequest->getPassword().getLength() )
- rpSet->Put( SfxStringItem( SID_PASSWORD, pPasswordRequest->getPassword() ) );
+ {
+ // TODO/LATER: The filters should show the password dialog themself in future
+ if ( bMSType )
+ {
+ // all the current MS-filters use MSCodec_Std97 implementation
+ uno::Sequence< sal_Int8 > aUniqueID = ::comphelper::DocPasswordHelper::GenerateRandomByteSequence( 16 );
+ uno::Sequence< sal_Int8 > aEncryptionKey = ::comphelper::DocPasswordHelper::GenerateStd97Key( pPasswordRequest->getPassword(), aUniqueID );
+
+ if ( aEncryptionKey.getLength() )
+ {
+ ::comphelper::SequenceAsHashMap aHashData;
+ aHashData[ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "STD97EncryptionKey" ) ) ] <<= aEncryptionKey;
+ aHashData[ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "STD97UniqueID" ) ) ] <<= aUniqueID;
+
+ rpSet->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, uno::makeAny( aHashData.getAsConstNamedValueList() ) ) );
+ }
+ else
+ return ERRCODE_IO_NOTSUPPORTED;
+ }
+ else
+ {
+ rpSet->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, uno::makeAny( ::comphelper::OStorageHelper::CreatePackageEncryptionData( pPasswordRequest->getPassword() ) ) ) );
+ }
+ }
if ( pPasswordRequest->getRecommendReadOnly() )
rpSet->Put( SfxBoolItem( SID_RECOMMENDREADONLY, sal_True ) );
@@ -1867,7 +1892,16 @@ void FileDialogHelper_Impl::addFilters( sal_Int64 nFlags,
sQuery.appendAscii(":eflags=" );
sQuery.append (::rtl::OUString::valueOf((sal_Int32)m_nDontFlags));
- uno::Reference< XEnumeration > xResult = xFilterCont->createSubSetEnumerationByQuery(sQuery.makeStringAndClear());
+ uno::Reference< XEnumeration > xResult;
+ try
+ {
+ xResult = xFilterCont->createSubSetEnumerationByQuery(sQuery.makeStringAndClear());
+ }
+ catch( uno::Exception& )
+ {
+ DBG_ERRORFILE( "Could not get filters from the configuration!" );
+ }
+
TSortedFilterList aIter (xResult);
// no matcher any longer used ...
diff --git a/sfx2/source/dialog/filtergrouping.cxx b/sfx2/source/dialog/filtergrouping.cxx
index 3c249b2b1e..86456faed1 100644
--- a/sfx2/source/dialog/filtergrouping.cxx
+++ b/sfx2/source/dialog/filtergrouping.cxx
@@ -32,7 +32,7 @@
#include <sfx2/filedlghelper.hxx>
#include <sfx2/sfx.hrc>
#include <sfx2/docfac.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <osl/thread.h>
#include <com/sun/star/ui/dialogs/XFilterGroupManager.hpp>
#include <com/sun/star/beans/StringPair.hpp>
diff --git a/sfx2/source/dialog/mailmodel.cxx b/sfx2/source/dialog/mailmodel.cxx
index cea40e602d..a3807486e5 100644
--- a/sfx2/source/dialog/mailmodel.cxx
+++ b/sfx2/source/dialog/mailmodel.cxx
@@ -47,27 +47,23 @@
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/security/CertificateValidity.hpp>
-#ifndef _COM_SUN_STAR_SECURITY_DOCUMENTSIGNATURESINFORMATION_HPP_
#include <com/sun/star/security/DocumentSignatureInformation.hpp>
-#endif
#include <com/sun/star/security/XDocumentDigitalSignatures.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
+#include <com/sun/star/frame/XStatusListener.hpp>
#include <com/sun/star/ucb/InsertCommandArgument.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/document/XExporter.hpp>
-
-#ifndef _RTL_TEXTENC_H
-#include <rtl/textench.h>
-#endif
+#include <rtl/textenc.h>
#include <rtl/uri.h>
#include <rtl/uri.hxx>
#include <rtl/ustrbuf.hxx>
#include <vcl/msgbox.hxx>
-#include <mailmodelapi.hxx>
+#include <sfx2/mailmodelapi.hxx>
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxsids.hrc>
#include "dialog.hrc"
@@ -84,6 +80,7 @@
#include <comphelper/mediadescriptor.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <vcl/svapp.hxx>
+#include <cppuhelper/implbase1.hxx>
// --------------------------------------------------------------
using namespace ::com::sun::star;
@@ -98,6 +95,54 @@ using namespace ::com::sun::star::system;
using namespace ::rtl;
namespace css = ::com::sun::star;
+// - class PrepareListener_Impl ------------------------------------------
+class PrepareListener_Impl : public ::cppu::WeakImplHelper1< css::frame::XStatusListener >
+{
+ bool m_bState;
+public:
+ PrepareListener_Impl();
+ virtual ~PrepareListener_Impl();
+
+ // css.frame.XStatusListener
+ virtual void SAL_CALL statusChanged(const css::frame::FeatureStateEvent& aEvent)
+ throw(css::uno::RuntimeException);
+
+ // css.lang.XEventListener
+ virtual void SAL_CALL disposing(const css::lang::EventObject& aEvent)
+ throw(css::uno::RuntimeException);
+
+ bool IsSet() const {return m_bState;}
+};
+
+/*-- 25.08.2010 14:32:49---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+PrepareListener_Impl::PrepareListener_Impl() :
+ m_bState( false )
+{
+}
+/*-- 25.08.2010 14:32:51---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+PrepareListener_Impl::~PrepareListener_Impl()
+{
+}
+/*-- 25.08.2010 14:32:51---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void PrepareListener_Impl::statusChanged(const css::frame::FeatureStateEvent& rEvent) throw(css::uno::RuntimeException)
+{
+ if( rEvent.IsEnabled )
+ rEvent.State >>= m_bState;
+ else
+ m_bState = sal_False;
+}
+/*-- 25.08.2010 14:32:52---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+void PrepareListener_Impl::disposing(const css::lang::EventObject& /*rEvent*/) throw(css::uno::RuntimeException)
+{
+}
// class AddressList_Impl ------------------------------------------------
@@ -547,46 +592,68 @@ SfxMailModel::SaveResult SfxMailModel::SaveDocumentAsFormat(
aArgs[nNumArgs-1].Value = css::uno::makeAny( aPassword );
}
- if ( bModified || !bHasLocation || bStoreTo )
+ bool bNeedsPreparation = false;
+ css::util::URL aPrepareURL;
+ css::uno::Reference< css::frame::XDispatch > xPrepareDispatch;
+ css::uno::Reference< css::frame::XDispatchProvider > xDispatchProvider( xFrame, css::uno::UNO_QUERY );
+ css::uno::Reference< css::util::XURLTransformer > xURLTransformer(
+ xSMGR->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ))),
+ css::uno::UNO_QUERY );
+ if( !bSendAsPDF )
{
- // Document is modified, is newly created or should be stored in a special format
try
{
- css::uno::Reference< css::util::XURLTransformer > xURLTransformer(
- xSMGR->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ))),
- css::uno::UNO_QUERY );
+ // check if the document needs to be prepared for sending as mail (embedding of links, removal of invisible content)
- css::uno::Reference< css::frame::XDispatchProvider > xDispatchProvider( xFrame, css::uno::UNO_QUERY );
- css::uno::Reference< css::frame::XDispatch > xDispatch;
-
- css::util::URL aURL;
- css::uno::Sequence< css::beans::PropertyValue > aDispatchArgs;
+ if ( xURLTransformer.is() )
+ {
+ aPrepareURL.Complete = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:PrepareMailExport" ));
+ xURLTransformer->parseStrict( aPrepareURL );
+ }
- if( !bSendAsPDF )
+ if ( xDispatchProvider.is() )
{
- if ( xURLTransformer.is() )
+ xPrepareDispatch = css::uno::Reference< css::frame::XDispatch >(
+ xDispatchProvider->queryDispatch( aPrepareURL, ::rtl::OUString(), 0 ));
+ if ( xPrepareDispatch.is() )
{
- aURL.Complete = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:PrepareMailExport" ));
- xURLTransformer->parseStrict( aURL );
+ PrepareListener_Impl* pPrepareListener;
+ uno::Reference< css::frame::XStatusListener > xStatusListener = pPrepareListener = new PrepareListener_Impl;
+ xPrepareDispatch->addStatusListener( xStatusListener, aPrepareURL );
+ bNeedsPreparation = pPrepareListener->IsSet();
+ xPrepareDispatch->removeStatusListener( xStatusListener, aPrepareURL );
}
-
- if ( xDispatchProvider.is() )
+ }
+ }
+ catch ( css::uno::RuntimeException& )
+ {
+ throw;
+ }
+ catch ( css::uno::Exception& )
+ {
+ }
+ }
+
+ if ( bModified || !bHasLocation || bStoreTo || bNeedsPreparation )
+ {
+ // Document is modified, is newly created or should be stored in a special format
+ try
+ {
+ if( bNeedsPreparation && xPrepareDispatch.is() )
+ {
+ if ( xPrepareDispatch.is() )
{
- xDispatch = css::uno::Reference< css::frame::XDispatch >(
- xDispatchProvider->queryDispatch( aURL, ::rtl::OUString(), 0 ));
- if ( xDispatch.is() )
+ try
+ {
+ css::uno::Sequence< css::beans::PropertyValue > aDispatchArgs;
+ xPrepareDispatch->dispatch( aPrepareURL, aDispatchArgs );
+ }
+ catch ( css::uno::RuntimeException& )
+ {
+ throw;
+ }
+ catch ( css::uno::Exception& )
{
- try
- {
- xDispatch->dispatch( aURL, aDispatchArgs );
- }
- catch ( css::uno::RuntimeException& )
- {
- throw;
- }
- catch ( css::uno::Exception& )
- {
- }
}
}
}
@@ -608,6 +675,7 @@ SfxMailModel::SaveResult SfxMailModel::SaveDocumentAsFormat(
if( !bSendAsPDF )
{
+ css::util::URL aURL;
// #i30432# notify that export is finished - the Writer may want to restore removed content
if ( xURLTransformer.is() )
{
@@ -617,12 +685,13 @@ SfxMailModel::SaveResult SfxMailModel::SaveDocumentAsFormat(
if ( xDispatchProvider.is() )
{
- xDispatch = css::uno::Reference< css::frame::XDispatch >(
+ css::uno::Reference< css::frame::XDispatch > xDispatch = css::uno::Reference< css::frame::XDispatch >(
xDispatchProvider->queryDispatch( aURL, ::rtl::OUString(), 0 ));
if ( xDispatch.is() )
{
try
{
+ css::uno::Sequence< css::beans::PropertyValue > aDispatchArgs;
xDispatch->dispatch( aURL, aDispatchArgs );
}
catch ( css::uno::RuntimeException& )
diff --git a/sfx2/source/dialog/mailmodelapi.cxx b/sfx2/source/dialog/mailmodelapi.cxx
deleted file mode 100644
index bedb057c7e..0000000000
--- a/sfx2/source/dialog/mailmodelapi.cxx
+++ /dev/null
@@ -1,695 +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_sfx2.hxx"
-// includes --------------------------------------------------------------
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/frame/XFrame.hpp>
-#include <com/sun/star/io/XActiveDataSink.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/mozilla/XPluginInstance.hpp>
-#include <com/sun/star/ucb/XDataContainer.hpp>
-#include <com/sun/star/ucb/CommandAbortedException.hpp>
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/util/XURLTransformer.hpp>
-#include <com/sun/star/frame/XStorable.hpp>
-#include <com/sun/star/frame/XDispatchProvider.hpp>
-#include <com/sun/star/frame/XDispatch.hpp>
-#include <com/sun/star/util/XModifiable.hpp>
-#include <com/sun/star/system/XSimpleMailClientSupplier.hpp>
-#include <com/sun/star/system/SimpleMailClientFlags.hpp>
-#include <com/sun/star/frame/XModuleManager.hpp>
-#ifndef _RTL_TEXTENC_H
-#include <rtl/textench.h>
-#endif
-#include <vos/mutex.hxx>
-#include <rtl/uri.h>
-#include <rtl/uri.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <unotools/streamhelper.hxx>
-#include <unotools/configitem.hxx>
-#include <comphelper/mediadescriptor.hxx>
-#include <vos/thread.hxx>
-#include <vcl/msgbox.hxx>
-
-#include "mailmodelapi.hxx"
-#include <sfx2/docfilt.hxx>
-#include <sfx2/docfac.hxx>
-#include "sfxtypes.hxx"
-
-#include "dialog.hrc"
-#include "sfxresid.hxx"
-#include <sfx2/sfxuno.hxx>
-#include <sfx2/fcontnr.hxx>
-#include "guisaveas.hxx"
-
-#include <unotools/tempfile.hxx>
-#include <vcl/svapp.hxx>
-#include <svl/stritem.hxx>
-#include <svl/eitem.hxx>
-#include <unotools/useroptions.hxx>
-#include <comphelper/processfactory.hxx>
-#include <comphelper/extract.hxx>
-#include <ucbhelper/content.hxx>
-#include <toolkit/helper/vclunohelper.hxx>
-#include <tools/urlobj.hxx>
-
-extern sal_Bool GetPasswd_Impl( const SfxItemSet* pSet, String& rPasswd );
-
-// --------------------------------------------------------------
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::frame;
-using namespace ::com::sun::star::frame;
-using namespace ::com::sun::star::io;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::mozilla;
-using namespace ::com::sun::star::ucb;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::util;
-using namespace ::com::sun::star::system;
-using namespace ::rtl;
-
-namespace
-{
- // functions -------------------------------------------------------------
-
- BOOL CreateFromAddress_Impl( String& rFrom )
-
- /* [Beschreibung]
-
- Diese Funktion versucht mit Hilfe des IniManagers eine From-Adresse
- zu erzeugen. daf"ur werden die Felder 'Vorname', 'Name' und 'EMail'
- aus der Applikations-Ini-Datei ausgelesen. Sollten diese Felder
- nicht gesetzt sein, wird FALSE zur"uckgegeben.
-
- [R"uckgabewert]
-
- TRUE: Adresse konnte erzeugt werden.
- FALSE: Adresse konnte nicht erzeugt werden.
- */
-
- {
- SvtUserOptions aUserCFG;
- String aName = aUserCFG.GetLastName ();
- String aFirstName = aUserCFG.GetFirstName ();
- if ( aFirstName.Len() || aName.Len() )
- {
- if ( aFirstName.Len() )
- {
- rFrom = TRIM( aFirstName );
-
- if ( aName.Len() )
- rFrom += ' ';
- }
- rFrom += TRIM( aName );
- // unerlaubte Zeichen entfernen
- rFrom.EraseAllChars( '<' );
- rFrom.EraseAllChars( '>' );
- rFrom.EraseAllChars( '@' );
- }
- String aEmailName = aUserCFG.GetEmail();
- // unerlaubte Zeichen entfernen
- aEmailName.EraseAllChars( '<' );
- aEmailName.EraseAllChars( '>' );
-
- if ( aEmailName.Len() )
- {
- if ( rFrom.Len() )
- rFrom += ' ';
- ( ( rFrom += '<' ) += TRIM( aEmailName ) ) += '>';
- }
- else
- rFrom.Erase();
- return ( rFrom.Len() > 0 );
- }
-
-}
-
-// class OThread
-class OMailSendThreadImpl : public ::vos::OThread
-{
- public:
- OMailSendThreadImpl(
- Reference< XSimpleMailClient > xSimpleMailClient,
- Reference< XSimpleMailMessage > xSimpleMailMessage,
- const Reference< XFrame >& _xCurrentFrame,
- long nSendFlags ) :
- m_nSendFlags( nSendFlags ),
- m_bSend( sal_False ),
- m_xSimpleMailClient( xSimpleMailClient ),
- m_xSimpleMailMessage( xSimpleMailMessage ),
- m_xCurrentFrame(_xCurrentFrame) {}
-
- virtual ~OMailSendThreadImpl();
-
- virtual void SAL_CALL run();
- virtual void SAL_CALL onTerminated();
-
- private:
- long m_nSendFlags;
- sal_Bool m_bSend;
- Reference< XSimpleMailClient > m_xSimpleMailClient;
- Reference< XSimpleMailMessage > m_xSimpleMailMessage;
- Reference< XFrame > m_xCurrentFrame;
-};
-
-OMailSendThreadImpl::~OMailSendThreadImpl()
-{
-}
-
-void SAL_CALL OMailSendThreadImpl::run()
-{
- try
- {
- m_xSimpleMailClient->sendSimpleMailMessage( m_xSimpleMailMessage, m_nSendFlags );
- m_bSend = sal_True;
- }
- catch ( IllegalArgumentException& )
- {
- m_bSend = sal_False;
- }
- catch ( Exception& )
- {
- m_bSend = sal_False;
- }
-
- if ( m_bSend == sal_False )
- {
- ::vos::OGuard aGuard( Application::GetSolarMutex() );
- Reference< ::com::sun::star::awt::XWindow > xParentWindow = m_xCurrentFrame->getContainerWindow();
- Window* pParentWindow = VCLUnoHelper::GetWindow( xParentWindow );
-
- ErrorBox aBox( pParentWindow, SfxResId( RID_ERRBOX_MAIL_CONFIG ));
- aBox.Execute();
- }
-}
-
-void SAL_CALL OMailSendThreadImpl::onTerminated()
-{
- delete this;
-}
-
-// class AddressList_Impl ------------------------------------------------
-
-typedef String* AddressItemPtr_Impl;
-DECLARE_LIST( AddressList_Impl, AddressItemPtr_Impl )
-
-// class SfxMailModel -----------------------------------------------
-
-void SfxMailModel::ClearList( AddressList_Impl* pList )
-{
- if ( pList )
- {
- ULONG i, nCount = pList->Count();
- for ( i = 0; i < nCount; ++i )
- delete pList->GetObject(i);
- pList->Clear();
- }
-}
-
-void SfxMailModel::MakeValueList( AddressList_Impl* pList, String& rValueList )
-{
- rValueList.Erase();
- if ( pList )
- {
- ULONG i, nCount = pList->Count();
- for ( i = 0; i < nCount; ++i )
- {
- if ( rValueList.Len() > 0 )
- rValueList += ',';
- rValueList += *pList->GetObject(i);
- }
- }
-}
-namespace
-{
- String lcl_getFactoryName(const Reference<XInterface>& _xModel)
- {
- rtl::OUString sModuleIdentifier;
- rtl::OUString sFactoryShortName;
- Reference < XModuleManager > xModuleManager( ::comphelper::getProcessServiceFactory()->createInstance(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.ModuleManager")) ), UNO_QUERY );
-
- if ( _xModel.is() )
- {
- try
- {
- sModuleIdentifier = xModuleManager->identify( _xModel );
- }
- catch ( ::com::sun::star::frame::UnknownModuleException& )
- {
- DBG_WARNING( "SfxHelp::GetHelpModuleName_Impl(): unknown module (help in help?)" );
- }
- catch ( Exception& )
- {
- DBG_ERRORFILE( "SfxHelp::GetHelpModuleName_Impl(): exception of XModuleManager::identif y()" );
- }
- }
-
- return sModuleIdentifier;
- }
-
- String lcl_createTempFileName(const Reference < XModel >& _xModel,const ::rtl::OUString& _sAttachmentTitle)
- {
- // create temp file name with leading chars and extension
- Reference < XStorable > xStor( _xModel, UNO_QUERY );
- String aLeadingStr;
- if ( xStor.is() )
- {
- sal_Bool bHasName = xStor->hasLocation();
-
- if ( !bHasName )
- {
- if ( _sAttachmentTitle.getLength() )
- aLeadingStr = _sAttachmentTitle;
- else
- aLeadingStr = String( DEFINE_CONST_UNICODE("noname") );
- }
- else
- {
- INetURLObject aFileObj(_xModel->getURL());
- if ( aFileObj.hasExtension() )
- {
- aFileObj.removeExtension();
- if ( _sAttachmentTitle.getLength() )
- aLeadingStr = _sAttachmentTitle;
- else
- aLeadingStr = aFileObj.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
- aLeadingStr += String::CreateFromAscii( "_" );
- }
- else
- {
- if ( _sAttachmentTitle.getLength() )
- aLeadingStr = _sAttachmentTitle;
- else
- aLeadingStr = aFileObj.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
- aLeadingStr += String::CreateFromAscii( "_" );
- }
- }
- }
- return aLeadingStr;
- }
-
-}
-SfxMailModel::SaveResult SfxMailModel::SaveDocument( const ::rtl::OUString& _sAttachmentTitle
- , const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& _xModel
- , String& rFileName)
-{
- SaveResult eRet = SAVE_CANCELLED;
- try
- {
- Reference<XModifiable> xMod(_xModel,UNO_QUERY);
-
- // save the document
- if ( xMod.is() )
- {
- // detect filter
- const SfxFilter* pFilter = SfxFilter::GetDefaultFilter(lcl_getFactoryName(_xModel));
-// sal_Bool bHasFilter = pFilter != NULL;
-
- sal_Bool bRet = sal_False;
- // create temp file name with leading chars and extension
- Reference < XStorable > xStor( _xModel, UNO_QUERY );
- if ( xStor.is() )
- {
- String* pExt = NULL;
- INetURLObject aFileObj(_xModel->getURL());
- if ( aFileObj.hasExtension() )
- pExt = new String( String::CreateFromAscii( "." ) + (OUString) aFileObj.getExtension() );
-
- String aLeadingStr = lcl_createTempFileName(_xModel,_sAttachmentTitle);
-
- if ( pFilter && !pExt )
- {
- pExt = new String( pFilter->GetWildcard()().GetToken(0) );
- // erase the '*' from the extension (e.g. "*.sdw")
- pExt->Erase( 0, 1 );
- }
-
- {
- ::utl::TempFile aTempFile( aLeadingStr, pExt );
- rFileName = aTempFile.GetURL();
- }
- delete pExt;
- // save document to temp file
-
- // save document to temp file
- Sequence < PropertyValue > aArgs( _xModel->getArgs() );
- ::comphelper::MediaDescriptor aMedia(aArgs);
-
- if ( pFilter )
- {
- ::rtl::OUString sFilter(pFilter->GetFilterName());
- ::rtl::OUString sFilterName(RTL_CONSTASCII_USTRINGPARAM("FilterName"));
- if ( !aMedia.createItemIfMissing(sFilterName,sFilter) )
- aMedia[sFilterName] <<= sFilter;
- }
-
- ::rtl::OUString sURL(RTL_CONSTASCII_USTRINGPARAM("URL"));
- if ( !aMedia.createItemIfMissing(sURL,::rtl::OUString(rFileName)) )
- aMedia[sURL] <<= ::rtl::OUString(rFileName);
-
- ::rtl::OUString sSaveTo(RTL_CONSTASCII_USTRINGPARAM("SaveTo"));
- if ( !aMedia.createItemIfMissing(sSaveTo,sal_True) )
- aMedia[sSaveTo] <<= sal_True;
-
- ::rtl::OUString sReadOnly(RTL_CONSTASCII_USTRINGPARAM("ReadOnly"));
- if ( !aMedia.createItemIfMissing(sReadOnly,sal_False) )
- aMedia[sReadOnly] <<= sal_False;
-
- aMedia >> aArgs;
-
- try
- {
- Reference < XMultiServiceFactory > xMgr = ::comphelper::getProcessServiceFactory();
- SfxStoringHelper aHelper(xMgr);
- aHelper.GUIStoreModel(_xModel,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SaveAs")),aArgs, sal_False, ::rtl::OUString() );
- // xStor->storeToURL(rFileName,aArgs);
- bRet = sal_True;
- }
- catch(Exception&)
- {
- }
- }
-
- // restore old settings
-/* TODO
- if ( !bModified && xDocShell->IsEnableSetModified() )
- xDocShell->SetModified( FALSE );
-*/
- eRet = bRet ? SAVE_SUCCESSFULL : SAVE_ERROR;
- }
- }
- catch(Exception&)
- {
- OSL_ENSURE(0,"Exception catched!");
- }
-
- return eRet;
-}
-SfxMailModel::SaveResult SfxMailModel::SaveDocAsPDF( const ::rtl::OUString& _sAttachmentTitle
- , const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& _xModel
- , String& rFileName)
-{
- SaveResult eRet = SAVE_CANCELLED;
- try
- {
- Reference<XModifiable> xMod(_xModel,UNO_QUERY);
-
- // save the document
- if ( xMod.is() )
- {
- // Get PDF Filter from document
- ::rtl::OUString sPDFMediaType(RTL_CONSTASCII_USTRINGPARAM("application/pdf"));
-
- sal_Bool bRet = sal_False;
- // create temp file name with leading chars and extension
- Reference < XStorable > xStor( _xModel, UNO_QUERY );
- if ( xStor.is() )
- {
- String aLeadingStr = lcl_createTempFileName(_xModel,_sAttachmentTitle);
- String aPDFExtension = String::CreateFromAscii( ".pdf" );
- ::utl::TempFile aTempFile( aLeadingStr, &aPDFExtension );
-
- rFileName = aTempFile.GetURL();
-
- // save document to temp file
- Sequence < PropertyValue > aArgs( _xModel->getArgs() );
- ::comphelper::MediaDescriptor aMedia(aArgs);
-
- ::rtl::OUString sMediaType(RTL_CONSTASCII_USTRINGPARAM("MediaType"));
- if ( !aMedia.createItemIfMissing(sMediaType,sPDFMediaType) )
- aMedia[sMediaType] <<= sPDFMediaType;
-
- ::rtl::OUString sURL(RTL_CONSTASCII_USTRINGPARAM("URL"));
- if ( !aMedia.createItemIfMissing(sURL,::rtl::OUString(rFileName)) )
- aMedia[sURL] <<= ::rtl::OUString(rFileName);
- aMedia >> aArgs;
-
- try
- {
- Reference < XMultiServiceFactory > xMgr = ::comphelper::getProcessServiceFactory();
- SfxStoringHelper aHelper(xMgr);
- aHelper.GUIStoreModel(_xModel,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ExportToPDF")),aArgs, sal_False, ::rtl::OUString);
- // xStor->storeToURL(rFileName,aArgs);
- bRet = sal_True;
- }
- catch(Exception&)
- {
- }
-
- eRet = bRet ? SAVE_SUCCESSFULL : SAVE_CANCELLED;
-
- // restore old settings
- /* TODO
- if ( !bModified && xDocShell->IsEnableSetModified() )
- xDocShell->SetModified( FALSE );
- */
- }
- }
- }
- catch(Exception&)
- {
- OSL_ENSURE(0,"Exception catched!");
- }
-
- return eRet;
-}
-// -----------------------------------------------------------------------------
-SfxMailModel::SendMailResult SfxMailModel::AttachDocument( MailDocType _eMailDocType
- , const Reference< XModel >& _xModel
- , const ::rtl::OUString& _sAttachmentTitle)
-{
- SaveResult eSaveResult;
- String aFileName;
-
-// sal_Bool bSuccessfull = sal_False;
- if ( _eMailDocType == TYPE_SELF )
- eSaveResult = SaveDocument( _sAttachmentTitle,_xModel,aFileName);
- else
- eSaveResult = SaveDocAsPDF( _sAttachmentTitle,_xModel,aFileName);
-
- if ( eSaveResult == SAVE_SUCCESSFULL && aFileName.Len() )
- maAttachedDocuments.push_back(aFileName);
- return eSaveResult == SAVE_SUCCESSFULL ? SEND_MAIL_OK : SEND_MAIL_ERROR;
-}
-// -----------------------------------------------------------------------------
-
-IMPL_LINK_INLINE_START( SfxMailModel, DoneHdl, void*, EMPTYARG )
-{
- mbLoadDone = sal_True;
- return 0;
-}
-// -----------------------------------------------------------------------------
-IMPL_LINK_INLINE_END( SfxMailModel, DoneHdl, void*, EMPTYARG )
-
-SfxMailModel::SfxMailModel( const Reference< XFrame >& _xFrame) :
-
- mpToList ( NULL ),
- mpCcList ( NULL ),
- mpBccList ( NULL ),
- m_xCurrentFrame ( _xFrame ),
- mePriority ( PRIO_NORMAL ),
- mbLoadDone ( sal_True )
-
-{
-}
-
-SfxMailModel::~SfxMailModel()
-{
- ClearList( mpToList );
- delete mpToList;
- ClearList( mpCcList );
- delete mpCcList;
- ClearList( mpBccList );
- delete mpBccList;
-}
-
-void SfxMailModel::AddAddress( const String& rAddress, AddressRole eRole )
-{
- // don't add a empty address
- if ( rAddress.Len() > 0 )
- {
- AddressList_Impl* pList = NULL;
- if ( ROLE_TO == eRole )
- {
- if ( !mpToList )
- // create the list
- mpToList = new AddressList_Impl;
- pList = mpToList;
- }
- else if ( ROLE_CC == eRole )
- {
- if ( !mpCcList )
- // create the list
- mpCcList = new AddressList_Impl;
- pList = mpCcList;
- }
- else if ( ROLE_BCC == eRole )
- {
- if ( !mpBccList )
- // create the list
- mpBccList = new AddressList_Impl;
- pList = mpBccList;
- }
- else
- {
- DBG_ERRORFILE( "invalid address role" );
- }
-
- if ( pList )
- {
- // add address to list
- AddressItemPtr_Impl pAddress = new String( rAddress );
- pList->Insert( pAddress, LIST_APPEND );
- }
- }
-}
-
-SfxMailModel::SendMailResult SfxMailModel::Send( )
-{
- OSL_ENSURE(!maAttachedDocuments.empty(),"No document added!");
- SendMailResult eResult = SEND_MAIL_ERROR;
- if ( !maAttachedDocuments.empty() )
- {
-
- Reference < XMultiServiceFactory > xMgr = ::comphelper::getProcessServiceFactory();
- if ( xMgr.is() )
- {
- Reference< XSimpleMailClientSupplier > xSimpleMailClientSupplier;
-
- // Prefer the SimpleSystemMail service if available
- xSimpleMailClientSupplier = Reference< XSimpleMailClientSupplier >(
- xMgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SimpleSystemMail" ))),
- UNO_QUERY );
-
- if ( ! xSimpleMailClientSupplier.is() )
- {
- xSimpleMailClientSupplier = Reference< XSimpleMailClientSupplier >(
- xMgr->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.system.SimpleCommandMail" ))),
- UNO_QUERY );
- }
-
- if ( xSimpleMailClientSupplier.is() )
- {
- Reference< XSimpleMailClient > xSimpleMailClient = xSimpleMailClientSupplier->querySimpleMailClient();
-
- if ( !xSimpleMailClient.is() )
- {
- // no mail client support => message box!
- return SEND_MAIL_ERROR;
- }
-
- // we have a simple mail client
- Reference< XSimpleMailMessage > xSimpleMailMessage = xSimpleMailClient->createSimpleMailMessage();
- if ( xSimpleMailMessage.is() )
- {
- sal_Int32 nSendFlags = SimpleMailClientFlags::DEFAULTS;
- if ( maFromAddress.Len() == 0 )
- {
- // from address not set, try figure out users e-mail address
- CreateFromAddress_Impl( maFromAddress );
- }
- xSimpleMailMessage->setOriginator( maFromAddress );
-
- sal_Int32 nToCount = mpToList ? mpToList->Count() : 0;
- sal_Int32 nCcCount = mpCcList ? mpCcList->Count() : 0;
- sal_Int32 nCcSeqCount = nCcCount;
-
- // set recipient (only one) for this simple mail server!!
- if ( nToCount > 1 )
- {
- nCcSeqCount = nToCount - 1 + nCcCount;
- xSimpleMailMessage->setRecipient( *mpToList->GetObject( 0 ));
- nSendFlags = SimpleMailClientFlags::NO_USER_INTERFACE;
- }
- else if ( nToCount == 1 )
- {
- xSimpleMailMessage->setRecipient( *mpToList->GetObject( 0 ));
- nSendFlags = SimpleMailClientFlags::NO_USER_INTERFACE;
- }
-
- // all other recipient must be handled with CC recipients!
- if ( nCcSeqCount > 0 )
- {
- sal_Int32 nIndex = 0;
- Sequence< OUString > aCcRecipientSeq;
-
- aCcRecipientSeq.realloc( nCcSeqCount );
- if ( nCcSeqCount > nCcCount )
- {
- for ( sal_Int32 i = 1; i < nToCount; ++i )
- {
- aCcRecipientSeq[nIndex++] = *mpToList->GetObject(i);
- }
- }
-
- for ( sal_Int32 i = 0; i < nCcCount; i++ )
- {
- aCcRecipientSeq[nIndex++] = *mpCcList->GetObject(i);
- }
- xSimpleMailMessage->setCcRecipient( aCcRecipientSeq );
- }
-
- sal_Int32 nBccCount = mpBccList ? mpBccList->Count() : 0;
- if ( nBccCount > 0 )
- {
- Sequence< OUString > aBccRecipientSeq( nBccCount );
- for ( sal_Int32 i = 0; i < nBccCount; ++i )
- {
- aBccRecipientSeq[i] = *mpBccList->GetObject(i);
- }
- xSimpleMailMessage->setBccRecipient( aBccRecipientSeq );
- }
-
- Sequence< OUString > aAttachmentSeq(&(maAttachedDocuments[0]),maAttachedDocuments.size());
-
- xSimpleMailMessage->setSubject( maSubject );
- xSimpleMailMessage->setAttachement( aAttachmentSeq );
-
- // Bugfix: #95743#
- // Due to the current clipboard implementation we cannot stop the main thread
- // because the clipboard implementation calls the main thread from another thread
- // and this would result in a deadlock!
- // Currently we create a thread to send a message and process all remaining error
- // handling in this thread!!
-
- OMailSendThreadImpl* pMailSendThread = new OMailSendThreadImpl( xSimpleMailClient, xSimpleMailMessage, m_xCurrentFrame,nSendFlags );
- pMailSendThread->create();
-
- // Return always true as the real error handling occurss in the OMailSendThreadImpl-implementation!
- eResult = SEND_MAIL_OK;
- }
- }
- }
- }
- else
- eResult = SEND_MAIL_CANCELLED;
-
- return eResult;
-}
diff --git a/sfx2/source/dialog/makefile.mk b/sfx2/source/dialog/makefile.mk
deleted file mode 100644
index 4c56cd683e..0000000000
--- a/sfx2/source/dialog/makefile.mk
+++ /dev/null
@@ -1,127 +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=sfx2
-TARGET=dialog
-
-# --- Settings -----------------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------------
-
-EXCEPTIONSFILES=\
- $(SLO)$/filedlghelper.obj \
- $(SLO)$/filtergrouping.obj \
- $(SLO)$/itemconnect.obj \
- $(SLO)$/mailmodel.obj \
- $(SLO)$/partwnd.obj \
- $(SLO)$/recfloat.obj \
- $(SLO)$/templdlg.obj \
- $(SLO)$/dinfdlg.obj \
- $(SLO)$/dockwin.obj \
- $(SLO)$/taskpane.obj
-
-SLOFILES =\
- $(EXCEPTIONSFILES) \
- $(SLO)$/about.obj \
- $(SLO)$/alienwarn.obj \
- $(SLO)$/basedlgs.obj \
- $(SLO)$/dinfedt.obj \
- $(SLO)$/intro.obj \
- $(SLO)$/mgetempl.obj \
- $(SLO)$/navigat.obj \
- $(SLO)$/newstyle.obj \
- $(SLO)$/passwd.obj \
- $(SLO)$/printopt.obj \
- $(SLO)$/sfxdlg.obj \
- $(SLO)$/splitwin.obj \
- $(SLO)$/srchdlg.obj \
- $(SLO)$/styfitem.obj \
- $(SLO)$/styledlg.obj \
- $(SLO)$/tabdlg.obj \
- $(SLO)$/tplcitem.obj \
- $(SLO)$/tplpitem.obj \
- $(SLO)$/versdlg.obj \
- $(SLO)$/securitypage.obj \
- $(SLO)$/titledockwin.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES =\
- recfloat.src \
- alienwarn.src \
- dialog.src \
- dinfdlg.src \
- dinfedt.src \
- filedlghelper.src \
- mailwindow.src \
- mgetempl.src \
- newstyle.src \
- passwd.src \
- templdlg.src \
- versdlg.src \
- printopt.src \
- srchdlg.src \
- securitypage.src \
- titledockwin.src \
- taskpane.src
-
-.IF "$(BUILD_VER_STRING)"!=""
-.IF "$(GUI)"=="UNX"
-CFLAGS+=-DBUILD_VER_STRING='"$(BUILD_VER_STRING)"'
-.ELSE # "$(GUI)"=="UNX"
-CFLAGS+=-DBUILD_VER_STRING="$(subst,",\" "$(BUILD_VER_STRING)")"
-.ENDIF # "$(GUI)"=="UNX"
-.ENDIF
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-$(INCCOM)$/cuilib.hxx: makefile.mk
-.IF "$(GUI)"=="UNX"
- $(RM) $@
- @echo \#define DLL_NAME \"libcui$(DLLPOSTFIX)$(DLLPOST)\" >$@
-.ELSE
- @echo $(EMQ)#define DLL_NAME $(EMQ)"cui$(DLLPOSTFIX)$(DLLPOST)$(EMQ)" >$@
-.ENDIF
-
-$(SLO)$/sfxdlg.obj : $(INCCOM)$/cuilib.hxx
-
-$(SLO)$/about.obj : $(INCCOM)$/aboutbmpnames.hxx
-
-.INCLUDE .IGNORE : $(MISC)$/about_bmp_names.mk
-
-.IF "$(ABOUT_BITMAPS:f)"!="$(LASTTIME_ABOUT_BITMAPS)"
-DO_PHONY=.PHONY
-.ENDIF # "$(ABOUT_BITMAPS:f)"!="$(LASTTIME_ABOUT_BITMAPS)"
-
-$(INCCOM)$/aboutbmpnames.hxx $(DO_PHONY):
- echo const char ABOUT_BITMAP_STRINGLIST[]=$(EMQ)"$(ABOUT_BITMAPS:f:t",")$(EMQ)"$(EMQ); > $@
- echo LASTTIME_ABOUT_BITMAPS=$(ABOUT_BITMAPS:f) > $(MISC)$/about_bmp_names.mk
diff --git a/sfx2/source/dialog/mgetempl.cxx b/sfx2/source/dialog/mgetempl.cxx
index 85ead19fec..bc630affac 100644
--- a/sfx2/source/dialog/mgetempl.cxx
+++ b/sfx2/source/dialog/mgetempl.cxx
@@ -46,7 +46,7 @@
#include <sfx2/mgetempl.hxx>
#include <sfx2/objsh.hxx>
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/module.hxx>
#include <sfx2/sfx.hrc>
@@ -65,6 +65,7 @@ SfxManageStyleSheetPage::SfxManageStyleSheetPage( Window* pParent, const SfxItem
aNameFt ( this, SfxResId( FT_NAME ) ),
aNameEd ( this, SfxResId( ED_NAME ) ),
+ aNameMLE ( this, SfxResId( MLE_NAME ) ),
aAutoCB ( this, SfxResId( CB_AUTO ) ),
aFollowFt ( this, SfxResId( FT_NEXT ) ),
@@ -147,8 +148,17 @@ SfxManageStyleSheetPage::SfxManageStyleSheetPage( Window* pParent, const SfxItem
}
aNameEd.SetText(pStyle->GetName());
- if ( !pStyle->IsUserDefined() )
+ // Set the field read-only if it is NOT an user-defined style
+ // but allow selecting and copying
+ if ( !pStyle->IsUserDefined() ) {
aNameEd.SetReadOnly();
+ aNameEd.Hide();
+
+ aNameMLE.SetControlBackground( GetSettings().GetStyleSettings().GetDialogColor() );
+ aNameMLE.SetText( pStyle->GetName() );
+ aNameMLE.EnableCursor( FALSE );
+ aNameMLE.Show();
+ }
if ( pStyle->HasFollowSupport() && pPool )
{
diff --git a/sfx2/source/dialog/mgetempl.hrc b/sfx2/source/dialog/mgetempl.hrc
index 950b748a88..cb07f9436b 100644
--- a/sfx2/source/dialog/mgetempl.hrc
+++ b/sfx2/source/dialog/mgetempl.hrc
@@ -25,6 +25,7 @@
*
************************************************************************/
#define ED_NAME 2
+#define MLE_NAME 13
#define LB_NEXT 4
#define FT_BASE 5
#define LB_BASE 6
diff --git a/sfx2/source/dialog/mgetempl.src b/sfx2/source/dialog/mgetempl.src
index be60b35f7d..4f26356a00 100644
--- a/sfx2/source/dialog/mgetempl.src
+++ b/sfx2/source/dialog/mgetempl.src
@@ -49,6 +49,14 @@ TabPage TP_MANAGE_STYLES
Pos = MAP_APPFONT ( 70 , 6 ) ;
Size = MAP_APPFONT ( 184 , 12 ) ;
};
+ MultiLineEdit MLE_NAME
+ {
+ Pos = MAP_APPFONT ( 70 , 8 ) ;
+ Size = MAP_APPFONT ( 80 , 12 ) ;
+ Border = FALSE;
+ ReadOnly = TRUE;
+ Hide = TRUE;
+ };
CheckBox CB_AUTO
{
HelpID = "sfx2:CheckBox:TP_MANAGE_STYLES:CB_AUTO";
diff --git a/sfx2/source/dialog/navigat.cxx b/sfx2/source/dialog/navigat.cxx
index 4335893e30..76d43eb15b 100644
--- a/sfx2/source/dialog/navigat.cxx
+++ b/sfx2/source/dialog/navigat.cxx
@@ -36,7 +36,7 @@
#include <sfx2/navigat.hxx>
#include <sfx2/sfx.hrc>
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "helpid.hrc"
SFX_IMPL_DOCKINGWINDOW( SfxNavigatorWrapper , SID_NAVIGATOR );
diff --git a/sfx2/source/dialog/newstyle.cxx b/sfx2/source/dialog/newstyle.cxx
index b4feb533bb..07e27b9866 100644
--- a/sfx2/source/dialog/newstyle.cxx
+++ b/sfx2/source/dialog/newstyle.cxx
@@ -36,7 +36,7 @@
#include <sfx2/newstyle.hxx>
#include "dialog.hrc"
#include "newstyle.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
// PRIVATE METHODES ------------------------------------------------------
diff --git a/sfx2/source/dialog/passwd.cxx b/sfx2/source/dialog/passwd.cxx
index 0999ae5436..2d5c4f97ae 100644
--- a/sfx2/source/dialog/passwd.cxx
+++ b/sfx2/source/dialog/passwd.cxx
@@ -35,20 +35,21 @@
#include <sfx2/passwd.hxx>
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "dialog.hrc"
#include "passwd.hrc"
#include "vcl/sound.hxx"
+#include "vcl/arrange.hxx"
// -----------------------------------------------------------------------
-IMPL_LINK_INLINE_START( SfxPasswordDialog, EditModifyHdl, Edit *, EMPTYARG )
+IMPL_LINK_INLINE_START( SfxPasswordDialog, EditModifyHdl, Edit *, pEdit )
{
- if( mbAsciiOnly )
+ if( mbAsciiOnly && (pEdit == &maPasswordED || pEdit == &maPassword2ED) )
{
- rtl::OUString aTest( maPasswordED.GetText() );
+ rtl::OUString aTest( pEdit->GetText() );
const sal_Unicode* pTest = aTest.getStr();
sal_Int32 nLen = aTest.getLength();
rtl::OUStringBuffer aFilter( nLen );
@@ -64,12 +65,15 @@ IMPL_LINK_INLINE_START( SfxPasswordDialog, EditModifyHdl, Edit *, EMPTYARG )
if( bReset )
{
Sound::Beep( SOUND_ERROR );
- maPasswordED.SetSelection( Selection( 0, nLen ) );
- maPasswordED.ReplaceSelected( aFilter.makeStringAndClear() );
+ pEdit->SetSelection( Selection( 0, nLen ) );
+ pEdit->ReplaceSelected( aFilter.makeStringAndClear() );
}
}
- maOKBtn.Enable( maPasswordED.GetText().Len() >= mnMinLen );
+ bool bEnable = maPasswordED.GetText().Len() >= mnMinLen;
+ if( maPassword2ED.IsVisible() )
+ bEnable = (bEnable && (maPassword2ED.GetText().Len() >= mnMinLen));
+ maOKBtn.Enable( bEnable );
return 0;
}
IMPL_LINK_INLINE_END( SfxPasswordDialog, EditModifyHdl, Edit *, EMPTYARG )
@@ -78,8 +82,11 @@ IMPL_LINK_INLINE_END( SfxPasswordDialog, EditModifyHdl, Edit *, EMPTYARG )
IMPL_LINK( SfxPasswordDialog, OKHdl, OKButton *, EMPTYARG )
{
- if ( ( ( mnExtras & SHOWEXTRAS_CONFIRM ) == SHOWEXTRAS_CONFIRM ) &&
- ( GetConfirm() != GetPassword() ) )
+ bool bConfirmFailed = ( ( mnExtras & SHOWEXTRAS_CONFIRM ) == SHOWEXTRAS_CONFIRM ) &&
+ ( GetConfirm() != GetPassword() );
+ if( ( mnExtras & SHOWEXTRAS_CONFIRM2 ) == SHOWEXTRAS_CONFIRM2 && ( GetConfirm2() != GetPassword2() ) )
+ bConfirmFailed = true;
+ if ( bConfirmFailed )
{
ErrorBox aBox( this, SfxResId( MSG_ERROR_WRONG_CONFIRM ) );
aBox.Execute();
@@ -97,27 +104,83 @@ SfxPasswordDialog::SfxPasswordDialog( Window* pParent, const String* pGroupText
ModalDialog( pParent, SfxResId ( DLG_PASSWD ) ),
+ maPasswordBox ( this, SfxResId( GB_PASSWD_PASSWORD ) ),
maUserFT ( this, SfxResId( FT_PASSWD_USER ) ),
maUserED ( this, SfxResId( ED_PASSWD_USER ) ),
maPasswordFT ( this, SfxResId( FT_PASSWD_PASSWORD ) ),
maPasswordED ( this, SfxResId( ED_PASSWD_PASSWORD ) ),
maConfirmFT ( this, SfxResId( FT_PASSWD_CONFIRM ) ),
maConfirmED ( this, SfxResId( ED_PASSWD_CONFIRM ) ),
- maPasswordBox ( this, SfxResId( GB_PASSWD_PASSWORD ) ),
+ maPassword2Box ( this, 0 ),
+ maPassword2FT ( this, SfxResId( FT_PASSWD_PASSWORD2 ) ),
+ maPassword2ED ( this, SfxResId( ED_PASSWD_PASSWORD2 ) ),
+ maConfirm2FT ( this, SfxResId( FT_PASSWD_CONFIRM2 ) ),
+ maConfirm2ED ( this, SfxResId( ED_PASSWD_CONFIRM2 ) ),
maOKBtn ( this, SfxResId( BTN_PASSWD_OK ) ),
maCancelBtn ( this, SfxResId( BTN_PASSWD_CANCEL ) ),
maHelpBtn ( this, SfxResId( BTN_PASSWD_HELP ) ),
- maConfirmStr ( SfxResId( STR_PASSWD_CONFIRM ) ),
- mnMinLen ( 5 ),
+ mnMinLen ( 1 ),
mnExtras ( 0 ),
mbAsciiOnly ( false )
{
FreeResource();
+
+ // setup layout
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
+ xLayout->setOuterBorder( 0 );
+
+ // get edit size, should be used as minimum
+ Size aEditSize( maUserED.GetSizePixel() );
+
+ // add labelcolumn for the labeled edit fields
+ boost::shared_ptr<vcl::LabelColumn> xEdits( new vcl::LabelColumn( xLayout.get() ) );
+ size_t nChildIndex = xLayout->addChild( xEdits );
+ xLayout->setBorders( nChildIndex, -2, -2, -2, 0 );
+
+ // add group box
+ xEdits->addWindow( &maPasswordBox );
+
+ // add user line
+ xEdits->addRow( &maUserFT, &maUserED, -2, aEditSize );
+
+ // add password line
+ xEdits->addRow( &maPasswordFT, &maPasswordED, -2, aEditSize );
+
+ // add confirm line
+ xEdits->addRow( &maConfirmFT, &maConfirmED, -2, aEditSize );
+
+ // add second group box
+ xEdits->addWindow( &maPassword2Box );
+
+ // add second password line
+ xEdits->addRow( &maPassword2FT, &maPassword2ED, -2, aEditSize );
+
+ // add second confirm line
+ xEdits->addRow( &maConfirm2FT, &maConfirm2ED, -2, aEditSize );
+
+ // add a FixedLine
+ FixedLine* pLine = new FixedLine( this, 0 );
+ pLine->Show();
+ addWindow( pLine, true );
+ xLayout->addWindow( pLine );
+
+ // add button column
+ Size aBtnSize( maCancelBtn.GetSizePixel() );
+ boost::shared_ptr<vcl::RowOrColumn> xButtons( new vcl::RowOrColumn( xLayout.get(), false ) );
+ nChildIndex = xLayout->addChild( xButtons );
+ xLayout->setBorders( nChildIndex, -2, 0, -2, -2 );
+
+ size_t nBtnIndex = xButtons->addWindow( &maHelpBtn, 0, aBtnSize );
+ xButtons->addChild( new vcl::Spacer( xButtons.get() ) );
+ nBtnIndex = xButtons->addWindow( &maOKBtn, 0, aBtnSize );
+ nBtnIndex = xButtons->addWindow( &maCancelBtn, 0, aBtnSize );
Link aLink = LINK( this, SfxPasswordDialog, EditModifyHdl );
maPasswordED.SetModifyHdl( aLink );
+ maPassword2ED.SetModifyHdl( aLink );
aLink = LINK( this, SfxPasswordDialog, OKHdl );
maOKBtn.SetClickHdl( aLink );
@@ -146,65 +209,45 @@ void SfxPasswordDialog::SetMaxLen( USHORT nLen )
short SfxPasswordDialog::Execute()
{
- if ( mnExtras < SHOWEXTRAS_ALL )
+ maUserFT.Hide();
+ maUserED.Hide();
+ maConfirmFT.Hide();
+ maConfirmED.Hide();
+ maPasswordFT.Hide();
+ maPassword2Box.Hide();
+ maPassword2FT.Hide();
+ maPassword2ED.Hide();
+ maPassword2FT.Hide();
+ maConfirm2FT.Hide();
+ maConfirm2ED.Hide();
+
+ if( mnExtras != SHOWEXTRAS_NONE )
+ maPasswordFT.Show();
+ if( (mnExtras & SHOWEXTRAS_USER ) )
{
- Size a3Size = LogicToPixel( Size( 3, 3 ), MAP_APPFONT );
- Size a6Size = LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
- long nMinHeight = maHelpBtn.GetPosPixel().Y() +
- maHelpBtn.GetSizePixel().Height() + a6Size.Height();
- USHORT nRowHided = 1;
-
- if ( SHOWEXTRAS_NONE == mnExtras )
- {
- maUserFT.Hide();
- maUserED.Hide();
- maConfirmFT.Hide();
- maConfirmED.Hide();
- maPasswordFT.Hide();
-
- Point aPos = maUserFT.GetPosPixel();
- long nEnd = maUserED.GetPosPixel().X() + maUserED.GetSizePixel().Width();
- maPasswordED.SetPosPixel( aPos );
- Size aSize = maPasswordED.GetSizePixel();
- aSize.Width() = nEnd - aPos.X();
- maPasswordED.SetSizePixel( aSize );
-
- nRowHided = 2;
- }
- else if ( SHOWEXTRAS_USER == mnExtras )
- {
- maConfirmFT.Hide();
- maConfirmED.Hide();
- }
- else if ( SHOWEXTRAS_CONFIRM == mnExtras )
- {
- maUserFT.Hide();
- maUserED.Hide();
-
- Point aPwdPos1 = maPasswordFT.GetPosPixel();
- Point aPwdPos2 = maPasswordED.GetPosPixel();
-
- Point aPos = maUserFT.GetPosPixel();
- maPasswordFT.SetPosPixel( aPos );
- aPos = maUserED.GetPosPixel();
- maPasswordED.SetPosPixel( aPos );
-
- maConfirmFT.SetPosPixel( aPwdPos1 );
- maConfirmED.SetPosPixel( aPwdPos2 );
- }
-
- Size aBoxSize = maPasswordBox.GetSizePixel();
- aBoxSize.Height() -= ( nRowHided * maUserED.GetSizePixel().Height() );
- aBoxSize.Height() -= ( nRowHided * a3Size.Height() );
- maPasswordBox.SetSizePixel( aBoxSize );
-
- long nDlgHeight = maPasswordBox.GetPosPixel().Y() + aBoxSize.Height() + a6Size.Height();
- if ( nDlgHeight < nMinHeight )
- nDlgHeight = nMinHeight;
- Size aDlgSize = GetOutputSizePixel();
- aDlgSize.Height() = nDlgHeight;
- SetOutputSizePixel( aDlgSize );
+ maUserFT.Show();
+ maUserED.Show();
+ }
+ if( (mnExtras & SHOWEXTRAS_CONFIRM ) )
+ {
+ maConfirmFT.Show();
+ maConfirmED.Show();
+ }
+ if( (mnExtras & SHOWEXTRAS_PASSWORD2) )
+ {
+ maPassword2Box.Show();
+ maPassword2FT.Show();
+ maPassword2ED.Show();
+ }
+ if( (mnExtras & SHOWEXTRAS_CONFIRM2 ) )
+ {
+ maConfirm2FT.Show();
+ maConfirm2ED.Show();
}
+
+ boost::shared_ptr<vcl::RowOrColumn> xLayout =
+ boost::dynamic_pointer_cast<vcl::RowOrColumn>( getLayout() );
+ SetSizePixel( xLayout->getOptimalSize( WINDOWSIZE_PREFERRED ) );
return ModalDialog::Execute();
}
diff --git a/sfx2/source/dialog/passwd.hrc b/sfx2/source/dialog/passwd.hrc
index 7c96e131d6..844de643f4 100644
--- a/sfx2/source/dialog/passwd.hrc
+++ b/sfx2/source/dialog/passwd.hrc
@@ -41,7 +41,10 @@
#define BTN_PASSWD_CANCEL 21
#define BTN_PASSWD_HELP 22
-#define STR_PASSWD_CONFIRM 30
+#define FT_PASSWD_PASSWORD2 25
+#define ED_PASSWD_PASSWORD2 26
+#define FT_PASSWD_CONFIRM2 27
+#define ED_PASSWD_CONFIRM2 28
#endif
diff --git a/sfx2/source/dialog/passwd.src b/sfx2/source/dialog/passwd.src
index 4111597e1c..1d1000c9db 100644
--- a/sfx2/source/dialog/passwd.src
+++ b/sfx2/source/dialog/passwd.src
@@ -86,6 +86,32 @@ ModalDialog DLG_PASSWD
Size = MAP_APPFONT( 132, 8 );
Text [ en-US ] = "Password" ;
};
+ FixedText FT_PASSWD_PASSWORD2
+ {
+ Pos = MAP_APPFONT( 12, 30 );
+ Size = MAP_APPFONT( 42, 10 );
+ Text [ en-US ] = "P~assword";
+ };
+ Edit ED_PASSWD_PASSWORD2
+ {
+ Border = TRUE;
+ PassWord = TRUE;
+ Pos = MAP_APPFONT( 57, 29 );
+ Size = MAP_APPFONT( 75, 12 );
+ };
+ FixedText FT_PASSWD_CONFIRM2
+ {
+ Pos = MAP_APPFONT( 12, 45 );
+ Size = MAP_APPFONT( 42, 10 );
+ Text [ en-US ] = "Confir~m";
+ };
+ Edit ED_PASSWD_CONFIRM2
+ {
+ Border = TRUE;
+ PassWord = TRUE;
+ Pos = MAP_APPFONT( 57, 44 );
+ Size = MAP_APPFONT( 75, 12 );
+ };
OKButton BTN_PASSWD_OK
{
Disable = TRUE;
@@ -103,10 +129,6 @@ ModalDialog DLG_PASSWD
Pos = MAP_APPFONT( 144, 43 );
Size = MAP_APPFONT( 50, 14 );
};
- String STR_PASSWD_CONFIRM
- {
- Text [ en-US ] = "Confirm password" ;
- };
};
// ********************************************************************** EOF
diff --git a/sfx2/source/dialog/printopt.cxx b/sfx2/source/dialog/printopt.cxx
index b31b67127f..fb81bf7a2e 100644
--- a/sfx2/source/dialog/printopt.cxx
+++ b/sfx2/source/dialog/printopt.cxx
@@ -38,7 +38,7 @@
#include "printopt.hrc"
#include "dialog.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/viewsh.hxx>
#include <sfx2/printopt.hxx>
diff --git a/sfx2/source/dialog/recfloat.cxx b/sfx2/source/dialog/recfloat.cxx
index c38b879d5b..4c9bd6a815 100644
--- a/sfx2/source/dialog/recfloat.cxx
+++ b/sfx2/source/dialog/recfloat.cxx
@@ -42,13 +42,13 @@
#include "recfloat.hxx"
#include "dialog.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/app.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/viewsh.hxx>
-#include "imagemgr.hxx"
+#include "sfx2/imagemgr.hxx"
using namespace ::com::sun::star;
diff --git a/sfx2/source/dialog/sfxdlg.cxx b/sfx2/source/dialog/sfxdlg.cxx
index ee78454bad..333c2b99e5 100755
--- a/sfx2/source/dialog/sfxdlg.cxx
+++ b/sfx2/source/dialog/sfxdlg.cxx
@@ -29,7 +29,7 @@
#include "precompiled_sfx2.hxx"
#include <sfx2/sfxdlg.hxx>
-#include "cuilib.hxx"
+//#include "cuilib.hxx"
#include <osl/module.hxx>
#include <tools/string.hxx>
diff --git a/sfx2/source/dialog/splitwin.cxx b/sfx2/source/dialog/splitwin.cxx
index e1a1c9fadd..2d5c98bd1b 100644
--- a/sfx2/source/dialog/splitwin.cxx
+++ b/sfx2/source/dialog/splitwin.cxx
@@ -49,7 +49,7 @@
#include <sfx2/dockwin.hxx>
#include <sfx2/app.hxx>
#include "dialog.hrc"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/mnumgr.hxx>
#include "virtmenu.hxx"
#include <sfx2/msgpool.hxx>
diff --git a/sfx2/source/dialog/srchdlg.cxx b/sfx2/source/dialog/srchdlg.cxx
index 2a24ec384d..a918580f5d 100644
--- a/sfx2/source/dialog/srchdlg.cxx
+++ b/sfx2/source/dialog/srchdlg.cxx
@@ -29,7 +29,7 @@
#include "precompiled_sfx2.hxx"
#include "srchdlg.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxuno.hxx>
#include "srchdlg.hrc"
diff --git a/sfx2/source/dialog/styledlg.cxx b/sfx2/source/dialog/styledlg.cxx
index 998d912e11..9461951700 100644
--- a/sfx2/source/dialog/styledlg.cxx
+++ b/sfx2/source/dialog/styledlg.cxx
@@ -39,7 +39,7 @@
#include <sfx2/styledlg.hxx>
#include <sfx2/mgetempl.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxuno.hxx>
#include "dialog.hrc"
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index a9cc9b9d2b..c1d250155f 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -42,8 +42,8 @@
#include <sfx2/tabdlg.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxresid.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/ctrlitem.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/sfxdlg.hxx>
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 8aba652021..9e4b488661 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -48,7 +48,7 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/frame/XModuleManager.hpp>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/app.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/bindings.hxx>
@@ -60,8 +60,8 @@
#include <sfx2/objsh.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/newstyle.hxx>
-#include "tplpitem.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/tplpitem.hxx"
+#include "sfx2/sfxresid.hxx"
#include "templdlg.hrc"
#include <sfx2/sfx.hrc>
@@ -73,7 +73,7 @@
#include "docvor.hxx"
#include <sfx2/doctempl.hxx>
#include <sfx2/module.hxx>
-#include "imgmgr.hxx"
+#include "sfx2/imgmgr.hxx"
#include "helpid.hrc"
#include "appdata.hxx"
#include <sfx2/viewfrm.hxx>
@@ -756,7 +756,7 @@ SfxCommonTemplateDialog_Impl::SfxCommonTemplateDialog_Impl( SfxBindings* pB, Sfx
DEFINE_CONST_UNICODE("com.sun.star.frame.ModuleManager") ), UNO_QUERY ),
pbDeleted ( NULL ),
- aFmtLb ( this, WB_BORDER | WB_TABSTOP | WB_SORT ),
+ aFmtLb ( this, WB_BORDER | WB_TABSTOP | WB_SORT | WB_QUICK_SEARCH ),
aFilterLb ( pW, WB_BORDER | WB_DROPDOWN | WB_TABSTOP ),
nActFamily ( 0xffff ),
@@ -780,7 +780,7 @@ SfxCommonTemplateDialog_Impl::SfxCommonTemplateDialog_Impl( SfxBindings* pB, Sfx
{
aFmtLb.SetHelpId( HID_TEMPLATE_FMT );
aFilterLb.SetHelpId( HID_TEMPLATE_FILTER );
- aFmtLb.SetWindowBits( WB_SORT | WB_HIDESELECTION );
+ aFmtLb.SetStyle( aFmtLb.GetStyle() | WB_SORT | WB_HIDESELECTION );
Font aFont = aFmtLb.GetFont();
aFont.SetWeight( WEIGHT_NORMAL );
aFmtLb.SetFont( aFont );
@@ -823,7 +823,7 @@ SfxCommonTemplateDialog_Impl::SfxCommonTemplateDialog_Impl( SfxBindings* pB, Mod
bBindingUpdate ( TRUE )
{
- aFmtLb.SetWindowBits( WB_SORT );
+ aFmtLb.SetStyle( aFmtLb.GetStyle() | WB_SORT );
}
//-------------------------------------------------------------------------
@@ -1776,7 +1776,7 @@ IMPL_LINK( SfxCommonTemplateDialog_Impl, FilterSelectHdl, ListBox *, pBox )
pTreeBox = new StyleTreeListBox_Impl(
this, WB_HASBUTTONS | WB_HASLINES |
WB_BORDER | WB_TABSTOP | WB_HASLINESATROOT |
- WB_HASBUTTONSATROOT | WB_HIDESELECTION );
+ WB_HASBUTTONSATROOT | WB_HIDESELECTION | WB_QUICK_SEARCH );
pTreeBox->SetFont( aFmtLb.GetFont() );
pTreeBox->SetPosSizePixel(aFmtLb.GetPosPixel(), aFmtLb.GetSizePixel());
diff --git a/sfx2/source/dialog/tplcitem.cxx b/sfx2/source/dialog/tplcitem.cxx
index 0438ef4d15..3985cb2126 100644
--- a/sfx2/source/dialog/tplcitem.cxx
+++ b/sfx2/source/dialog/tplcitem.cxx
@@ -33,12 +33,9 @@
#include <svl/intitem.hxx>
#include <vcl/svapp.hxx>
-#ifndef GCC
-#endif
-
#include <sfx2/templdlg.hxx>
#include <sfx2/bindings.hxx>
-#include "tplpitem.hxx"
+#include "sfx2/tplpitem.hxx"
#include "tplcitem.hxx"
#include "templdgi.hxx"
diff --git a/sfx2/source/dialog/tplpitem.cxx b/sfx2/source/dialog/tplpitem.cxx
index fc67ac6646..b283dac807 100644
--- a/sfx2/source/dialog/tplpitem.cxx
+++ b/sfx2/source/dialog/tplpitem.cxx
@@ -30,10 +30,7 @@
// INCLUDE ---------------------------------------------------------------
-#ifndef GCC
-#endif
-
-#include "tplpitem.hxx"
+#include "sfx2/tplpitem.hxx"
#include <com/sun/star/frame/status/Template.hpp>
diff --git a/sfx2/source/dialog/versdlg.cxx b/sfx2/source/dialog/versdlg.cxx
index b291b09eb7..fa20b7dbb1 100644
--- a/sfx2/source/dialog/versdlg.cxx
+++ b/sfx2/source/dialog/versdlg.cxx
@@ -46,7 +46,7 @@
#include "versdlg.hrc"
#include "versdlg.hxx"
#include <sfx2/viewfrm.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/docfile.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/sfxsids.hrc>
@@ -239,7 +239,7 @@ SfxVersionDialog::SfxVersionDialog ( SfxViewFrame* pVwFrame, BOOL bIsSaveVersion
aVersionBox.SetDoubleClickHdl( LINK( this, SfxVersionDialog, DClickHdl_Impl ) );
aVersionBox.GrabFocus();
- aVersionBox.SetWindowBits( WB_HSCROLL | WB_CLIPCHILDREN );
+ aVersionBox.SetStyle( aVersionBox.GetStyle() | WB_HSCROLL | WB_CLIPCHILDREN );
aVersionBox.SetSelectionMode( SINGLE_SELECTION );
aVersionBox.SetTabs( &nTabs_Impl[0], MAP_APPFONT );
aVersionBox.Resize(); // OS: Hack fuer richtige Selektion
@@ -329,13 +329,13 @@ void SfxVersionDialog::Open_Impl()
SfxStringItem aReferer( SID_REFERER, DEFINE_CONST_UNICODE("private:user") );
SfxStringItem aFile( SID_FILE_NAME, pObjShell->GetMedium()->GetName() );
- ::rtl::OUString aPassString;
- if ( GetPasswd_Impl( pObjShell->GetMedium()->GetItemSet(), aPassString ) )
+ uno::Sequence< beans::NamedValue > aEncryptionData;
+ if ( GetEncryptionData_Impl( pObjShell->GetMedium()->GetItemSet(), aEncryptionData ) )
{
// there is a password, it should be used during the opening
- SfxStringItem aPassItem( SID_PASSWORD, aPassString );
+ SfxUnoAnyItem aEncryptionDataItem( SID_ENCRYPTIONDATA, uno::makeAny( aEncryptionData ) );
pViewFrame->GetDispatcher()->Execute(
- SID_OPENDOC, SFX_CALLMODE_ASYNCHRON, &aFile, &aItem, &aTarget, &aReferer, &aPassItem, 0L );
+ SID_OPENDOC, SFX_CALLMODE_ASYNCHRON, &aFile, &aItem, &aTarget, &aReferer, &aEncryptionDataItem, 0L );
}
else
pViewFrame->GetDispatcher()->Execute(
diff --git a/sfx2/source/doc/QuerySaveDocument.cxx b/sfx2/source/doc/QuerySaveDocument.cxx
index e4cafbe615..891b2eeb66 100644
--- a/sfx2/source/doc/QuerySaveDocument.cxx
+++ b/sfx2/source/doc/QuerySaveDocument.cxx
@@ -27,15 +27,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
-#include "QuerySaveDocument.hxx"
+#include "sfx2/QuerySaveDocument.hxx"
#include <sfx2/sfx.hrc>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxuno.hxx>
#include "doc.hrc"
-#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
-#endif
+
// -----------------------------------------------------------------------------
short ExecuteQuerySaveDocument(Window* _pParent,const String& _rTitle)
{
diff --git a/sfx2/source/doc/docfac.cxx b/sfx2/source/doc/docfac.cxx
index 47a46fc1ca..c28e6950f7 100644
--- a/sfx2/source/doc/docfac.cxx
+++ b/sfx2/source/doc/docfac.cxx
@@ -47,13 +47,13 @@
#include <sfx2/sfx.hrc>
#include <sfx2/docfilt.hxx>
#include <sfx2/docfac.hxx>
-#include "viewfac.hxx"
+#include "sfx2/viewfac.hxx"
#include "fltfnc.hxx"
#include "arrdecl.hxx"
#include <sfx2/app.hxx>
#include <sfx2/module.hxx>
#include <sfx2/mnumgr.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxuno.hxx>
#include "syspath.hxx"
#include <osl/file.hxx>
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index f0d3511716..9bf3d01fc4 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -81,6 +81,7 @@
#include <unotools/tempfile.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/componentcontext.hxx>
+#include <comphelper/interaction.hxx>
#include <framework/interaction.hxx>
#include <unotools/streamhelper.hxx>
#include <unotools/localedatawrapper.hxx>
@@ -144,7 +145,7 @@ using namespace ::com::sun::star::io;
#include <sfx2/docfac.hxx> // GetFilterContainer
#include "doc.hrc"
#include "openflag.hxx" // SFX_STREAM_READONLY etc.
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/appuno.hxx>
//#include "xmlversion.hxx"
@@ -881,17 +882,21 @@ uno::Reference < embed::XStorage > SfxMedium::GetOutputStorage()
}
//------------------------------------------------------------------
-void SfxMedium::SetPasswordToStorage_Impl()
+void SfxMedium::SetEncryptionDataToStorage_Impl()
{
// in case media-descriptor contains password it should be used on opening
if ( pImp->xStorage.is() && pSet )
{
- ::rtl::OUString aPasswd;
- if ( GetPasswd_Impl( pSet, aPasswd ) )
+ uno::Sequence< beans::NamedValue > aEncryptionData;
+ if ( GetEncryptionData_Impl( pSet, aEncryptionData ) )
{
+ // replace the password with encryption data
+ pSet->ClearItem( SID_PASSWORD );
+ pSet->Put( SfxUnoAnyItem( SID_ENCRYPTIONDATA, uno::makeAny( aEncryptionData ) ) );
+
try
{
- ::comphelper::OStorageHelper::SetCommonStoragePassword( pImp->xStorage, aPasswd );
+ ::comphelper::OStorageHelper::SetCommonStorageEncryptionData( pImp->xStorage, aEncryptionData );
}
catch( uno::Exception& )
{
@@ -1326,7 +1331,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetStorage( sal_Bool bCreateTempIf
// TODO/LATER: Get versionlist on demand
if ( pImp->xStorage.is() )
{
- SetPasswordToStorage_Impl();
+ SetEncryptionDataToStorage_Impl();
GetVersionList();
}
@@ -3779,19 +3784,17 @@ sal_Bool SfxMedium::CallApproveHandler( const uno::Reference< task::XInteraction
{
uno::Sequence< uno::Reference< task::XInteractionContinuation > > aContinuations( bAllowAbort ? 2 : 1 );
- ::rtl::Reference< ::framework::ContinuationApprove > pApprove( new ::framework::ContinuationApprove() );
+ ::rtl::Reference< ::comphelper::OInteractionApprove > pApprove( new ::comphelper::OInteractionApprove );
aContinuations[ 0 ] = pApprove.get();
if ( bAllowAbort )
{
- ::rtl::Reference< ::framework::ContinuationAbort > pAbort( new ::framework::ContinuationAbort() );
+ ::rtl::Reference< ::comphelper::OInteractionAbort > pAbort( new ::comphelper::OInteractionAbort );
aContinuations[ 1 ] = pAbort.get();
}
- uno::Reference< task::XInteractionRequest > xRequest( new ::framework::InteractionRequest( aRequest, aContinuations ) );
- xHandler->handle( xRequest );
-
- bResult = pApprove->isSelected();
+ xHandler->handle(::framework::InteractionRequest::CreateRequest (aRequest,aContinuations));
+ bResult = pApprove->wasSelected();
}
catch( const Exception& )
{
diff --git a/sfx2/source/doc/docinsert.cxx b/sfx2/source/doc/docinsert.cxx
index 6866d9a718..d1ad2aab83 100644
--- a/sfx2/source/doc/docinsert.cxx
+++ b/sfx2/source/doc/docinsert.cxx
@@ -29,7 +29,7 @@
#include "precompiled_sfx2.hxx"
#include <sfx2/app.hxx>
-#include "docinsert.hxx"
+#include "sfx2/docinsert.hxx"
#include <sfx2/docfile.hxx>
#include <sfx2/fcontnr.hxx>
#include <sfx2/filedlghelper.hxx>
diff --git a/sfx2/source/doc/doctdlg.cxx b/sfx2/source/doc/doctdlg.cxx
index ee404b98ae..45804246bf 100644
--- a/sfx2/source/doc/doctdlg.cxx
+++ b/sfx2/source/doc/doctdlg.cxx
@@ -37,7 +37,7 @@
#include <sfx2/doctdlg.hxx>
#include "docvor.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "sfxtypes.hxx"
#include <sfx2/dispatch.hxx>
#include <sfx2/app.hxx>
diff --git a/sfx2/source/doc/doctempl.cxx b/sfx2/source/doc/doctempl.cxx
index 770c4f9127..c4cf0677bc 100644
--- a/sfx2/source/doc/doctempl.cxx
+++ b/sfx2/source/doc/doctempl.cxx
@@ -94,7 +94,7 @@ using namespace ::ucbhelper;
#include <sfx2/objsh.hxx>
#include "sfxtypes.hxx"
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "doc.hrc"
#include <sfx2/fcontnr.hxx>
#include <svtools/templatefoldercache.hxx>
diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx
index 879e1b534e..abc48c5a80 100644
--- a/sfx2/source/doc/doctemplates.cxx
+++ b/sfx2/source/doc/doctemplates.cxx
@@ -65,7 +65,7 @@
#include <unotools/configmgr.hxx>
#include <unotools/ucbhelper.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "sfxurlrelocator.hxx"
#include "doctemplateslocal.hxx"
#include <sfx2/docfac.hxx>
diff --git a/sfx2/source/doc/docvor.cxx b/sfx2/source/doc/docvor.cxx
index 7f93fdd43b..e09ebbb582 100644
--- a/sfx2/source/doc/docvor.cxx
+++ b/sfx2/source/doc/docvor.cxx
@@ -64,7 +64,7 @@
#include "sfxtypes.hxx"
#include <sfx2/app.hxx>
#include <sfx2/dispatch.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "doc.hrc"
#include <sfx2/sfx.hrc>
#include "docvor.hrc"
diff --git a/sfx2/source/doc/graphhelp.cxx b/sfx2/source/doc/graphhelp.cxx
index e05deb7ccf..31de6951b2 100644
--- a/sfx2/source/doc/graphhelp.cxx
+++ b/sfx2/source/doc/graphhelp.cxx
@@ -78,7 +78,7 @@
#include <comphelper/processfactory.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "graphhelp.hxx"
#include "doc.hrc"
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 1e0093ea22..974af27536 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -71,13 +71,14 @@
#include <tools/urlobj.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/configurationhelper.hxx>
+#include <comphelper/mimeconfighelper.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/window.hxx>
#include <toolkit/awt/vclxwindow.hxx>
#include <sfx2/sfxsids.hrc>
#include <doc.hrc>
-#include <sfxresid.hxx>
+#include <sfx2/sfxresid.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/filedlghelper.hxx>
#include <sfx2/app.hxx>
@@ -507,7 +508,7 @@ uno::Sequence< beans::PropertyValue > ModelData_Impl::GetDocServiceAnyFilter( sa
aSearchRequest[0].Name = ::rtl::OUString::createFromAscii( "DocumentService" );
aSearchRequest[0].Value <<= GetDocServiceName();
- return SfxStoringHelper::SearchForFilter( m_pOwner->GetFilterQuery(), aSearchRequest, nMust, nDont );
+ return ::comphelper::MimeConfigurationHelper::SearchForFilter( m_pOwner->GetFilterQuery(), aSearchRequest, nMust, nDont );
}
//-------------------------------------------------------------------------
@@ -527,7 +528,7 @@ uno::Sequence< beans::PropertyValue > ModelData_Impl::GetPreselectedFilter_Impl(
aSearchRequest[1].Name = ::rtl::OUString::createFromAscii( "DocumentService" );
aSearchRequest[1].Value <<= GetDocServiceName();
- aFilterProps = SfxStoringHelper::SearchForFilter( m_pOwner->GetFilterQuery(), aSearchRequest, nMust, nDont );
+ aFilterProps = ::comphelper::MimeConfigurationHelper::SearchForFilter( m_pOwner->GetFilterQuery(), aSearchRequest, nMust, nDont );
}
else
{
@@ -978,12 +979,11 @@ sal_Bool ModelData_Impl::OutputFileDialog( sal_Int8 nStoreMode,
NULL );
const SfxPoolItem* pItem = NULL;
- if ( bPreselectPassword && aDialogParams.GetItemState( SID_PASSWORD, sal_True, &pItem ) != SFX_ITEM_SET )
+ if ( bPreselectPassword && aDialogParams.GetItemState( SID_ENCRYPTIONDATA, sal_True, &pItem ) != SFX_ITEM_SET )
{
- // the file dialog preselects the password checkbox if the provided mediadescriptor has password entry
- // after dialog execution the password entry will be either removed or replaced with the password
- // entered by the user
- aDialogParams.Put( SfxStringItem( SID_PASSWORD, String() ) );
+ // the file dialog preselects the password checkbox if the provided mediadescriptor has encryption data entry
+ // after dialog execution the password interaction flag will be either removed or not
+ aDialogParams.Put( SfxBoolItem( SID_PASSWORDINTERACTION, sal_True ) );
}
// aStringTypeFN is a pure output parameter, pDialogParams is an in/out parameter
@@ -1590,6 +1590,7 @@ sal_Bool SfxStoringHelper::GUIStoreModel( const uno::Reference< frame::XModel >&
DocumentSettingsGuard aSettingsGuard( aModelData.GetModel(), aModelData.IsRecommendReadOnly(), nStoreMode & EXPORT_REQUESTED );
+ OSL_ENSURE( aModelData.GetMediaDescr().find( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Password" ) ) ) == aModelData.GetMediaDescr().end(), "The Password property of MediaDescriptor should not be used here!" );
if ( aOptions.IsDocInfoSave()
&& ( !aModelData.GetStorable()->hasLocation()
|| INetURLObject( aModelData.GetStorable()->getLocation() ) != aURL ) )
@@ -1650,47 +1651,6 @@ sal_Bool SfxStoringHelper::GUIStoreModel( const uno::Reference< frame::XModel >&
//-------------------------------------------------------------------------
// static
-uno::Sequence< beans::PropertyValue > SfxStoringHelper::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 )
- {
- ::comphelper::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;
-}
-
-//-------------------------------------------------------------------------
-// static
sal_Bool SfxStoringHelper::CheckFilterOptionsAppearence(
const uno::Reference< container::XNameAccess >& xFilterCFG,
const ::rtl::OUString& aFilterName )
diff --git a/sfx2/source/doc/makefile.mk b/sfx2/source/doc/makefile.mk
deleted file mode 100644
index d663d34cf5..0000000000
--- a/sfx2/source/doc/makefile.mk
+++ /dev/null
@@ -1,103 +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=sfx2
-TARGET=doc
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-.IF "$(SYSTEM_LIBXML)" == "YES"
-CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS)
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES = \
- doc.src new.src doctdlg.src docvor.src doctempl.src graphhelp.src
-
-SLOFILES = \
- $(SLO)$/printhelper.obj \
- $(SLO)$/docinf.obj \
- $(SLO)$/oleprops.obj \
- $(SLO)$/iframe.obj \
- $(SLO)$/plugin.obj \
- $(SLO)$/docfile.obj \
- $(SLO)$/objuno.obj \
- $(SLO)$/frmdescr.obj \
- $(SLO)$/objxtor.obj \
- $(SLO)$/objmisc.obj \
- $(SLO)$/objstor.obj \
- $(SLO)$/objcont.obj \
- $(SLO)$/objserv.obj \
- $(SLO)$/objitem.obj \
- $(SLO)$/ownsubfilterservice.obj \
- $(SLO)$/docfac.obj \
- $(SLO)$/docfilt.obj \
- $(SLO)$/doctempl.obj \
- $(SLO)$/doctemplates.obj \
- $(SLO)$/doctemplateslocal.obj \
- $(SLO)$/docvor.obj \
- $(SLO)$/new.obj \
- $(SLO)$/doctdlg.obj \
- $(SLO)$/sfxbasemodel.obj \
- $(SLO)$/guisaveas.obj\
- $(SLO)$/objembed.obj\
- $(SLO)$/graphhelp.obj \
- $(SLO)$/QuerySaveDocument.obj \
- $(SLO)$/docinsert.obj \
- $(SLO)$/docmacromode.obj \
- $(SLO)$/SfxDocumentMetaData.obj \
- $(SLO)$/DocumentMetadataAccess.obj \
- $(SLO)$/Metadatable.obj \
- $(SLO)$/sfxmodelfactory.obj \
- $(SLO)$/sfxacldetect.obj \
- $(SLO)$/docstoragemodifylistener.obj \
- $(SLO)$/querytemplate.obj \
- $(SLO)$/syspath.obj \
- $(SLO)$/syspathw32.obj
-
-.IF "$(GUI)" == "WNT"
-
-#HACK TO DISABLE PCH
-NOOPTFILES= \
- $(SLO)$/sfxacldetect.obj \
- $(SLO)$/syspathw32.obj
-.ENDIF
-
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
diff --git a/sfx2/source/doc/new.cxx b/sfx2/source/doc/new.cxx
index c5343a0b42..b0009ffed0 100644
--- a/sfx2/source/doc/new.cxx
+++ b/sfx2/source/doc/new.cxx
@@ -31,9 +31,7 @@
#include <vcl/gdimtf.hxx>
#include <vcl/msgbox.hxx>
#include <vcl/morebtn.hxx>
-#ifndef _SVMEDIT_HXX
#include <svtools/svmedit.hxx>
-#endif
#include <svl/itemset.hxx>
#include <svl/eitem.hxx>
#include <svtools/sfxecode.hxx>
@@ -42,9 +40,7 @@
#include <unotools/localfilehelper.hxx>
#include "new.hrc"
-#ifndef _SFX_DOC_HRC
#include "doc.hrc"
-#endif
#include <sfx2/sfx.hrc>
#include "helpid.hrc"
#include "sfxtypes.hxx"
@@ -54,8 +50,8 @@
#include <sfx2/objsh.hxx>
#include "fltfnc.hxx"
#include <sfx2/viewsh.hxx>
-#include "viewfac.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/viewfac.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/docfile.hxx>
#include "preview.hxx"
#include <sfx2/printer.hxx>
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx
index 31959f23e4..8300f7ea02 100644
--- a/sfx2/source/doc/objcont.cxx
+++ b/sfx2/source/doc/objcont.cxx
@@ -62,7 +62,7 @@
#include <vcl/oldprintadaptor.hxx>
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "appdata.hxx"
#include <sfx2/dinfdlg.hxx>
#include "fltfnc.hxx"
@@ -71,11 +71,11 @@
#include <sfx2/objsh.hxx>
#include "objshimp.hxx"
#include <sfx2/evntconf.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/dispatch.hxx>
#include <sfx2/printer.hxx>
+#include "sfx2/basmgr.hxx"
#include <sfx2/viewfrm.hxx>
-#include "basmgr.hxx"
#include <sfx2/doctempl.hxx>
#include "doc.hrc"
#include <sfx2/sfxbasemodel.hxx>
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index 343f880581..ffc27f1a54 100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -118,6 +118,7 @@ using namespace ::com::sun::star::container;
#include <rtl/bootstrap.hxx>
#include <vcl/svapp.hxx>
#include <framework/interaction.hxx>
+#include <comphelper/interaction.hxx>
#include <comphelper/storagehelper.hxx>
#include <comphelper/documentconstants.hxx>
@@ -126,7 +127,7 @@ using namespace ::com::sun::star::container;
#include "appdata.hxx"
#include <sfx2/request.hxx>
#include <sfx2/bindings.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/docfile.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/objsh.hxx>
@@ -1162,9 +1163,9 @@ void SfxObjectShell::PostActivateEvent_Impl( SfxViewFrame* pFrame )
sal_uInt16 nId = pImp->nEventId;
pImp->nEventId = 0;
if ( nId == SFX_EVENT_OPENDOC )
- pSfxApp->NotifyEvent(SfxEventHint( nId, GlobalEventConfig::GetEventName(STR_EVENT_OPENDOC), this ), sal_False);
+ pSfxApp->NotifyEvent(SfxViewEventHint( nId, GlobalEventConfig::GetEventName(STR_EVENT_OPENDOC), this, pFrame->GetFrame().GetController() ), sal_False);
else if (nId == SFX_EVENT_CREATEDOC )
- pSfxApp->NotifyEvent(SfxEventHint( nId, GlobalEventConfig::GetEventName(STR_EVENT_CREATEDOC), this ), sal_False);
+ pSfxApp->NotifyEvent(SfxViewEventHint( nId, GlobalEventConfig::GetEventName(STR_EVENT_CREATEDOC), this, pFrame->GetFrame().GetController() ), sal_False);
}
}
}
@@ -2286,8 +2287,8 @@ sal_Bool SfxObjectShell::UseInteractionToHandleError(
{
uno::Any aInteraction;
uno::Sequence< uno::Reference< task::XInteractionContinuation > > lContinuations(2);
- ::framework::ContinuationAbort* pAbort = new ::framework::ContinuationAbort();
- ::framework::ContinuationApprove* pApprove = new ::framework::ContinuationApprove();
+ ::comphelper::OInteractionAbort* pAbort = new ::comphelper::OInteractionAbort();
+ ::comphelper::OInteractionApprove* pApprove = new ::comphelper::OInteractionApprove();
lContinuations[0] = uno::Reference< task::XInteractionContinuation >(
static_cast< task::XInteractionContinuation* >( pAbort ), uno::UNO_QUERY );
lContinuations[1] = uno::Reference< task::XInteractionContinuation >(
@@ -2296,14 +2297,8 @@ sal_Bool SfxObjectShell::UseInteractionToHandleError(
task::ErrorCodeRequest aErrorCode;
aErrorCode.ErrCode = nError;
aInteraction <<= aErrorCode;
-
- ::framework::InteractionRequest* pRequest = new ::framework::InteractionRequest(aInteraction,lContinuations);
- uno::Reference< task::XInteractionRequest > xRequest(
- static_cast< task::XInteractionRequest* >( pRequest ),
- uno::UNO_QUERY);
-
- xHandler->handle(xRequest);
- bResult = pAbort->isSelected();
+ xHandler->handle(::framework::InteractionRequest::CreateRequest (aInteraction,lContinuations));
+ bResult = pAbort->wasSelected();
}
catch( uno::Exception& )
{}
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index ee8e57a667..295a14503a 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -69,7 +69,7 @@
#include <sfx2/app.hxx>
#include <sfx2/signaturestate.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/event.hxx>
#include <sfx2/request.hxx>
#include <sfx2/printer.hxx>
@@ -91,7 +91,7 @@
#include <sfx2/docfac.hxx>
#include <sfx2/fcontnr.hxx>
#include <sfx2/filedlghelper.hxx>
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/msgpool.hxx>
#include <sfx2/objface.hxx>
@@ -599,8 +599,9 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
// ========================================================================================================
sal_Bool bPreselectPassword = sal_False;
+ SFX_ITEMSET_ARG( GetMedium()->GetItemSet(), pOldEncryptionDataItem, SfxUnoAnyItem, SID_ENCRYPTIONDATA, FALSE );
SFX_ITEMSET_ARG( GetMedium()->GetItemSet(), pOldPasswordItem, SfxStringItem, SID_PASSWORD, FALSE );
- if ( pOldPasswordItem )
+ if ( pOldEncryptionDataItem || pOldPasswordItem )
bPreselectPassword = sal_True;
uno::Sequence< beans::PropertyValue > aDispatchArgs;
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 234c17b65c..7624e7ef32 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -111,7 +111,7 @@
#include <sfx2/objsh.hxx>
#include <sfx2/childwin.hxx>
#include <sfx2/request.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/docfile.hxx>
#include "fltfnc.hxx"
#include <sfx2/docfilt.hxx>
@@ -202,16 +202,30 @@ sal_Bool SfxObjectShell::QuerySlotExecutable( USHORT /*nSlotId*/ )
//-------------------------------------------------------------------------
-sal_Bool GetPasswd_Impl( const SfxItemSet* pSet, ::rtl::OUString& rPasswd )
+bool GetEncryptionData_Impl( const SfxItemSet* pSet, uno::Sequence< beans::NamedValue >& o_rEncryptionData )
{
- const SfxPoolItem* pItem = NULL;
- if ( pSet && SFX_ITEM_SET == pSet->GetItemState( SID_PASSWORD, sal_True, &pItem ) )
+ bool bResult = false;
+ if ( pSet )
{
- DBG_ASSERT( pItem->IsA( TYPE(SfxStringItem) ), "wrong item type" );
- rPasswd = ( (const SfxStringItem*)pItem )->GetValue();
- return sal_True;
+ SFX_ITEMSET_ARG( pSet, pEncryptionDataItem, SfxUnoAnyItem, SID_ENCRYPTIONDATA, sal_False);
+ if ( pEncryptionDataItem )
+ {
+ pEncryptionDataItem->GetValue() >>= o_rEncryptionData;
+ bResult = true;
+ }
+ else
+ {
+ SFX_ITEMSET_ARG( pSet, pPasswordItem, SfxStringItem, SID_PASSWORD, sal_False);
+ if ( pPasswordItem )
+ {
+ ::rtl::OUString aPassword = pPasswordItem->GetValue();
+ o_rEncryptionData = ::comphelper::OStorageHelper::CreatePackageEncryptionData( aPassword );
+ bResult = true;
+ }
+ }
}
- return sal_False;
+
+ return bResult;
}
//-------------------------------------------------------------------------
@@ -996,15 +1010,15 @@ sal_Bool SfxObjectShell::DoSave()
pImp->bIsSaving = sal_True;
- ::rtl::OUString aPasswd;
+ uno::Sequence< beans::NamedValue > aEncryptionData;
if ( IsPackageStorageFormat_Impl( *GetMedium() ) )
{
- if ( GetPasswd_Impl( GetMedium()->GetItemSet(), aPasswd ) )
+ if ( GetEncryptionData_Impl( GetMedium()->GetItemSet(), aEncryptionData ) )
{
try
{
//TODO/MBA: GetOutputStorage?! Special mode, because it's "Save"?!
- ::comphelper::OStorageHelper::SetCommonStoragePassword( GetMedium()->GetStorage(), aPasswd );
+ ::comphelper::OStorageHelper::SetCommonStorageEncryptionData( GetMedium()->GetStorage(), aEncryptionData );
bOk = sal_True;
}
catch( uno::Exception& )
@@ -1386,13 +1400,13 @@ sal_Bool SfxObjectShell::SaveTo_Impl
}
// transfer password from the parameters to the storage
- ::rtl::OUString aPasswd;
+ uno::Sequence< beans::NamedValue > aEncryptionData;
sal_Bool bPasswdProvided = sal_False;
- if ( GetPasswd_Impl( rMedium.GetItemSet(), aPasswd ) )
+ if ( GetEncryptionData_Impl( rMedium.GetItemSet(), aEncryptionData ) )
{
bPasswdProvided = sal_True;
try {
- ::comphelper::OStorageHelper::SetCommonStoragePassword( xMedStorage, aPasswd );
+ ::comphelper::OStorageHelper::SetCommonStorageEncryptionData( xMedStorage, aEncryptionData );
bOk = sal_True;
}
catch( uno::Exception& )
@@ -3154,13 +3168,13 @@ sal_Bool SfxObjectShell::LoadOwnFormat( SfxMedium& rMedium )
SFX_ITEMSET_ARG( rMedium.GetItemSet(), pPasswdItem, SfxStringItem, SID_PASSWORD, sal_False );
if ( pPasswdItem || ERRCODE_IO_ABORT != CheckPasswd_Impl( this, SFX_APP()->GetPool(), pMedium ) )
{
- ::rtl::OUString aPasswd;
- if ( GetPasswd_Impl(pMedium->GetItemSet(), aPasswd) )
+ uno::Sequence< beans::NamedValue > aEncryptionData;
+ if ( GetEncryptionData_Impl(pMedium->GetItemSet(), aEncryptionData) )
{
try
{
// the following code must throw an exception in case of failure
- ::comphelper::OStorageHelper::SetCommonStoragePassword( xStorage, aPasswd );
+ ::comphelper::OStorageHelper::SetCommonStorageEncryptionData( xStorage, aEncryptionData );
}
catch( uno::Exception& )
{
diff --git a/sfx2/source/doc/objuno.cxx b/sfx2/source/doc/objuno.cxx
index ac45ef594d..1037367de8 100644
--- a/sfx2/source/doc/objuno.cxx
+++ b/sfx2/source/doc/objuno.cxx
@@ -68,7 +68,7 @@
#include <vector>
#include <algorithm>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "doc.hrc"
using namespace ::com::sun::star;
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
index a9a75831e2..83619b0265 100644
--- a/sfx2/source/doc/objxtor.cxx
+++ b/sfx2/source/doc/objxtor.cxx
@@ -54,7 +54,7 @@
#include <svl/eitem.hxx>
#include <tools/rtti.hxx>
#include <svl/lstner.hxx>
-#include <sfxhelp.hxx>
+#include <sfx2/sfxhelp.hxx>
#include <basic/sbstar.hxx>
#include <svl/stritem.hxx>
#include <basic/sbx.hxx>
@@ -96,7 +96,7 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/viewfrm.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "objshimp.hxx"
#include "appbas.hxx"
#include "sfxtypes.hxx"
@@ -107,8 +107,8 @@
#include "appdata.hxx"
#include <sfx2/appuno.hxx>
#include <sfx2/sfxsids.hrc>
-#include "basmgr.hxx"
-#include "QuerySaveDocument.hxx"
+#include "sfx2/basmgr.hxx"
+#include "sfx2/QuerySaveDocument.hxx"
#include "helpid.hrc"
#include <sfx2/msg.hxx>
#include "appbaslib.hxx"
@@ -805,11 +805,33 @@ void SfxObjectShell::InitBasicManager_Impl()
*/
{
+ /* #163556# (DR) - Handling of recursive calls while creating the Bacic
+ manager.
+
+ It is possible that (while creating the Basic manager) the code that
+ imports the Basic storage wants to access the Basic manager again.
+ Especially in VBA compatibility mode, there is code that wants to
+ access the "VBA Globals" object which is stored as global UNO constant
+ in the Basic manager.
+
+ To achieve correct handling of the recursive calls of this function
+ from lcl_getBasicManagerForDocument(), the implementation of the
+ function BasicManagerRepository::getDocumentBasicManager() has been
+ changed to return the Basic manager currently under construction, when
+ called repeatedly.
+
+ The variable pImp->bBasicInitialized will be set to TRUE after
+ construction now, to ensure that the recursive call of the function
+ lcl_getBasicManagerForDocument() will be routed into this function too.
+
+ Calling BasicManagerHolder::reset() twice is not a big problem, as it
+ does not take ownership but stores only the raw pointer. Owner of all
+ Basic managers is the global BasicManagerRepository instance.
+ */
DBG_ASSERT( !pImp->bBasicInitialized && !pImp->pBasicManager->isValid(), "Lokaler BasicManager bereits vorhanden");
- pImp->bBasicInitialized = TRUE;
-
pImp->pBasicManager->reset( BasicManagerRepository::getDocumentBasicManager( GetModel() ) );
DBG_ASSERT( pImp->pBasicManager->isValid(), "SfxObjectShell::InitBasicManager_Impl: did not get a BasicManager!" );
+ pImp->bBasicInitialized = TRUE;
}
//--------------------------------------------------------------------
diff --git a/sfx2/source/doc/querytemplate.cxx b/sfx2/source/doc/querytemplate.cxx
index 5a8c6f5e90..86ff2bdd90 100644
--- a/sfx2/source/doc/querytemplate.cxx
+++ b/sfx2/source/doc/querytemplate.cxx
@@ -29,7 +29,7 @@
#include "precompiled_sfx2.hxx"
#include "querytemplate.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "doc.hrc"
#include "helpid.hrc"
#include <vcl/svapp.hxx>
diff --git a/sfx2/source/doc/sfxacldetect.cxx b/sfx2/source/doc/sfxacldetect.cxx
index cee3bfecb8..bcc9a5d8f2 100644..100755
--- a/sfx2/source/doc/sfxacldetect.cxx
+++ b/sfx2/source/doc/sfxacldetect.cxx
@@ -25,6 +25,10 @@
*
************************************************************************/
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sfx2.hxx"
+
+
#ifdef WNT
// necessary to include system headers without warnings
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 24a68de511..7e6eab4a21 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -102,7 +102,7 @@
//________________________________________________________________________________________________________
#include <sfx2/sfxbasecontroller.hxx>
-#include "viewfac.hxx"
+#include "sfx2/viewfac.hxx"
#include "workwin.hxx"
#include <sfx2/signaturestate.hxx>
#include <sfx2/sfxuno.hxx>
@@ -114,7 +114,7 @@
#include <sfx2/request.hxx>
#include <sfx2/objuno.hxx>
#include <sfx2/printer.hxx>
-#include <basmgr.hxx>
+#include <sfx2/basmgr.hxx>
#include <sfx2/event.hxx>
#include <eventsupplier.hxx>
#include <sfx2/evntconf.hxx>
@@ -125,12 +125,12 @@
#include <sfx2/docfac.hxx>
#include <sfx2/fcontnr.hxx>
#include "sfx2/docstoragemodifylistener.hxx"
-#include "brokenpackageint.hxx"
+#include "sfx2/brokenpackageint.hxx"
#include "graphhelp.hxx"
#include <sfx2/msgpool.hxx>
#include <sfx2/DocumentMetadataAccess.hxx>
-#include <sfxresid.hxx>
+#include <sfx2/sfxresid.hxx>
//________________________________________________________________________________________________________
// const
@@ -980,6 +980,8 @@ sal_Bool SAL_CALL SfxBaseModel::attachResource( const ::rtl::OUString&
aArgs.remove( "InputStream" );
aArgs.remove( "URL" );
aArgs.remove( "Frame" );
+ aArgs.remove( "Password" );
+ aArgs.remove( "EncryptionData" );
// TODO/LATER: all the parameters that are accepted by ItemSet of the DocShell must be removed here
@@ -1633,6 +1635,11 @@ void SAL_CALL SfxBaseModel::storeAsURL( const ::rtl::OUString&
uno::Sequence< beans::PropertyValue > aSequence ;
TransformItems( SID_OPENDOC, *m_pData->m_pObjectShell->GetMedium()->GetItemSet(), aSequence );
attachResource( rURL, aSequence );
+
+#if OSL_DEBUG_LEVEL > 0
+ SFX_ITEMSET_ARG( m_pData->m_pObjectShell->GetMedium()->GetItemSet(), pPasswdItem, SfxStringItem, SID_PASSWORD, sal_False);
+ OSL_ENSURE( !pPasswdItem, "There should be no Password property in the document MediaDescriptor!" );
+#endif
}
}
@@ -1798,10 +1805,9 @@ void SAL_CALL SfxBaseModel::load( const uno::Sequence< beans::PropertyValue >&
SFX_ITEMSET_ARG( pMedium->GetItemSet(), pRepairItem, SfxBoolItem, SID_REPAIRPACKAGE, FALSE );
if ( !pRepairItem || !pRepairItem->GetValue() )
{
- RequestPackageReparation* pRequest = new RequestPackageReparation( aDocName );
- com::sun::star::uno::Reference< com::sun::star::task::XInteractionRequest > xRequest ( pRequest );
- xHandler->handle( xRequest );
- if( pRequest->isApproved() )
+ RequestPackageReparation aRequest( aDocName );
+ xHandler->handle( aRequest.GetRequest() );
+ if( aRequest.isApproved() )
{
// broken package: try second loading and allow repair
pMedium->GetItemSet()->Put( SfxBoolItem( SID_REPAIRPACKAGE, sal_True ) );
@@ -1821,9 +1827,8 @@ void SAL_CALL SfxBaseModel::load( const uno::Sequence< beans::PropertyValue >&
if ( nError == ERRCODE_IO_BROKENPACKAGE )
{
// repair either not allowed or not successful
- NotifyBrokenPackage* pNotifyRequest = new NotifyBrokenPackage( aDocName );
- com::sun::star::uno::Reference< com::sun::star::task::XInteractionRequest > xRequest ( pNotifyRequest );
- xHandler->handle( xRequest );
+ NotifyBrokenPackage aRequest( aDocName );
+ xHandler->handle( aRequest.GetRequest() );
}
}
}
@@ -1891,6 +1896,11 @@ void SAL_CALL SfxBaseModel::load( const uno::Sequence< beans::PropertyValue >&
SFX_ITEMSET_ARG( pMedium->GetItemSet(), pHidItem, SfxBoolItem, SID_HIDDEN, sal_False);
if ( pHidItem )
bHidden = pHidItem->GetValue();
+
+#if OSL_DEBUG_LEVEL > 0
+ SFX_ITEMSET_ARG( pMedium->GetItemSet(), pPasswdItem, SfxStringItem, SID_PASSWORD, sal_False);
+ OSL_ENSURE( !pPasswdItem, "There should be no Password property in the document MediaDescriptor!" );
+#endif
// !TODO: will be done by Framework!
pMedium->SetUpdatePickList( !bHidden );
}
@@ -2373,6 +2383,32 @@ void SAL_CALL SfxBaseModel::removeEventListener( const uno::Reference< XDOCEVENT
m_pData->m_aInterfaceContainer.removeInterface( ::getCppuType((const uno::Reference< XDOCEVENTLISTENER >*)0), aListener );
}
+//--------------------------------------------------------------------------------------------------------
+// XDocumentEventBroadcaster
+//--------------------------------------------------------------------------------------------------------
+// ---------------------------------
+void SAL_CALL SfxBaseModel::addDocumentEventListener( const uno::Reference< document::XDocumentEventListener >& aListener )
+ throw ( uno::RuntimeException )
+{
+ SfxModelGuard aGuard( *this, SfxModelGuard::E_INITIALIZING );
+ m_pData->m_aInterfaceContainer.addInterface( ::getCppuType((const uno::Reference< document::XDocumentEventListener >*)0), aListener );
+}
+
+// ---------------------------------
+void SAL_CALL SfxBaseModel::removeDocumentEventListener( const uno::Reference< document::XDocumentEventListener >& aListener )
+ throw ( uno::RuntimeException )
+{
+ SfxModelGuard aGuard( *this );
+ m_pData->m_aInterfaceContainer.removeInterface( ::getCppuType((const uno::Reference< document::XDocumentEventListener >*)0), aListener );
+}
+
+// ---------------------------------
+void SAL_CALL SfxBaseModel::notifyDocumentEvent( const ::rtl::OUString&, const uno::Reference< frame::XController2 >&, const uno::Any& )
+ throw ( lang::IllegalArgumentException, lang::NoSupportException, uno::RuntimeException )
+{
+ throw lang::NoSupportException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "SfxBaseModel controlls all the sent notifications itself!" ) ), uno::Reference< uno::XInterface >() );
+}
+
//________________________________________________________________________________________________________
// SfxListener
//________________________________________________________________________________________________________
@@ -2516,7 +2552,9 @@ void SfxBaseModel::Notify( SfxBroadcaster& rBC ,
break;
}
- postEvent_Impl( pNamedHint->GetEventName() );
+
+ SfxViewEventHint* pViewHint = PTR_CAST( SfxViewEventHint, &rHint );
+ postEvent_Impl( pNamedHint->GetEventName(), pViewHint ? pViewHint->GetController() : uno::Reference< frame::XController2 >() );
}
if ( pSimpleHint )
@@ -2599,11 +2637,6 @@ SfxObjectShell* SfxBaseModel::impl_getObjectShell() const
// public impl.
//________________________________________________________________________________________________________
-sal_Bool SfxBaseModel::IsDisposed() const
-{
- return ( m_pData == NULL ) ;
-}
-
sal_Bool SfxBaseModel::IsInitialized() const
{
if ( !m_pData || !m_pData->m_pObjectShell )
@@ -2615,6 +2648,14 @@ sal_Bool SfxBaseModel::IsInitialized() const
return m_pData->m_pObjectShell->GetMedium() != NULL;
}
+void SfxBaseModel::MethodEntryCheck( const bool i_mustBeInitialized ) const
+{
+ if ( impl_isDisposed() )
+ throw ::com::sun::star::lang::DisposedException( ::rtl::OUString(), *const_cast< SfxBaseModel* >( this ) );
+ if ( i_mustBeInitialized && !IsInitialized() )
+ throw ::com::sun::star::lang::NotInitializedException( ::rtl::OUString(), *const_cast< SfxBaseModel* >( this ) );
+}
+
sal_Bool SfxBaseModel::impl_isDisposed() const
{
return ( m_pData == NULL ) ;
@@ -2667,49 +2708,41 @@ void SfxBaseModel::impl_store( const ::rtl::OUString& sURL
aArgHash.erase( aFilterString );
aArgHash.erase( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "URL" ) ) );
- // if the password is changed SaveAs should be done
- // no password for encrypted document is also a change here
- sal_Bool bPassChanged = sal_False;
-
- ::comphelper::SequenceAsHashMap::iterator aNewPassIter
- = aArgHash.find( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Password" ) ) );
- SFX_ITEMSET_ARG( pMedium->GetItemSet(), pPasswordItem, SfxStringItem, SID_PASSWORD, sal_False );
- if ( pPasswordItem && aNewPassIter != aArgHash.end() )
+ try
{
- ::rtl::OUString aNewPass;
- aNewPassIter->second >>= aNewPass;
- bPassChanged = !aNewPass.equals( pPasswordItem->GetValue() );
+ storeSelf( aArgHash.getAsConstPropertyValueList() );
+ bSaved = sal_True;
}
- else if ( pPasswordItem || aNewPassIter != aArgHash.end() )
- bPassChanged = sal_True;
-
- if ( !bPassChanged )
+ catch( const lang::IllegalArgumentException& )
{
- try
- {
- storeSelf( aArgHash.getAsConstPropertyValueList() );
- bSaved = sal_True;
- }
- catch( const lang::IllegalArgumentException& )
+ // some additional arguments do not allow to use saving, SaveAs should be done
+ // but only for normal documents, the shared documents would be overwritten in this case
+ // that would mean an information loss
+ // TODO/LATER: need a new interaction for this case
+ if ( m_pData->m_pObjectShell->IsDocShared() )
{
- // some additional arguments do not allow to use saving, SaveAs should be done
- // but only for normal documents, the shared documents would be overwritten in this case
- // that would mean an information loss
- // TODO/LATER: need a new interaction for this case
- if ( m_pData->m_pObjectShell->IsDocShared() )
+ m_pData->m_pObjectShell->AddLog( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX "Can't store shared document!" ) ) );
+ m_pData->m_pObjectShell->StoreLog();
+
+ uno::Sequence< beans::NamedValue > aNewEncryptionData = aArgHash.getUnpackedValueOrDefault( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "EncryptionData" ) ), uno::Sequence< beans::NamedValue >() );
+ if ( !aNewEncryptionData.getLength() )
{
- m_pData->m_pObjectShell->AddLog( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX "Can't store shared document!" ) ) );
- m_pData->m_pObjectShell->StoreLog();
+ ::rtl::OUString aNewPassword = aArgHash.getUnpackedValueOrDefault( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Password" ) ), ::rtl::OUString() );
+ aNewEncryptionData = ::comphelper::OStorageHelper::CreatePackageEncryptionData( aNewPassword );
+ }
+ uno::Sequence< beans::NamedValue > aOldEncryptionData;
+ GetEncryptionData_Impl( pMedium->GetItemSet(), aOldEncryptionData );
+
+ if ( !aOldEncryptionData.getLength() && !aNewEncryptionData.getLength() )
throw;
+ else
+ {
+ // if the password is changed a special error should be used in case of shared document
+ throw task::ErrorCodeIOException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Cant change password for shared document." ) ), uno::Reference< uno::XInterface >(), ERRCODE_SFX_SHARED_NOPASSWORDCHANGE );
}
}
}
- else if ( m_pData->m_pObjectShell->IsDocShared() )
- {
- // if the password is changed a special error should be used in case of shared document
- throw task::ErrorCodeIOException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Cant change password for shared document." ) ), uno::Reference< uno::XInterface >(), ERRCODE_SFX_SHARED_NOPASSWORDCHANGE );
- }
}
}
}
@@ -2866,8 +2899,32 @@ void SfxBaseModel::impl_store( const ::rtl::OUString& sURL
}
//********************************************************************************************************
+namespace {
+template< typename ListenerT, typename EventT >
+class NotifySingleListenerIgnoreRE
+{
+private:
+ typedef void ( SAL_CALL ListenerT::*NotificationMethod )( const EventT& );
+ NotificationMethod m_pMethod;
+ const EventT& m_rEvent;
+public:
+ NotifySingleListenerIgnoreRE( NotificationMethod method, const EventT& event ) : m_pMethod( method ), m_rEvent( event ) { }
+
+ void operator()( const uno::Reference<ListenerT>& listener ) const
+ {
+ try
+ {
+ (listener.get()->*m_pMethod)( m_rEvent );
+ }
+ catch( uno::RuntimeException& )
+ {
+ // this exception is ignored to avoid problems with invalid listeners, the listener should be probably thrown away in future
+ }
+ }
+};
+} // anonymous namespace
-void SfxBaseModel::postEvent_Impl( ::rtl::OUString aName )
+void SfxBaseModel::postEvent_Impl( const ::rtl::OUString& aName, const uno::Reference< frame::XController2 >& xController )
{
// object already disposed?
if ( impl_isDisposed() )
@@ -2877,34 +2934,41 @@ void SfxBaseModel::postEvent_Impl( ::rtl::OUString aName )
if (!aName.getLength())
return;
- ::cppu::OInterfaceContainerHelper* pIC = m_pData->m_aInterfaceContainer.getContainer(
- ::getCppuType((const uno::Reference< XDOCEVENTLISTENER >*)0) );
- if( pIC )
+ ::cppu::OInterfaceContainerHelper* pIC =
+ m_pData->m_aInterfaceContainer.getContainer( ::getCppuType( (const uno::Reference< document::XDocumentEventListener >*)0 ) );
+ if ( pIC )
+ {
+#ifdef DBG_UTIL
+ ByteString aTmp( "SfxDocumentEvent: " );
+ aTmp += ByteString( String(aName), RTL_TEXTENCODING_UTF8 );
+ DBG_TRACE( aTmp.GetBuffer() );
+#endif
+ document::DocumentEvent aDocumentEvent( (frame::XModel*)this, aName, xController, uno::Any() );
+
+ pIC->forEach< document::XDocumentEventListener, NotifySingleListenerIgnoreRE< document::XDocumentEventListener, document::DocumentEvent > >(
+ NotifySingleListenerIgnoreRE< document::XDocumentEventListener, document::DocumentEvent >(
+ &document::XDocumentEventListener::documentEventOccured,
+ aDocumentEvent ) );
+ }
+
+ pIC = m_pData->m_aInterfaceContainer.getContainer( ::getCppuType( (const uno::Reference< document::XEventListener >*)0 ) );
+ if ( pIC )
{
#ifdef DBG_UTIL
- ByteString aTmp( "SfxEvent: ");
+ ByteString aTmp( "SfxEvent: " );
aTmp += ByteString( String(aName), RTL_TEXTENCODING_UTF8 );
DBG_TRACE( aTmp.GetBuffer() );
#endif
- document::EventObject aEvent( (frame::XModel *)this, aName );
- ::cppu::OInterfaceContainerHelper aIC( m_aMutex );
- uno::Sequence < uno::Reference < uno::XInterface > > aElements = pIC->getElements();
- for ( sal_Int32 nElem=0; nElem<aElements.getLength(); nElem++ )
- aIC.addInterface( aElements[nElem] );
- ::cppu::OInterfaceIteratorHelper aIt( aIC );
- while( aIt.hasMoreElements() )
- {
- try
- {
- ((XDOCEVENTLISTENER *)aIt.next())->notifyEvent( aEvent );
- }
- catch( uno::RuntimeException& )
- {
- aIt.remove();
- }
- }
+
+ document::EventObject aEvent( (frame::XModel*)this, aName );
+
+ pIC->forEach< document::XEventListener, NotifySingleListenerIgnoreRE< document::XEventListener, document::EventObject > >(
+ NotifySingleListenerIgnoreRE< document::XEventListener, document::EventObject >(
+ &document::XEventListener::notifyEvent,
+ aEvent ) );
}
+
}
uno::Reference < container::XIndexAccess > SAL_CALL SfxBaseModel::getViewData() throw(::com::sun::star::uno::RuntimeException)
@@ -3281,7 +3345,7 @@ uno::Reference< ui::XUIConfigurationManager > SAL_CALL SfxBaseModel::getUIConfig
uno::Reference< lang::XMultiServiceFactory > xServiceMgr( ::comphelper::getProcessServiceFactory() );
uno::Sequence< uno::Reference< container::XIndexContainer > > rToolbars;
- sal_Bool bImported = UIConfigurationImporterOOo1x::ImportCustomToolbars(
+ sal_Bool bImported = framework::UIConfigurationImporterOOo1x::ImportCustomToolbars(
xNewUIConfMan, rToolbars, xServiceMgr, xOOo1ConfigStorage );
if ( bImported )
{
diff --git a/sfx2/source/doc/syspathw32.cxx b/sfx2/source/doc/syspathw32.cxx
index 42786a89ec..2513d4b468 100644..100755
--- a/sfx2/source/doc/syspathw32.cxx
+++ b/sfx2/source/doc/syspathw32.cxx
@@ -28,6 +28,10 @@
*
************************************************************************/
+// MARKER(update_precomp.py): autogen include statement, do not remove
+#include "precompiled_sfx2.hxx"
+
+
#ifdef WNT
#ifdef _MSC_VER
#pragma warning(disable:4917)
diff --git a/sfx2/source/inc/fltoptint.hxx b/sfx2/source/inc/fltoptint.hxx
index 64b0b8a3a1..91765b3a55 100644
--- a/sfx2/source/inc/fltoptint.hxx
+++ b/sfx2/source/inc/fltoptint.hxx
@@ -24,15 +24,17 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
+#ifndef SFX2_FLTOPTINT_HXX
+#define SFX2_FLTOPTINT_HXX
#include <com/sun/star/document/FilterOptionsRequest.hpp>
#include <com/sun/star/document/XInteractionFilterOptions.hpp>
#include <com/sun/star/frame/XModel.hpp>
-#include <framework/interaction.hxx>
+#include <comphelper/interaction.hxx>
-using namespace ::framework;
+//using namespace ::framework;
-class FilterOptionsContinuation : public ContinuationBase< ::com::sun::star::document::XInteractionFilterOptions >
+class FilterOptionsContinuation : public comphelper::OInteraction< ::com::sun::star::document::XInteractionFilterOptions >
{
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > rProperties;
@@ -49,7 +51,7 @@ class RequestFilterOptions : public ::cppu::WeakImplHelper1< ::com::sun::star::t
::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
> m_lContinuations;
- ContinuationAbort* m_pAbort;
+ comphelper::OInteractionAbort* m_pAbort;
FilterOptionsContinuation* m_pOptions;
@@ -57,7 +59,7 @@ public:
RequestFilterOptions( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > rModel,
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > rProperties );
- sal_Bool isAbort() { return m_pAbort->isSelected(); }
+ sal_Bool isAbort() { return m_pAbort->wasSelected(); }
::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > getFilterOptions()
{
@@ -73,3 +75,4 @@ public:
throw( ::com::sun::star::uno::RuntimeException );
};
+#endif
diff --git a/sfx2/source/layout/makefile.mk b/sfx2/source/layout/makefile.mk
deleted file mode 100644
index a11ba76a15..0000000000
--- a/sfx2/source/layout/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=sfx2
-TARGET=layout
-ENABLE_EXCEPTIONS=true
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(ENABLE_LAYOUT)" == "TRUE"
-
-SLOFILES = \
- $(SLO)$/sfxdialog.obj
-#
-
-SLOFILES += $(SLO)$/sfxtabdialog.obj \
- $(SLO)$/factory.obj \
- $(SLO)$/sfxtabpage.obj
-
-.ENDIF # ENABLE_LAYOUT == TRUE
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/layout/sfxtabdialog.cxx b/sfx2/source/layout/sfxtabdialog.cxx
index 382d9744c8..889ed8a0bc 100644
--- a/sfx2/source/layout/sfxtabdialog.cxx
+++ b/sfx2/source/layout/sfxtabdialog.cxx
@@ -42,8 +42,8 @@
#include <sfx2/tabdlg.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxresid.hxx"
+#include "sfx2/sfxhelp.hxx"
#include <sfx2/ctrlitem.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/sfxdlg.hxx>
diff --git a/sfx2/source/menu/makefile.mk b/sfx2/source/menu/makefile.mk
deleted file mode 100644
index 8b55bd0840..0000000000
--- a/sfx2/source/menu/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=..$/..
-
-
-PRJNAME=sfx2
-TARGET=menu
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES = menu.src
-
-SLOFILES = \
- $(SLO)$/mnuitem.obj \
- $(SLO)$/mnumgr.obj \
- $(SLO)$/objmnctl.obj \
- $(SLO)$/thessubmenu.obj \
- $(SLO)$/virtmenu.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/menu/mnuitem.cxx b/sfx2/source/menu/mnuitem.cxx
index 31181f5806..705d4a68a5 100644
--- a/sfx2/source/menu/mnuitem.cxx
+++ b/sfx2/source/menu/mnuitem.cxx
@@ -72,9 +72,9 @@
#include <sfx2/module.hxx>
#include <sfx2/unoctitm.hxx>
#include <sfx2/viewfrm.hxx>
-#include "imgmgr.hxx"
-#include "imagemgr.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/imgmgr.hxx"
+#include "sfx2/imagemgr.hxx"
+#include "sfx2/sfxresid.hxx"
#include "../doc/doc.hrc"
using namespace ::com::sun::star::uno;
diff --git a/sfx2/source/menu/mnumgr.cxx b/sfx2/source/menu/mnumgr.cxx
index 7c86548478..35a3badd6a 100755
--- a/sfx2/source/menu/mnumgr.cxx
+++ b/sfx2/source/menu/mnumgr.cxx
@@ -76,7 +76,7 @@
#include "sfxtypes.hxx"
#include <sfx2/bindings.hxx>
#include "mnucfga.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/macrconf.hxx>
#include <sfx2/msgpool.hxx>
#include <sfx2/sfx.hrc>
diff --git a/sfx2/source/menu/virtmenu.cxx b/sfx2/source/menu/virtmenu.cxx
index 20f758da0c..8876f3c0ef 100644
--- a/sfx2/source/menu/virtmenu.cxx
+++ b/sfx2/source/menu/virtmenu.cxx
@@ -36,14 +36,9 @@
#include <com/sun/star/frame/XDesktop.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <comphelper/processfactory.hxx>
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
#include <toolkit/unohlp.hxx>
-#endif
#include <tools/urlobj.hxx>
-#ifndef GCC
-#endif
-
#include "virtmenu.hxx"
#include <sfx2/msgpool.hxx>
#include "statcach.hxx"
@@ -60,9 +55,9 @@
#include <sfx2/viewsh.hxx>
#include "sfxpicklist.hxx"
#include <sfx2/macrconf.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "menu.hrc"
-#include "imagemgr.hxx"
+#include "sfx2/imagemgr.hxx"
#include <sfx2/viewfrm.hxx>
#include <sfx2/objsh.hxx>
#include <framework/addonsoptions.hxx>
diff --git a/sfx2/source/notify/eventsupplier.cxx b/sfx2/source/notify/eventsupplier.cxx
index 3818a49e8f..b439fbcb69 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -51,7 +51,7 @@
#include "eventsupplier.hxx"
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfxsids.hrc>
#include "sfxlocal.hrc"
diff --git a/sfx2/source/notify/makefile.mk b/sfx2/source/notify/makefile.mk
deleted file mode 100644
index e2ddde40f9..0000000000
--- a/sfx2/source/notify/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=sfx2
-TARGET=notify
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/eventsupplier.obj \
- $(SLO)$/hintpost.obj
-
-EXCEPTIONSFILES = \
- $(SLO)$/eventsupplier.obj
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/statbar/makefile.mk b/sfx2/source/statbar/makefile.mk
deleted file mode 100644
index f99c8fcdaa..0000000000
--- a/sfx2/source/statbar/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=sfx2
-TARGET=statbar
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/stbitem.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx
index 33a8776a44..0c1591de16 100644
--- a/sfx2/source/statbar/stbitem.cxx
+++ b/sfx2/source/statbar/stbitem.cxx
@@ -41,7 +41,7 @@
#include <vcl/status.hxx>
#include <sfx2/app.hxx>
-#include "stbitem.hxx"
+#include "sfx2/stbitem.hxx"
#include "sfxtypes.hxx"
#include <sfx2/msg.hxx>
#include "arrdecl.hxx"
diff --git a/sfx2/source/toolbox/imgmgr.cxx b/sfx2/source/toolbox/imgmgr.cxx
index f201538d64..791798b2e9 100644
--- a/sfx2/source/toolbox/imgmgr.cxx
+++ b/sfx2/source/toolbox/imgmgr.cxx
@@ -31,10 +31,10 @@
#include <stdio.h>
#include <hash_map>
-#include "imgmgr.hxx"
+#include "sfx2/imgmgr.hxx"
#include <sfx2/sfx.hrc>
#include <sfx2/app.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/bindings.hxx>
#include "statcach.hxx"
#include <sfx2/module.hxx>
diff --git a/sfx2/source/toolbox/makefile.mk b/sfx2/source/toolbox/makefile.mk
deleted file mode 100644
index ce4f011e60..0000000000
--- a/sfx2/source/toolbox/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=sfx2
-TARGET=toolbox
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/tbxitem.obj \
- $(SLO)$/imgmgr.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/toolbox/tbxitem.cxx b/sfx2/source/toolbox/tbxitem.cxx
index 4e095eff9d..8517f60e4c 100644
--- a/sfx2/source/toolbox/tbxitem.cxx
+++ b/sfx2/source/toolbox/tbxitem.cxx
@@ -92,7 +92,7 @@
#include "sfxtypes.hxx"
#include <sfx2/macrconf.hxx>
#include <sfx2/genlink.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/sfx.hrc>
#include <sfx2/module.hxx>
#include <sfx2/docfile.hxx>
@@ -103,11 +103,11 @@
#include <sfx2/unoctitm.hxx>
#include "helpid.hrc"
#include "workwin.hxx"
-#include "imgmgr.hxx"
+#include "sfx2/imgmgr.hxx"
#include "virtmenu.hxx"
#include <sfx2/viewfrm.hxx>
#include <sfx2/module.hxx>
-#include "imagemgr.hxx"
+#include "sfx2/imagemgr.hxx"
#include <comphelper/uieventslogger.hxx>
#include <com/sun/star/frame/XModuleManager.hpp>
diff --git a/sfx2/source/view/frame.cxx b/sfx2/source/view/frame.cxx
index 3b34d147e4..09e42563d6 100644
--- a/sfx2/source/view/frame.cxx
+++ b/sfx2/source/view/frame.cxx
@@ -234,7 +234,7 @@ sal_uInt16 SfxFrame::PrepareClose_Impl( sal_Bool bUI, sal_Bool bForBrowsing )
bOther = ( &pFrame->GetFrame() != this );
}
- SFX_APP()->NotifyEvent( SfxEventHint(SFX_EVENT_PREPARECLOSEVIEW, GlobalEventConfig::GetEventName( STR_EVENT_PREPARECLOSEVIEW ), pCur) );
+ SFX_APP()->NotifyEvent( SfxViewEventHint(SFX_EVENT_PREPARECLOSEVIEW, GlobalEventConfig::GetEventName( STR_EVENT_PREPARECLOSEVIEW ), pCur, GetController() ) );
if ( bOther )
// if there are other views only the current view of this frame must be asked
diff --git a/sfx2/source/view/frame2.cxx b/sfx2/source/view/frame2.cxx
index 71b406d7d7..24d53598af 100644
--- a/sfx2/source/view/frame2.cxx
+++ b/sfx2/source/view/frame2.cxx
@@ -30,7 +30,7 @@
#include "impframe.hxx"
#include "objshimp.hxx"
-#include "sfxhelp.hxx"
+#include "sfx2/sfxhelp.hxx"
#include "workwin.hxx"
#include "sfx2/app.hxx"
diff --git a/sfx2/source/view/frmload.cxx b/sfx2/source/view/frmload.cxx
index 03c2289283..06baeb744f 100644
--- a/sfx2/source/view/frmload.cxx
+++ b/sfx2/source/view/frmload.cxx
@@ -30,7 +30,6 @@
#include "frmload.hxx"
#include "objshimp.hxx"
-#include "viewfac.hxx"
#include "sfx2/app.hxx"
#include "sfx2/dispatch.hxx"
#include "sfx2/docfac.hxx"
@@ -45,6 +44,7 @@
#include "sfx2/sfxuno.hxx"
#include "sfx2/viewfrm.hxx"
#include "sfx2/viewsh.hxx"
+#include "sfx2/viewfac.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/container/XContainerQuery.hpp>
@@ -216,11 +216,10 @@ const SfxFilter* SfxFrameLoader_Impl::impl_getFilterFromServiceName_nothrow( con
::rtl::OUString sFilterName;
try
{
- ::framework::RequestFilterSelect* pRequest = new ::framework::RequestFilterSelect( i_rDocumentURL );
- Reference< XInteractionRequest > xRequest ( pRequest );
- i_rxHandler->handle( xRequest );
- if( !pRequest->isAbort() )
- sFilterName = pRequest->getFilter();
+ ::framework::RequestFilterSelect aRequest( i_rDocumentURL );
+ i_rxHandler->handle( aRequest.GetRequest() );
+ if( !aRequest.isAbort() )
+ sFilterName = aRequest.getFilter();
}
catch( const Exception& )
{
diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx
index ff1d963ab5..fc5a49eb58 100644
--- a/sfx2/source/view/ipclient.cxx
+++ b/sfx2/source/view/ipclient.cxx
@@ -220,6 +220,7 @@ void SAL_CALL SfxInPlaceClient_Impl::notifyEvent( const document::EventObject& a
if ( m_pClient && aEvent.EventName.equalsAscii("OnVisAreaChanged") && m_nAspect != embed::Aspects::MSOLE_ICON )
{
+ m_pClient->FormatChanged(); // for Writer when format of the object is changed with the area
m_pClient->ViewChanged();
m_pClient->Invalidate();
}
@@ -1082,6 +1083,11 @@ void SfxInPlaceClient::MakeVisible()
// dummy implementation
}
+void SfxInPlaceClient::FormatChanged()
+{
+ // dummy implementation
+}
+
void SfxInPlaceClient::DeactivateObject()
{
if ( GetObject().is() )
diff --git a/sfx2/source/view/makefile.mk b/sfx2/source/view/makefile.mk
deleted file mode 100644
index 9c257f4c9f..0000000000
--- a/sfx2/source/view/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= sfx2
-TARGET= view
-ENABLE_EXCEPTIONS= TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES = \
- view.src
-
-SLOFILES = \
- $(SLO)$/ipclient.obj \
- $(SLO)$/viewsh.obj \
- $(SLO)$/frmload.obj \
- $(SLO)$/frame.obj \
- $(SLO)$/frame2.obj \
- $(SLO)$/printer.obj \
- $(SLO)$/viewprn.obj \
- $(SLO)$/viewfac.obj \
- $(SLO)$/orgmgr.obj \
- $(SLO)$/viewfrm.obj \
- $(SLO)$/viewfrm2.obj \
- $(SLO)$/sfxbasecontroller.obj \
- $(SLO)$/userinputinterception.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/sfx2/source/view/orgmgr.cxx b/sfx2/source/view/orgmgr.cxx
index dc15f39280..5cc69f6364 100644
--- a/sfx2/source/view/orgmgr.cxx
+++ b/sfx2/source/view/orgmgr.cxx
@@ -53,7 +53,7 @@
#include "docvor.hxx"
#include "orgmgr.hxx"
#include "sfxtypes.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "view.hrc"
#include <sfx2/docfilt.hxx>
#include "fltfnc.hxx"
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index afae6aba59..b12f4ce7b0 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -44,7 +44,7 @@
#include <sfx2/prnmon.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/tabdlg.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "view.hrc"
#ifdef MSC
diff --git a/sfx2/source/view/prnmon.cxx b/sfx2/source/view/prnmon.cxx
deleted file mode 100644
index d84e4a006e..0000000000
--- a/sfx2/source/view/prnmon.cxx
+++ /dev/null
@@ -1,495 +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_sfx2.hxx"
-#include <com/sun/star/view/PrintableState.hpp>
-#include <com/sun/star/util/XCloseable.hpp>
-#include <com/sun/star/util/XCloseBroadcaster.hpp>
-#include <com/sun/star/util/XCloseListener.hpp>
-#include <com/sun/star/util/CloseVetoException.hpp>
-#include <vcl/fixed.hxx>
-#include <vcl/msgbox.hxx>
-#include <svtools/asynclink.hxx>
-
-#include <unotools/printwarningoptions.hxx>
-#include <svl/eitem.hxx>
-
-#ifndef GCC
-#endif
-
-#include <sfx2/prnmon.hxx>
-#include <sfx2/viewsh.hxx>
-#include <sfx2/viewfrm.hxx>
-#include <sfx2/objsh.hxx>
-#include <sfx2/docfile.hxx>
-#include "sfxtypes.hxx"
-#include <sfx2/progress.hxx>
-#include <sfx2/bindings.hxx>
-#include "sfxresid.hxx"
-#include <sfx2/event.hxx>
-#include <sfx2/request.hxx>
-#include <sfx2/app.hxx>
-
-#include "view.hrc"
-
-//------------------------------------------------------------------------
-
-#define SFX_TITLE_MAXLEN_PRINTMONITOR 22
-
-//------------------------------------------------------------------------
-
-struct SfxPrintMonitor_Impl: public ModelessDialog
-{
-
- SfxPrintMonitor_Impl( Window *pParent, SfxViewShell *rpViewShell );
- virtual BOOL Close();
-
- SfxViewShell* pViewShell;
- FixedText aDocName;
- FixedText aPrinting;
- FixedText aPrinter;
- FixedText aPrintInfo;
- CancelButton aCancel;
-};
-
-//-------------------------------------------------------------------------
-
-struct SfxPrintProgress_Impl : public SfxListener
-{
- SfxPrintMonitor_Impl* pMonitor;
- SfxViewShell* pViewShell;
- SfxPrinter* pPrinter;
- SfxPrinter* pOldPrinter;
- USHORT nLastPage;
- BOOL bRunning;
- BOOL bCancel;
- BOOL bDeleteOnEndPrint;
- BOOL bShow;
- BOOL bCallbacks;
- BOOL bOldEnablePrintFile;
- BOOL bOldFlag;
- BOOL bRestoreFlag;
- BOOL bAborted;
- svtools::AsynchronLink aDeleteLink;
- Link aCancelHdl;
-
-private:
- DECL_LINK( CancelHdl, Button * );
- DECL_STATIC_LINK( SfxPrintProgress_Impl, DeleteHdl, SfxPrintProgress * );
-
-public:
- SfxPrintProgress_Impl( SfxViewShell* pTheViewShell, SfxPrinter* pThePrinter );
- ~SfxPrintProgress_Impl();
-
- void Delete( SfxPrintProgress* pAntiImpl ) { aDeleteLink.Call( pAntiImpl ); }
- SfxViewShell* GetViewShell() const { return pViewShell; }
- BOOL SetPage( USHORT nPage, const String &rPage );
- void CreateMonitor();
- virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
-};
-
-void SfxPrintProgress_Impl::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
-{
- SfxPrintingHint* pPrintHint = PTR_CAST( SfxPrintingHint, &rHint );
- if ( pPrintHint )
- {
- if ( pPrintHint->GetWhich() == -2 )
- CancelHdl(0);
- }
-}
-
-//------------------------------------------------------------------------
-
-SfxPrintMonitor_Impl::SfxPrintMonitor_Impl( Window* pParent, SfxViewShell* rpViewShell ) :
- ModelessDialog( pParent, SfxResId( DLG_PRINTMONITOR ) ),
- pViewShell ( rpViewShell ),
- aDocName ( this, SfxResId( FT_DOCNAME ) ),
- aPrinting ( this, SfxResId( FT_PRINTING ) ),
- aPrinter ( this, SfxResId( FT_PRINTER ) ),
- aPrintInfo ( this, SfxResId( FT_PRINTINFO ) ),
- aCancel ( this, SfxResId( PB_CANCELPRNMON ) )
-{
- if( rpViewShell->GetPrinter()->GetCapabilities( PRINTER_CAPABILITIES_EXTERNALDIALOG ) != 0 )
- {
- String aPrep( SfxResId( STR_FT_PREPARATION ) );
- aPrinting.SetText( aPrep );
- aPrinter.Show( FALSE );
- }
- FreeResource();
-}
-
-//------------------------------------------------------------------------
-
-IMPL_STATIC_LINK_NOINSTANCE( SfxPrintProgress_Impl, DeleteHdl, SfxPrintProgress*, pAntiImpl )
-{
- delete pAntiImpl;
- return 0;
-}
-
-void actualizePrintCancelState(CancelButton& rButton, const SfxObjectShell* pShell)
-{
- sal_Bool bEnableCancelButton = sal_True;
- if (pShell)
- bEnableCancelButton = pShell->Stamp_GetPrintCancelState();
-
- if (!bEnableCancelButton)
- rButton.Disable();
- else
- rButton.Enable();
-}
-
-//------------------------------------------------------------------------
-
-SfxPrintProgress_Impl::SfxPrintProgress_Impl( SfxViewShell* pTheViewShell,
- SfxPrinter* pThePrinter ) :
-
- pMonitor ( 0 ),
- pViewShell ( pTheViewShell ),
- pPrinter ( pThePrinter ),
- pOldPrinter ( NULL ),
- nLastPage ( 0 ),
- bRunning ( TRUE ),
- bCancel ( FALSE ),
- bDeleteOnEndPrint ( FALSE ),
- bShow ( FALSE ),
- bCallbacks ( FALSE ),
- bOldEnablePrintFile ( FALSE ),
- bOldFlag ( TRUE ),
- bRestoreFlag ( FALSE ),
- bAborted ( FALSE ),
- aDeleteLink ( STATIC_LINK( this, SfxPrintProgress_Impl, DeleteHdl ) )
-{
- StartListening( *pViewShell->GetObjectShell() );
-}
-
-void SfxPrintProgress_Impl::CreateMonitor()
-{
- // mark monitor to been shown in first status indication
- bShow = TRUE;
-
- if ( !pMonitor )
- {
- Window* pParent = pViewShell->GetWindow();
- pMonitor = new SfxPrintMonitor_Impl( pParent, pViewShell );
- pMonitor->aDocName.SetText( pViewShell->GetObjectShell()->GetTitle( SFX_TITLE_MAXLEN_PRINTMONITOR ) );
- pMonitor->aPrinter.SetText( pViewShell->GetPrinter()->GetName() );
-
- // Stampit enable/dsiable cancel button
- actualizePrintCancelState( pMonitor->aCancel, pViewShell->GetObjectShell() );
- pMonitor->aCancel.SetClickHdl( LINK( this, SfxPrintProgress_Impl, CancelHdl ) );
- }
-}
-
-//------------------------------------------------------------------------
-
-SfxPrintProgress_Impl::~SfxPrintProgress_Impl()
-{
-}
-
-//------------------------------------------------------------------------
-
-BOOL SfxPrintProgress_Impl::SetPage( USHORT nPage, const String &rPage )
-{
- // wurde der Druckauftrag abgebrochen?
- if ( bCancel || !pMonitor )
- return FALSE;
-
- // Stampit enable/dsiable cancel button
- actualizePrintCancelState(pMonitor->aCancel, pViewShell->GetObjectShell());
-
- nLastPage = nPage;
- String aStrPrintInfo = String( SfxResId( STR_PAGE ) );
- if ( !rPage.Len() )
- aStrPrintInfo += String::CreateFromInt32( nLastPage );
- else
- aStrPrintInfo += rPage;
- pMonitor->aPrintInfo.SetText( aStrPrintInfo );
- pMonitor->Update();
- return TRUE;
-}
-
-//------------------------------------------------------------------------
-
-IMPL_LINK( SfxPrintProgress_Impl, CancelHdl, Button *, EMPTYARG )
-{
- if ( !pViewShell->GetPrinter()->IsJobActive() && pViewShell->GetPrinter()->IsPrinting() )
- // we are still in StartJob, cancelling now might lead to a crash
- return 0;
-
- if ( pMonitor )
- pMonitor->Hide();
-
- pViewShell->GetObjectShell()->Broadcast( SfxPrintingHint( com::sun::star::view::PrintableState_JOB_ABORTED, NULL, NULL ) );
- pViewShell->GetPrinter()->AbortJob();
- bCancel = TRUE;
-
- if ( aCancelHdl.IsSet() )
- aCancelHdl.Call( this );
-
- bAborted = TRUE;
- return 0;
-}
-
-BOOL SfxPrintMonitor_Impl::Close()
-{
- BOOL bAgree = pViewShell ? pViewShell->GetObjectShell()->Stamp_GetPrintCancelState() : TRUE;
- if (!bAgree)
- return FALSE;
- else
- return ModelessDialog::Close();
-}
-
-//--------------------------------------------------------------------
-
-SfxPrintProgress::SfxPrintProgress( SfxViewShell* pViewSh, FASTBOOL bShow )
-: SfxProgress( pViewSh->GetViewFrame()->GetObjectShell(),
- String(SfxResId(STR_PRINTING)), 1, FALSE ),
- pImp( new SfxPrintProgress_Impl( pViewSh, pViewSh->GetPrinter() ) )
-{
- #if 0
- pImp->pPrinter->SetEndPrintHdl( LINK( this, SfxPrintProgress, EndPrintNotify ) );
- pImp->pPrinter->SetErrorHdl( LINK( this, SfxPrintProgress, PrintErrorNotify ) );
- pImp->pPrinter->SetStartPrintHdl( LINK( this, SfxPrintProgress, StartPrintNotify ) );
- pImp->bCallbacks = TRUE;
- #endif
-
- SfxObjectShell* pDoc = pViewSh->GetObjectShell();
- SFX_ITEMSET_ARG( pDoc->GetMedium()->GetItemSet(), pItem, SfxBoolItem, SID_HIDDEN, FALSE );
- if ( pItem && pItem->GetValue() )
- bShow = FALSE;
-
- if ( bShow )
- pImp->CreateMonitor();
-
- Lock();
- if ( !SvtPrintWarningOptions().IsModifyDocumentOnPrintingAllowed() )
- {
- pImp->bRestoreFlag = TRUE;
- pImp->bOldFlag = pDoc->IsEnableSetModified();
- if ( pImp->bOldFlag )
- pDoc->EnableSetModified( FALSE );
- }
-}
-
-//--------------------------------------------------------------------
-
-SfxPrintProgress::~SfxPrintProgress()
-{
- // k"onnte auch schon weg sein (in EndPrintNotify)
- DELETEZ(pImp->pMonitor);
-
- // ggf. Callbacks entfermen
- if ( pImp->bCallbacks )
- {
- // pImp->pPrinter->SetEndPrintHdl( Link() );
- pImp->pPrinter->SetErrorHdl( Link() );
- pImp->bCallbacks = FALSE;
- }
-
- // ggf. vorherigen Drucker wieder einsetzen
- if ( pImp->pOldPrinter )
- pImp->pViewShell->SetPrinter( pImp->pOldPrinter, SFX_PRINTER_PRINTER );
- else
- // ggf. vorherigen Print-To-File-Status zuruecksetzen
- pImp->pViewShell->GetPrinter()->EnablePrintFile( pImp->bOldEnablePrintFile );
-
- // EndPrint-Notification an Frame
- //pImp->pViewShell->GetViewFrame()->GetFrame().Lock_Impl(FALSE);
- pImp->EndListening( *(pImp->pViewShell->GetObjectShell()) );
-
- // the following call might destroy the view or even the document
- pImp->pViewShell->CheckOwnerShip_Impl();
- delete pImp;
-}
-
-//--------------------------------------------------------------------
-
-BOOL SfxPrintProgress::SetState( ULONG nValue, ULONG nNewRange )
-{
- if ( pImp->bShow )
- {
- pImp->bShow = FALSE;
- if ( pImp->pMonitor )
- {
- pImp->pMonitor->Show();
- pImp->pMonitor->Update();
- }
- }
-
- return pImp->SetPage( (USHORT)nValue, GetStateText_Impl() ) &&
- SfxProgress::SetState( nValue, nNewRange );
-}
-
-//--------------------------------------------------------------------
-
-void SfxPrintProgress::SetText( const String& rText )
-{
- if ( pImp->pMonitor )
- {
- pImp->pMonitor->SetText( rText );
- pImp->pMonitor->Update();
- }
- SfxProgress::SetText( rText );
-}
-
-//------------------------------------------------------------------------
-
-IMPL_LINK_INLINE_START( SfxPrintProgress, PrintErrorNotify, void *, EMPTYARG )
-{
- if ( pImp->pMonitor )
- pImp->pMonitor->Hide();
- // AbortJob calls EndPrint hdl, so do not delete pImp just now
- BOOL bWasDeleteOnEndPrint = pImp->bDeleteOnEndPrint;
- pImp->bDeleteOnEndPrint = FALSE;
- pImp->pPrinter->AbortJob();
- InfoBox( pImp->GetViewShell()->GetWindow(),
- String( SfxResId(STR_ERROR_PRINT) ) ).Execute();
- if ( pImp->bRestoreFlag && pImp->pViewShell->GetObjectShell()->IsEnableSetModified() != pImp->bOldFlag )
- pImp->pViewShell->GetObjectShell()->EnableSetModified( pImp->bOldFlag );
- pImp->GetViewShell()->GetObjectShell()->Broadcast( SfxPrintingHint( com::sun::star::view::PrintableState_JOB_FAILED, NULL, NULL ) );
- // now we can clean up like normally EndPrint hdl does
- if( bWasDeleteOnEndPrint )
- {
- DELETEZ(pImp->pMonitor);
- delete this;
- }
- return 0;
-}
-IMPL_LINK_INLINE_END( SfxPrintProgress, PrintErrorNotify, void *, EMPTYARG )
-
-//------------------------------------------------------------------------
-
-IMPL_LINK( SfxPrintProgress, StartPrintNotify, void *, EMPTYARG )
-{
- SfxObjectShell *pObjShell = pImp->pViewShell->GetObjectShell();
- SFX_APP()->NotifyEvent(SfxEventHint(SFX_EVENT_PRINTDOC, GlobalEventConfig::GetEventName( STR_EVENT_PRINTDOC ), pObjShell));
- pObjShell->Broadcast( SfxPrintingHint( com::sun::star::view::PrintableState_JOB_STARTED, NULL, NULL ) );
- return 0;
-}
-
-IMPL_LINK( SfxPrintProgress, EndPrintNotify, void *, EMPTYARG )
-{
- if ( pImp->pMonitor )
- pImp->pMonitor->Hide();
-
- SfxViewShell* pViewShell = pImp->pViewShell;
-
- // Slots enablen
- pViewShell->Invalidate( SID_PRINTDOC );
- pViewShell->Invalidate( SID_PRINTDOCDIRECT );
- pViewShell->Invalidate( SID_SETUPPRINTER );
-
- // . . . falls der Printer im System umgestellt wurde, hier Aenderung
- // nachziehen.
- //! if( pMDI->IsPrinterChanged() ) pMDI->Changed( 0L );
-
- // Callbacks rausnehmen
- // pImp->pPrinter->SetEndPrintHdl( Link() );
- pImp->pPrinter->SetErrorHdl( Link() );
- pImp->bCallbacks = FALSE;
-
- // ggf. alten Printer wieder einsetzen
- if ( pImp->pOldPrinter )
- {
- // Fix #59613#: niemals den aktuellen Printer synchron abschiessen !
- // Da sowieso immer bDeleteOnEndPrint gesetzt wird, wird der der Drucker im
- // dtor vom Printprogress ( dann aber asynchron !! ) zur"uckgesetzt.
-/*
- pImp->pViewShell->SetPrinter( pImp->pOldPrinter, SFX_PRINTER_PRINTER );
- pImp->pOldPrinter = 0;
- pImp->pPrinter = 0;
- */
- }
- else
- // ggf. vorherigen Print-To-File-Status zuruecksetzen
- pViewShell->GetPrinter()->EnablePrintFile( pImp->bOldEnablePrintFile );
-
- // it is possible that after printing the document or view is deleted (because the VieShell got the ownership)
- // so first clean up
- if ( pImp->bRestoreFlag && pViewShell->GetObjectShell()->IsEnableSetModified() != pImp->bOldFlag )
- pViewShell->GetObjectShell()->EnableSetModified( TRUE );
-
- pViewShell->GetObjectShell()->Broadcast( SfxPrintingHint( com::sun::star::view::PrintableState_JOB_COMPLETED, NULL, NULL ) );
- if ( pImp->bDeleteOnEndPrint )
- {
- DELETEZ(pImp->pMonitor);
- delete this;
- }
- else
- {
- DBG_ASSERT( !pImp->pOldPrinter, "Unable to restore printer!" );
- pImp->bRunning = FALSE;
- }
-
- return 0;
-}
-
-//------------------------------------------------------------------------
-
-void SfxPrintProgress::DeleteOnEndPrint()
-{
- UnLock(); // jetzt schon, wg. Drucken im Thread
-#ifndef WNT
- // da das Drucken im 'Thread' unter Windows zu undefiniert ist bleibt der
- // Print-Monitor dort stehen, auf den anderen Plattformen kann man dann
- // weiterarbeiten, also kommt das Teil weg
- DELETEZ( pImp->pMonitor );
-#endif
-
- pImp->bDeleteOnEndPrint = TRUE;
- if ( !pImp->bRunning )
- delete this;
-}
-
-//------------------------------------------------------------------------
-
-void SfxPrintProgress::RestoreOnEndPrint( SfxPrinter *pOldPrinter,
- BOOL bOldEnablePrintFile )
-{
- pImp->pOldPrinter = pOldPrinter;
- pImp->bOldEnablePrintFile = bOldEnablePrintFile;
-}
-
-//------------------------------------------------------------------------
-
-void SfxPrintProgress::RestoreOnEndPrint( SfxPrinter *pOldPrinter )
-{
- RestoreOnEndPrint( pOldPrinter, FALSE );
-}
-
-//------------------------------------------------------------------------
-
-void SfxPrintProgress::SetCancelHdl( const Link& aCancelHdl )
-{
- pImp->aCancelHdl = aCancelHdl;
-}
-
-BOOL SfxPrintProgress::IsAborted() const
-{
- return pImp->bAborted;
-}
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx
index 128d9f6aa5..4d71e06955 100644
--- a/sfx2/source/view/sfxbasecontroller.cxx
+++ b/sfx2/source/view/sfxbasecontroller.cxx
@@ -93,7 +93,7 @@
#include <hash_map>
#include <sfx2/event.hxx>
-#include "viewfac.hxx"
+#include "sfx2/viewfac.hxx"
#define OMULTITYPEINTERFACECONTAINERHELPER ::cppu::OMultiTypeInterfaceContainerHelper
#define OINTERFACECONTAINERHELPER ::cppu::OInterfaceContainerHelper
@@ -639,7 +639,7 @@ void SAL_CALL SfxBaseController::attachFrame( const REFERENCE< XFRAME >& xFrame
ConnectSfxFrame_Impl( E_CONNECT );
// attaching the frame to the controller is the last step in the creation of a new view, so notify this
- SfxEventHint aHint( SFX_EVENT_VIEWCREATED, GlobalEventConfig::GetEventName( STR_EVENT_VIEWCREATED ), m_pData->m_pViewShell->GetObjectShell() );
+ SfxViewEventHint aHint( SFX_EVENT_VIEWCREATED, GlobalEventConfig::GetEventName( STR_EVENT_VIEWCREATED ), m_pData->m_pViewShell->GetObjectShell(), uno::Reference< frame::XController2 >( this ) );
SFX_APP()->NotifyEvent( aHint );
}
}
@@ -1069,7 +1069,7 @@ void SAL_CALL SfxBaseController::dispose() throw( ::com::sun::star::uno::Runtime
pView = SfxViewFrame::GetNext( *pView, pDoc );
}
- SFX_APP()->NotifyEvent( SfxEventHint(SFX_EVENT_CLOSEVIEW, GlobalEventConfig::GetEventName( STR_EVENT_CLOSEVIEW ), pDoc ) );
+ SFX_APP()->NotifyEvent( SfxViewEventHint(SFX_EVENT_CLOSEVIEW, GlobalEventConfig::GetEventName( STR_EVENT_CLOSEVIEW ), pDoc, uno::Reference< frame::XController2 >( this ) ) );
if ( !pView )
SFX_APP()->NotifyEvent( SfxEventHint(SFX_EVENT_CLOSEDOC, GlobalEventConfig::GetEventName( STR_EVENT_CLOSEDOC ), pDoc) );
@@ -1438,11 +1438,11 @@ void SfxBaseController::ConnectSfxFrame_Impl( const ConnectSfxFrame i_eConnect )
try
{
Reference< XViewDataSupplier > xViewDataSupplier( getModel(), UNO_QUERY_THROW );
- Reference< XIndexAccess > xViewData( xViewDataSupplier->getViewData(), UNO_SET_THROW );
+ Reference< XIndexAccess > xViewData( xViewDataSupplier->getViewData() );
// find the view data item whose ViewId matches the ID of the view we're just connecting to
const SfxObjectFactory& rDocFactory( rDoc.GetFactory() );
- const sal_Int32 nCount = xViewData->getCount();
+ const sal_Int32 nCount = xViewData.is() ? xViewData->getCount() : 0;
sal_Int32 nViewDataIndex = 0;
for ( sal_Int32 i=0; i<nCount; ++i )
{
diff --git a/sfx2/source/view/view.hrc b/sfx2/source/view/view.hrc
index 167566555c..cdeba10cc3 100644
--- a/sfx2/source/view/view.hrc
+++ b/sfx2/source/view/view.hrc
@@ -41,12 +41,6 @@
#define STR_NOSTARTPRINTER (RID_SFX_VIEW_START+ 9)
#define STR_PRINTING (RID_SFX_VIEW_START+10)
-#ifndef STR_UNDO
-#define STR_UNDO (RID_SFX_VIEW_START+11)
-#define STR_REDO (RID_SFX_VIEW_START+12)
-#define STR_REPEAT (RID_SFX_VIEW_START+13)
-#endif
-
#define DLG_PRINTMONITOR (RID_SFX_VIEW_START)
#define FT_DOCNAME 1
#define FT_PRINTING 2
diff --git a/sfx2/source/view/viewfac.cxx b/sfx2/source/view/viewfac.cxx
index 70a076bc71..432c8a5a1e 100644
--- a/sfx2/source/view/viewfac.cxx
+++ b/sfx2/source/view/viewfac.cxx
@@ -30,8 +30,8 @@
// INCLUDE ---------------------------------------------------------------
#include <sfx2/app.hxx>
+#include "sfx2/viewfac.hxx"
#include <rtl/ustrbuf.hxx>
-#include "viewfac.hxx"
// STATIC DATA -----------------------------------------------------------
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index 2cfda86cdb..82db2aa1b5 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -36,12 +36,8 @@
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/frame/XComponentLoader.hpp>
-#ifndef _TOOLKIT_HELPER_VCLUNOHELPER_HXX_
#include <toolkit/unohlp.hxx>
-#endif
-#ifndef _SPLITWIN_HXX //autogen
#include <vcl/splitwin.hxx>
-#endif
#include <unotools/moduleoptions.hxx>
#include <svl/intitem.hxx>
#include <svl/visitem.hxx>
@@ -50,9 +46,7 @@
#include <svl/slstitm.hxx>
#include <svl/whiter.hxx>
#include <svl/undo.hxx>
-#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
-#endif
#include <svtools/sfxecode.hxx>
#include <svtools/ehdl.hxx>
#include <tools/diagnose_ex.h>
@@ -98,6 +92,8 @@
#include <comphelper/storagehelper.hxx>
#include <svtools/asynclink.hxx>
#include <svl/sharecontrolfile.hxx>
+#include <svtools/svtools.hrc>
+#include <svtools/svtdata.hxx>
#include <framework/framelistanalyzer.hxx>
#include <boost/optional.hpp>
@@ -113,9 +109,6 @@ using ::com::sun::star::document::XViewDataSupplier;
using ::com::sun::star::container::XIndexContainer;
namespace css = ::com::sun::star;
-#ifndef GCC
-#endif
-
// wg. ViewFrame::Current
#include "appdata.hxx"
#include <sfx2/taskpane.hxx>
@@ -132,10 +125,10 @@ namespace css = ::com::sun::star;
#include <sfx2/request.hxx>
#include <sfx2/docfac.hxx>
#include <sfx2/ipclient.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include "appbas.hxx"
#include <sfx2/objitem.hxx>
-#include "viewfac.hxx"
+#include "sfx2/viewfac.hxx"
#include <sfx2/event.hxx>
#include "fltfnc.hxx"
#include <sfx2/docfile.hxx>
@@ -152,7 +145,7 @@ namespace css = ::com::sun::star;
#include "workwin.hxx"
#include "helper.hxx"
#include "macro.hxx"
-#include "minfitem.hxx"
+#include "sfx2/minfitem.hxx"
#include "../appl/app.hrc"
#include "impviewframe.hxx"
@@ -1030,8 +1023,8 @@ void SfxViewFrame::StateHistory_Impl( SfxItemSet &rSet )
if ( pShUndoMgr && pShUndoMgr->GetUndoActionCount() )
{
- String aTmp( SfxResId( STR_UNDO ) );
- aTmp += pShUndoMgr->GetUndoActionComment(0);
+ String aTmp( SvtResId( STR_UNDO ) );
+ aTmp+= pShUndoMgr->GetUndoActionComment(0);
rSet.Put( SfxStringItem( SID_UNDO, aTmp ) );
}
else
@@ -1039,7 +1032,7 @@ void SfxViewFrame::StateHistory_Impl( SfxItemSet &rSet )
if ( pShUndoMgr && pShUndoMgr->GetRedoActionCount() )
{
- String aTmp( SfxResId(STR_REDO) );
+ String aTmp( SvtResId(STR_REDO) );
aTmp += pShUndoMgr->GetRedoActionComment(0);
rSet.Put( SfxStringItem( SID_REDO, aTmp ) );
}
@@ -1049,7 +1042,7 @@ void SfxViewFrame::StateHistory_Impl( SfxItemSet &rSet )
if ( pShUndoMgr && pTarget && pShUndoMgr->GetRepeatActionCount() &&
pShUndoMgr->CanRepeat(*pTarget, 0) )
{
- String aTmp( SfxResId(STR_REPEAT) );
+ String aTmp( SvtResId(STR_REPEAT) );
aTmp += pShUndoMgr->GetRepeatActionComment(*pTarget, 0);
rSet.Put( SfxStringItem( SID_REPEAT, aTmp ) );
}
diff --git a/sfx2/source/view/viewfrm2.cxx b/sfx2/source/view/viewfrm2.cxx
index cde08f292b..4eaa4ef215 100644
--- a/sfx2/source/view/viewfrm2.cxx
+++ b/sfx2/source/view/viewfrm2.cxx
@@ -30,7 +30,7 @@
#include "impviewframe.hxx"
#include "statcach.hxx"
-#include "viewfac.hxx"
+#include "sfx2/viewfac.hxx"
#include "workwin.hxx"
#include "sfx2/app.hxx"
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index 1ecf290db0..d18cc35f5e 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -50,7 +50,7 @@
#include "viewimp.hxx"
#include <sfx2/viewfrm.hxx>
#include <sfx2/prnmon.hxx>
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/request.hxx>
#include <sfx2/objsh.hxx>
#include "sfxtypes.hxx"
diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx
index 2a9679ec79..9855ffcd93 100644
--- a/sfx2/source/view/viewsh.cxx
+++ b/sfx2/source/view/viewsh.cxx
@@ -44,7 +44,6 @@
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
#include <com/sun/star/container/XContainerQuery.hpp>
#include <com/sun/star/frame/XStorable.hpp>
-#include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp>
#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
#include <cppuhelper/implbase1.hxx>
@@ -70,7 +69,7 @@
#include "view.hrc"
#include <sfx2/viewsh.hxx>
#include "viewimp.hxx"
-#include "sfxresid.hxx"
+#include "sfx2/sfxresid.hxx"
#include <sfx2/request.hxx>
#include <sfx2/templdlg.hxx>
#include <sfx2/printer.hxx>
@@ -81,8 +80,8 @@
#include "view.hrc"
#include "sfxlocal.hrc"
#include <sfx2/sfxbasecontroller.hxx>
+#include "sfx2/mailmodelapi.hxx"
#include <sfx2/viewfrm.hxx>
-#include "mailmodelapi.hxx"
#include <sfx2/event.hxx>
#include <sfx2/fcontnr.hxx>
#include <sfx2/ipclient.hxx>
@@ -115,7 +114,9 @@ DBG_NAME(SfxViewShell)
class SfxClipboardChangeListener : public ::cppu::WeakImplHelper1<
datatransfer::clipboard::XClipboardListener >
{
- SfxViewShell* pViewShell;
+public:
+ SfxClipboardChangeListener( SfxViewShell* pView, const uno::Reference< datatransfer::clipboard::XClipboardNotifier >& xClpbrdNtfr );
+ virtual ~SfxClipboardChangeListener();
// XEventListener
virtual void SAL_CALL disposing( const lang::EventObject& rEventObject )
@@ -125,21 +126,46 @@ class SfxClipboardChangeListener : public ::cppu::WeakImplHelper1<
virtual void SAL_CALL changedContents( const datatransfer::clipboard::ClipboardEvent& rEventObject )
throw ( uno::RuntimeException );
-public:
- SfxClipboardChangeListener( SfxViewShell* pView );
- virtual ~SfxClipboardChangeListener();
+ void DisconnectViewShell() { m_pViewShell = NULL; }
+ void ChangedContents();
+
+ enum AsyncExecuteCmd
+ {
+ ASYNCEXECUTE_CMD_DISPOSING,
+ ASYNCEXECUTE_CMD_CHANGEDCONTENTS
+ };
- void DisconnectViewShell() { pViewShell = NULL; }
+ struct AsyncExecuteInfo
+ {
+ AsyncExecuteInfo( AsyncExecuteCmd eCmd, uno::Reference< datatransfer::clipboard::XClipboardListener > xThis, SfxClipboardChangeListener* pListener ) :
+ m_eCmd( eCmd ), m_xThis( xThis ), m_pListener( pListener ) {}
+
+ AsyncExecuteCmd m_eCmd;
+ uno::Reference< datatransfer::clipboard::XClipboardListener > m_xThis;
+ SfxClipboardChangeListener* m_pListener;
+ };
+
+private:
+ SfxViewShell* m_pViewShell;
+ uno::Reference< datatransfer::clipboard::XClipboardNotifier > m_xClpbrdNtfr;
+ uno::Reference< lang::XComponent > m_xCtrl;
+
+ DECL_STATIC_LINK( SfxClipboardChangeListener, AsyncExecuteHdl_Impl, AsyncExecuteInfo* );
};
-SfxClipboardChangeListener::SfxClipboardChangeListener( SfxViewShell* pView )
-: pViewShell( 0 )
+SfxClipboardChangeListener::SfxClipboardChangeListener( SfxViewShell* pView, const uno::Reference< datatransfer::clipboard::XClipboardNotifier >& xClpbrdNtfr )
+ : m_pViewShell( 0 ), m_xClpbrdNtfr( xClpbrdNtfr )
{
- uno::Reference < lang::XComponent > xCtrl( pView->GetController(), uno::UNO_QUERY );
- if ( xCtrl.is() )
+ m_xCtrl = uno::Reference < lang::XComponent >( pView->GetController(), uno::UNO_QUERY );
+ if ( m_xCtrl.is() )
{
- xCtrl->addEventListener( uno::Reference < lang::XEventListener > ( static_cast < lang::XEventListener* >( this ) ) );
- pViewShell = pView;
+ m_xCtrl->addEventListener( uno::Reference < lang::XEventListener > ( static_cast < lang::XEventListener* >( this ) ) );
+ m_pViewShell = pView;
+ }
+ if ( m_xClpbrdNtfr.is() )
+ {
+ m_xClpbrdNtfr->addClipboardListener( uno::Reference< datatransfer::clipboard::XClipboardListener >(
+ static_cast< datatransfer::clipboard::XClipboardListener* >( this )));
}
}
@@ -147,34 +173,68 @@ SfxClipboardChangeListener::~SfxClipboardChangeListener()
{
}
-void SAL_CALL SfxClipboardChangeListener::disposing( const lang::EventObject& /*rEventObject*/ )
-throw ( uno::RuntimeException )
+void SfxClipboardChangeListener::ChangedContents()
{
- // either clipboard or ViewShell is going to be destroyed -> no interest in listening anymore
const ::vos::OGuard aGuard( Application::GetSolarMutex() );
- if ( pViewShell )
+ if( m_pViewShell )
{
- uno::Reference < lang::XComponent > xCtrl( pViewShell->GetController(), uno::UNO_QUERY );
- if ( xCtrl.is() )
- xCtrl->removeEventListener( uno::Reference < lang::XEventListener > ( static_cast < lang::XEventListener* >( this ) ) );
- pViewShell->AddRemoveClipboardListener( uno::Reference < datatransfer::clipboard::XClipboardListener > (this), FALSE );
- pViewShell = 0;
+ SfxBindings& rBind = m_pViewShell->GetViewFrame()->GetBindings();
+ rBind.Invalidate( SID_PASTE );
+ rBind.Invalidate( SID_PASTE_SPECIAL );
+ rBind.Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
}
}
-void SAL_CALL SfxClipboardChangeListener::changedContents( const datatransfer::clipboard::ClipboardEvent& )
- throw ( RuntimeException )
+IMPL_STATIC_LINK_NOINSTANCE( SfxClipboardChangeListener, AsyncExecuteHdl_Impl, AsyncExecuteInfo*, pAsyncExecuteInfo )
{
- const ::vos::OGuard aGuard( Application::GetSolarMutex() );
- if( pViewShell )
+ if ( pAsyncExecuteInfo )
{
- SfxBindings& rBind = pViewShell->GetViewFrame()->GetBindings();
- rBind.Invalidate( SID_PASTE );
- rBind.Invalidate( SID_PASTE_SPECIAL );
- rBind.Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
+ uno::Reference< datatransfer::clipboard::XClipboardListener > xThis( pAsyncExecuteInfo->m_xThis );
+ if ( pAsyncExecuteInfo->m_pListener )
+ {
+ if ( pAsyncExecuteInfo->m_eCmd == ASYNCEXECUTE_CMD_DISPOSING )
+ pAsyncExecuteInfo->m_pListener->DisconnectViewShell();
+ else if ( pAsyncExecuteInfo->m_eCmd == ASYNCEXECUTE_CMD_CHANGEDCONTENTS )
+ pAsyncExecuteInfo->m_pListener->ChangedContents();
+ }
}
+ delete pAsyncExecuteInfo;
+
+ return 0;
+}
+
+void SAL_CALL SfxClipboardChangeListener::disposing( const lang::EventObject& /*rEventObject*/ )
+throw ( uno::RuntimeException )
+{
+ // Either clipboard or ViewShell is going to be destroyed -> no interest in listening anymore
+ uno::Reference< lang::XComponent > xCtrl( m_xCtrl );
+ uno::Reference< datatransfer::clipboard::XClipboardNotifier > xNotify( m_xClpbrdNtfr );
+
+ uno::Reference< datatransfer::clipboard::XClipboardListener > xThis( static_cast< datatransfer::clipboard::XClipboardListener* >( this ));
+ if ( xCtrl.is() )
+ xCtrl->removeEventListener( uno::Reference < lang::XEventListener > ( static_cast < lang::XEventListener* >( this )));
+ if ( xNotify.is() )
+ xNotify->removeClipboardListener( xThis );
+
+ // Make asynchronous call to avoid locking SolarMutex which is the
+ // root for many deadlocks, especially in conjuction with the "Windows"
+ // based single thread apartment clipboard code!
+ AsyncExecuteInfo* pInfo = new AsyncExecuteInfo( ASYNCEXECUTE_CMD_DISPOSING, xThis, this );
+ Application::PostUserEvent( STATIC_LINK( 0, SfxClipboardChangeListener, AsyncExecuteHdl_Impl ), pInfo );
+}
+
+void SAL_CALL SfxClipboardChangeListener::changedContents( const datatransfer::clipboard::ClipboardEvent& )
+ throw ( RuntimeException )
+{
+ // Make asynchronous call to avoid locking SolarMutex which is the
+ // root for many deadlocks, especially in conjuction with the "Windows"
+ // based single thread apartment clipboard code!
+ uno::Reference< datatransfer::clipboard::XClipboardListener > xThis( static_cast< datatransfer::clipboard::XClipboardListener* >( this ));
+ AsyncExecuteInfo* pInfo = new AsyncExecuteInfo( ASYNCEXECUTE_CMD_CHANGEDCONTENTS, xThis, this );
+ Application::PostUserEvent( STATIC_LINK( 0, SfxClipboardChangeListener, AsyncExecuteHdl_Impl ), pInfo );
}
+//=========================================================================
static ::rtl::OUString RetrieveLabelFromCommand(
const ::rtl::OUString& rCommandURL,
@@ -252,7 +312,7 @@ SfxViewShell_Impl::SfxViewShell_Impl(USHORT const nFlags)
, m_bGotOwnership(false)
, m_bGotFrameOwnership(false)
, m_eScroll(SCROLLING_DEFAULT)
-, m_nFamily(-1) // undefined, default set by TemplateDialog
+, m_nFamily(0xFFFF) // undefined, default set by TemplateDialog
, m_pController(0)
, m_pAccExec(0)
{}
@@ -260,7 +320,7 @@ SfxViewShell_Impl::SfxViewShell_Impl(USHORT const nFlags)
//=========================================================================
SFX_IMPL_INTERFACE(SfxViewShell,SfxShell,SfxResId(0))
{
- SFX_CHILDWINDOW_REGISTRATION( SID_MAIL_CHILDWIN );
+ SFX_CHILDWINDOW_REGISTRATION( SID_MAIL_CHILDWIN );
}
TYPEINIT2(SfxViewShell,SfxShell,SfxListener);
@@ -379,27 +439,27 @@ enum ETypeFamily
void SfxViewShell::ExecMisc_Impl( SfxRequest &rReq )
{
- const USHORT nId = rReq.GetSlot();
- switch( nId )
- {
- case SID_STYLE_FAMILY :
+ const USHORT nId = rReq.GetSlot();
+ switch( nId )
{
- SFX_REQUEST_ARG(rReq, pItem, SfxUInt16Item, nId, FALSE);
- if (pItem)
+ case SID_STYLE_FAMILY :
+ {
+ SFX_REQUEST_ARG(rReq, pItem, SfxUInt16Item, nId, FALSE);
+ if (pItem)
{
pImp->m_nFamily = pItem->GetValue();
}
- break;
- }
+ break;
+ }
- case SID_STYLE_CATALOG:
- {
- SfxTemplateCatalog aCatalog(
- SFX_APP()->GetTopWindow(), &GetViewFrame()->GetBindings());
- aCatalog.Execute();
+ case SID_STYLE_CATALOG:
+ {
+ SfxTemplateCatalog aCatalog(
+ SFX_APP()->GetTopWindow(), &GetViewFrame()->GetBindings());
+ aCatalog.Execute();
rReq.Ignore();
- break;
- }
+ break;
+ }
case SID_ACTIVATE_STYLE_APPLY:
{
com::sun::star::uno::Reference< com::sun::star::frame::XFrame > xFrame(
@@ -459,85 +519,85 @@ void SfxViewShell::ExecMisc_Impl( SfxRequest &rReq )
rReq.Done();
}
break;
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- case SID_MAIL_SENDDOCASMS:
- case SID_MAIL_SENDDOCASOOO:
- case SID_MAIL_SENDDOCASPDF:
- case SID_MAIL_SENDDOC:
+ case SID_MAIL_SENDDOCASMS:
+ case SID_MAIL_SENDDOCASOOO:
+ case SID_MAIL_SENDDOCASPDF:
+ case SID_MAIL_SENDDOC:
case SID_MAIL_SENDDOCASFORMAT:
- {
- SfxObjectShell* pDoc = GetObjectShell();
- if ( pDoc && pDoc->QueryHiddenInformation(
- WhenSaving, &GetViewFrame()->GetWindow() ) != RET_YES )
- break;
+ {
+ SfxObjectShell* pDoc = GetObjectShell();
+ if ( pDoc && pDoc->QueryHiddenInformation(
+ WhenSaving, &GetViewFrame()->GetWindow() ) != RET_YES )
+ break;
- if ( SvtInternalOptions().MailUIEnabled() )
+ if ( SvtInternalOptions().MailUIEnabled() )
{
GetViewFrame()->SetChildWindow( SID_MAIL_CHILDWIN, TRUE );
}
else
{
- SfxMailModel aModel;
+ SfxMailModel aModel;
rtl::OUString aDocType;
- SFX_REQUEST_ARG(rReq, pMailSubject, SfxStringItem, SID_MAIL_SUBJECT, FALSE );
- if ( pMailSubject )
- aModel.SetSubject( pMailSubject->GetValue() );
+ SFX_REQUEST_ARG(rReq, pMailSubject, SfxStringItem, SID_MAIL_SUBJECT, FALSE );
+ if ( pMailSubject )
+ aModel.SetSubject( pMailSubject->GetValue() );
- SFX_REQUEST_ARG(rReq, pMailRecipient, SfxStringItem, SID_MAIL_RECIPIENT, FALSE );
- if ( pMailRecipient )
- {
- String aRecipient( pMailRecipient->GetValue() );
- String aMailToStr( String::CreateFromAscii( "mailto:" ));
+ SFX_REQUEST_ARG(rReq, pMailRecipient, SfxStringItem, SID_MAIL_RECIPIENT, FALSE );
+ if ( pMailRecipient )
+ {
+ String aRecipient( pMailRecipient->GetValue() );
+ String aMailToStr( String::CreateFromAscii( "mailto:" ));
- if ( aRecipient.Search( aMailToStr ) == 0 )
- aRecipient = aRecipient.Erase( 0, aMailToStr.Len() );
- aModel.AddAddress( aRecipient, SfxMailModel::ROLE_TO );
- }
+ if ( aRecipient.Search( aMailToStr ) == 0 )
+ aRecipient = aRecipient.Erase( 0, aMailToStr.Len() );
+ aModel.AddAddress( aRecipient, SfxMailModel::ROLE_TO );
+ }
SFX_REQUEST_ARG(rReq, pMailDocType, SfxStringItem, SID_TYPE_NAME, FALSE );
if ( pMailDocType )
aDocType = pMailDocType->GetValue();
uno::Reference < frame::XFrame > xFrame( pFrame->GetFrame().GetFrameInterface() );
- SfxMailModel::SendMailResult eResult = SfxMailModel::SEND_MAIL_ERROR;
+ SfxMailModel::SendMailResult eResult = SfxMailModel::SEND_MAIL_ERROR;
if ( nId == SID_MAIL_SENDDOC )
- eResult = aModel.SaveAndSend( xFrame, rtl::OUString() );
- else
- if ( nId == SID_MAIL_SENDDOCASPDF )
+ eResult = aModel.SaveAndSend( xFrame, rtl::OUString() );
+ else
+ if ( nId == SID_MAIL_SENDDOCASPDF )
eResult = aModel.SaveAndSend( xFrame, rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "pdf_Portable_Document_Format" )));
else
- if ( nId == SID_MAIL_SENDDOCASMS )
+ if ( nId == SID_MAIL_SENDDOCASMS )
{
aDocType = impl_searchFormatTypeForApp(xFrame, E_MS_DOC);
if (aDocType.getLength() > 0)
eResult = aModel.SaveAndSend( xFrame, aDocType );
}
else
- if ( nId == SID_MAIL_SENDDOCASOOO )
+ if ( nId == SID_MAIL_SENDDOCASOOO )
{
aDocType = impl_searchFormatTypeForApp(xFrame, E_OOO_DOC);
if (aDocType.getLength() > 0)
eResult = aModel.SaveAndSend( xFrame, aDocType );
}
- if ( eResult == SfxMailModel::SEND_MAIL_ERROR )
- {
- InfoBox aBox( SFX_APP()->GetTopWindow(), SfxResId( MSG_ERROR_SEND_MAIL ));
- aBox.Execute();
+ if ( eResult == SfxMailModel::SEND_MAIL_ERROR )
+ {
+ InfoBox aBox( SFX_APP()->GetTopWindow(), SfxResId( MSG_ERROR_SEND_MAIL ));
+ aBox.Execute();
rReq.Ignore();
- }
+ }
else
rReq.Done();
- }
+ }
- break;
- }
+ break;
+ }
- // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- case SID_WEBHTML:
- {
+ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ case SID_WEBHTML:
+ {
static const char HTML_DOCUMENT_TYPE[] = "writer_web_HTML";
static const char HTML_GRAPHIC_TYPE[] = "graphic_HTML";
const sal_Int32 FILTERFLAG_EXPORT = 0x00000002;
@@ -657,25 +717,25 @@ void SfxViewShell::ExecMisc_Impl( SfxRequest &rReq )
::rtl::OUString::createFromAscii( "com.sun.star.system.SystemShellExecute" )),
css::uno::UNO_QUERY );
- BOOL bRet( TRUE );
+ BOOL bRet( TRUE );
if ( xSystemShellExecute.is() )
{
try
{
- xSystemShellExecute->execute(
- aFileURL, ::rtl::OUString(), SystemShellExecuteFlags::DEFAULTS );
+ xSystemShellExecute->execute(
+ aFileURL, ::rtl::OUString(), SystemShellExecuteFlags::DEFAULTS );
}
catch ( uno::Exception& )
{
- vos::OGuard aGuard( Application::GetSolarMutex() );
+ vos::OGuard aGuard( Application::GetSolarMutex() );
Window *pParent = SFX_APP()->GetTopWindow();
- ErrorBox( pParent, SfxResId( MSG_ERROR_NO_WEBBROWSER_FOUND )).Execute();
+ ErrorBox( pParent, SfxResId( MSG_ERROR_NO_WEBBROWSER_FOUND )).Execute();
bRet = FALSE;
}
}
rReq.Done(bRet);
- break;
+ break;
}
else
{
@@ -685,97 +745,97 @@ void SfxViewShell::ExecMisc_Impl( SfxRequest &rReq )
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- case SID_PLUGINS_ACTIVE:
- {
- SFX_REQUEST_ARG(rReq, pShowItem, SfxBoolItem, nId, FALSE);
+ case SID_PLUGINS_ACTIVE:
+ {
+ SFX_REQUEST_ARG(rReq, pShowItem, SfxBoolItem, nId, FALSE);
bool const bActive = (pShowItem)
? pShowItem->GetValue()
: !pImp->m_bPlugInsActive;
- // ggf. recorden
- if ( !rReq.IsAPI() )
- rReq.AppendItem( SfxBoolItem( nId, bActive ) );
+ // ggf. recorden
+ if ( !rReq.IsAPI() )
+ rReq.AppendItem( SfxBoolItem( nId, bActive ) );
- // Jetzt schon DONE aufrufen, da die Argumente evtl. einen Pool
- // benutzen, der demn"achst weg ist
- rReq.Done(TRUE);
+ // Jetzt schon DONE aufrufen, da die Argumente evtl. einen Pool
+ // benutzen, der demn"achst weg ist
+ rReq.Done(TRUE);
- // ausfuehren
+ // ausfuehren
if (!pShowItem || (bActive != pImp->m_bPlugInsActive))
- {
- SfxFrame* pTopFrame = &GetFrame()->GetTopFrame();
- if ( pTopFrame != &GetFrame()->GetFrame() )
- {
- // FramesetDocument
- SfxViewShell *pShell = pTopFrame->GetCurrentViewFrame()->GetViewShell();
- if ( pShell->GetInterface()->GetSlot( nId ) )
- pShell->ExecuteSlot( rReq );
- break;
- }
-
- SfxFrameIterator aIter( *pTopFrame );
- while ( pTopFrame )
- {
- if ( pTopFrame->GetCurrentViewFrame() )
- {
- SfxViewShell *pView = pTopFrame->GetCurrentViewFrame()->GetViewShell();
- if ( pView )
{
+ SfxFrame* pTopFrame = &GetFrame()->GetTopFrame();
+ if ( pTopFrame != &GetFrame()->GetFrame() )
+ {
+ // FramesetDocument
+ SfxViewShell *pShell = pTopFrame->GetCurrentViewFrame()->GetViewShell();
+ if ( pShell->GetInterface()->GetSlot( nId ) )
+ pShell->ExecuteSlot( rReq );
+ break;
+ }
+
+ SfxFrameIterator aIter( *pTopFrame );
+ while ( pTopFrame )
+ {
+ if ( pTopFrame->GetCurrentViewFrame() )
+ {
+ SfxViewShell *pView = pTopFrame->GetCurrentViewFrame()->GetViewShell();
+ if ( pView )
+ {
pView->pImp->m_bPlugInsActive = bActive;
Rectangle aVisArea = GetObjectShell()->GetVisArea();
VisAreaChanged(aVisArea);
- // the plugins might need change in their state
- SfxInPlaceClientList *pClients = pView->GetIPClientList_Impl(FALSE);
- if ( pClients )
- {
- for (USHORT n=0; n < pClients->Count(); n++)
- {
- SfxInPlaceClient* pIPClient = pClients->GetObject(n);
- if ( pIPClient )
- pView->CheckIPClient_Impl( pIPClient, aVisArea );
+ // the plugins might need change in their state
+ SfxInPlaceClientList *pClients = pView->GetIPClientList_Impl(FALSE);
+ if ( pClients )
+ {
+ for (USHORT n=0; n < pClients->Count(); n++)
+ {
+ SfxInPlaceClient* pIPClient = pClients->GetObject(n);
+ if ( pIPClient )
+ pView->CheckIPClient_Impl( pIPClient, aVisArea );
+ }
+ }
+ }
+ }
+
+ if ( !pTopFrame->GetParentFrame() )
+ pTopFrame = aIter.FirstFrame();
+ else
+ pTopFrame = aIter.NextFrame( *pTopFrame );
}
- }
}
- }
- if ( !pTopFrame->GetParentFrame() )
- pTopFrame = aIter.FirstFrame();
- else
- pTopFrame = aIter.NextFrame( *pTopFrame );
+ break;
}
- }
-
- break;
}
- }
}
//--------------------------------------------------------------------
void SfxViewShell::GetState_Impl( SfxItemSet &rSet )
{
- DBG_CHKTHIS(SfxViewShell, 0);
+ DBG_CHKTHIS(SfxViewShell, 0);
- SfxWhichIter aIter( rSet );
- for ( USHORT nSID = aIter.FirstWhich(); nSID; nSID = aIter.NextWhich() )
- {
- switch ( nSID )
+ SfxWhichIter aIter( rSet );
+ for ( USHORT nSID = aIter.FirstWhich(); nSID; nSID = aIter.NextWhich() )
{
- case SID_STYLE_CATALOG:
- {
+ switch ( nSID )
+ {
+ case SID_STYLE_CATALOG:
+ {
if ( !GetViewFrame()->KnowsChildWindow( SID_STYLE_DESIGNER ) )
- rSet.DisableItem( nSID );
- break;
- }
+ rSet.DisableItem( nSID );
+ break;
+ }
- // Printer-Funktionen
- case SID_PRINTDOC:
- case SID_PRINTDOCDIRECT:
- case SID_SETUPPRINTER:
- case SID_PRINTER_NAME:
- {
+ // Printer-Funktionen
+ case SID_PRINTDOC:
+ case SID_PRINTDOCDIRECT:
+ case SID_SETUPPRINTER:
+ case SID_PRINTER_NAME:
+ {
bool bEnabled = pImp->m_bCanPrint && !pImp->m_nPrinterLocks;
- bEnabled = bEnabled && !Application::GetSettings().GetMiscSettings().GetDisablePrinting();
+ bEnabled = bEnabled && !Application::GetSettings().GetMiscSettings().GetDisablePrinting();
if ( bEnabled )
{
SfxPrinter *pPrinter = GetPrinter(FALSE);
@@ -804,68 +864,68 @@ void SfxViewShell::GetState_Impl( SfxItemSet &rSet )
}
bEnabled = !pPrinter || !pPrinter->IsPrinting();
}
- if ( !bEnabled )
- {
- // will now be handled by requeing the request
- /* rSet.DisableItem( SID_PRINTDOC );
- rSet.DisableItem( SID_PRINTDOCDIRECT );
- rSet.DisableItem( SID_SETUPPRINTER ); */
- }
- break;
- }
+ if ( !bEnabled )
+ {
+ // will now be handled by requeing the request
+ /* rSet.DisableItem( SID_PRINTDOC );
+ rSet.DisableItem( SID_PRINTDOCDIRECT );
+ rSet.DisableItem( SID_SETUPPRINTER ); */
+ }
+ break;
+ }
- // Mail-Funktionen
- case SID_MAIL_SENDDOCASPDF:
- case SID_MAIL_SENDDOC:
+ // Mail-Funktionen
+ case SID_MAIL_SENDDOCASPDF:
+ case SID_MAIL_SENDDOC:
case SID_MAIL_SENDDOCASFORMAT:
- {
+ {
BOOL bEnable = !GetViewFrame()->HasChildWindow( SID_MAIL_CHILDWIN );
- if ( !bEnable )
- rSet.DisableItem( nSID );
- break;
- }
+ if ( !bEnable )
+ rSet.DisableItem( nSID );
+ break;
+ }
- // PlugIns running
- case SID_PLUGINS_ACTIVE:
- {
+ // PlugIns running
+ case SID_PLUGINS_ACTIVE:
+ {
rSet.Put( SfxBoolItem( SID_PLUGINS_ACTIVE,
!pImp->m_bPlugInsActive) );
- break;
- }
+ break;
+ }
/*
- // SelectionText
- case SID_SELECTION_TEXT:
- {
- rSet.Put( SfxStringItem( SID_SELECTION_TEXT, GetSelectionText() ) );
- break;
- }
+ // SelectionText
+ case SID_SELECTION_TEXT:
+ {
+ rSet.Put( SfxStringItem( SID_SELECTION_TEXT, GetSelectionText() ) );
+ break;
+ }
- // SelectionTextExt
- case SID_SELECTION_TEXT_EXT:
- {
- rSet.Put( SfxStringItem( SID_SELECTION_TEXT_EXT, GetSelectionText(TRUE) ) );
- break;
- }
+ // SelectionTextExt
+ case SID_SELECTION_TEXT_EXT:
+ {
+ rSet.Put( SfxStringItem( SID_SELECTION_TEXT_EXT, GetSelectionText(TRUE) ) );
+ break;
+ }
*/
- case SID_STYLE_FAMILY :
- {
+ case SID_STYLE_FAMILY :
+ {
rSet.Put( SfxUInt16Item( SID_STYLE_FAMILY, pImp->m_nFamily ) );
- break;
- }
+ break;
+ }
+ }
}
- }
}
//--------------------------------------------------------------------
void SfxViewShell::SetZoomFactor( const Fraction &rZoomX,
- const Fraction &rZoomY )
+ const Fraction &rZoomY )
{
- DBG_ASSERT( GetWindow(), "no window" );
- MapMode aMap( GetWindow()->GetMapMode() );
- aMap.SetScaleX( rZoomX );
- aMap.SetScaleY( rZoomY );
- GetWindow()->SetMapMode( aMap );
+ DBG_ASSERT( GetWindow(), "no window" );
+ MapMode aMap( GetWindow()->GetMapMode() );
+ aMap.SetScaleX( rZoomX );
+ aMap.SetScaleY( rZoomY );
+ GetWindow()->SetMapMode( aMap );
}
//--------------------------------------------------------------------
@@ -873,37 +933,37 @@ ErrCode SfxViewShell::DoVerb(long /*nVerb*/)
/* [Beschreibung]
- Virtuelle Methode, um am selektierten Objekt ein Verb auszuf"uhren.
+ Virtuelle Methode, um am selektierten Objekt ein Verb auszuf"uhren.
Da dieses Objekt nur den abgeleiteten Klassen bekannt ist, muss DoVerb
dort "uberschrieben werden.
*/
{
- return ERRCODE_SO_NOVERBS;
+ return ERRCODE_SO_NOVERBS;
}
//--------------------------------------------------------------------
void SfxViewShell::OutplaceActivated( sal_Bool bActive, SfxInPlaceClient* /*pClient*/ )
{
- if ( !bActive )
- GetFrame()->GetFrame().Appear();
+ if ( !bActive )
+ GetFrame()->GetFrame().Appear();
}
//--------------------------------------------------------------------
void SfxViewShell::InplaceActivating( SfxInPlaceClient* /*pClient*/ )
{
- // TODO/LATER: painting of the bitmap can be stopped, it is required if CLIPCHILDREN problem #i25788# is not solved,
- // but may be the bug will not affect the real office vcl windows, then it is not required
+ // TODO/LATER: painting of the bitmap can be stopped, it is required if CLIPCHILDREN problem #i25788# is not solved,
+ // but may be the bug will not affect the real office vcl windows, then it is not required
}
//--------------------------------------------------------------------
void SfxViewShell::InplaceDeactivated( SfxInPlaceClient* /*pClient*/ )
{
- // TODO/LATER: paint the replacement image in normal way if the painting was stopped
+ // TODO/LATER: paint the replacement image in normal way if the painting was stopped
}
//--------------------------------------------------------------------
@@ -943,26 +1003,26 @@ SfxInPlaceClient* SfxViewShell::FindIPClient
) const
{
SfxInPlaceClientList *pClients = GetIPClientList_Impl(FALSE);
- if ( !pClients )
- return 0;
+ if ( !pClients )
+ return 0;
- if( !pObjParentWin )
- pObjParentWin = GetWindow();
- for (USHORT n=0; n < pClients->Count(); n++)
- {
- SfxInPlaceClient *pIPClient = (SfxInPlaceClient*) pClients->GetObject(n);
+ if( !pObjParentWin )
+ pObjParentWin = GetWindow();
+ for (USHORT n=0; n < pClients->Count(); n++)
+ {
+ SfxInPlaceClient *pIPClient = (SfxInPlaceClient*) pClients->GetObject(n);
if ( pIPClient->GetObject() == xObj && pIPClient->GetEditWin() == pObjParentWin )
- return pIPClient;
- }
+ return pIPClient;
+ }
- return 0;
+ return 0;
}
//--------------------------------------------------------------------
SfxInPlaceClient* SfxViewShell::GetIPClient() const
{
- return GetUIActiveClient();
+ return GetUIActiveClient();
}
//--------------------------------------------------------------------
@@ -971,15 +1031,15 @@ SfxInPlaceClient* SfxViewShell::GetUIActiveIPClient_Impl() const
{
// this method is needed as long as SFX still manages the border space for ChildWindows (see SfxFrame::Resize)
SfxInPlaceClientList *pClients = GetIPClientList_Impl(FALSE);
- if ( !pClients )
- return 0;
+ if ( !pClients )
+ return 0;
- for (USHORT n=0; n < pClients->Count(); n++)
- {
+ for (USHORT n=0; n < pClients->Count(); n++)
+ {
SfxInPlaceClient* pIPClient = pClients->GetObject(n);
if ( pIPClient->IsUIActive() )
return pIPClient;
- }
+ }
return NULL;
}
@@ -987,15 +1047,15 @@ SfxInPlaceClient* SfxViewShell::GetUIActiveIPClient_Impl() const
SfxInPlaceClient* SfxViewShell::GetUIActiveClient() const
{
SfxInPlaceClientList *pClients = GetIPClientList_Impl(FALSE);
- if ( !pClients )
- return 0;
+ if ( !pClients )
+ return 0;
- for (USHORT n=0; n < pClients->Count(); n++)
- {
+ for (USHORT n=0; n < pClients->Count(); n++)
+ {
SfxInPlaceClient* pIPClient = pClients->GetObject(n);
if ( pIPClient->IsObjectUIActive() )
return pIPClient;
- }
+ }
return NULL;
}
@@ -1004,34 +1064,34 @@ SfxInPlaceClient* SfxViewShell::GetUIActiveClient() const
void SfxViewShell::Activate( BOOL bMDI )
{
- DBG_CHKTHIS(SfxViewShell, 0);
- if ( bMDI )
- {
- SfxObjectShell *pSh = GetViewFrame()->GetObjectShell();
- if ( pSh->GetModel().is() )
- pSh->GetModel()->setCurrentController( GetViewFrame()->GetFrame().GetController() );
+ DBG_CHKTHIS(SfxViewShell, 0);
+ if ( bMDI )
+ {
+ SfxObjectShell *pSh = GetViewFrame()->GetObjectShell();
+ if ( pSh->GetModel().is() )
+ pSh->GetModel()->setCurrentController( GetViewFrame()->GetFrame().GetController() );
SetCurrentDocument();
- }
+ }
}
//--------------------------------------------------------------------
void SfxViewShell::Deactivate(BOOL /*bMDI*/)
{
- DBG_CHKTHIS(SfxViewShell, 0);
+ DBG_CHKTHIS(SfxViewShell, 0);
}
//--------------------------------------------------------------------
void SfxViewShell::AdjustPosSizePixel
(
- const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
- const Size& /*rSize*/ // gesamte zur Verf"ugung stehende Gr"o\se
+ const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
+ const Size& /*rSize*/ // gesamte zur Verf"ugung stehende Gr"o\se
)
{
- DBG_CHKTHIS(SfxViewShell, 0);
+ DBG_CHKTHIS(SfxViewShell, 0);
}
//--------------------------------------------------------------------
@@ -1040,18 +1100,18 @@ void SfxViewShell::Move()
/* [Beschreibung]
- Diese virtuelle Methode wird gerufen, wenn das Fenster, in dem die
- SfxViewShell dargestellt wird eine StarView-Move() Nachricht erh"alt.
+ Diese virtuelle Methode wird gerufen, wenn das Fenster, in dem die
+ SfxViewShell dargestellt wird eine StarView-Move() Nachricht erh"alt.
- Die Basisimplementierung braucht nicht gerufen zu werden.
+ Die Basisimplementierung braucht nicht gerufen zu werden.
- [Anmerkung]
+ [Anmerkung]
- Diese Methode kann dazu verwendet werden, eine Selektion abzubrechen,
- um durch das Moven des Fensters erzeugte Maus-Bewegungen anzufangen.
+ Diese Methode kann dazu verwendet werden, eine Selektion abzubrechen,
+ um durch das Moven des Fensters erzeugte Maus-Bewegungen anzufangen.
- Zur Zeit funktioniert die Benachrichtigung nicht In-Place.
+ Zur Zeit funktioniert die Benachrichtigung nicht In-Place.
*/
{
@@ -1061,102 +1121,102 @@ void SfxViewShell::Move()
void SfxViewShell::OuterResizePixel
(
- const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
- const Size& /*rSize*/ // gesamte zur Verf"ugung stehende Gr"o\se
+ const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
+ const Size& /*rSize*/ // gesamte zur Verf"ugung stehende Gr"o\se
)
/* [Beschreibung]
Diese Methode muss ueberladen werden, um auf "Anderungen der Groesse
- der View zu reagieren. Dabei definieren wir die View als das Edit-Window
- zuz"uglich der um das Edit-Window angeordnenten Tools (z.B. Lineale).
+ der View zu reagieren. Dabei definieren wir die View als das Edit-Window
+ zuz"uglich der um das Edit-Window angeordnenten Tools (z.B. Lineale).
- Das Edit-Window darf weder in Gr"o\se noch Position ver"andert werden.
+ Das Edit-Window darf weder in Gr"o\se noch Position ver"andert werden.
- Die Vis-Area der SfxObjectShell, dessen Skalierung und Position
- d"urfen hier ver"andert werden. Der Hauptanwendungsfall ist dabei,
- das Ver"andern der Gr"o\se der Vis-Area.
+ Die Vis-Area der SfxObjectShell, dessen Skalierung und Position
+ d"urfen hier ver"andert werden. Der Hauptanwendungsfall ist dabei,
+ das Ver"andern der Gr"o\se der Vis-Area.
- "Andert sich durch die neue Berechnung der Border, so mu\s dieser
- mit <SfxViewShell::SetBorderPixel(const SvBorder&)> gesetzt werden.
- Erst nach Aufruf von 'SetBorderPixel' ist das Positionieren von
- Tools erlaubt.
+ "Andert sich durch die neue Berechnung der Border, so mu\s dieser
+ mit <SfxViewShell::SetBorderPixel(const SvBorder&)> gesetzt werden.
+ Erst nach Aufruf von 'SetBorderPixel' ist das Positionieren von
+ Tools erlaubt.
- [Beispiel]
+ [Beispiel]
- void AppViewSh::OuterViewResizePixel( const Point &rOfs, const Size &rSz )
- {
- // Tool-Positionen und Gr"o\sen von au\sen berechnen, NICHT setzen!
- // (wegen folgender Border-Berechnung)
- Point aHLinPos...; Size aHLinSz...;
- ...
-
- // Border f"ur Tools passend zu rSize berechnen und setzen
- SvBorder aBorder...
- SetBorderPixel( aBorder ); // ab jetzt sind Positionierungen erlaubt
-
- // Tools anordnen
- pHLin->SetPosSizePixel( aHLinPos, aHLinSz );
- ...
- }
+ void AppViewSh::OuterViewResizePixel( const Point &rOfs, const Size &rSz )
+ {
+ // Tool-Positionen und Gr"o\sen von au\sen berechnen, NICHT setzen!
+ // (wegen folgender Border-Berechnung)
+ Point aHLinPos...; Size aHLinSz...;
+ ...
+
+ // Border f"ur Tools passend zu rSize berechnen und setzen
+ SvBorder aBorder...
+ SetBorderPixel( aBorder ); // ab jetzt sind Positionierungen erlaubt
+
+ // Tools anordnen
+ pHLin->SetPosSizePixel( aHLinPos, aHLinSz );
+ ...
+ }
- [Querverweise]
+ [Querverweise]
- <SfxViewShell::InnerResizePixel(const Point&,const Size& rSize)>
+ <SfxViewShell::InnerResizePixel(const Point&,const Size& rSize)>
*/
{
- DBG_CHKTHIS(SfxViewShell, 0);
- SetBorderPixel( SvBorder() );
+ DBG_CHKTHIS(SfxViewShell, 0);
+ SetBorderPixel( SvBorder() );
}
//--------------------------------------------------------------------
void SfxViewShell::InnerResizePixel
(
- const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
- const Size& /*rSize*/ // dem Edit-Win zur Verf"ugung stehende Gr"o\se
+ const Point& /*rToolOffset*/,// linke obere Ecke der Tools im Frame-Window
+ const Size& /*rSize*/ // dem Edit-Win zur Verf"ugung stehende Gr"o\se
)
/* [Beschreibung]
Diese Methode muss ueberladen werden, um auf "Anderungen der Groesse
- des Edit-Windows zu reagieren.
+ des Edit-Windows zu reagieren.
- Das Edit-Window darf weder in Gr"o\se noch Position ver"andert werden.
- Weder die Vis-Area der SfxObjectShell noch dessen Skalierung oder
- Position d"urfen ver"andert werden.
+ Das Edit-Window darf weder in Gr"o\se noch Position ver"andert werden.
+ Weder die Vis-Area der SfxObjectShell noch dessen Skalierung oder
+ Position d"urfen ver"andert werden.
- "Andert sich durch die neue Berechnung der Border, so mu\s dieser
- mit <SfxViewShell::SetBorderPixel(const SvBorder&)> gesetzt werden.
- Erst nach Aufruf von 'SetBorderPixel' ist das Positionieren von
- Tools erlaubt.
+ "Andert sich durch die neue Berechnung der Border, so mu\s dieser
+ mit <SfxViewShell::SetBorderPixel(const SvBorder&)> gesetzt werden.
+ Erst nach Aufruf von 'SetBorderPixel' ist das Positionieren von
+ Tools erlaubt.
- [Beispiel]
+ [Beispiel]
- void AppViewSh::InnerViewResizePixel( const Point &rOfs, const Size &rSz )
- {
- // Tool-Positionen und Gr"o\sen von innen berechnen, NICHT setzen!
- // (wegen folgender Border-Berechnung)
- Point aHLinPos...; Size aHLinSz...;
- ...
-
- // Border f"ur Tools passend zu rSz berechnen und setzen
- SvBorder aBorder...
- SetBorderPixel( aBorder ); // ab jetzt sind Positionierungen erlaubt
-
- // Tools anordnen
- pHLin->SetPosSizePixel( aHLinPos, aHLinSz );
- ...
- }
+ void AppViewSh::InnerViewResizePixel( const Point &rOfs, const Size &rSz )
+ {
+ // Tool-Positionen und Gr"o\sen von innen berechnen, NICHT setzen!
+ // (wegen folgender Border-Berechnung)
+ Point aHLinPos...; Size aHLinSz...;
+ ...
+
+ // Border f"ur Tools passend zu rSz berechnen und setzen
+ SvBorder aBorder...
+ SetBorderPixel( aBorder ); // ab jetzt sind Positionierungen erlaubt
+
+ // Tools anordnen
+ pHLin->SetPosSizePixel( aHLinPos, aHLinSz );
+ ...
+ }
- [Querverweise]
+ [Querverweise]
- <SfxViewShell::OuterResizePixel(const Point&,const Size& rSize)>
+ <SfxViewShell::OuterResizePixel(const Point&,const Size& rSize)>
*/
{
@@ -1216,11 +1276,11 @@ void SfxViewShell::SetWindow
/* [Beschreibung]
- Mit dieser Methode wird der SfxViewShell das Datenfenster mitgeteilt.
- Dieses wird f"ur den In-Place-Container und f"ur das korrekte
- Wiederherstellen des Focus ben"otigt.
+ Mit dieser Methode wird der SfxViewShell das Datenfenster mitgeteilt.
+ Dieses wird f"ur den In-Place-Container und f"ur das korrekte
+ Wiederherstellen des Focus ben"otigt.
- Selbst In-Place-aktiv ist das Umsetzen des ViewPort-Windows verboten.
+ Selbst In-Place-aktiv ist das Umsetzen des ViewPort-Windows verboten.
*/
{
@@ -1245,9 +1305,9 @@ void SfxViewShell::SetWindow
if ( bHadFocus && pWindow )
pWindow->GrabFocus();
- //TODO/CLEANUP
- //brauchen wir die Methode doch noch?!
- //SFX_APP()->GrabFocus( pWindow );
+ //TODO/CLEANUP
+ //brauchen wir die Methode doch noch?!
+ //SFX_APP()->GrabFocus( pWindow );
}
//--------------------------------------------------------------------
@@ -1262,18 +1322,17 @@ Size SfxViewShell::GetOptimalSizePixel() const
SfxViewShell::SfxViewShell
(
- SfxViewFrame* pViewFrame, /* <SfxViewFrame>, in dem diese View
- dargestellt wird */
+ SfxViewFrame* pViewFrame, /* <SfxViewFrame>, in dem diese View dargestellt wird */
USHORT nFlags /* siehe <SfxViewShell-Flags> */
)
: SfxShell(this)
, pImp( new SfxViewShell_Impl(nFlags) )
- ,pIPClientList( 0 )
- ,pFrame(pViewFrame)
- ,pSubShell(0)
- ,pWindow(0)
- ,bNoNewWindow( 0 != (nFlags & SFX_VIEW_NO_NEWWINDOW) )
+ ,pIPClientList( 0 )
+ ,pFrame(pViewFrame)
+ ,pSubShell(0)
+ ,pWindow(0)
+ ,bNoNewWindow( 0 != (nFlags & SFX_VIEW_NO_NEWWINDOW) )
{
DBG_CTOR(SfxViewShell, 0);
@@ -1382,12 +1441,12 @@ SfxViewShell* SfxViewShell::Get( const Reference< XController>& i_rController )
SdrView* SfxViewShell::GetDrawView() const
-/* [Beschreibung]
+/* [Beschreibung]
- Diese virtuelle Methode mu\s von den Subklassen "uberladen werden, wenn
- der Property-Editor zur Verf"ugung stehen soll.
+ Diese virtuelle Methode mu\s von den Subklassen "uberladen werden, wenn
+ der Property-Editor zur Verf"ugung stehen soll.
- Die Default-Implementierung liefert immer 0.
+ Die Default-Implementierung liefert immer 0.
*/
{
@@ -1398,27 +1457,27 @@ SdrView* SfxViewShell::GetDrawView() const
String SfxViewShell::GetSelectionText
(
- BOOL /*bCompleteWords*/ /* FALSE (default)
- Nur der tats"achlich selektierte Text wird
- zur"uckgegeben.
-
- TRUE
- Der selektierte Text wird soweit erweitert,
- da\s nur ganze W"orter zur"uckgegeben werden.
- Als Worttrenner gelten White-Spaces und die
+ BOOL /*bCompleteWords*/ /* FALSE (default)
+ Nur der tats"achlich selektierte Text wird
+ zur"uckgegeben.
+
+ TRUE
+ Der selektierte Text wird soweit erweitert,
+ da\s nur ganze W"orter zur"uckgegeben werden.
+ Als Worttrenner gelten White-Spaces und die
Satzzeichen ".,;" sowie einfache und doppelte
- Anf"uhrungszeichen.
- */
+ Anf"uhrungszeichen.
+ */
)
/* [Beschreibung]
- Diese Methode kann von Anwendungsprogrammierer "uberladen werden,
- um einen Text zur"uckzuliefern, der in der aktuellen Selektion
- steht. Dieser wird z.B. beim Versenden (email) verwendet.
+ Diese Methode kann von Anwendungsprogrammierer "uberladen werden,
+ um einen Text zur"uckzuliefern, der in der aktuellen Selektion
+ steht. Dieser wird z.B. beim Versenden (email) verwendet.
Mit "CompleteWords == TRUE" ger"ufen, reicht z.B. auch der Cursor,
- der in einer URL steht, um die gesamte URL zu liefern.
+ der in einer URL steht, um die gesamte URL zu liefern.
*/
{
@@ -1431,9 +1490,9 @@ BOOL SfxViewShell::HasSelection( BOOL ) const
/* [Beschreibung]
- Mit dieser virtuellen Methode kann z.B. ein Dialog abfragen, ob in der
- aktuellen View etwas selektiert ist. Wenn der Parameter <BOOL> TRUE ist,
- wird abgefragt, ob Text selektiert ist.
+ Mit dieser virtuellen Methode kann z.B. ein Dialog abfragen, ob in der
+ aktuellen View etwas selektiert ist. Wenn der Parameter <BOOL> TRUE ist,
+ wird abgefragt, ob Text selektiert ist.
*/
{
@@ -1446,16 +1505,16 @@ void SfxViewShell::SetSubShell( SfxShell *pShell )
/* [Beschreibung]
- Mit dieser Methode kann eine Selektions- oder Cursor-Shell angemeldet
- werden, die automatisch unmittelbar nach der SfxViewShell auf den
- SfxDispatcher gepusht wird, und automatisch umittelbar vor ihr
- gepoppt wird.
+ Mit dieser Methode kann eine Selektions- oder Cursor-Shell angemeldet
+ werden, die automatisch unmittelbar nach der SfxViewShell auf den
+ SfxDispatcher gepusht wird, und automatisch umittelbar vor ihr
+ gepoppt wird.
- Ist die SfxViewShell-Instanz bereits gepusht, dann wird pShell
- sofort ebenfalls gepusht. Wird mit SetSubShell eine andere SfxShell
- Instanz angemeldet, als vorher angemeldet war, wird die zuvor angemeldete
- ggf. automatisch gepoppt. Mit pShell==0 kann daher die aktuelle
- Sub-Shell abgemeldet werden.
+ Ist die SfxViewShell-Instanz bereits gepusht, dann wird pShell
+ sofort ebenfalls gepusht. Wird mit SetSubShell eine andere SfxShell
+ Instanz angemeldet, als vorher angemeldet war, wird die zuvor angemeldete
+ ggf. automatisch gepoppt. Mit pShell==0 kann daher die aktuelle
+ Sub-Shell abgemeldet werden.
*/
{
@@ -1557,6 +1616,7 @@ void SfxViewShell::ReadUserData(const String&, BOOL )
void SfxViewShell::ReadUserDataSequence ( const ::com::sun::star::uno::Sequence < ::com::sun::star::beans::PropertyValue >&, sal_Bool )
{
}
+
void SfxViewShell::WriteUserDataSequence ( ::com::sun::star::uno::Sequence < ::com::sun::star::beans::PropertyValue >&, sal_Bool )
{
}
@@ -1567,8 +1627,8 @@ void SfxViewShell::WriteUserDataSequence ( ::com::sun::star::uno::Sequence < ::c
SfxViewShell* SfxViewShell::GetFirst
(
- const TypeId* pType,
- BOOL bOnlyVisible
+ const TypeId* pType,
+ BOOL bOnlyVisible
)
{
// search for a SfxViewShell of the specified type
@@ -1604,9 +1664,9 @@ SfxViewShell* SfxViewShell::GetFirst
SfxViewShell* SfxViewShell::GetNext
(
- const SfxViewShell& rPrev,
- const TypeId* pType,
- BOOL bOnlyVisible
+ const SfxViewShell& rPrev,
+ const TypeId* pType,
+ BOOL bOnlyVisible
)
{
SfxViewShellArr_Impl &rShells = SFX_APP()->GetViewShells_Impl();
@@ -1702,24 +1762,24 @@ FASTBOOL SfxViewShell::KeyInput( const KeyEvent &rKeyEvent )
/* [Beschreibung]
- Diese Methode f"uhrt das KeyEvent 'rKeyEvent' "uber die an dieser
- SfxViewShell direkt oder indirekt (z.B. via Applikation) konfigurierten
- Tasten (Accelerator) aus.
+ Diese Methode f"uhrt das KeyEvent 'rKeyEvent' "uber die an dieser
+ SfxViewShell direkt oder indirekt (z.B. via Applikation) konfigurierten
+ Tasten (Accelerator) aus.
- [R"uckgabewert]
+ [R"uckgabewert]
- FASTBOOL TRUE
- die Taste ist konfiguriert, der betreffende
- Handler wurde gerufen
+ FASTBOOL TRUE
+ die Taste ist konfiguriert, der betreffende
+ Handler wurde gerufen
- FALSE
- die Taste ist nicht konfiguriert, es konnte
- also kein Handler gerufen werden
+ FALSE
+ die Taste ist nicht konfiguriert, es konnte
+ also kein Handler gerufen werden
- [Querverweise]
- <SfxApplication::KeyInput(const KeyEvent&)>
+ [Querverweise]
+ <SfxApplication::KeyInput(const KeyEvent&)>
*/
{
return ExecKey_Impl(rKeyEvent);
@@ -1736,9 +1796,9 @@ void SfxViewShell::ShowCursor( FASTBOOL /*bOn*/ )
/* [Beschreibung]
- Diese Methode mu\s von Subklassen "uberladen werden, damit vom SFx
- aus der Cursor ein- und ausgeschaltet werden kann. Dies geschieht
- z.B. bei laufendem <SfxProgress>.
+ Diese Methode mu\s von Subklassen "uberladen werden, damit vom SFx
+ aus der Cursor ein- und ausgeschaltet werden kann. Dies geschieht
+ z.B. bei laufendem <SfxProgress>.
*/
{
@@ -1750,15 +1810,15 @@ void SfxViewShell::GotFocus() const
/* [Beschreibung]
- Diese Methode mu\s vom Applikationsentwickler gerufen werden, wenn
- das Edit-Window den Focus erhalten hat. Der SFx hat so z.B. die
- M"oglichkeit, den Accelerator einzuschalten.
+ Diese Methode mu\s vom Applikationsentwickler gerufen werden, wenn
+ das Edit-Window den Focus erhalten hat. Der SFx hat so z.B. die
+ M"oglichkeit, den Accelerator einzuschalten.
- [Anmerkung]
+ [Anmerkung]
- <StarView> liefert leider keine M"oglichkeit, solche Events
- 'von der Seite' einzuh"angen.
+ <StarView> liefert leider keine M"oglichkeit, solche Events
+ 'von der Seite' einzuh"angen.
*/
{
@@ -1838,10 +1898,10 @@ void SfxViewShell::CheckIPClient_Impl( SfxInPlaceClient *pIPClient, const Rectan
// this method is called when either a client is created or the "Edit/Plugins" checkbox is checked
if ( !pIPClient->IsObjectInPlaceActive() && pImp->m_bPlugInsActive )
{
- // object in client is currently not active
- // check if the object wants to be activated always or when it becomes at least partially visible
- // TODO/LATER: maybe we should use the scaled area instead of the ObjArea?!
- if ( bAlwaysActive || (bActiveWhenVisible && rVisArea.IsOver(pIPClient->GetObjArea())) )
+ // object in client is currently not active
+ // check if the object wants to be activated always or when it becomes at least partially visible
+ // TODO/LATER: maybe we should use the scaled area instead of the ObjArea?!
+ if ( bAlwaysActive || (bActiveWhenVisible && rVisArea.IsOver(pIPClient->GetObjArea())) )
{
try
{
@@ -1854,11 +1914,11 @@ void SfxViewShell::CheckIPClient_Impl( SfxInPlaceClient *pIPClient, const Rectan
}
else if (!pImp->m_bPlugInsActive)
{
- // object in client is currently active and "Edit/Plugins" checkbox is selected
- // check if the object wants to be activated always or when it becomes at least partially visible
+ // object in client is currently active and "Edit/Plugins" checkbox is selected
+ // check if the object wants to be activated always or when it becomes at least partially visible
// in this case selecting of the "Edit/Plugin" checkbox should let such objects deactivate
- if ( bAlwaysActive || bActiveWhenVisible )
- pIPClient->GetObject()->changeState( embed::EmbedStates::RUNNING );
+ if ( bAlwaysActive || bActiveWhenVisible )
+ pIPClient->GetObject()->changeState( embed::EmbedStates::RUNNING );
}
}
@@ -1874,9 +1934,9 @@ void SfxViewShell::DiscardClients_Impl()
/* [Beschreibung]
- Diese Methode dient dazu, vor dem Schlie\sen eines Dokuments das
- Speichern der Objekte zu verhindern, wenn der Benutzer Schlie\en ohne
- Speichern gew"ahlt hatte.
+ Diese Methode dient dazu, vor dem Schlie\sen eines Dokuments das
+ Speichern der Objekte zu verhindern, wenn der Benutzer Schlie\en ohne
+ Speichern gew"ahlt hatte.
*/
{
@@ -1982,9 +2042,9 @@ void SfxViewShell::JumpToMark( const String& rMark )
{
SfxStringItem aMarkItem( SID_JUMPTOMARK, rMark );
GetViewFrame()->GetDispatcher()->Execute(
- SID_JUMPTOMARK,
- SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD,
- &aMarkItem, 0L );
+ SID_JUMPTOMARK,
+ SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD,
+ &aMarkItem, 0L );
}
//------------------------------------------------------------------------
@@ -2005,8 +2065,7 @@ void SfxViewShell::SetController( SfxBaseController* pController )
if ( pImp->xClipboardListener.is() )
pImp->xClipboardListener->DisconnectViewShell();
- pImp->xClipboardListener = new SfxClipboardChangeListener( this );
- AddRemoveClipboardListener( pImp->xClipboardListener.get(), TRUE );
+ pImp->xClipboardListener = new SfxClipboardChangeListener( this, GetClipboardNotifier() );
}
Reference < XController > SfxViewShell::GetController()
@@ -2061,6 +2120,7 @@ void Change( Menu* pMenu, SfxViewShell* pView )
if ( pSlot )
{
pMenu->InsertItem( pSlot->GetSlotId(), pMenu->GetItemText( nId ), pMenu->GetItemBits( nId ), nPos );
+ pMenu->SetItemCommand( pSlot->GetSlotId(), aCmd );
pMenu->RemoveItem( nPos+1 );
break;
}
@@ -2071,19 +2131,19 @@ void Change( Menu* pMenu, SfxViewShell* pView )
}
-BOOL SfxViewShell::TryContextMenuInterception( Menu& rIn, const ::rtl::OUString& rMenuIdentifier, Menu*& rpOut, ::com::sun::star::ui::ContextMenuExecuteEvent aEvent )
+BOOL SfxViewShell::TryContextMenuInterception( Menu& rIn, const ::rtl::OUString& rMenuIdentifier, Menu*& rpOut, ui::ContextMenuExecuteEvent aEvent )
{
rpOut = NULL;
BOOL bModified = FALSE;
// create container from menu
- // #110897#
+ // #110897#
// aEvent.ActionTriggerContainer = ::framework::ActionTriggerHelper::CreateActionTriggerContainerFromMenu( &rIn );
aEvent.ActionTriggerContainer = ::framework::ActionTriggerHelper::CreateActionTriggerContainerFromMenu(
::comphelper::getProcessServiceFactory(), &rIn, &rMenuIdentifier );
// get selection from controller
- aEvent.Selection = ::com::sun::star::uno::Reference < ::com::sun::star::view::XSelectionSupplier > ( GetController(), ::com::sun::star::uno::UNO_QUERY );
+ aEvent.Selection = uno::Reference < view::XSelectionSupplier > ( GetController(), uno::UNO_QUERY );
// call interceptors
::cppu::OInterfaceIteratorHelper aIt( pImp->aInterceptorContainer );
@@ -2091,22 +2151,22 @@ BOOL SfxViewShell::TryContextMenuInterception( Menu& rIn, const ::rtl::OUString&
{
try
{
- ::com::sun::star::ui::ContextMenuInterceptorAction eAction =
- ((::com::sun::star::ui::XContextMenuInterceptor*)aIt.next())->notifyContextMenuExecute( aEvent );
+ ui::ContextMenuInterceptorAction eAction =
+ ((ui::XContextMenuInterceptor*)aIt.next())->notifyContextMenuExecute( aEvent );
switch ( eAction )
{
- case ::com::sun::star::ui::ContextMenuInterceptorAction_CANCELLED :
+ case ui::ContextMenuInterceptorAction_CANCELLED :
// interceptor does not want execution
return FALSE;
- case ::com::sun::star::ui::ContextMenuInterceptorAction_EXECUTE_MODIFIED :
+ case ui::ContextMenuInterceptorAction_EXECUTE_MODIFIED :
// interceptor wants his modified menu to be executed
bModified = TRUE;
break;
- case ::com::sun::star::ui::ContextMenuInterceptorAction_CONTINUE_MODIFIED :
+ case ui::ContextMenuInterceptorAction_CONTINUE_MODIFIED :
// interceptor has modified menu, but allows for calling other interceptors
bModified = TRUE;
continue;
- case ::com::sun::star::ui::ContextMenuInterceptorAction_IGNORED :
+ case ui::ContextMenuInterceptorAction_IGNORED :
// interceptor is indifferent
continue;
default:
@@ -2114,7 +2174,7 @@ BOOL SfxViewShell::TryContextMenuInterception( Menu& rIn, const ::rtl::OUString&
continue;
}
}
- catch( ::com::sun::star::uno::RuntimeException& )
+ catch( uno::RuntimeException& )
{
aIt.remove();
}
@@ -2153,8 +2213,8 @@ void SfxViewShell::CheckOwnerShip_Impl()
BOOL bSuccess = FALSE;
if (pImp->m_bGotOwnership)
{
- com::sun::star::uno::Reference < com::sun::star::util::XCloseable > xModel(
- GetObjectShell()->GetModel(), com::sun::star::uno::UNO_QUERY );
+ uno::Reference < util::XCloseable > xModel(
+ GetObjectShell()->GetModel(), uno::UNO_QUERY );
if ( xModel.is() )
{
try
@@ -2163,7 +2223,7 @@ void SfxViewShell::CheckOwnerShip_Impl()
xModel->close( sal_True );
bSuccess = TRUE;
}
- catch ( com::sun::star::util::CloseVetoException& )
+ catch ( util::CloseVetoException& )
{
}
}
@@ -2172,15 +2232,15 @@ void SfxViewShell::CheckOwnerShip_Impl()
if (!bSuccess && pImp->m_bGotFrameOwnership)
{
// document couldn't be closed or it shouldn't, now try at least to close the frame
- com::sun::star::uno::Reference < com::sun::star::util::XCloseable > xFrame(
- GetViewFrame()->GetFrame().GetFrameInterface(), com::sun::star::uno::UNO_QUERY );
+ uno::Reference < util::XCloseable > xFrame(
+ GetViewFrame()->GetFrame().GetFrameInterface(), com::sun::star::uno::UNO_QUERY );
if ( xFrame.is() )
{
try
{
xFrame->close( sal_True );
}
- catch ( com::sun::star::util::CloseVetoException& )
+ catch ( util::CloseVetoException& )
{
}
}
@@ -2190,9 +2250,7 @@ void SfxViewShell::CheckOwnerShip_Impl()
long SfxViewShell::HandleNotifyEvent_Impl( NotifyEvent& rEvent )
{
if (pImp->m_pController.is())
- {
return pImp->m_pController->HandleEvent_Impl( rEvent );
- }
return 0;
}
@@ -2211,7 +2269,7 @@ BOOL SfxViewShell::HasMouseClickListeners_Impl()
void SfxViewShell::SetAdditionalPrintOptions( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >& rOpts )
{
pImp->aPrintOpts = rOpts;
-// GetObjectShell()->Broadcast( SfxPrintingHint( -3, NULL, NULL, rOpts ) );
+// GetObjectShell()->Broadcast( SfxPrintingHint( -3, NULL, NULL, rOpts ) );
}
BOOL SfxViewShell::Escape()
@@ -2227,11 +2285,20 @@ Reference< view::XRenderable > SfxViewShell::GetRenderable()
{
Reference< frame::XModel > xModel( pObj->GetModel() );
if( xModel.is() )
- xRender = Reference< view::XRenderable >( xModel, UNO_QUERY );
+ xRender = Reference< view::XRenderable >( xModel, UNO_QUERY );
}
return xRender;
}
+uno::Reference< datatransfer::clipboard::XClipboardNotifier > SfxViewShell::GetClipboardNotifier()
+{
+ uno::Reference< datatransfer::clipboard::XClipboardNotifier > xClipboardNotifier;
+ if ( GetViewFrame() )
+ xClipboardNotifier = uno::Reference< datatransfer::clipboard::XClipboardNotifier >( GetViewFrame()->GetWindow().GetClipboard(), uno::UNO_QUERY );
+
+ return xClipboardNotifier;
+}
+
void SfxViewShell::AddRemoveClipboardListener( const uno::Reference < datatransfer::clipboard::XClipboardListener >& rClp, BOOL bAdd )
{
try
diff --git a/sfx2/util/makefile.mk b/sfx2/util/makefile.mk
deleted file mode 100644
index f520e2097e..0000000000
--- a/sfx2/util/makefile.mk
+++ /dev/null
@@ -1,172 +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=sfx2
-TARGET=sfx
-#sfx.hid generieren
-GEN_HID=TRUE
-GEN_HID_OTHER=TRUE
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Allgemein ----------------------------------------------------
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1FILES= $(SLB)$/appl.lib \
- $(SLB)$/explorer.lib \
- $(SLB)$/doc.lib \
- $(SLB)$/view.lib \
- $(SLB)$/control.lib \
- $(SLB)$/notify.lib \
- $(SLB)$/menu.lib \
- $(SLB)$/inet.lib \
- $(SLB)$/toolbox.lib \
- $(SLB)$/statbar.lib \
- $(SLB)$/dialog.lib \
- $(SLB)$/bastyp.lib \
- $(SLB)$/config.lib
-
-.IF "$(ENABLE_LAYOUT)" == "TRUE"
-LIB1FILES += $(SLB)$/layout.lib
-.ENDIF # ENABLE_LAYOUT == TRUE
-
-HELPIDFILES=\
- ..\inc\sfx2\sfxsids.hrc \
- ..\source\inc\helpid.hrc
-
-.IF "$(GUI)"!="UNX"
-LIB2TARGET= $(LB)$/$(TARGET).lib
-LIB2FILES= $(LB)$/isfx.lib
-LIB2DEPN=$(SHL1TARGETN)
-.ENDIF
-
-SHL1TARGET= sfx$(DLLPOSTFIX)
-SHL1IMPLIB= isfx
-SHL1USE_EXPORTS=name
-
-SHL1STDLIBS+=\
- $(FWELIB) \
- $(BASICLIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SOTLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(SAXLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SALLIB) \
- $(LIBXML2LIB) \
-
-
-.IF "$(GUI)"=="WNT"
-
-SHL1STDLIBS+=\
- $(UWINAPILIB) \
- $(ADVAPI32LIB) \
- $(SHELL32LIB) \
- $(GDI32LIB) \
- $(OLE32LIB) \
- $(UUIDLIB)
-.ELSE # WNT
-.IF "$(OS)" == "MACOSX"
-SHL1STDLIBS+= -framework Cocoa
-.ENDIF # MACOSX
-.ENDIF # WNT
-
-
-SHL1DEPN += $(shell @$(FIND) $(SLO) -type f -name "*.OBJ" -print)
-
-SHL1LIBS= $(LIB1TARGET)
-
-#SHL1OBJS= $(SLO)$/sfxdll.obj
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME =$(SHL1TARGET)
-DEFLIB1NAME =sfx
-DEF1DES =Sfx
-
-SFXSRSLIST=\
- $(SRS)$/appl.srs \
- $(SRS)$/sfx.srs \
- $(SRS)$/doc.srs \
- $(SRS)$/view.srs \
- $(SRS)$/menu.srs \
- $(SRS)$/dialog.srs \
- $(SRS)$/bastyp.srs
-
-RESLIB1NAME=$(TARGET)
-RESLIB1IMAGES=$(PRJ)$/res
-RESLIB1SRSFILES=$(SFXSRSLIST)
-
-# gtk quick-starter
-.IF "$(GUI)"=="UNX"
-.IF "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
-PKGCONFIG_MODULES=gtk+-2.0
-.INCLUDE: pkg_config.mk
-CFLAGS+=$(PKGCONFIG_CFLAGS)
-
-SHL3TARGET=qstart_gtk$(DLLPOSTFIX)
-SHL3LIBS=$(SLB)$/quickstart.lib
-SHL3DEPN=$(SHL1IMPLIBN) $(SHL1TARGETN)
-# libs for gtk plugin
-SHL3STDLIBS=$(SHL1STDLIBS) $(SFX2LIB) $(EGGTRAYLIB)
-SHL3STDLIBS+=$(PKGCONFIG_LIBS:s/ -lpangoxft-1.0//)
-# hack for faked SO environment
-.IF "$(PKGCONFIG_ROOT)"!=""
-SHL3SONAME+=-z nodefs
-SHL3NOCHECK=TRUE
-.ENDIF # "$(PKGCONFIG_ROOT)"!=""
-.ENDIF # "$(ENABLE_SYSTRAY_GTK)"=="TRUE"
-.ENDIF # "$(GUI)"=="UNX"
-
-# --- Targets ------------------------------------------------------
-
-
-.INCLUDE : target.mk
-
-ALLTAR : $(MISC)/sfx.component
-
-$(MISC)/sfx.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- sfx.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt sfx.component
diff --git a/sfx2/workben/custompanel/makefile.mk b/sfx2/workben/custompanel/makefile.mk
deleted file mode 100644
index 1eb20ceed3..0000000000
--- a/sfx2/workben/custompanel/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.
-#
-#*************************************************************************
-
-PRJ=../..
-PRJNAME=sfx2
-
-TARGET=custompanel
-ENABLE_EXCEPTIONS=TRUE
-LIBTARGET=NO
-EXTENSIONNAME:=custom-tool-panel
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-#-------------------------------------------------------------------
-
-#---- extension version
-EXTENSION_VERSION_BASE=0.1
-.IF ( "$(CWS_WORK_STAMP)" == "" ) || ( "$(UPDATER)" == "YES" )
- EXTENSION_VERSION=$(EXTENSION_VERSION_BASE)
-.ELSE
- EXTENSION_VERSION=$(EXTENSION_VERSION_BASE).cws.$(CWS_WORK_STAMP)
-.ENDIF
-
-#---- extension title package name
-EXTENSION_TITLE=Custom Tool Panel Example
-EXTENSION_ZIPNAME=$(EXTENSIONNAME)-$(EXTENSION_VERSION_BASE)-$(RTL_OS:l)-$(RTL_ARCH:l)
-
-#--------------------------------------------------
-
-SHL1DLLPRE=
-SHL1TARGET=$(TARGET).uno
-LIB1TARGET=$(SLB)/$(SHL1TARGET).lib
-LIB1OBJFILES= \
- $(SLO)/ctp_factory.obj \
- $(SLO)/ctp_services.obj \
- $(SLO)/ctp_panel.obj
-
-SHL1STDLIBS= \
- $(CPPULIB) \
- $(SALLIB) \
- $(SALHELPERLIB) \
- $(CPPUHELPERLIB)
-
-SHL1VERSIONMAP=$(SOLARSRC)/solenv/src/component.map
-SHL1LIBS= $(LIB1TARGET)
-SHL1DEF= $(MISC)/$(SHL1TARGET).def
-SHL1RPATH= OXT
-DEF1NAME= $(SHL1TARGET)
-
-# create Extension -----------------------------
-
-COMPONENT_CONFIGDEST=.
-
-COMPONENT_XCU = \
- $(EXTENSIONDIR)/WriterWindowState.xcu \
- $(EXTENSIONDIR)/CalcWindowState.xcu \
- $(EXTENSIONDIR)/DrawWindowState.xcu \
- $(EXTENSIONDIR)/ImpressWindowState.xcu \
- $(EXTENSIONDIR)/Factories.xcu
-
-COMPONENT_LIBRARIES = \
- $(EXTENSIONDIR)/$(SHL1TARGET)$(DLLPOST)
-
-COMPONENT_IMAGES= \
- $(EXTENSIONDIR)/panel.png
-
-# ........ dependencies for packaging the extension ........
-EXTENSION_PACKDEPS=makefile.mk $(COMPONENT_IMAGES)
-
-# --- Targets ------------------------------------------------------
-.INCLUDE : extension_pre.mk
-.INCLUDE : target.mk
-.INCLUDE : extension_post.mk
-
-$(EXTENSIONDIR)/%.png : ./%.png
- @@-$(MKDIRHIER) $(@:d)
- @$(COPY) $< $@ > $(NULLDEV)
-
-$(EXTENSIONDIR)/WriterWindowState.xcu: ./WriterWindowState.xcu
- @@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(TYPE) ./WriterWindowState.xcu | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $(EXTENSIONDIR)/WriterWindowState.xcu
-
-$(EXTENSIONDIR)/CalcWindowState.xcu: ./CalcWindowState.xcu
- @@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(TYPE) ./CalcWindowState.xcu | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $(EXTENSIONDIR)/CalcWindowState.xcu
-
-$(EXTENSIONDIR)/DrawWindowState.xcu: ./DrawWindowState.xcu
- @@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(TYPE) ./DrawWindowState.xcu | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $(EXTENSIONDIR)/DrawWindowState.xcu
-
-$(EXTENSIONDIR)/ImpressWindowState.xcu: ./ImpressWindowState.xcu
- @@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(TYPE) ./ImpressWindowState.xcu | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $(EXTENSIONDIR)/ImpressWindowState.xcu
-
diff --git a/shell/prj/build.lst b/shell/prj/build.lst
index 9a5bf35dde..ad157a677b 100755
--- a/shell/prj/build.lst
+++ b/shell/prj/build.lst
@@ -1,4 +1,4 @@
-sl shell : l10n offuh rdbmaker tools sal EXPAT:expat NULL
+sl shell : l10n offuh rdbmaker tools sal EXPAT:expat LIBXSLT:libxslt NULL
sl shell\inc nmake - all sl_inc NULL
sl shell\source\win32 nmake - w sl_win32 sl_inc NULL
sl shell\source\win32\simplemail nmake - w sl_win32_simplemail sl_inc NULL
diff --git a/shell/qa/makefile.mk b/shell/qa/makefile.mk
index cc91a6b1ad..290798bab1 100755
--- a/shell/qa/makefile.mk
+++ b/shell/qa/makefile.mk
@@ -28,8 +28,6 @@ PRJ=..
PRJNAME=shell
TARGET=qa
-# this is removed at the moment because we need some enhancements
-# TESTDIR=TRUE
ENABLE_EXCEPTIONS=TRUE
diff --git a/shell/source/tools/lngconvex/makefile.mk b/shell/source/tools/lngconvex/makefile.mk
index da28e5ff68..3ee6298e74 100644
--- a/shell/source/tools/lngconvex/makefile.mk
+++ b/shell/source/tools/lngconvex/makefile.mk
@@ -58,8 +58,8 @@ APP1STDLIBS= $(SALLIB)\
$(I18NISOLANGLIB)
.IF "$(COM)"!="GCC"
-APP1STDLIBS+= $(TOOLSLIBST) \
- msvcprt.lib
+APP1STDLIBS+= msvcprt.lib
+#$(TOOLSLIBST)
.ENDIF
# --- Targets ------------------------------------------------------
diff --git a/shell/source/win32/simplemail/senddoc.cxx b/shell/source/win32/simplemail/senddoc.cxx
index 42f5b9e244..b904902ee4 100644
--- a/shell/source/win32/simplemail/senddoc.cxx
+++ b/shell/source/win32/simplemail/senddoc.cxx
@@ -170,7 +170,7 @@ void initMapiMessage(
pMapiMessage->lpszSubject = const_cast<char*>(gSubject.c_str());
pMapiMessage->lpszNoteText = (gBody.length() ? const_cast<char*>(gBody.c_str()) : NULL);
pMapiMessage->lpOriginator = aMapiOriginator;
- pMapiMessage->lpRecips = &aMapiRecipientList[0];
+ pMapiMessage->lpRecips = aMapiRecipientList.size() ? &aMapiRecipientList[0] : 0;
pMapiMessage->nRecipCount = aMapiRecipientList.size();
pMapiMessage->lpFiles = &aMapiAttachmentList[0];
pMapiMessage->nFileCount = aMapiAttachmentList.size();
diff --git a/svx/Makefile b/svx/Makefile
new file mode 100644
index 0000000000..963c7870d9
--- /dev/null
+++ b/svx/Makefile
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+
+gb_CURRENT_MODULE := $(lastword $(subst /, ,$(dir $(realpath $(firstword $(MAKEFILE_LIST))))))
+
+$(eval $(call gb_Module_make_global_targets,$(gb_CURRENT_MODULE)))
+
+
diff --git a/svx/inc/galbrws2.hxx b/svx/inc/galbrws2.hxx
index 2549f2e8e7..65ca239e5a 100644
--- a/svx/inc/galbrws2.hxx
+++ b/svx/inc/galbrws2.hxx
@@ -36,7 +36,7 @@
#include <svtools/transfer.hxx>
#include <svl/lstner.hxx>
#include <svtools/miscopt.hxx>
-#include "galbrws.hxx"
+#include "svx/galbrws.hxx"
// ----------------------
// - GalleryBrowserMode -
diff --git a/svx/inc/globlac.hrc b/svx/inc/globlac.hrc
deleted file mode 100644
index b51334d0f8..0000000000
--- a/svx/inc/globlac.hrc
+++ /dev/null
@@ -1,223 +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 _GLOBALACC_SRC
-#define _GLOBALACC_SRC
-
-#define ACC_CODE( Id, c, bSh, bM1, bM2 ) \
- AcceleratorItem { Identifier = Id; \
- Key = KeyCode { Code = c ; \
- Shift = bSh ; Modifier1 = bM1 ; Modifier2 = bM2 ; }; };
-
-#define ACC_FUNC( Id, f ) \
- AcceleratorItem { Identifier = Id; \
- Key = KeyCode { Function = f ; }; };
-
-#define ACC_KEY( language, c, bSh, bM1, bM2 ) \
- Key[ language ] = KeyCode { Code = c ; \
- Shift = bSh ; Modifier1 = bM1 ; Modifier2 = bM2 ; };
-
-#define ACC_DEF_KEY( c, bSh, bM1, bM2 ) \
- Key = KeyCode { Code = c ; \
- Shift = bSh ; Modifier1 = bM1 ; Modifier2 = bM2 ; };
-
-
-#define AI_HELPINDEX ACC_CODE( SID_HELPINDEX, KEY_F1, FALSE, TRUE, FALSE )
-
-#define AI_ATTR_CHAR ACC_CODE( SID_ATTR_CHAR, KEY_F2, FALSE, FALSE, FALSE )
-// new shortcut F9 for starting slide-show (see #73417#)
-#define AI_PRESENTATION ACC_CODE( SID_PRESENTATION, KEY_F9, FALSE, FALSE, FALSE )
-// formerly used shortcut Ctrl-F2. Still used (in sd) for compatibility
-#define AI_PRESENTATION_COMPAT ACC_CODE( SID_PRESENTATION, KEY_F2, FALSE, TRUE, FALSE )
-#define AI_ENTER_GROUP ACC_CODE( SID_ENTER_GROUP, KEY_F3, FALSE, FALSE, FALSE )
-#define AI_COPYOBJECTS ACC_CODE( SID_COPYOBJECTS, KEY_F3, TRUE, FALSE, FALSE )
-#define AI_LEAVE_GROUP ACC_CODE( SID_LEAVE_GROUP, KEY_F3, FALSE, TRUE, FALSE )
-#define AI_ATTR_TRANSFORM ACC_CODE( SID_ATTR_TRANSFORM, KEY_F4, FALSE, FALSE, FALSE )
-#define AI_NAVIGATOR ACC_CODE( SID_NAVIGATOR, KEY_F5, FALSE, FALSE, FALSE )
-#define AI_SPELLING ACC_CODE( SID_SPELL_DIALOG, KEY_F7, FALSE, FALSE, FALSE )
-#define AI_THESAURUS ACC_CODE( SID_THESAURUS, KEY_F7, FALSE, TRUE, FALSE )
-#define AI_BEZIER_EDIT ACC_CODE( SID_BEZIER_EDIT, KEY_F8, FALSE, FALSE, FALSE )
-#define AI_ATTR_TEXT_FITTOSIZE ACC_CODE( SID_ATTR_TEXT_FITTOSIZE, KEY_F8, TRUE, TRUE, FALSE )
-#define AI_STYLE_DESIGNER ACC_CODE( SID_STYLE_DESIGNER, KEY_F11, FALSE, FALSE, FALSE )
-#define AI_OUTLINEMODE ACC_CODE( SID_OUTLINEMODE, KEY_F12, FALSE, FALSE, FALSE )
-#define AI_DRAWINGMODE ACC_CODE( SID_DRAWINGMODE, KEY_F12, FALSE, TRUE, FALSE )
-
-#define AI_ATTR_PARA_LINESPACE_10 ACC_CODE( SID_ATTR_PARA_LINESPACE_10, KEY_1, FALSE, TRUE, FALSE )
-#define AI_ATTR_PARA_LINESPACE_20 ACC_CODE( SID_ATTR_PARA_LINESPACE_20, KEY_2, FALSE, TRUE, FALSE )
-#define AI_ATTR_PARA_LINESPACE_15 ACC_CODE( SID_ATTR_PARA_LINESPACE_15, KEY_5, FALSE, TRUE, FALSE )
-#define AI_SHOW_ITEMBROWSER ACC_CODE( SID_SHOW_ITEMBROWSER, KEY_9, TRUE, TRUE, TRUE )
-
-#define AI_ATTR_PARA_ADJUST_BLOCK AcceleratorItem { Identifier = SID_ATTR_PARA_ADJUST_BLOCK;\
- ACC_DEF_KEY( KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( pl , KEY_J, FALSE, TRUE, FALSE ) \
- ACC_KEY( ru , KEY_J, FALSE, TRUE, FALSE ) };
-
-#define AI_ATTR_PARA_ADJUST_CENTER AcceleratorItem { Identifier = SID_ATTR_PARA_ADJUST_CENTER;\
- ACC_DEF_KEY( KEY_E, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_E, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_E, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_E, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_E, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_C, TRUE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_J, FALSE, TRUE, FALSE ) };
-
-#define AI_ATTR_CHAR_WEIGHT AcceleratorItem { Identifier = SID_ATTR_CHAR_WEIGHT;\
- ACC_DEF_KEY( KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_G, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_N, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_G, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( da , KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( pl , KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( ru, KEY_B, FALSE, TRUE, FALSE ) };
-
-#define AI_SEARCH_DLG AcceleratorItem { Identifier = SID_SEARCH_DLG;\
- ACC_DEF_KEY( KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_G, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_B, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_G, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_F, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_F, FALSE, TRUE, FALSE ) };
-
-#define AI_GROUP ACC_CODE( SID_GROUP, KEY_G, TRUE, TRUE, FALSE )
-#define AI_UNGROUP ACC_CODE( SID_UNGROUP, KEY_G, TRUE, TRUE, TRUE )
-
-// Weitersuchen ...
-#define AI_SET_SUPER_SCRIPT AcceleratorItem { Identifier = SID_SET_SUPER_SCRIPT;\
- ACC_DEF_KEY( KEY_P, TRUE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_H, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_P, TRUE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_H, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_H, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_H, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_H, FALSE, TRUE, FALSE ) };
-
-#define AI_ATTR_CHAR_POSTURE AcceleratorItem { Identifier = SID_ATTR_CHAR_POSTURE;\
- ACC_DEF_KEY( KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_K, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_K, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( da , KEY_K, FALSE, TRUE, FALSE ) \
- ACC_KEY( pl , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( ru , KEY_I, FALSE, TRUE, FALSE ) };
-
-#define AI_COMBINE ACC_CODE( SID_COMBINE, KEY_K, TRUE, TRUE, FALSE )
-#define AI_DISMANTLE ACC_CODE( SID_DISMANTLE, KEY_K, TRUE, TRUE, TRUE )
-#define AI_ATTR_PARA_ADJUST_LEFT AcceleratorItem { Identifier = SID_ATTR_PARA_ADJUST_LEFT;\
- ACC_DEF_KEY( KEY_L, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_L, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_L, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_T, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_I, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_G, TRUE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_L, FALSE, TRUE, FALSE ) };
-
-#define AI_ATTR_PARA_ADJUST_RIGHT AcceleratorItem { Identifier = SID_ATTR_PARA_ADJUST_RIGHT;\
- ACC_DEF_KEY( KEY_R, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_R, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_R, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_R, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_D, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_D, TRUE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_R, FALSE, TRUE, FALSE ) };
-
-#define AI_SET_SUB_SCRIPT AcceleratorItem { Identifier = SID_SET_SUB_SCRIPT;\
- ACC_DEF_KEY( KEY_B, TRUE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_T, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_B, TRUE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_B, TRUE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_T, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_T, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_P, TRUE, TRUE, FALSE ) };
-
-#define AI_ATTR_CHAR_UNDERLINE AcceleratorItem { Identifier = SID_ATTR_CHAR_UNDERLINE;\
- ACC_DEF_KEY( KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( de , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( en-US , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( it , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( es , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( fr , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( nl , KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( da, KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( pl, KEY_U, FALSE, TRUE, FALSE ) \
- ACC_KEY( ru , KEY_U, FALSE, TRUE, FALSE ) };
-
-#define AI_STYLE_CATALOG ACC_CODE( SID_STYLE_CATALOG, KEY_F11, FALSE, TRUE, FALSE )
-#define AI_WIN_FULLSCREEN ACC_CODE( SID_WIN_FULLSCREEN, KEY_J, TRUE, TRUE, FALSE )
-
-#define AI_FOCUSURLBOX ACC_CODE( SID_FOCUSURLBOX, KEY_O, TRUE, TRUE, FALSE )
-#define AI_SELECTALL ACC_CODE( SID_SELECTALL, KEY_A, FALSE, TRUE, FALSE )
-
-// Anordnung
-#define AI_FRAME_TO_TOP ACC_CODE( SID_FRAME_TO_TOP, KEY_ADD, TRUE, TRUE, FALSE )
-#define AI_MOREFRONT ACC_CODE( SID_MOREFRONT, KEY_ADD, FALSE, TRUE, FALSE )
-#define AI_FRAME_TO_BOTTOM ACC_CODE( SID_FRAME_TO_BOTTOM, KEY_SUBTRACT, TRUE, TRUE, FALSE )
-#define AI_MOREBACK ACC_CODE( SID_MOREBACK, KEY_SUBTRACT, FALSE, TRUE, FALSE )
-
-// sonstige Acceleratoren
-#define AI_NEWDOC ACC_CODE( SID_NEWDOC, KEY_N, TRUE, TRUE, FALSE )
-#define AI_NEWDOCDIRECT ACC_CODE( SID_NEWDOCDIRECT, KEY_N, FALSE, TRUE, FALSE )
-#define AI_OPENDOC ACC_CODE( SID_OPENDOC, KEY_O, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_OPENDOC, KEY_OPEN, FALSE, FALSE, FALSE )
-#define AI_CLOSEWIN ACC_CODE( SID_CLOSEWIN, KEY_W, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_CLOSEWIN, KEY_F4, FALSE, TRUE, FALSE )
-#define AI_SAVEDOC ACC_CODE( SID_SAVEDOC, KEY_S, FALSE, TRUE, FALSE )
-#define AI_PRINTDOC ACC_CODE( SID_PRINTDOC, KEY_P, FALSE, TRUE, FALSE )
-#define AI_QUITAPP ACC_CODE( SID_QUITAPP, KEY_Q, FALSE, TRUE, FALSE )
-#define AI_CUT ACC_CODE( SID_CUT, KEY_X, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_CUT, KEY_DELETE, TRUE, FALSE, FALSE ) \
- ACC_CODE( SID_CUT, KEY_CUT, FALSE, FALSE, FALSE )
-#define AI_COPY ACC_CODE( SID_COPY, KEY_C, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_COPY, KEY_INSERT, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_COPY, KEY_COPY, FALSE, FALSE, FALSE )
-#define AI_PASTE ACC_CODE( SID_PASTE, KEY_V, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_PASTE, KEY_INSERT, TRUE, FALSE, FALSE ) \
- ACC_CODE( SID_PASTE, KEY_PASTE, FALSE, FALSE, FALSE )
-#define AI_UNDO ACC_CODE( SID_UNDO, KEY_Z, FALSE, TRUE, FALSE ) \
- ACC_CODE( SID_UNDO, KEY_BACKSPACE, FALSE, FALSE, TRUE ) \
- ACC_CODE( SID_UNDO, KEY_UNDO, FALSE, FALSE, FALSE )
-#define AI_REDO ACC_CODE( SID_REDO, KEY_Y, FALSE, TRUE, FALSE )
-#define AI_REPEAT ACC_CODE( SID_REPEAT, KEY_REPEAT, FALSE, FALSE, FALSE )
-#define AI_DELETE ACC_CODE( SID_DELETE, KEY_DELETE, FALSE, FALSE, FALSE )
-
-#endif // _GLOBLACC_SRC
-
-
-
-
diff --git a/svx/inc/pch/precompiled_svx.hxx b/svx/inc/pch/precompiled_svx.hxx
index 30d19ad230..2ab9811be2 100644
--- a/svx/inc/pch/precompiled_svx.hxx
+++ b/svx/inc/pch/precompiled_svx.hxx
@@ -55,7 +55,6 @@
#include "boost/scoped_ptr.hpp"
#include "boost/shared_ptr.hpp"
#include "boost/spirit/include/classic_core.hpp"
-#include "bootstrp/sstring.hxx"
#include "com/sun/star/accessibility/AccessibleEventId.hpp"
#include "com/sun/star/accessibility/AccessibleEventObject.hpp"
#include "com/sun/star/accessibility/AccessibleRelationType.hpp"
diff --git a/svx/inc/ActionDescriptionProvider.hxx b/svx/inc/svx/ActionDescriptionProvider.hxx
index 70f466b6eb..70f466b6eb 100644
--- a/svx/inc/ActionDescriptionProvider.hxx
+++ b/svx/inc/svx/ActionDescriptionProvider.hxx
diff --git a/svx/inc/DescriptionGenerator.hxx b/svx/inc/svx/DescriptionGenerator.hxx
index 1ab616b7a6..1ab616b7a6 100644
--- a/svx/inc/DescriptionGenerator.hxx
+++ b/svx/inc/svx/DescriptionGenerator.hxx
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.hxx b/svx/inc/svx/EnhancedCustomShape2d.hxx
index 9853b5f1b7..9853b5f1b7 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.hxx
+++ b/svx/inc/svx/EnhancedCustomShape2d.hxx
diff --git a/svx/source/customshapes/EnhancedCustomShapeGeometry.hxx b/svx/inc/svx/EnhancedCustomShapeGeometry.hxx
index 1961227844..1961227844 100644
--- a/svx/source/customshapes/EnhancedCustomShapeGeometry.hxx
+++ b/svx/inc/svx/EnhancedCustomShapeGeometry.hxx
diff --git a/svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx b/svx/inc/svx/EnhancedCustomShapeTypeNames.hxx
index 2d26f8d6bd..2d26f8d6bd 100644
--- a/svx/source/customshapes/EnhancedCustomShapeTypeNames.hxx
+++ b/svx/inc/svx/EnhancedCustomShapeTypeNames.hxx
diff --git a/svx/inc/ParseContext.hxx b/svx/inc/svx/ParseContext.hxx
index fc589e3586..fc589e3586 100644
--- a/svx/inc/ParseContext.hxx
+++ b/svx/inc/svx/ParseContext.hxx
diff --git a/svx/inc/UnoNamespaceMap.hxx b/svx/inc/svx/UnoNamespaceMap.hxx
index 05a92f7c06..05a92f7c06 100644
--- a/svx/inc/UnoNamespaceMap.hxx
+++ b/svx/inc/svx/UnoNamespaceMap.hxx
diff --git a/svx/inc/XPropertyTable.hxx b/svx/inc/svx/XPropertyTable.hxx
index 13d870991c..13d870991c 100644
--- a/svx/inc/XPropertyTable.hxx
+++ b/svx/inc/svx/XPropertyTable.hxx
diff --git a/svx/inc/anchorid.hxx b/svx/inc/svx/anchorid.hxx
index a7c814b8f4..a7c814b8f4 100644
--- a/svx/inc/anchorid.hxx
+++ b/svx/inc/svx/anchorid.hxx
diff --git a/svx/inc/chrtitem.hxx b/svx/inc/svx/chrtitem.hxx
index 129e7e747f..129e7e747f 100644
--- a/svx/inc/chrtitem.hxx
+++ b/svx/inc/svx/chrtitem.hxx
diff --git a/svx/inc/clipboardctl.hxx b/svx/inc/svx/clipboardctl.hxx
index 4ad3933603..4ad3933603 100644
--- a/svx/inc/clipboardctl.hxx
+++ b/svx/inc/svx/clipboardctl.hxx
diff --git a/svx/inc/clipfmtitem.hxx b/svx/inc/svx/clipfmtitem.hxx
index a55b929610..a55b929610 100644
--- a/svx/inc/clipfmtitem.hxx
+++ b/svx/inc/svx/clipfmtitem.hxx
diff --git a/svx/inc/connctrl.hxx b/svx/inc/svx/connctrl.hxx
index 6ba07e23ae..6ba07e23ae 100644
--- a/svx/inc/connctrl.hxx
+++ b/svx/inc/svx/connctrl.hxx
diff --git a/svx/inc/databaseregistrationui.hxx b/svx/inc/svx/databaseregistrationui.hxx
index 736dee6e72..736dee6e72 100644
--- a/svx/inc/databaseregistrationui.hxx
+++ b/svx/inc/svx/databaseregistrationui.hxx
diff --git a/svx/inc/dbexch.hrc b/svx/inc/svx/dbexch.hrc
index 1909ece6de..1909ece6de 100644
--- a/svx/inc/dbexch.hrc
+++ b/svx/inc/svx/dbexch.hrc
diff --git a/svx/inc/dialcontrol.hxx b/svx/inc/svx/dialcontrol.hxx
index 23da0627fc..23da0627fc 100644
--- a/svx/inc/dialcontrol.hxx
+++ b/svx/inc/svx/dialcontrol.hxx
diff --git a/svx/inc/dlgutil.hxx b/svx/inc/svx/dlgutil.hxx
index 861203c2bd..861203c2bd 100644
--- a/svx/inc/dlgutil.hxx
+++ b/svx/inc/svx/dlgutil.hxx
diff --git a/svx/inc/drawitem.hxx b/svx/inc/svx/drawitem.hxx
index 2a816bc13c..2a816bc13c 100644
--- a/svx/inc/drawitem.hxx
+++ b/svx/inc/svx/drawitem.hxx
diff --git a/svx/inc/flagsdef.hxx b/svx/inc/svx/flagsdef.hxx
index b56d69fd02..b56d69fd02 100644
--- a/svx/inc/flagsdef.hxx
+++ b/svx/inc/svx/flagsdef.hxx
diff --git a/svx/inc/svx/float3d.hxx b/svx/inc/svx/float3d.hxx
index 1d255187c0..3b3793b1d0 100644
--- a/svx/inc/svx/float3d.hxx
+++ b/svx/inc/svx/float3d.hxx
@@ -37,7 +37,7 @@
#endif
#include <sfx2/dockwin.hxx>
#ifndef _IMAGEBTN_HXX //autogen
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#include <svtools/valueset.hxx>
#include <svtools/stdctrl.hxx>
diff --git a/svx/inc/fmgridif.hxx b/svx/inc/svx/fmgridif.hxx
index 31f391399a..31f391399a 100644
--- a/svx/inc/fmgridif.hxx
+++ b/svx/inc/svx/fmgridif.hxx
diff --git a/svx/inc/fmobjfac.hxx b/svx/inc/svx/fmobjfac.hxx
index 7e59fa175b..7e59fa175b 100644
--- a/svx/inc/fmobjfac.hxx
+++ b/svx/inc/svx/fmobjfac.hxx
diff --git a/svx/source/inc/fmresids.hrc b/svx/inc/svx/fmresids.hrc
index 08982d8444..08982d8444 100644
--- a/svx/source/inc/fmresids.hrc
+++ b/svx/inc/svx/fmresids.hrc
diff --git a/svx/source/inc/fmsrccfg.hxx b/svx/inc/svx/fmsrccfg.hxx
index 743dbfa378..743dbfa378 100644
--- a/svx/source/inc/fmsrccfg.hxx
+++ b/svx/inc/svx/fmsrccfg.hxx
diff --git a/svx/source/inc/fmsrcimp.hxx b/svx/inc/svx/fmsrcimp.hxx
index 8621ac19e0..8621ac19e0 100644
--- a/svx/source/inc/fmsrcimp.hxx
+++ b/svx/inc/svx/fmsrcimp.hxx
diff --git a/svx/inc/fontlb.hxx b/svx/inc/svx/fontlb.hxx
index e8bcd3777c..e8bcd3777c 100644
--- a/svx/inc/fontlb.hxx
+++ b/svx/inc/svx/fontlb.hxx
diff --git a/svx/inc/fontworkgallery.hxx b/svx/inc/svx/fontworkgallery.hxx
index e3f531ddcc..e3f531ddcc 100644
--- a/svx/inc/fontworkgallery.hxx
+++ b/svx/inc/svx/fontworkgallery.hxx
diff --git a/svx/inc/formatpaintbrushctrl.hxx b/svx/inc/svx/formatpaintbrushctrl.hxx
index 81e7031a37..81e7031a37 100644
--- a/svx/inc/formatpaintbrushctrl.hxx
+++ b/svx/inc/svx/formatpaintbrushctrl.hxx
diff --git a/svx/inc/galbrws.hxx b/svx/inc/svx/galbrws.hxx
index 01ba5ce90b..01ba5ce90b 100644
--- a/svx/inc/galbrws.hxx
+++ b/svx/inc/svx/galbrws.hxx
diff --git a/svx/inc/galctrl.hxx b/svx/inc/svx/galctrl.hxx
index a5a74d5881..a5a74d5881 100644
--- a/svx/inc/galctrl.hxx
+++ b/svx/inc/svx/galctrl.hxx
diff --git a/svx/inc/gallery.hxx b/svx/inc/svx/gallery.hxx
index 2f42bc32fe..2f42bc32fe 100644
--- a/svx/inc/gallery.hxx
+++ b/svx/inc/svx/gallery.hxx
diff --git a/svx/inc/galtheme.hxx b/svx/inc/svx/galtheme.hxx
index 6a51190ce6..6a51190ce6 100644
--- a/svx/inc/galtheme.hxx
+++ b/svx/inc/svx/galtheme.hxx
diff --git a/svx/inc/globl3d.hxx b/svx/inc/svx/globl3d.hxx
index 0d965bdd2a..0d965bdd2a 100644
--- a/svx/inc/globl3d.hxx
+++ b/svx/inc/svx/globl3d.hxx
diff --git a/svx/inc/grafctrl.hxx b/svx/inc/svx/grafctrl.hxx
index 97d8de5782..97d8de5782 100644
--- a/svx/inc/grafctrl.hxx
+++ b/svx/inc/svx/grafctrl.hxx
diff --git a/svx/inc/hlnkitem.hxx b/svx/inc/svx/hlnkitem.hxx
index 1beecda742..1beecda742 100644
--- a/svx/inc/hlnkitem.hxx
+++ b/svx/inc/svx/hlnkitem.hxx
diff --git a/svx/inc/htmlmode.hxx b/svx/inc/svx/htmlmode.hxx
index a701d03d39..a701d03d39 100644
--- a/svx/inc/htmlmode.hxx
+++ b/svx/inc/svx/htmlmode.hxx
diff --git a/svx/inc/hyperdlg.hxx b/svx/inc/svx/hyperdlg.hxx
index 457cb7c5e6..457cb7c5e6 100644
--- a/svx/inc/hyperdlg.hxx
+++ b/svx/inc/svx/hyperdlg.hxx
diff --git a/svx/source/dialog/hyprlink.hxx b/svx/inc/svx/hyprlink.hxx
index 0a1f5ad95a..0a1f5ad95a 100644
--- a/svx/source/dialog/hyprlink.hxx
+++ b/svx/inc/svx/hyprlink.hxx
diff --git a/svx/inc/imapdlg.hxx b/svx/inc/svx/imapdlg.hxx
index dc587513b8..dc587513b8 100644
--- a/svx/inc/imapdlg.hxx
+++ b/svx/inc/svx/imapdlg.hxx
diff --git a/svx/inc/insctrl.hxx b/svx/inc/svx/insctrl.hxx
index c1e43e59fa..c1e43e59fa 100644
--- a/svx/inc/insctrl.hxx
+++ b/svx/inc/svx/insctrl.hxx
diff --git a/svx/inc/layctrl.hxx b/svx/inc/svx/layctrl.hxx
index 26e3f1fc74..26e3f1fc74 100644
--- a/svx/inc/layctrl.hxx
+++ b/svx/inc/svx/layctrl.hxx
diff --git a/svx/inc/lboxctrl.hxx b/svx/inc/svx/lboxctrl.hxx
index 0a699a72aa..0a699a72aa 100644
--- a/svx/inc/lboxctrl.hxx
+++ b/svx/inc/svx/lboxctrl.hxx
diff --git a/svx/inc/linectrl.hxx b/svx/inc/svx/linectrl.hxx
index 3daef66ffd..3daef66ffd 100644
--- a/svx/inc/linectrl.hxx
+++ b/svx/inc/svx/linectrl.hxx
diff --git a/svx/inc/measctrl.hxx b/svx/inc/svx/measctrl.hxx
index 00e061b08e..00e061b08e 100644
--- a/svx/inc/measctrl.hxx
+++ b/svx/inc/svx/measctrl.hxx
diff --git a/svx/inc/modctrl.hxx b/svx/inc/svx/modctrl.hxx
index c03617ed55..c03617ed55 100644
--- a/svx/inc/modctrl.hxx
+++ b/svx/inc/svx/modctrl.hxx
diff --git a/svx/inc/numvset.hxx b/svx/inc/svx/numvset.hxx
index 63915d0500..63915d0500 100644
--- a/svx/inc/numvset.hxx
+++ b/svx/inc/svx/numvset.hxx
diff --git a/svx/inc/objfac3d.hxx b/svx/inc/svx/objfac3d.hxx
index 34dcb8b094..34dcb8b094 100644
--- a/svx/inc/objfac3d.hxx
+++ b/svx/inc/svx/objfac3d.hxx
diff --git a/svx/inc/ofaitem.hxx b/svx/inc/svx/ofaitem.hxx
index 668990b383..668990b383 100644
--- a/svx/inc/ofaitem.hxx
+++ b/svx/inc/svx/ofaitem.hxx
diff --git a/svx/inc/optgenrl.hxx b/svx/inc/svx/optgenrl.hxx
index c3afa9c847..c3afa9c847 100644
--- a/svx/inc/optgenrl.hxx
+++ b/svx/inc/svx/optgenrl.hxx
diff --git a/svx/inc/optgrid.hxx b/svx/inc/svx/optgrid.hxx
index 9fbd0098e9..9fbd0098e9 100644
--- a/svx/inc/optgrid.hxx
+++ b/svx/inc/svx/optgrid.hxx
diff --git a/svx/inc/orienthelper.hxx b/svx/inc/svx/orienthelper.hxx
index 1ffb1bb855..1ffb1bb855 100644
--- a/svx/inc/orienthelper.hxx
+++ b/svx/inc/svx/orienthelper.hxx
diff --git a/svx/inc/passwd.hxx b/svx/inc/svx/passwd.hxx
index 617c89014d..617c89014d 100644
--- a/svx/inc/passwd.hxx
+++ b/svx/inc/svx/passwd.hxx
diff --git a/svx/inc/pfiledlg.hxx b/svx/inc/svx/pfiledlg.hxx
index b6f5ec7802..b6f5ec7802 100644
--- a/svx/inc/pfiledlg.hxx
+++ b/svx/inc/svx/pfiledlg.hxx
diff --git a/svx/inc/postattr.hxx b/svx/inc/svx/postattr.hxx
index 466baf121b..466baf121b 100644
--- a/svx/inc/postattr.hxx
+++ b/svx/inc/svx/postattr.hxx
diff --git a/svx/inc/prtqry.hxx b/svx/inc/svx/prtqry.hxx
index e3d7867a23..e3d7867a23 100644
--- a/svx/inc/prtqry.hxx
+++ b/svx/inc/svx/prtqry.hxx
diff --git a/svx/inc/pszctrl.hxx b/svx/inc/svx/pszctrl.hxx
index a0f3fa725f..a0f3fa725f 100644
--- a/svx/inc/pszctrl.hxx
+++ b/svx/inc/svx/pszctrl.hxx
diff --git a/svx/inc/relfld.hxx b/svx/inc/svx/relfld.hxx
index 15863f498e..15863f498e 100644
--- a/svx/inc/relfld.hxx
+++ b/svx/inc/svx/relfld.hxx
diff --git a/svx/inc/rotmodit.hxx b/svx/inc/svx/rotmodit.hxx
index 6b281d3e80..6b281d3e80 100644
--- a/svx/inc/rotmodit.hxx
+++ b/svx/inc/svx/rotmodit.hxx
diff --git a/svx/inc/rubydialog.hxx b/svx/inc/svx/rubydialog.hxx
index 51f83c79ac..51f83c79ac 100644
--- a/svx/inc/rubydialog.hxx
+++ b/svx/inc/svx/rubydialog.hxx
diff --git a/svx/inc/rulritem.hxx b/svx/inc/svx/rulritem.hxx
index 7a3d42eebf..7a3d42eebf 100644
--- a/svx/inc/rulritem.hxx
+++ b/svx/inc/svx/rulritem.hxx
diff --git a/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx b/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
index be2518a685..b34df0bffb 100644
--- a/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
+++ b/svx/inc/svx/sdr/contact/objectcontactofobjlistpainter.hxx
@@ -95,6 +95,15 @@ namespace sdr
// Process the whole displaying
virtual void ProcessDisplay(DisplayInfo& rDisplayInfo);
+ // VirtualDevice? Default is false
+ virtual bool isOutputToVirtualDevice() const;
+
+ // recording MetaFile? Default is false
+ virtual bool isOutputToRecordingMetaFile() const;
+
+ // pdf export? Default is false
+ virtual bool isOutputToPDFFile() const;
+
// access to OutputDevice. May return 0L like the default implementations do. Needs to be overloaded as needed.
virtual OutputDevice* TryToGetOutputDevice() const;
};
diff --git a/svx/inc/svx/sdrpagewindow.hxx b/svx/inc/svx/sdrpagewindow.hxx
index 60fb360a2e..fdc57f7998 100644
--- a/svx/inc/svx/sdrpagewindow.hxx
+++ b/svx/inc/svx/sdrpagewindow.hxx
@@ -117,6 +117,7 @@ public:
void PrepareRedraw(const Region& rReg);
void RedrawAll(sdr::contact::ViewObjectContactRedirector* pRedirector) const;
void RedrawLayer(const SdrLayerID* pId, sdr::contact::ViewObjectContactRedirector* pRedirector) const;
+ void PostPaint();
// Invalidate call, used from ObjectContact(OfPageView) in InvalidatePartOfView(...)
void InvalidatePageWindow(const basegfx::B2DRange& rRange);
diff --git a/svx/inc/sdrpaintwindow.hxx b/svx/inc/svx/sdrpaintwindow.hxx
index 5b2224dfa8..5b2224dfa8 100644
--- a/svx/inc/sdrpaintwindow.hxx
+++ b/svx/inc/svx/sdrpaintwindow.hxx
diff --git a/svx/inc/selctrl.hxx b/svx/inc/svx/selctrl.hxx
index 77c8f91898..77c8f91898 100644
--- a/svx/inc/selctrl.hxx
+++ b/svx/inc/svx/selctrl.hxx
diff --git a/svx/inc/svx/splitcelldlg.hxx b/svx/inc/svx/splitcelldlg.hxx
index b74e3e21c5..cc92f4848f 100644
--- a/svx/inc/svx/splitcelldlg.hxx
+++ b/svx/inc/svx/splitcelldlg.hxx
@@ -29,7 +29,7 @@
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#include <vcl/button.hxx>
#include <svx/stddlg.hxx>
diff --git a/svx/inc/srchdlg.hxx b/svx/inc/svx/srchdlg.hxx
index 856f3fc5c3..f767586559 100644
--- a/svx/inc/srchdlg.hxx
+++ b/svx/inc/svx/srchdlg.hxx
@@ -118,7 +118,7 @@ public:
// class SvxSearchDialog -------------------------------------------------
/*
- {k:\svx\prototyp\dialog\srchdlg.hxx}
+ {k:\svx\prototyp\dialog\svx/srchdlg.hxx}
[Beschreibung]
In diesem Modeless-Dialog werden die Attribute einer Suche eingestellt
diff --git a/svx/inc/svdglob.hxx b/svx/inc/svx/svdglob.hxx
index 396ab1cff5..396ab1cff5 100644
--- a/svx/inc/svdglob.hxx
+++ b/svx/inc/svx/svdglob.hxx
diff --git a/svx/inc/svditer.hxx b/svx/inc/svx/svditer.hxx
index dcae622822..dcae622822 100644
--- a/svx/inc/svditer.hxx
+++ b/svx/inc/svx/svditer.hxx
diff --git a/svx/source/svdraw/svditext.hxx b/svx/inc/svx/svditext.hxx
index 8032e5ad93..8032e5ad93 100644
--- a/svx/source/svdraw/svditext.hxx
+++ b/svx/inc/svx/svditext.hxx
diff --git a/svx/inc/svx/svdograf.hxx b/svx/inc/svx/svdograf.hxx
index 410a1a8375..e18e879b2d 100644
--- a/svx/inc/svx/svdograf.hxx
+++ b/svx/inc/svx/svdograf.hxx
@@ -120,7 +120,8 @@ protected:
void ImpLinkAnmeldung();
void ImpLinkAbmeldung();
- sal_Bool ImpUpdateGraphicLink() const;
+ sal_Bool ImpUpdateGraphicLink( sal_Bool bAsynchron = sal_True ) const;
+ void ImpSetLinkedGraphic( const Graphic& rGraphic );
DECL_LINK( ImpSwapHdl, GraphicObject* );
public:
diff --git a/svx/inc/svx/svdpagv.hxx b/svx/inc/svx/svdpagv.hxx
index 5f2117b371..3efadcda2c 100644
--- a/svx/inc/svx/svdpagv.hxx
+++ b/svx/inc/svx/svdpagv.hxx
@@ -184,6 +184,9 @@ public:
// PrePaint call forwarded from app windows
void PrePaint();
+ // PostPaint call forwarded from app windows
+ void PostPaint();
+
// rReg bezieht sich auf's OutDev, nicht auf die Page
void CompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0L) const;
diff --git a/svx/inc/svx/svdpntv.hxx b/svx/inc/svx/svdpntv.hxx
index 8ed8b61af4..efc0df0262 100644
--- a/svx/inc/svx/svdpntv.hxx
+++ b/svx/inc/svx/svdpntv.hxx
@@ -375,6 +375,9 @@ public:
// PrePaint call forwarded from app windows
void PrePaint();
+ // PostPaint call forwarded from app windows
+ void PostPaint();
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// used internally for Draw/Impress/sch/chart2
virtual void CompleteRedraw(OutputDevice* pOut, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector = 0);
diff --git a/svx/inc/svdstr.hrc b/svx/inc/svx/svdstr.hrc
index f5997b030b..f5997b030b 100644
--- a/svx/inc/svdstr.hrc
+++ b/svx/inc/svx/svdstr.hrc
diff --git a/svx/inc/svdviter.hxx b/svx/inc/svx/svdviter.hxx
index 43f8c0e14a..43f8c0e14a 100644
--- a/svx/inc/svdviter.hxx
+++ b/svx/inc/svx/svdviter.hxx
diff --git a/svx/inc/svimbase.hxx b/svx/inc/svx/svimbase.hxx
index 7f4b4710f8..7f4b4710f8 100644
--- a/svx/inc/svimbase.hxx
+++ b/svx/inc/svx/svimbase.hxx
diff --git a/svx/inc/svxerr.hxx b/svx/inc/svx/svxerr.hxx
index 31baf42e2e..31baf42e2e 100644
--- a/svx/inc/svxerr.hxx
+++ b/svx/inc/svx/svxerr.hxx
diff --git a/svx/inc/svxgrahicitem.hxx b/svx/inc/svx/svxgrahicitem.hxx
index 120beaad6c..120beaad6c 100644
--- a/svx/inc/svxgrahicitem.hxx
+++ b/svx/inc/svx/svxgrahicitem.hxx
diff --git a/svx/inc/swframeexample.hxx b/svx/inc/svx/swframeexample.hxx
index fabd1b10c5..fabd1b10c5 100644
--- a/svx/inc/swframeexample.hxx
+++ b/svx/inc/svx/swframeexample.hxx
diff --git a/svx/inc/swframeposstrings.hxx b/svx/inc/svx/swframeposstrings.hxx
index ba73e3d017..ba73e3d017 100644
--- a/svx/inc/swframeposstrings.hxx
+++ b/svx/inc/svx/swframeposstrings.hxx
diff --git a/svx/inc/swframevalidation.hxx b/svx/inc/svx/swframevalidation.hxx
index 0bd57c9747..0bd57c9747 100644
--- a/svx/inc/swframevalidation.hxx
+++ b/svx/inc/svx/swframevalidation.hxx
diff --git a/svx/inc/svx/tabarea.hxx b/svx/inc/svx/tabarea.hxx
index d6229320d3..79b31cac28 100644
--- a/svx/inc/svx/tabarea.hxx
+++ b/svx/inc/svx/tabarea.hxx
@@ -31,7 +31,7 @@
#include <svtools/valueset.hxx>
#ifndef _IMAGEBTN_HXX //autogen
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#ifndef _FIXED_HXX //autogen
#include <vcl/fixed.hxx>
diff --git a/svx/inc/svx/tabline.hxx b/svx/inc/svx/tabline.hxx
index 8015939271..eacd2dc739 100644
--- a/svx/inc/svx/tabline.hxx
+++ b/svx/inc/svx/tabline.hxx
@@ -30,7 +30,7 @@
// include ---------------------------------------------------------------
#ifndef _IMAGEBTN_HXX //autogen
-#include <vcl/imagebtn.hxx>
+#include <vcl/button.hxx>
#endif
#ifndef _GROUP_HXX //autogen
#include <vcl/group.hxx>
diff --git a/svx/inc/tbxalign.hxx b/svx/inc/svx/tbxalign.hxx
index bc674472aa..bc674472aa 100644
--- a/svx/inc/tbxalign.hxx
+++ b/svx/inc/svx/tbxalign.hxx
diff --git a/svx/inc/tbxcolor.hxx b/svx/inc/svx/tbxcolor.hxx
index 3581093654..3581093654 100644
--- a/svx/inc/tbxcolor.hxx
+++ b/svx/inc/svx/tbxcolor.hxx
diff --git a/svx/inc/tbxctl.hxx b/svx/inc/svx/tbxctl.hxx
index eee93e3d7b..eee93e3d7b 100644
--- a/svx/inc/tbxctl.hxx
+++ b/svx/inc/svx/tbxctl.hxx
diff --git a/svx/inc/tbxcustomshapes.hxx b/svx/inc/svx/tbxcustomshapes.hxx
index 4265b9af44..4265b9af44 100644
--- a/svx/inc/tbxcustomshapes.hxx
+++ b/svx/inc/svx/tbxcustomshapes.hxx
diff --git a/svx/inc/tbxdraw.hxx b/svx/inc/svx/tbxdraw.hxx
index d4aceb2c32..d4aceb2c32 100644
--- a/svx/inc/tbxdraw.hxx
+++ b/svx/inc/svx/tbxdraw.hxx
diff --git a/svx/inc/txencbox.hxx b/svx/inc/svx/txencbox.hxx
index a37cf0aad7..a37cf0aad7 100644
--- a/svx/inc/txencbox.hxx
+++ b/svx/inc/svx/txencbox.hxx
diff --git a/svx/inc/txenctab.hxx b/svx/inc/svx/txenctab.hxx
index a1d28b2695..a1d28b2695 100644
--- a/svx/inc/txenctab.hxx
+++ b/svx/inc/svx/txenctab.hxx
diff --git a/svx/inc/unoapi.hxx b/svx/inc/svx/unoapi.hxx
index 2f9a16b91c..2f9a16b91c 100644
--- a/svx/inc/unoapi.hxx
+++ b/svx/inc/svx/unoapi.hxx
diff --git a/svx/inc/unofill.hxx b/svx/inc/svx/unofill.hxx
index 5579c2202d..5579c2202d 100644
--- a/svx/inc/unofill.hxx
+++ b/svx/inc/svx/unofill.hxx
diff --git a/svx/inc/unomaster.hxx b/svx/inc/svx/unomaster.hxx
index 670d575a53..670d575a53 100644
--- a/svx/inc/unomaster.hxx
+++ b/svx/inc/svx/unomaster.hxx
diff --git a/svx/inc/unopool.hxx b/svx/inc/svx/unopool.hxx
index 49baf26ee4..49baf26ee4 100644
--- a/svx/inc/unopool.hxx
+++ b/svx/inc/svx/unopool.hxx
diff --git a/svx/inc/unoshcol.hxx b/svx/inc/svx/unoshcol.hxx
index 8783cb9521..8783cb9521 100644
--- a/svx/inc/unoshcol.hxx
+++ b/svx/inc/svx/unoshcol.hxx
diff --git a/svx/inc/verttexttbxctrl.hxx b/svx/inc/svx/verttexttbxctrl.hxx
index 2fa88fe614..2fa88fe614 100644
--- a/svx/inc/verttexttbxctrl.hxx
+++ b/svx/inc/svx/verttexttbxctrl.hxx
diff --git a/svx/inc/wrapfield.hxx b/svx/inc/svx/wrapfield.hxx
index 54b7eba0d6..54b7eba0d6 100644
--- a/svx/inc/wrapfield.hxx
+++ b/svx/inc/svx/wrapfield.hxx
diff --git a/svx/inc/xattr.hxx b/svx/inc/svx/xattr.hxx
index d4f4bd42e1..d4f4bd42e1 100644
--- a/svx/inc/xattr.hxx
+++ b/svx/inc/svx/xattr.hxx
diff --git a/svx/inc/xexch.hxx b/svx/inc/svx/xexch.hxx
index bb18e46231..bb18e46231 100644
--- a/svx/inc/xexch.hxx
+++ b/svx/inc/svx/xexch.hxx
diff --git a/svx/inc/xmleohlp.hxx b/svx/inc/svx/xmleohlp.hxx
index 4e4982d045..4e4982d045 100644
--- a/svx/inc/xmleohlp.hxx
+++ b/svx/inc/svx/xmleohlp.hxx
diff --git a/svx/inc/xmlexchg.hxx b/svx/inc/svx/xmlexchg.hxx
index eab60f07ad..eab60f07ad 100644
--- a/svx/inc/xmlexchg.hxx
+++ b/svx/inc/svx/xmlexchg.hxx
diff --git a/svx/inc/xmlgrhlp.hxx b/svx/inc/svx/xmlgrhlp.hxx
index 7df268a39c..7df268a39c 100644
--- a/svx/inc/xmlgrhlp.hxx
+++ b/svx/inc/svx/xmlgrhlp.hxx
diff --git a/svx/inc/xmlsecctrl.hxx b/svx/inc/svx/xmlsecctrl.hxx
index cadcc55fc5..cadcc55fc5 100644
--- a/svx/inc/xmlsecctrl.hxx
+++ b/svx/inc/svx/xmlsecctrl.hxx
diff --git a/svx/inc/xoutbmp.hxx b/svx/inc/svx/xoutbmp.hxx
index 21ab95e2f6..21ab95e2f6 100644
--- a/svx/inc/xoutbmp.hxx
+++ b/svx/inc/svx/xoutbmp.hxx
diff --git a/svx/inc/zoom_def.hxx b/svx/inc/svx/zoom_def.hxx
index 2d2ce9408c..2d2ce9408c 100644
--- a/svx/inc/zoom_def.hxx
+++ b/svx/inc/svx/zoom_def.hxx
diff --git a/svx/inc/zoomctrl.hxx b/svx/inc/svx/zoomctrl.hxx
index b3386b207b..b3386b207b 100644
--- a/svx/inc/zoomctrl.hxx
+++ b/svx/inc/svx/zoomctrl.hxx
diff --git a/svx/prj/build.lst b/svx/prj/build.lst
index 9f75974886..536d7cc29f 100644
--- a/svx/prj/build.lst
+++ b/svx/prj/build.lst
@@ -1,4 +1,4 @@
-sx svx : sfx2 l10n oovbaapi connectivity xmloff linguistic jvmfwk avmedia drawinglayer editeng NULL
+sx svx : sfx2 l10n oovbaapi connectivity xmloff linguistic jvmfwk avmedia drawinglayer editeng LIBXSLT:libxslt NULL
sx svx usr1 - all sx_mkout NULL
sx svx\inc nmake - all sx_inc NULL
sx svx\uiconfig\layout nmake - all sx_layout NULL
diff --git a/svx/prj/d.lst b/svx/prj/d.lst
index fe15afbdf4..a07db5dbe0 100644
--- a/svx/prj/d.lst
+++ b/svx/prj/d.lst
@@ -2,6 +2,9 @@ mkdir: %COMMON_DEST%\bin%_EXT%\hid
mkdir: %COMMON_DEST%\res%_EXT%
mkdir: %_DEST%\xml%_EXT%\uiconfig
mkdir: %_DEST%\xml%_EXT%\uiconfig\global
+mkdir: %_DEST%\xml%_EXT%\uiconfig\global\accelerator
+mkdir: %_DEST%\xml%_EXT%\uiconfig\global\accelerator\en-US
+mkdir: %_DEST%\xml%_EXT%\uiconfig\global\accelerator\es
..\%COMMON_OUTDIR%\misc\*.hid %COMMON_DEST%\bin%_EXT%\hid\*.hid
..\%__SRC%\lib\lib*.* %_DEST%\lib%_EXT%\lib*.*
@@ -20,442 +23,12 @@ mkdir: %_DEST%\inc%_EXT%\svx
..\sdi\svxitems.sdi %_DEST%\inc%_EXT%\svx\svxitems.sdi
..\sdi\xoitems.sdi %_DEST%\inc%_EXT%\svx\xoitems.sdi
-..\source\inc\fmsrccfg.hxx %_DEST%\inc%_EXT%\svx\fmsrccfg.hxx
-..\source\inc\fmsrcimp.hxx %_DEST%\inc%_EXT%\svx\fmsrcimp.hxx
-..\inc\galtheme.hxx %_DEST%\inc%_EXT%\svx\galtheme.hxx
-..\inc\galctrl.hxx %_DEST%\inc%_EXT%\svx\galctrl.hxx
-..\inc\svx\galmisc.hxx %_DEST%\inc%_EXT%\svx\galmisc.hxx
-..\inc\svx\gallery1.hxx %_DEST%\inc%_EXT%\svx\gallery1.hxx
-..\inc\svx\fmtools.hxx %_DEST%\inc%_EXT%\svx\fmtools.hxx
-..\inc\svx\exthelpid.hrc %_DEST%\inc%_EXT%\svx\exthelpid.hrc
+..\inc\svx\*.hxx %_DEST%\inc%_EXT%\svx\*.hxx
+..\inc\svx\*.h %_DEST%\inc%_EXT%\svx\*.h
+..\inc\svx\*.hrc %_DEST%\inc%_EXT%\svx\*.hrc
-..\inc\flagsdef.hxx %_DEST%\inc%_EXT%\svx\flagsdef.hxx
..\%__SRC%\inc\svxslots.hxx %_DEST%\inc%_EXT%\svx\svxslots.hxx
..\%__SRC%\inc\globlmn.hrc %_DEST%\inc%_EXT%\svx\globlmn.hrc
-..\source\inc\fmresids.hrc %_DEST%\inc%_EXT%\svx\fmresids.hrc
-..\source\dialog\hyprlink.hxx %_DEST%\inc%_EXT%\svx\hyprlink.hxx
-
-../source/customshapes/EnhancedCustomShapeTypeNames.hxx %_DEST%\inc%_EXT%\svx\EnhancedCustomShapeTypeNames.hxx
-../source/customshapes/EnhancedCustomShapeGeometry.hxx %_DEST%\inc%_EXT%\svx\EnhancedCustomShapeGeometry.hxx
-../inc/svx/EnhancedCustomShapeFunctionParser.hxx %_DEST%\inc%_EXT%\svx\EnhancedCustomShapeFunctionParser.hxx
-../source/customshapes/EnhancedCustomShape2d.hxx %_DEST%\inc%_EXT%\svx\EnhancedCustomShape2d.hxx
-../inc/xattr.hxx %_DEST%\inc%_EXT%\svx\xattr.hxx
-../inc/svdglob.hxx %_DEST%\inc%_EXT%\svx\svdglob.hxx
-../source/svdraw/svditext.hxx %_DEST%\inc%_EXT%\svx\svditext.hxx
-
-..\inc\ActionDescriptionProvider.hxx %_DEST%\inc%_EXT%\svx\ActionDescriptionProvider.hxx
-..\inc\anchorid.hxx %_DEST%\inc%_EXT%\svx\anchorid.hxx
-..\inc\chrtitem.hxx %_DEST%\inc%_EXT%\svx\chrtitem.hxx
-..\inc\clipboardctl.hxx %_DEST%\inc%_EXT%\svx\clipboardctl.hxx
-..\inc\clipfmtitem.hxx %_DEST%\inc%_EXT%\svx\clipfmtitem.hxx
-..\inc\connctrl.hxx %_DEST%\inc%_EXT%\svx\connctrl.hxx
-..\inc\databaseregistrationui.hxx %_DEST%\inc%_EXT%\svx\databaseregistrationui.hxx
-..\inc\dbexch.hrc %_DEST%\inc%_EXT%\svx\dbexch.hrc
-..\inc\DescriptionGenerator.hxx %_DEST%\inc%_EXT%\svx\DescriptionGenerator.hxx
-..\inc\dialcontrol.hxx %_DEST%\inc%_EXT%\svx\dialcontrol.hxx
-..\inc\dlgutil.hxx %_DEST%\inc%_EXT%\svx\dlgutil.hxx
-..\inc\drawitem.hxx %_DEST%\inc%_EXT%\svx\drawitem.hxx
-..\inc\editstat.hxx %_DEST%\inc%_EXT%\svx\editstat.hxx
-..\inc\editund2.hxx %_DEST%\inc%_EXT%\svx\editund2.hxx
-..\inc\eerdll.hxx %_DEST%\inc%_EXT%\svx\editdll.hxx
-..\inc\flstitem.hxx %_DEST%\inc%_EXT%\svx\flstitem.hxx
-..\inc\extrusioncontrols.hxx %_DEST%\inc%_EXT%\svx\extrusioncontrols.hxx
-..\inc\fmgridif.hxx %_DEST%\inc%_EXT%\svx\fmgridif.hxx
-..\inc\fmobjfac.hxx %_DEST%\inc%_EXT%\svx\fmobjfac.hxx
-..\inc\fontlb.hxx %_DEST%\inc%_EXT%\svx\fontlb.hxx
-..\inc\fontworkgallery.hxx %_DEST%\inc%_EXT%\svx\fontworkgallery.hxx
-..\inc\formatpaintbrushctrl.hxx %_DEST%\inc%_EXT%\svx\formatpaintbrushctrl.hxx
-..\inc\gallery.hxx %_DEST%\inc%_EXT%\svx\gallery.hxx
-..\inc\galbrws.hxx %_DEST%\inc%_EXT%\svx\galbrws.hxx
-..\inc\globlac.hrc %_DEST%\inc%_EXT%\svx\globlac.hrc
-..\inc\globl3d.hxx %_DEST%\inc%_EXT%\svx\globl3d.hxx
-..\inc\grafctrl.hxx %_DEST%\inc%_EXT%\svx\grafctrl.hxx
-..\inc\hlnkitem.hxx %_DEST%\inc%_EXT%\svx\hlnkitem.hxx
-..\inc\htmlmode.hxx %_DEST%\inc%_EXT%\svx\htmlmode.hxx
-..\inc\hyperdlg.hxx %_DEST%\inc%_EXT%\svx\hyperdlg.hxx
-..\inc\imapdlg.hxx %_DEST%\inc%_EXT%\svx\imapdlg.hxx
-..\inc\insctrl.hxx %_DEST%\inc%_EXT%\svx\insctrl.hxx
-..\inc\layctrl.hxx %_DEST%\inc%_EXT%\svx\layctrl.hxx
-..\inc\lboxctrl.hxx %_DEST%\inc%_EXT%\svx\lboxctrl.hxx
-..\inc\linectrl.hxx %_DEST%\inc%_EXT%\svx\linectrl.hxx
-..\inc\measctrl.hxx %_DEST%\inc%_EXT%\svx\measctrl.hxx
-..\inc\modctrl.hxx %_DEST%\inc%_EXT%\svx\modctrl.hxx
-..\inc\numvset.hxx %_DEST%\inc%_EXT%\svx\numvset.hxx
-..\inc\objfac3d.hxx %_DEST%\inc%_EXT%\svx\objfac3d.hxx
-..\inc\ofaitem.hxx %_DEST%\inc%_EXT%\svx\ofaitem.hxx
-..\inc\optgenrl.hxx %_DEST%\inc%_EXT%\svx\optgenrl.hxx
-..\inc\optgrid.hxx %_DEST%\inc%_EXT%\svx\optgrid.hxx
-..\inc\orienthelper.hxx %_DEST%\inc%_EXT%\svx\orienthelper.hxx
-..\inc\ParseContext.hxx %_DEST%\inc%_EXT%\svx\ParseContext.hxx
-..\inc\passwd.hxx %_DEST%\inc%_EXT%\svx\passwd.hxx
-..\inc\pfiledlg.hxx %_DEST%\inc%_EXT%\svx\pfiledlg.hxx
-..\inc\postattr.hxx %_DEST%\inc%_EXT%\svx\postattr.hxx
-..\inc\prtqry.hxx %_DEST%\inc%_EXT%\svx\prtqry.hxx
-..\inc\pszctrl.hxx %_DEST%\inc%_EXT%\svx\pszctrl.hxx
-..\inc\relfld.hxx %_DEST%\inc%_EXT%\svx\relfld.hxx
-..\inc\rotmodit.hxx %_DEST%\inc%_EXT%\svx\rotmodit.hxx
-..\inc\rubydialog.hxx %_DEST%\inc%_EXT%\svx\rubydialog.hxx
-..\inc\rulritem.hxx %_DEST%\inc%_EXT%\svx\rulritem.hxx
-..\inc\sdrpaintwindow.hxx %_DEST%\inc%_EXT%\svx\sdrpaintwindow.hxx
-..\inc\selctrl.hxx %_DEST%\inc%_EXT%\svx\selctrl.hxx
-..\inc\srchdlg.hxx %_DEST%\inc%_EXT%\svx\srchdlg.hxx
-..\inc\srchitem.hxx %_DEST%\inc%_EXT%\svx\srchitem.hxx
-..\inc\svditer.hxx %_DEST%\inc%_EXT%\svx\svditer.hxx
-..\inc\svdstr.hrc %_DEST%\inc%_EXT%\svx\svdstr.hrc
-..\inc\svdviter.hxx %_DEST%\inc%_EXT%\svx\svdviter.hxx
-..\inc\svimbase.hxx %_DEST%\inc%_EXT%\svx\svimbase.hxx
-..\inc\svxerr.hxx %_DEST%\inc%_EXT%\svx\svxerr.hxx
-..\inc\svxgrahicitem.hxx %_DEST%\inc%_EXT%\svx\svxgrahicitem.hxx
-..\inc\swframeposstrings.hxx %_DEST%\inc%_EXT%\svx\swframeposstrings.hxx
-..\inc\swframevalidation.hxx %_DEST%\inc%_EXT%\svx\swframevalidation.hxx
-..\inc\swframeexample.hxx %_DEST%\inc%_EXT%\svx\swframeexample.hxx
-..\inc\tbxalign.hxx %_DEST%\inc%_EXT%\svx\tbxalign.hxx
-..\inc\tbxcolor.hxx %_DEST%\inc%_EXT%\svx\tbxcolor.hxx
-..\inc\tbxctl.hxx %_DEST%\inc%_EXT%\svx\tbxctl.hxx
-..\inc\tbxcustomshapes.hxx %_DEST%\inc%_EXT%\svx\tbxcustomshapes.hxx
-..\inc\tbxdraw.hxx %_DEST%\inc%_EXT%\svx\tbxdraw.hxx
-..\inc\txencbox.hxx %_DEST%\inc%_EXT%\svx\txencbox.hxx
-..\inc\txenctab.hxx %_DEST%\inc%_EXT%\svx\txenctab.hxx
-..\inc\unoapi.hxx %_DEST%\inc%_EXT%\svx\unoapi.hxx
-..\inc\unofill.hxx %_DEST%\inc%_EXT%\svx\unofill.hxx
-..\inc\unomaster.hxx %_DEST%\inc%_EXT%\svx\unomaster.hxx
-..\inc\UnoNamespaceMap.hxx %_DEST%\inc%_EXT%\svx\UnoNamespaceMap.hxx
-..\inc\unopool.hxx %_DEST%\inc%_EXT%\svx\unopool.hxx
-..\inc\unoshcol.hxx %_DEST%\inc%_EXT%\svx\unoshcol.hxx
-..\inc\verttexttbxctrl.hxx %_DEST%\inc%_EXT%\svx\verttexttbxctrl.hxx
-..\inc\wrapfield.hxx %_DEST%\inc%_EXT%\svx\wrapfield.hxx
-..\inc\xexch.hxx %_DEST%\inc%_EXT%\svx\xexch.hxx
-..\inc\xmleohlp.hxx %_DEST%\inc%_EXT%\svx\xmleohlp.hxx
-..\inc\xmlexchg.hxx %_DEST%\inc%_EXT%\svx\xmlexchg.hxx
-..\inc\xmlgrhlp.hxx %_DEST%\inc%_EXT%\svx\xmlgrhlp.hxx
-..\inc\xmlsecctrl.hxx %_DEST%\inc%_EXT%\svx\xmlsecctrl.hxx
-..\inc\xoutbmp.hxx %_DEST%\inc%_EXT%\svx\xoutbmp.hxx
-..\inc\XPropertyTable.hxx %_DEST%\inc%_EXT%\svx\XPropertyTable.hxx
-..\inc\zoom_def.hxx %_DEST%\inc%_EXT%\svx\zoom_def.hxx
-..\inc\zoomctrl.hxx %_DEST%\inc%_EXT%\svx\zoomctrl.hxx
-
-..\inc\svx\xlinjoit.hxx %_DEST%\inc%_EXT%\svx\xlinjoit.hxx
-..\inc\svx\dstribut_enum.hxx %_DEST%\inc%_EXT%\svx\dstribut_enum.hxx
-..\inc\svx\svdfield.hxx %_DEST%\inc%_EXT%\svx\svdfield.hxx
-..\inc\svx\svxitems.hrc %_DEST%\inc%_EXT%\svx\svxitems.hrc
-..\inc\svx\svddef.hxx %_DEST%\inc%_EXT%\svx\svddef.hxx
-..\inc\svx\ipolypolygoneditorcontroller.hxx %_DEST%\inc%_EXT%\svx\ipolypolygoneditorcontroller.hxx
-..\inc\svx\polypolygoneditor.hxx %_DEST%\inc%_EXT%\svx\polypolygoneditor.hxx
-..\inc\svx\svdsob.hxx %_DEST%\inc%_EXT%\svx\svdsob.hxx
-..\inc\svx\svdlayer.hxx %_DEST%\inc%_EXT%\svx\svdlayer.hxx
-..\inc\svx\algitem.hxx %_DEST%\inc%_EXT%\svx\algitem.hxx
-..\inc\svx\simptabl.hxx %_DEST%\inc%_EXT%\svx\simptabl.hxx
-..\inc\svx\ctredlin.hxx %_DEST%\inc%_EXT%\svx\ctredlin.hxx
-..\inc\svx\bmpmask.hxx %_DEST%\inc%_EXT%\svx\bmpmask.hxx
-..\inc\svx\camera3d.hxx %_DEST%\inc%_EXT%\svx\camera3d.hxx
-..\inc\svx\charmap.hxx %_DEST%\inc%_EXT%\svx\charmap.hxx
-..\inc\svx\checklbx.hxx %_DEST%\inc%_EXT%\svx\checklbx.hxx
-..\inc\svx\contdlg.hxx %_DEST%\inc%_EXT%\svx\contdlg.hxx
-..\inc\svx\tabarea.hxx %_DEST%\inc%_EXT%\svx\tabarea.hxx
-..\inc\svx\tabline.hxx %_DEST%\inc%_EXT%\svx\tabline.hxx
-..\inc\svx\colrctrl.hxx %_DEST%\inc%_EXT%\svx\colrctrl.hxx
-..\inc\svx\cube3d.hxx %_DEST%\inc%_EXT%\svx\cube3d.hxx
-..\inc\svx\polygn3d.hxx %_DEST%\inc%_EXT%\svx\polygn3d.hxx
-..\inc\svx\lathe3d.hxx %_DEST%\inc%_EXT%\svx\lathe3d.hxx
-..\inc\svx\e3ditem.hxx %_DEST%\inc%_EXT%\svx\e3ditem.hxx
-..\inc\svx\def3d.hxx %_DEST%\inc%_EXT%\svx\def3d.hxx
-..\inc\svx\svdtypes.hxx %_DEST%\inc%_EXT%\svx\svdtypes.hxx
-..\inc\svx\volume3d.hxx %_DEST%\inc%_EXT%\svx\volume3d.hxx
-..\inc\svx\xenum.hxx %_DEST%\inc%_EXT%\svx\xenum.hxx
-..\inc\svx\dialmgr.hxx %_DEST%\inc%_EXT%\svx\dialmgr.hxx
-..\inc\svx\dlgctl3d.hxx %_DEST%\inc%_EXT%\svx\dlgctl3d.hxx
-..\inc\svx\dlgctrl.hxx %_DEST%\inc%_EXT%\svx\dlgctrl.hxx
-..\inc\svx\dialogs.hrc %_DEST%\inc%_EXT%\svx\dialogs.hrc
-..\inc\svx\extrud3d.hxx %_DEST%\inc%_EXT%\svx\extrud3d.hxx
-..\inc\svx\f3dchild.hxx %_DEST%\inc%_EXT%\svx\f3dchild.hxx
-..\inc\svx\fillctrl.hxx %_DEST%\inc%_EXT%\svx\fillctrl.hxx
-..\inc\svx\float3d.hxx %_DEST%\inc%_EXT%\svx\float3d.hxx
-..\inc\svx\fntctl.hxx %_DEST%\inc%_EXT%\svx\fntctl.hxx
-..\inc\svx\fntctrl.hxx %_DEST%\inc%_EXT%\svx\fntctrl.hxx
-..\inc\svx\fntszctl.hxx %_DEST%\inc%_EXT%\svx\fntszctl.hxx
-..\inc\svx\fontwork.hxx %_DEST%\inc%_EXT%\svx\fontwork.hxx
-..\inc\svx\framebordertype.hxx %_DEST%\inc%_EXT%\svx\framebordertype.hxx
-..\inc\svx\framelink.hxx %_DEST%\inc%_EXT%\svx\framelink.hxx
-..\inc\svx\framelinkarray.hxx %_DEST%\inc%_EXT%\svx\framelinkarray.hxx
-..\inc\svx\frmsel.hxx %_DEST%\inc%_EXT%\svx\frmsel.hxx
-..\inc\svx\graphctl.hxx %_DEST%\inc%_EXT%\svx\graphctl.hxx
-..\inc\svx\hdft.hxx %_DEST%\inc%_EXT%\svx\hdft2.hxx
-..\inc\svx\ifaceids.hxx %_DEST%\inc%_EXT%\svx\ifaceids.hxx
-..\inc\svx\itemwin.hxx %_DEST%\inc%_EXT%\svx\itemwin.hxx
-..\inc\svx\langbox.hxx %_DEST%\inc%_EXT%\svx\langbox.hxx
-..\inc\svx\numinf.hxx %_DEST%\inc%_EXT%\svx\numinf.hxx
-..\inc\svx\numfmtsh.hxx %_DEST%\inc%_EXT%\svx\numfmtsh.hxx
-..\inc\svx\obj3d.hxx %_DEST%\inc%_EXT%\svx\obj3d.hxx
-..\inc\svx\pagectrl.hxx %_DEST%\inc%_EXT%\svx\pagectrl.hxx
-..\inc\svx\pageitem.hxx %_DEST%\inc%_EXT%\svx\pageitem.hxx
-..\inc\svx\paraprev.hxx %_DEST%\inc%_EXT%\svx\paraprev.hxx
-..\inc\svx\polysc3d.hxx %_DEST%\inc%_EXT%\svx\polysc3d.hxx
-..\inc\svx\rectenum.hxx %_DEST%\inc%_EXT%\svx\rectenum.hxx
-..\inc\svx\ruler.hxx %_DEST%\inc%_EXT%\svx\ruler.hxx
-..\inc\svx\scene3d.hxx %_DEST%\inc%_EXT%\svx\scene3d.hxx
-..\inc\svx\e3dsceneupdater.hxx %_DEST%\inc%_EXT%\svx\e3dsceneupdater.hxx
-..\inc\svx\sdangitm.hxx %_DEST%\inc%_EXT%\svx\sdangitm.hxx
-..\inc\svx\sderitm.hxx %_DEST%\inc%_EXT%\svx\sderitm.hxx
-..\inc\svx\sdgcoitm.hxx %_DEST%\inc%_EXT%\svx\sdgcoitm.hxx
-..\inc\svx\sdgcpitm.hxx %_DEST%\inc%_EXT%\svx\sdgcpitm.hxx
-..\inc\svx\sdgluitm.hxx %_DEST%\inc%_EXT%\svx\sdgluitm.hxx
-..\inc\svx\sdginitm.hxx %_DEST%\inc%_EXT%\svx\sdginitm.hxx
-..\inc\svx\sdggaitm.hxx %_DEST%\inc%_EXT%\svx\sdggaitm.hxx
-..\inc\svx\sdgmoitm.hxx %_DEST%\inc%_EXT%\svx\sdgmoitm.hxx
-..\inc\svx\sdgtritm.hxx %_DEST%\inc%_EXT%\svx\sdgtritm.hxx
-..\inc\svx\sdmetitm.hxx %_DEST%\inc%_EXT%\svx\sdmetitm.hxx
-..\inc\svx\sdooitm.hxx %_DEST%\inc%_EXT%\svx\sdooitm.hxx
-..\inc\svx\sdprcitm.hxx %_DEST%\inc%_EXT%\svx\sdprcitm.hxx
-..\inc\svx\sdshcitm.hxx %_DEST%\inc%_EXT%\svx\sdshcitm.hxx
-..\inc\svx\sdshitm.hxx %_DEST%\inc%_EXT%\svx\sdshitm.hxx
-..\inc\svx\sdshtitm.hxx %_DEST%\inc%_EXT%\svx\sdshtitm.hxx
-..\inc\svx\sdsxyitm.hxx %_DEST%\inc%_EXT%\svx\sdsxyitm.hxx
-..\inc\svx\sdtaaitm.hxx %_DEST%\inc%_EXT%\svx\sdtaaitm.hxx
-..\inc\svx\sdtacitm.hxx %_DEST%\inc%_EXT%\svx\sdtacitm.hxx
-..\inc\svx\sdtaditm.hxx %_DEST%\inc%_EXT%\svx\sdtaditm.hxx
-..\inc\svx\sdtagitm.hxx %_DEST%\inc%_EXT%\svx\sdtagitm.hxx
-..\inc\svx\sdtaiitm.hxx %_DEST%\inc%_EXT%\svx\sdtaiitm.hxx
-..\inc\svx\sdtfchim.hxx %_DEST%\inc%_EXT%\svx\sdtfchim.hxx
-..\inc\svx\sdtaitm.hxx %_DEST%\inc%_EXT%\svx\sdtaitm.hxx
-..\inc\svx\sdtakitm.hxx %_DEST%\inc%_EXT%\svx\sdtakitm.hxx
-..\inc\svx\sdtayitm.hxx %_DEST%\inc%_EXT%\svx\sdtayitm.hxx
-..\inc\svx\sdtcfitm.hxx %_DEST%\inc%_EXT%\svx\sdtcfitm.hxx
-..\inc\svx\sdtditm.hxx %_DEST%\inc%_EXT%\svx\sdtditm.hxx
-..\inc\svx\sdtfsitm.hxx %_DEST%\inc%_EXT%\svx\sdtfsitm.hxx
-..\inc\svx\sdtmfitm.hxx %_DEST%\inc%_EXT%\svx\sdtmfitm.hxx
-..\inc\svx\sdynitm.hxx %_DEST%\inc%_EXT%\svx\sdynitm.hxx
-..\inc\svx\sphere3d.hxx %_DEST%\inc%_EXT%\svx\sphere3d.hxx
-..\inc\svx\SpellDialogChildWindow.hxx %_DEST%\inc%_EXT%\svx\SpellDialogChildWindow.hxx
-..\inc\svx\stddlg.hxx %_DEST%\inc%_EXT%\svx\stddlg.hxx
-..\inc\svx\strarray.hxx %_DEST%\inc%_EXT%\svx\strarray.hxx
-..\inc\svx\svdattr.hxx %_DEST%\inc%_EXT%\svx\svdattr.hxx
-..\inc\svx\svdattrx.hxx %_DEST%\inc%_EXT%\svx\svdattrx.hxx
-..\inc\svx\svdcrtv.hxx %_DEST%\inc%_EXT%\svx\svdcrtv.hxx
-..\inc\svx\svddrag.hxx %_DEST%\inc%_EXT%\svx\svddrag.hxx
-..\inc\svx\svddrgmt.hxx %_DEST%\inc%_EXT%\svx\svddrgmt.hxx
-..\inc\svx\svddrgv.hxx %_DEST%\inc%_EXT%\svx\svddrgv.hxx
-..\inc\svx\svdedtv.hxx %_DEST%\inc%_EXT%\svx\svdedtv.hxx
-..\inc\svx\svdedxv.hxx %_DEST%\inc%_EXT%\svx\svdedxv.hxx
-..\inc\svx\svdetc.hxx %_DEST%\inc%_EXT%\svx\svdetc.hxx
-..\inc\svx\sdrhittesthelper.hxx %_DEST%\inc%_EXT%\svx\sdrhittesthelper.hxx
-..\inc\svx\svdglev.hxx %_DEST%\inc%_EXT%\svx\svdglev.hxx
-..\inc\svx\svdglue.hxx %_DEST%\inc%_EXT%\svx\svdglue.hxx
-..\inc\svx\svdhdl.hxx %_DEST%\inc%_EXT%\svx\svdhdl.hxx
-..\inc\svx\svdhlpln.hxx %_DEST%\inc%_EXT%\svx\svdhlpln.hxx
-..\inc\svx\svdmark.hxx %_DEST%\inc%_EXT%\svx\svdmark.hxx
-..\inc\svx\svdmodel.hxx %_DEST%\inc%_EXT%\svx\svdmodel.hxx
-..\inc\svx\svdmrkv.hxx %_DEST%\inc%_EXT%\svx\svdmrkv.hxx
-..\inc\svx\svdoattr.hxx %_DEST%\inc%_EXT%\svx\svdoattr.hxx
-..\inc\svx\svdobj.hxx %_DEST%\inc%_EXT%\svx\svdobj.hxx
-..\inc\svx\sdrobjectuser.hxx %_DEST%\inc%_EXT%\svx\sdrobjectuser.hxx
-..\inc\svx\svdocapt.hxx %_DEST%\inc%_EXT%\svx\svdocapt.hxx
-..\inc\svx\svdocirc.hxx %_DEST%\inc%_EXT%\svx\svdocirc.hxx
-..\inc\svx\svdoedge.hxx %_DEST%\inc%_EXT%\svx\svdoedge.hxx
-..\inc\svx\svdograf.hxx %_DEST%\inc%_EXT%\svx\svdograf.hxx
-..\inc\svx\svdogrp.hxx %_DEST%\inc%_EXT%\svx\svdogrp.hxx
-..\inc\svx\svdomeas.hxx %_DEST%\inc%_EXT%\svx\svdomeas.hxx
-..\inc\svx\svdomedia.hxx %_DEST%\inc%_EXT%\svx\svdomedia.hxx
-..\inc\svx\svdoole2.hxx %_DEST%\inc%_EXT%\svx\svdoole2.hxx
-..\inc\svx\svdopage.hxx %_DEST%\inc%_EXT%\svx\svdopage.hxx
-..\inc\svx\svdopath.hxx %_DEST%\inc%_EXT%\svx\svdopath.hxx
-..\inc\svx\svdorect.hxx %_DEST%\inc%_EXT%\svx\svdorect.hxx
-..\inc\svx\svdotext.hxx %_DEST%\inc%_EXT%\svx\svdotext.hxx
-..\inc\svx\svdovirt.hxx %_DEST%\inc%_EXT%\svx\svdovirt.hxx
-..\inc\svx\svdpage.hxx %_DEST%\inc%_EXT%\svx\svdpage.hxx
-..\inc\svx\sdrmasterpagedescriptor.hxx %_DEST%\inc%_EXT%\svx\sdrmasterpagedescriptor.hxx
-..\inc\svx\sdrcomment.hxx %_DEST%\inc%_EXT%\svx\sdrcomment.hxx
-..\inc\svx\sdrpageuser.hxx %_DEST%\inc%_EXT%\svx\sdrpageuser.hxx
-..\inc\svx\svdpagv.hxx %_DEST%\inc%_EXT%\svx\svdpagv.hxx
-..\inc\svx\sdrpagewindow.hxx %_DEST%\inc%_EXT%\svx\sdrpagewindow.hxx
-..\inc\svx\svdpntv.hxx %_DEST%\inc%_EXT%\svx\svdpntv.hxx
-..\inc\svx\svdpoev.hxx %_DEST%\inc%_EXT%\svx\svdpoev.hxx
-..\inc\svx\svdpool.hxx %_DEST%\inc%_EXT%\svx\svdpool.hxx
-..\inc\svx\svdsnpv.hxx %_DEST%\inc%_EXT%\svx\svdsnpv.hxx
-..\inc\svx\svdtrans.hxx %_DEST%\inc%_EXT%\svx\svdtrans.hxx
-..\inc\svx\svdundo.hxx %_DEST%\inc%_EXT%\svx\svdundo.hxx
-..\inc\svx\svdoutl.hxx %_DEST%\inc%_EXT%\svx\svdoutl.hxx
-..\inc\svx\svdview.hxx %_DEST%\inc%_EXT%\svx\svdview.hxx
-..\inc\svx\svdxcgv.hxx %_DEST%\inc%_EXT%\svx\svdxcgv.hxx
-..\inc\svx\svxids.hrc %_DEST%\inc%_EXT%\svx\svxids.hrc
-..\inc\svx\sxallitm.hxx %_DEST%\inc%_EXT%\svx\sxallitm.hxx
-..\inc\svx\sxcaitm.hxx %_DEST%\inc%_EXT%\svx\sxcaitm.hxx
-..\inc\svx\sxcecitm.hxx %_DEST%\inc%_EXT%\svx\sxcecitm.hxx
-..\inc\svx\sxcgitm.hxx %_DEST%\inc%_EXT%\svx\sxcgitm.hxx
-..\inc\svx\sxciaitm.hxx %_DEST%\inc%_EXT%\svx\sxciaitm.hxx
-..\inc\svx\sxcikitm.hxx %_DEST%\inc%_EXT%\svx\sxcikitm.hxx
-..\inc\svx\sxcllitm.hxx %_DEST%\inc%_EXT%\svx\sxcllitm.hxx
-..\inc\svx\sxctitm.hxx %_DEST%\inc%_EXT%\svx\sxctitm.hxx
-..\inc\svx\sxekitm.hxx %_DEST%\inc%_EXT%\svx\sxekitm.hxx
-..\inc\svx\sxelditm.hxx %_DEST%\inc%_EXT%\svx\sxelditm.hxx
-..\inc\svx\sxenditm.hxx %_DEST%\inc%_EXT%\svx\sxenditm.hxx
-..\inc\svx\sxfiitm.hxx %_DEST%\inc%_EXT%\svx\sxfiitm.hxx
-..\inc\svx\sxlayitm.hxx %_DEST%\inc%_EXT%\svx\sxlayitm.hxx
-..\inc\svx\sxlogitm.hxx %_DEST%\inc%_EXT%\svx\sxlogitm.hxx
-..\inc\svx\sxmbritm.hxx %_DEST%\inc%_EXT%\svx\sxmbritm.hxx
-..\inc\svx\sxmfsitm.hxx %_DEST%\inc%_EXT%\svx\sxmfsitm.hxx
-..\inc\svx\sxmkitm.hxx %_DEST%\inc%_EXT%\svx\sxmkitm.hxx
-..\inc\svx\sxmlhitm.hxx %_DEST%\inc%_EXT%\svx\sxmlhitm.hxx
-..\inc\svx\sxmoitm.hxx %_DEST%\inc%_EXT%\svx\sxmoitm.hxx
-..\inc\svx\sxmovitm.hxx %_DEST%\inc%_EXT%\svx\sxmovitm.hxx
-..\inc\svx\sxmsitm.hxx %_DEST%\inc%_EXT%\svx\sxmsitm.hxx
-..\inc\svx\sxmspitm.hxx %_DEST%\inc%_EXT%\svx\sxmspitm.hxx
-..\inc\svx\sxmsuitm.hxx %_DEST%\inc%_EXT%\svx\sxmsuitm.hxx
-..\inc\svx\sxmtaitm.hxx %_DEST%\inc%_EXT%\svx\sxmtaitm.hxx
-..\inc\svx\sxmtfitm.hxx %_DEST%\inc%_EXT%\svx\sxmtfitm.hxx
-..\inc\svx\sxmtpitm.hxx %_DEST%\inc%_EXT%\svx\sxmtpitm.hxx
-..\inc\svx\sxmtritm.hxx %_DEST%\inc%_EXT%\svx\sxmtritm.hxx
-..\inc\svx\sxmuitm.hxx %_DEST%\inc%_EXT%\svx\sxmuitm.hxx
-..\inc\svx\sxoneitm.hxx %_DEST%\inc%_EXT%\svx\sxoneitm.hxx
-..\inc\svx\sxonitm.hxx %_DEST%\inc%_EXT%\svx\sxonitm.hxx
-..\inc\svx\sxopitm.hxx %_DEST%\inc%_EXT%\svx\sxopitm.hxx
-..\inc\svx\sxraitm.hxx %_DEST%\inc%_EXT%\svx\sxraitm.hxx
-..\inc\svx\sxreaitm.hxx %_DEST%\inc%_EXT%\svx\sxreaitm.hxx
-..\inc\svx\sxreoitm.hxx %_DEST%\inc%_EXT%\svx\sxreoitm.hxx
-..\inc\svx\sxroaitm.hxx %_DEST%\inc%_EXT%\svx\sxroaitm.hxx
-..\inc\svx\sxrooitm.hxx %_DEST%\inc%_EXT%\svx\sxrooitm.hxx
-..\inc\svx\sxsaitm.hxx %_DEST%\inc%_EXT%\svx\sxsaitm.hxx
-..\inc\svx\sxsalitm.hxx %_DEST%\inc%_EXT%\svx\sxsalitm.hxx
-..\inc\svx\sxsiitm.hxx %_DEST%\inc%_EXT%\svx\sxsiitm.hxx
-..\inc\svx\sxsoitm.hxx %_DEST%\inc%_EXT%\svx\sxsoitm.hxx
-..\inc\svx\sxtraitm.hxx %_DEST%\inc%_EXT%\svx\sxtraitm.hxx
-..\inc\svx\tbcontrl.hxx %_DEST%\inc%_EXT%\svx\tbcontrl.hxx
-..\inc\svx\unomid.hxx %_DEST%\inc%_EXT%\svx\unomid.hxx
-..\inc\svx\unopage.hxx %_DEST%\inc%_EXT%\svx\unopage.hxx
-..\inc\svx\unoshape.hxx %_DEST%\inc%_EXT%\svx\unoshape.hxx
-..\inc\svx\shapepropertynotifier.hxx %_DEST%\inc%_EXT%\svx\shapepropertynotifier.hxx
-..\inc\svx\shapeproperty.hxx %_DEST%\inc%_EXT%\svx\shapeproperty.hxx
-..\inc\svx\unoprov.hxx %_DEST%\inc%_EXT%\svx\unoprov.hxx
-..\inc\svx\unomod.hxx %_DEST%\inc%_EXT%\svx\unomod.hxx
-..\inc\svx\unomodel.hxx %_DEST%\inc%_EXT%\svx\unomodel.hxx
-..\inc\svx\fmdpage.hxx %_DEST%\inc%_EXT%\svx\fmdpage.hxx
-..\inc\svx\fmsearch.hxx %_DEST%\inc%_EXT%\svx\fmsearch.hxx
-..\inc\svx\view3d.hxx %_DEST%\inc%_EXT%\svx\view3d.hxx
-..\inc\svx\viewpt3d.hxx %_DEST%\inc%_EXT%\svx\viewpt3d.hxx
-..\inc\svx\xbitmap.hxx %_DEST%\inc%_EXT%\svx\xbitmap.hxx
-..\inc\svx\xbtmpit.hxx %_DEST%\inc%_EXT%\svx\xbtmpit.hxx
-..\inc\svx\xcolit.hxx %_DEST%\inc%_EXT%\svx\xcolit.hxx
-..\inc\svx\xdef.hxx %_DEST%\inc%_EXT%\svx\xdef.hxx
-..\inc\svx\xdash.hxx %_DEST%\inc%_EXT%\svx\xdash.hxx
-..\inc\svx\xfillit.hxx %_DEST%\inc%_EXT%\svx\xfillit.hxx
-..\inc\svx\xfillit0.hxx %_DEST%\inc%_EXT%\svx\xfillit0.hxx
-..\inc\svx\xflasit.hxx %_DEST%\inc%_EXT%\svx\xflasit.hxx
-..\inc\svx\xflbckit.hxx %_DEST%\inc%_EXT%\svx\xflbckit.hxx
-..\inc\svx\xflbmpit.hxx %_DEST%\inc%_EXT%\svx\xflbmpit.hxx
-..\inc\svx\xflbmsli.hxx %_DEST%\inc%_EXT%\svx\xflbmsli.hxx
-..\inc\svx\xflbmsxy.hxx %_DEST%\inc%_EXT%\svx\xflbmsxy.hxx
-..\inc\svx\xflbmtit.hxx %_DEST%\inc%_EXT%\svx\xflbmtit.hxx
-..\inc\svx\xflboxy.hxx %_DEST%\inc%_EXT%\svx\xflboxy.hxx
-..\inc\svx\xflbstit.hxx %_DEST%\inc%_EXT%\svx\xflbstit.hxx
-..\inc\svx\xflbtoxy.hxx %_DEST%\inc%_EXT%\svx\xflbtoxy.hxx
-..\inc\svx\xflclit.hxx %_DEST%\inc%_EXT%\svx\xflclit.hxx
-..\inc\svx\xsflclit.hxx %_DEST%\inc%_EXT%\svx\xsflclit.hxx
-..\inc\svx\xflgrit.hxx %_DEST%\inc%_EXT%\svx\xflgrit.hxx
-..\inc\svx\xflftrit.hxx %_DEST%\inc%_EXT%\svx\xflftrit.hxx
-..\inc\svx\xflhtit.hxx %_DEST%\inc%_EXT%\svx\xflhtit.hxx
-..\inc\svx\xfltrit.hxx %_DEST%\inc%_EXT%\svx\xfltrit.hxx
-..\inc\svx\xftadit.hxx %_DEST%\inc%_EXT%\svx\xftadit.hxx
-..\inc\svx\xftdiit.hxx %_DEST%\inc%_EXT%\svx\xftdiit.hxx
-..\inc\svx\xftmrit.hxx %_DEST%\inc%_EXT%\svx\xftmrit.hxx
-..\inc\svx\xftouit.hxx %_DEST%\inc%_EXT%\svx\xftouit.hxx
-..\inc\svx\xftsfit.hxx %_DEST%\inc%_EXT%\svx\xftsfit.hxx
-..\inc\svx\xftshcit.hxx %_DEST%\inc%_EXT%\svx\xftshcit.hxx
-..\inc\svx\xftshit.hxx %_DEST%\inc%_EXT%\svx\xftshit.hxx
-..\inc\svx\xftshtit.hxx %_DEST%\inc%_EXT%\svx\xftshtit.hxx
-..\inc\svx\xftshxy.hxx %_DEST%\inc%_EXT%\svx\xftshxy.hxx
-..\inc\svx\xftstit.hxx %_DEST%\inc%_EXT%\svx\xftstit.hxx
-..\inc\svx\xgrad.hxx %_DEST%\inc%_EXT%\svx\xgrad.hxx
-..\inc\svx\xgrscit.hxx %_DEST%\inc%_EXT%\svx\xgrscit.hxx
-..\inc\svx\xhatch.hxx %_DEST%\inc%_EXT%\svx\xhatch.hxx
-..\inc\svx\xit.hxx %_DEST%\inc%_EXT%\svx\xit.hxx
-..\inc\svx\xlineit.hxx %_DEST%\inc%_EXT%\svx\xlineit.hxx
-..\inc\svx\xlineit.hxx %_DEST%\inc%_EXT%\svx\xlineit.hxx
-..\inc\svx\xlineit0.hxx %_DEST%\inc%_EXT%\svx\xlineit0.hxx
-..\inc\svx\xlineit0.hxx %_DEST%\inc%_EXT%\svx\xlineit0.hxx
-..\inc\svx\xlnasit.hxx %_DEST%\inc%_EXT%\svx\xlnasit.hxx
-..\inc\svx\xlnclit.hxx %_DEST%\inc%_EXT%\svx\xlnclit.hxx
-..\inc\svx\xlndsit.hxx %_DEST%\inc%_EXT%\svx\xlndsit.hxx
-..\inc\svx\xlnedcit.hxx %_DEST%\inc%_EXT%\svx\xlnedcit.hxx
-..\inc\svx\xlnedit.hxx %_DEST%\inc%_EXT%\svx\xlnedit.hxx
-..\inc\svx\xlnedwit.hxx %_DEST%\inc%_EXT%\svx\xlnedwit.hxx
-..\inc\svx\xlnstcit.hxx %_DEST%\inc%_EXT%\svx\xlnstcit.hxx
-..\inc\svx\xlnstit.hxx %_DEST%\inc%_EXT%\svx\xlnstit.hxx
-..\inc\svx\xlnstwit.hxx %_DEST%\inc%_EXT%\svx\xlnstwit.hxx
-..\inc\svx\xlntrit.hxx %_DEST%\inc%_EXT%\svx\xlntrit.hxx
-..\inc\svx\xlnwtit.hxx %_DEST%\inc%_EXT%\svx\xlnwtit.hxx
-..\inc\svx\xpoly.hxx %_DEST%\inc%_EXT%\svx\xpoly.hxx
-..\inc\svx\xpool.hxx %_DEST%\inc%_EXT%\svx\xpool.hxx
-..\inc\svx\xpool.hxx %_DEST%\inc%_EXT%\xpool.hxx
-..\inc\svx\xsetit.hxx %_DEST%\inc%_EXT%\svx\xsetit.hxx
-..\inc\svx\xsetit.hxx %_DEST%\inc%_EXT%\xsetit.hxx
-..\inc\svx\xtable.hxx %_DEST%\inc%_EXT%\svx\xtable.hxx
-..\inc\svx\xtable.hxx %_DEST%\inc%_EXT%\xtable.hxx
-..\inc\svx\xtextit.hxx %_DEST%\inc%_EXT%\svx\xtextit.hxx
-..\inc\svx\xtextit.hxx %_DEST%\inc%_EXT%\xtextit.hxx
-..\inc\svx\xtextit0.hxx %_DEST%\inc%_EXT%\svx\xtextit0.hxx
-..\inc\svx\xtextit0.hxx %_DEST%\inc%_EXT%\xtextit0.hxx
-..\inc\svx\zoomitem.hxx %_DEST%\inc%_EXT%\svx\zoomitem.hxx
-..\inc\svx\viewlayoutitem.hxx %_DEST%\inc%_EXT%\svx\viewlayoutitem.hxx
-..\inc\svx\zoomslideritem.hxx %_DEST%\inc%_EXT%\svx\zoomslideritem.hxx
-..\inc\svx\zoomsliderctrl.hxx %_DEST%\inc%_EXT%\svx\zoomsliderctrl.hxx
-..\inc\svx\extrusioncolorcontrol.hxx %_DEST%\inc%_EXT%\svx\extrusioncolorcontrol.hxx
-
-..\inc\svx\fmmodel.hxx %_DEST%\inc%_EXT%\svx\fmmodel.hxx
-..\inc\svx\fmpage.hxx %_DEST%\inc%_EXT%\svx\fmpage.hxx
-..\inc\svx\fmview.hxx %_DEST%\inc%_EXT%\svx\fmview.hxx
-..\inc\svx\fmglob.hxx %_DEST%\inc%_EXT%\svx\fmglob.hxx
-..\inc\svx\fmshell.hxx %_DEST%\inc%_EXT%\svx\fmshell.hxx
-..\inc\svx\svdouno.hxx %_DEST%\inc%_EXT%\svx\svdouno.hxx
-..\inc\svx\deflt3d.hxx %_DEST%\inc%_EXT%\svx\deflt3d.hxx
-..\inc\svx\AccessibleTextHelper.hxx %_DEST%\inc%_EXT%\svx\AccessibleTextHelper.hxx
-..\inc\svx\e3dundo.hxx %_DEST%\inc%_EXT%\svx\e3dundo.hxx
-..\inc\svx\msdffdef.hxx %_DEST%\inc%_EXT%\svx\msdffdef.hxx
-..\inc\svx\unoshtxt.hxx %_DEST%\inc%_EXT%\svx\unoshtxt.hxx
-..\inc\svx\fmdmod.hxx %_DEST%\inc%_EXT%\svx\fmdmod.hxx
-..\inc\svx\fmgridcl.hxx %_DEST%\inc%_EXT%\svx\fmgridcl.hxx
-..\inc\svx\gridctrl.hxx %_DEST%\inc%_EXT%\svx\gridctrl.hxx
-..\inc\svx\unoshprp.hxx %_DEST%\inc%_EXT%\svx\unoshprp.hxx
-..\inc\svx\sdasaitm.hxx %_DEST%\inc%_EXT%\svx\sdasaitm.hxx
-..\inc\svx\sdasitm.hxx %_DEST%\inc%_EXT%\svx\sdasitm.hxx
-..\inc\svx\grfcrop.hxx %_DEST%\inc%_EXT%\svx\grfcrop.hxx
-..\inc\svx\grfflt.hxx %_DEST%\inc%_EXT%\svx\grfflt.hxx
-..\inc\svx\svx3ditems.hxx %_DEST%\inc%_EXT%\svx\svx3ditems.hxx
-..\inc\svx\dbaexchange.hxx %_DEST%\inc%_EXT%\svx\dbaexchange.hxx
-..\inc\svx\dbaobjectex.hxx %_DEST%\inc%_EXT%\svx\dbaobjectex.hxx
-..\inc\svx\ucsubset.hxx %_DEST%\inc%_EXT%\svx\ucsubset.hxx
-..\inc\svx\ucsubset.hrc %_DEST%\inc%_EXT%\svx\ucsubset.hrc
-..\inc\svx\dataaccessdescriptor.hxx %_DEST%\inc%_EXT%\svx\dataaccessdescriptor.hxx
-..\inc\svx\frmdirlbox.hxx %_DEST%\inc%_EXT%\svx\frmdirlbox.hxx
-..\inc\svx\AccessibleShape.hxx %_DEST%\inc%_EXT%\svx\AccessibleShape.hxx
-..\inc\svx\AccessibleGraphicShape.hxx %_DEST%\inc%_EXT%\svx\AccessibleGraphicShape.hxx
-..\inc\svx\AccessibleOLEShape.hxx %_DEST%\inc%_EXT%\svx\AccessibleOLEShape.hxx
-..\inc\svx\AccessibleShapeTreeInfo.hxx %_DEST%\inc%_EXT%\svx\AccessibleShapeTreeInfo.hxx
-..\inc\svx\AccessibleShapeInfo.hxx %_DEST%\inc%_EXT%\svx\AccessibleShapeInfo.hxx
-..\inc\svx\AccessibleControlShape.hxx %_DEST%\inc%_EXT%\svx\AccessibleControlShape.hxx
-..\inc\svx\IAccessibleViewForwarder.hxx %_DEST%\inc%_EXT%\svx\IAccessibleViewForwarder.hxx
-..\inc\svx\IAccessibleViewForwarderListener.hxx %_DEST%\inc%_EXT%\svx\IAccessibleViewForwarderListener.hxx
-..\inc\svx\IAccessibleParent.hxx %_DEST%\inc%_EXT%\svx\IAccessibleParent.hxx
-..\inc\svx\ChildrenManager.hxx %_DEST%\inc%_EXT%\svx\ChildrenManager.hxx
-..\inc\svx\ShapeTypeHandler.hxx %_DEST%\inc%_EXT%\svx\ShapeTypeHandler.hxx
-..\inc\svx\SvxShapeTypes.hxx %_DEST%\inc%_EXT%\svx\SvxShapeTypes.hxx
-..\inc\svx\svdoashp.hxx %_DEST%\inc%_EXT%\svx\svdoashp.hxx
-..\inc\svx\extrusionbar.hxx %_DEST%\inc%_EXT%\svx\extrusionbar.hxx
-..\inc\svx\fontworkbar.hxx %_DEST%\inc%_EXT%\svx\fontworkbar.hxx
-..\inc\svx\svxdlg.hxx %_DEST%\inc%_EXT%\svx\svxdlg.hxx
-..\inc\svx\tbxcolorupdate.hxx %_DEST%\inc%_EXT%\svx\tbxcolorupdate.hxx
-..\inc\svx\svxdllapi.h %_DEST%\inc%_EXT%\svx\svxdllapi.h
-..\inc\svx\SmartTagMgr.hxx %_DEST%\inc%_EXT%\svx\SmartTagMgr.hxx
-..\inc\svx\SmartTagItem.hxx %_DEST%\inc%_EXT%\svx\SmartTagItem.hxx
-..\inc\svx\SmartTagCtl.hxx %_DEST%\inc%_EXT%\svx\SmartTagCtl.hxx
-..\inc\svx\databaselocationinput.hxx %_DEST%\inc%_EXT%\svx\databaselocationinput.hxx
-..\inc\svx\dbcharsethelper.hxx %_DEST%\inc%_EXT%\svx\dbcharsethelper.hxx
-..\inc\svx\dbtoolsclient.hxx %_DEST%\inc%_EXT%\svx\dbtoolsclient.hxx
-..\inc\svx\sdrobjectfilter.hxx %_DEST%\inc%_EXT%\svx\sdrobjectfilter.hxx
-
-..\inc\svx\subtoolboxcontrol.hxx %_DEST%\inc%_EXT%\svx\subtoolboxcontrol.hxx
-..\inc\svx\svdtext.hxx %_DEST%\inc%_EXT%\svx\svdtext.hxx
-..\inc\svx\svdotable.hxx %_DEST%\inc%_EXT%\svx\svdotable.hxx
-..\inc\svx\selectioncontroller.hxx %_DEST%\inc%_EXT%\svx\selectioncontroller.hxx
-..\inc\svx\helperhittest3d.hxx %_DEST%\inc%_EXT%\svx\helperhittest3d.hxx
mkdir: %_DEST%\inc%_EXT%\svx\sdr
mkdir: %_DEST%\inc%_EXT%\svx\sdr\properties
@@ -491,6 +64,7 @@ mkdir: %_DEST%\inc%_EXT%\svx\sdr\contact
..\inc\svx\sdr\contact\viewobjectcontactredirector.hxx %_DEST%\inc%_EXT%\svx\sdr\contact\viewobjectcontactredirector.hxx
..\inc\svx\sdr\contact\viewobjectcontactofpageobj.hxx %_DEST%\inc%_EXT%\svx\sdr\contact\viewobjectcontactofpageobj.hxx
..\inc\svx\sdr\contact\viewobjectcontactofsdrobj.hxx %_DEST%\inc%_EXT%\svx\sdr\contact\viewobjectcontactofsdrobj.hxx
+..\inc\svx\sdr\contact\vocbitmapbuffer.hxx %_DEST%\inc%_EXT%\svx\sdr\contact\vocbitmapbuffer.hxx
mkdir: %_DEST%\inc%_EXT%\svx\sdr\overlay
..\inc\svx\sdr\overlay\overlayanimatedbitmapex.hxx %_DEST%\inc%_EXT%\svx\sdr\overlay\overlayanimatedbitmapex.hxx
@@ -512,6 +86,10 @@ mkdir: %_DEST%\inc%_EXT%\svx\sdr\primitive2d
..\inc\svx\sdr\primitive2d\sdrprimitivetools.hxx %_DEST%\inc%_EXT%\svx\sdr\primitive2d\sdrprimitivetools.hxx
mkdir: %_DEST%\inc%_EXT%\svx\sdr\animation
+..\inc\svx\sdr\animation\ainfographic.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\ainfographic.hxx
+..\inc\svx\sdr\animation\ainfoscrolltext.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\ainfoscrolltext.hxx
+..\inc\svx\sdr\animation\ainfotext.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\ainfotext.hxx
+..\inc\svx\sdr\animation\animationinfo.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\animationinfo.hxx
..\inc\svx\sdr\animation\animationstate.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\animationstate.hxx
..\inc\svx\sdr\animation\objectanimator.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\objectanimator.hxx
..\inc\svx\sdr\animation\scheduler.hxx %_DEST%\inc%_EXT%\svx\sdr\animation\scheduler.hxx
@@ -546,11 +124,9 @@ mkdir: %_DEST%\inc%_EXT%\svx\sdr\table
..\xml\AccessibleControlShape.xml %_DEST%\xml%_EXT%\AccessibleControlShape.xml
..\xml\AccessibleEditableTextPara.xml %_DEST%\xml%_EXT%\AccessibleEditableTextPara.xml
-..\inc\svx\subtoolboxcontrol.hxx %_DEST%\inc%_EXT%\svx\subtoolboxcontrol.hxx
-..\inc\svx\svdtext.hxx %_DEST%\inc%_EXT%\svx\svdtext.hxx
-..\inc\svx\svdotable.hxx %_DEST%\inc%_EXT%\svx\svdotable.hxx
-..\inc\svx\selectioncontroller.hxx %_DEST%\inc%_EXT%\svx\selectioncontroller.hxx
-..\inc\svx\helperhittest3d.hxx %_DEST%\inc%_EXT%\svx\helperhittest3d.hxx
+..\uiconfig\accelerator\*.xml %_DEST%\xml%_EXT%\uiconfig\global\accelerator\*.xml
+..\uiconfig\accelerator\en-US\*.xml %_DEST%\xml%_EXT%\uiconfig\global\accelerator\en-US\*.xml
+..\uiconfig\accelerator\es\*.xml %_DEST%\xml%_EXT%\uiconfig\global\accelerator\es\*.xml
..\%__SRC%\bin\*-layout.zip %_DEST%\pck%_EXT%\*.*
..\%__SRC%\misc\svx.component %_DEST%\xml%_EXT%\svx.component
diff --git a/svx/prj/makefile.mk b/svx/prj/makefile.mk
new file mode 100644
index 0000000000..2a0b99e72f
--- /dev/null
+++ b/svx/prj/makefile.mk
@@ -0,0 +1,2 @@
+all:
+ cd .. && make -srj9
diff --git a/svx/prj/target_lib_svx.mk b/svx/prj/target_lib_svx.mk
new file mode 100644
index 0000000000..6810f7f30f
--- /dev/null
+++ b/svx/prj/target_lib_svx.mk
@@ -0,0 +1,261 @@
+#*************************************************************************
+#
+# 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,svx))
+
+$(eval $(call gb_Library_set_include,svx,\
+ $$(SOLARINC) \
+ -I$(WORKDIR)/inc/svx/ \
+ -I$(SRCDIR)/svx/inc \
+ -I$(SRCDIR)/svx/source/inc \
+ -I$(SRCDIR)/svx/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_set_defs,svx,\
+ $$(DEFS) \
+ -DACCESSIBLE_LAYOUT \
+ -DSVX_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,svx,\
+ basegfx \
+ sb \
+ comphelper \
+ cppuhelper \
+ cppu \
+ drawinglayer \
+ editeng \
+ i18nisolang1 \
+ icuuc \
+ sal \
+ sfx \
+ sot \
+ svl \
+ svt \
+ svxcore \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ vos3 \
+ xo \
+ xcr \
+ stl \
+))
+
+# svx/source/unodialogs/textconversiondlgs/services \
+# svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog \
+# svx/source/unodialogs/textconversiondlgs/chinese_translationdialog \
+# svx/source/unodialogs/textconversiondlgs/chinese_translation_unodialog \
+# svx/source/unodialogs/textconversiondlgs/resid \
+
+
+$(eval $(call gb_Library_add_exception_objects,svx,\
+ svx/source/unodraw/recoveryui \
+ svx/source/unodraw/unoshcol \
+ svx/source/unodraw/unoctabl \
+ svx/source/unodraw/unopool \
+ svx/source/unodraw/UnoNamespaceMap \
+ svx/source/tbxctrls/layctrl \
+ svx/source/tbxctrls/tbxcolor \
+ svx/source/tbxctrls/formatpaintbrushctrl \
+ svx/source/tbxctrls/colrctrl \
+ svx/source/tbxctrls/itemwin \
+ svx/source/tbxctrls/tbxalign \
+ svx/source/tbxctrls/fillctrl \
+ svx/source/tbxctrls/tbunocontroller \
+ svx/source/tbxctrls/subtoolboxcontrol \
+ svx/source/tbxctrls/grafctrl \
+ svx/source/tbxctrls/linectrl \
+ svx/source/tbxctrls/tbxdrctl \
+ svx/source/tbxctrls/verttexttbxctrl \
+ svx/source/tbxctrls/lboxctrl \
+ svx/source/table/tablertfexporter \
+ svx/source/table/tablertfimporter \
+ svx/source/table/accessiblecell \
+ svx/source/table/accessibletableshape \
+ svx/source/table/tabledesign \
+ svx/source/table/celleditsource \
+ svx/source/svdraw/svdoimp \
+ svx/source/svdraw/svdscrol \
+ svx/source/svdraw/ActionDescriptionProvider \
+ svx/source/svdraw/impgrfll \
+ svx/source/items/SmartTagItem \
+ svx/source/items/svxempty \
+ svx/source/items/viewlayoutitem \
+ svx/source/items/zoomslideritem \
+ svx/source/items/hlnkitem \
+ svx/source/items/numfmtsh \
+ svx/source/items/algitem \
+ svx/source/items/zoomitem \
+ svx/source/items/ofaitem \
+ svx/source/items/pageitem \
+ svx/source/items/numinf \
+ svx/source/items/postattr \
+ svx/source/items/rotmodit \
+ svx/source/items/svxerr \
+ svx/source/form/databaselocationinput \
+ svx/source/form/fmsrcimp \
+ svx/source/form/filtnav \
+ svx/source/form/tabwin \
+ svx/source/form/fmsrccfg \
+ svx/source/form/fmobjfac \
+ svx/source/form/tbxform \
+ svx/source/form/fmPropBrw \
+ svx/source/form/dbcharsethelper \
+ svx/source/stbctrls/pszctrl \
+ svx/source/stbctrls/insctrl \
+ svx/source/stbctrls/selctrl \
+ svx/source/stbctrls/xmlsecctrl \
+ svx/source/stbctrls/modctrl \
+ svx/source/stbctrls/zoomsliderctrl \
+ svx/source/stbctrls/zoomctrl \
+ svx/source/gengal/gengal \
+ svx/source/unogallery/unogaltheme \
+ svx/source/unogallery/unogalitem \
+ svx/source/unogallery/unogalthemeprovider \
+ svx/source/mnuctrls/SmartTagCtl \
+ svx/source/mnuctrls/fntctl \
+ svx/source/mnuctrls/clipboardctl \
+ svx/source/mnuctrls/fntszctl \
+ svx/source/fmcomp/dbaobjectex \
+ svx/source/smarttags/SmartTagMgr \
+ svx/source/accessibility/AccessibleOLEShape \
+ svx/source/accessibility/AccessibleShapeTreeInfo \
+ svx/source/accessibility/DGColorNameLookUp \
+ svx/source/accessibility/charmapacc \
+ svx/source/accessibility/AccessibleShape \
+ svx/source/accessibility/AccessibleTextHelper \
+ svx/source/accessibility/svxrectctaccessiblecontext \
+ svx/source/accessibility/AccessibleGraphicShape \
+ svx/source/accessibility/AccessibleEmptyEditSource \
+ svx/source/accessibility/ChildrenManagerImpl \
+ svx/source/accessibility/AccessibleShapeInfo \
+ svx/source/accessibility/DescriptionGenerator \
+ svx/source/accessibility/ShapeTypeHandler \
+ svx/source/accessibility/ChildrenManager \
+ svx/source/accessibility/AccessibleControlShape \
+ svx/source/accessibility/AccessibleTextEventQueue \
+ svx/source/accessibility/AccessibleFrameSelector \
+ svx/source/accessibility/SvxShapeTypes \
+ svx/source/accessibility/GraphCtlAccessibleContext \
+ svx/source/customshapes/tbxcustomshapes \
+ svx/source/engine3d/float3d \
+ svx/source/engine3d/volume3d \
+ svx/source/engine3d/viewpt3d \
+ svx/source/dialog/srchdlg \
+ svx/source/dialog/rubydialog \
+ svx/source/dialog/srchctrl \
+ svx/source/dialog/paraprev \
+ svx/source/dialog/fontwork \
+ svx/source/dialog/framelinkarray \
+ svx/source/dialog/svxbmpnumvalueset \
+ svx/source/dialog/hyperdlg \
+ svx/source/dialog/wrapfield \
+ svx/source/dialog/svxruler \
+ svx/source/dialog/ctredlin \
+ svx/source/dialog/rulritem \
+ svx/source/dialog/dialcontrol \
+ svx/source/dialog/databaseregistrationui \
+ svx/source/dialog/txencbox \
+ svx/source/dialog/charmap \
+ svx/source/dialog/passwd \
+ svx/source/dialog/dlgctrl \
+ svx/source/dialog/hdft \
+ svx/source/dialog/frmdirlbox \
+ svx/source/dialog/fntctrl \
+ svx/source/dialog/docrecovery \
+ svx/source/dialog/checklbx \
+ svx/source/dialog/swframeposstrings \
+ svx/source/dialog/svxgrahicitem \
+ svx/source/dialog/relfld \
+ svx/source/dialog/SpellDialogChildWindow \
+ svx/source/dialog/strarray \
+ svx/source/dialog/prtqry \
+ svx/source/dialog/connctrl \
+ svx/source/dialog/contwnd \
+ svx/source/dialog/pfiledlg \
+ svx/source/dialog/dlgctl3d \
+ svx/source/dialog/hyprlink \
+ svx/source/dialog/grfflt \
+ svx/source/dialog/measctrl \
+ svx/source/dialog/orienthelper \
+ svx/source/dialog/frmsel \
+ svx/source/dialog/swframeexample \
+ svx/source/dialog/_bmpmask \
+ svx/source/dialog/graphctl \
+ svx/source/dialog/rlrcitem \
+ svx/source/dialog/fontlb \
+ svx/source/dialog/optgrid \
+ svx/source/dialog/imapwnd \
+ svx/source/dialog/pagectrl \
+ svx/source/dialog/_contdlg \
+ svx/source/dialog/txenctab \
+ svx/source/dialog/imapdlg \
+ svx/source/customshapes/EnhancedCustomShape3d \
+ svx/source/customshapes/EnhancedCustomShapeHandle \
+ svx/source/customshapes/EnhancedCustomShapeEngine \
+ svx/source/customshapes/EnhancedCustomShapeFontWork \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_exception_objects,svx,\
+ svx/source/dialog/sendreportunx \
+))
+$(eval $(call gb_Library_add_linked_libs,svx,\
+ dl \
+ m \
+ pthread \
+))
+else
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,svx,\
+ advapi32 \
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+$(eval $(call gb_Library_add_exception_objects,svx,\
+ svx/source/dialog/sendreportw32 \
+))
+))
+else
+$(eval $(call gb_Library_add_exception_objects,svx,\
+ svx/source/dialog/sendreportgen \
+))
+endif
+
+$(eval $(call gb_Library_add_linked_libs,svx,\
+ shell \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/svx/prj/target_lib_svxcore.mk b/svx/prj/target_lib_svxcore.mk
new file mode 100644
index 0000000000..f337588232
--- /dev/null
+++ b/svx/prj/target_lib_svxcore.mk
@@ -0,0 +1,449 @@
+#*************************************************************************
+#
+# 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,svxcore))
+
+$(eval $(call gb_Library_add_sdi_headers,svx,svx/sdi/svxslots))
+
+$(eval $(call gb_Library_set_include,svxcore,\
+ -I$(SRCDIR)/svx/inc \
+ -I$(SRCDIR)/svx/source/inc \
+ -I$(SRCDIR)/svx/inc/pch \
+ -I$(WORKDIR)/SdiTarget/svx/sdi \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_set_defs,svxcore,\
+ $$(DEFS) \
+ -DACCESSIBLE_LAYOUT \
+ -DSVX_DLLIMPLEMENTATION \
+ -DBOOST_SPIRIT_USE_OLD_NAMESPACE \
+))
+
+$(eval $(call gb_Library_add_linked_libs,svxcore,\
+ avmedia \
+ basegfx \
+ sb \
+ comphelper \
+ cppuhelper \
+ cppu \
+ drawinglayer \
+ editeng \
+ fwe \
+ i18nisolang1 \
+ icuuc \
+ lng \
+ sal \
+ sfx \
+ sot \
+ svl \
+ svt \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ vos3 \
+ xo \
+))
+
+$(eval $(call gb_Library_add_exception_objects,svxcore,\
+ svx/source/sdr/animation/scheduler \
+ svx/source/sdr/animation/objectanimator \
+ svx/source/sdr/animation/animationstate \
+ svx/source/sdr/attribute/sdrlinefillshadowtextattribute \
+ svx/source/sdr/attribute/sdrfilltextattribute \
+ svx/source/sdr/attribute/sdrshadowtextattribute \
+ svx/source/sdr/attribute/sdrtextattribute \
+ svx/source/sdr/attribute/sdrlineshadowtextattribute \
+ svx/source/sdr/attribute/sdrformtextattribute \
+ svx/source/sdr/attribute/sdrformtextoutlineattribute \
+ svx/source/sdr/contact/viewobjectcontactofgroup \
+ svx/source/sdr/contact/viewobjectcontactofsdrpage \
+ svx/source/sdr/contact/viewcontactofpageobj \
+ svx/source/sdr/contact/viewcontactofe3d \
+ svx/source/sdr/contact/viewcontactofe3dcube \
+ svx/source/sdr/contact/viewcontactofsdrmediaobj \
+ svx/source/sdr/contact/viewobjectcontactofmasterpagedescriptor \
+ svx/source/sdr/contact/viewobjectcontactofpageobj \
+ svx/source/sdr/contact/viewobjectcontactofe3dscene \
+ svx/source/sdr/contact/viewcontactofgraphic \
+ svx/source/sdr/contact/viewobjectcontactredirector \
+ svx/source/sdr/contact/viewcontactofsdrcircobj \
+ svx/source/sdr/contact/viewcontactofgroup \
+ svx/source/sdr/contact/viewcontactofunocontrol \
+ svx/source/sdr/contact/viewcontactofsdrobjcustomshape \
+ svx/source/sdr/contact/viewcontactofsdrobj \
+ svx/source/sdr/contact/objectcontact \
+ svx/source/sdr/contact/viewcontactoftextobj \
+ svx/source/sdr/contact/viewcontactofe3dlathe \
+ svx/source/sdr/contact/viewcontactofsdrpage \
+ svx/source/sdr/contact/viewcontactofe3dextrude \
+ svx/source/sdr/contact/viewcontactofmasterpagedescriptor \
+ svx/source/sdr/contact/viewcontact \
+ svx/source/sdr/contact/viewcontactofsdrole2obj \
+ svx/source/sdr/contact/displayinfo \
+ svx/source/sdr/contact/objectcontacttools \
+ svx/source/sdr/contact/viewcontactofe3dscene \
+ svx/source/sdr/contact/viewcontactofsdrrectobj \
+ svx/source/sdr/contact/viewobjectcontactofsdrole2obj \
+ svx/source/sdr/contact/viewobjectcontactofunocontrol \
+ svx/source/sdr/contact/viewobjectcontactofgraphic \
+ svx/source/sdr/contact/sdrmediawindow \
+ svx/source/sdr/contact/viewobjectcontactofsdrmediaobj \
+ svx/source/sdr/contact/viewcontactofsdrcaptionobj \
+ svx/source/sdr/contact/viewcontactofvirtobj \
+ svx/source/sdr/contact/viewcontactofe3dsphere \
+ svx/source/sdr/contact/viewcontactofe3dpolygon \
+ svx/source/sdr/contact/viewcontactofsdredgeobj \
+ svx/source/sdr/contact/viewobjectcontact \
+ svx/source/sdr/contact/viewobjectcontactofsdrobj \
+ svx/source/sdr/contact/objectcontactofpageview \
+ svx/source/sdr/contact/viewcontactofsdrpathobj \
+ svx/source/sdr/contact/viewcontactofsdrmeasureobj \
+ svx/source/sdr/contact/objectcontactofobjlistpainter \
+ svx/source/sdr/contact/viewobjectcontactofe3d \
+ svx/source/customshapes/EnhancedCustomShapeGeometry \
+ svx/source/customshapes/EnhancedCustomShapeTypeNames \
+ svx/source/customshapes/EnhancedCustomShape2d \
+ svx/source/customshapes/EnhancedCustomShapeFunctionParser \
+ svx/source/dialog/dialmgr \
+ svx/source/dialog/dlgutil \
+ svx/source/dialog/framelink \
+ svx/source/dialog/langbox \
+ svx/source/dialog/simptabl \
+ svx/source/dialog/svxdlg \
+ svx/source/dialog/stddlg \
+ svx/source/engine3d/deflt3d \
+ svx/source/engine3d/polysc3d \
+ svx/source/engine3d/sphere3d \
+ svx/source/engine3d/helperminimaldepth3d \
+ svx/source/engine3d/obj3d \
+ svx/source/engine3d/dragmt3d \
+ svx/source/engine3d/scene3d \
+ svx/source/engine3d/view3d \
+ svx/source/engine3d/e3dsceneupdater \
+ svx/source/engine3d/viewpt3d2 \
+ svx/source/engine3d/svx3ditems \
+ svx/source/engine3d/camera3d \
+ svx/source/engine3d/e3dundo \
+ svx/source/engine3d/objfac3d \
+ svx/source/engine3d/lathe3d \
+ svx/source/engine3d/polygn3d \
+ svx/source/engine3d/view3d1 \
+ svx/source/engine3d/cube3d \
+ svx/source/engine3d/helperhittest3d \
+ svx/source/engine3d/extrud3d \
+ svx/source/sdr/event/eventhandler \
+ svx/source/fmcomp/gridctrl \
+ svx/source/fmcomp/xmlexchg \
+ svx/source/fmcomp/trace \
+ svx/source/fmcomp/fmgridcl \
+ svx/source/fmcomp/gridcell \
+ svx/source/fmcomp/dbaexchange \
+ svx/source/fmcomp/gridcols \
+ svx/source/fmcomp/fmgridif \
+ svx/source/form/formfeaturedispatcher \
+ svx/source/form/typeconversionclient \
+ svx/source/form/fmpgeimp \
+ svx/source/form/fmcontrolbordermanager \
+ svx/source/form/fmshell \
+ svx/source/form/fmundo \
+ svx/source/form/ParseContext \
+ svx/source/form/fmexpl \
+ svx/source/form/fmtools \
+ svx/source/form/fmexch \
+ svx/source/form/formcontroller \
+ svx/source/form/dataaccessdescriptor \
+ svx/source/form/fmtextcontrolshell \
+ svx/source/form/datalistener \
+ svx/source/form/formcontrolfactory \
+ svx/source/form/sdbdatacolumn \
+ svx/source/form/fmview \
+ svx/source/form/delayedevent \
+ svx/source/form/fmservs \
+ svx/source/form/fmobj \
+ svx/source/form/fmdocumentclassification \
+ svx/source/form/sqlparserclient \
+ svx/source/form/fmshimp \
+ svx/source/form/typemap \
+ svx/source/form/fmscriptingenv \
+ svx/source/form/dbtoolsclient \
+ svx/source/form/fmpage \
+ svx/source/form/stringlistresource \
+ svx/source/form/fmmodel \
+ svx/source/form/formtoolbars \
+ svx/source/form/fmdpage \
+ svx/source/form/fmitems \
+ svx/source/form/navigatortreemodel \
+ svx/source/form/fmvwimp \
+ svx/source/form/fmtextcontrolfeature \
+ svx/source/form/fmdmod \
+ svx/source/form/fmcontrollayout \
+ svx/source/form/fmtextcontroldialogs \
+ svx/source/form/formdispatchinterceptor \
+ svx/source/form/formcontrolling \
+ svx/source/form/navigatortree \
+ svx/source/form/datanavi \
+ svx/source/form/legacyformcontroller \
+ svx/source/form/xfm_addcondition \
+ svx/source/gallery2/galexpl \
+ svx/source/gallery2/galtheme \
+ svx/source/gallery2/galctrl \
+ svx/source/gallery2/gallery1 \
+ svx/source/gallery2/galmisc \
+ svx/source/gallery2/galobj \
+ svx/source/gallery2/galbrws2 \
+ svx/source/gallery2/galbrws \
+ svx/source/gallery2/galbrws1 \
+ svx/source/gallery2/codec \
+ svx/source/items/drawitem \
+ svx/source/items/chrtitem \
+ svx/source/items/e3ditem \
+ svx/source/items/grfitem \
+ svx/source/items/clipfmtitem \
+ svx/source/items/customshapeitem \
+ svx/source/sdr/overlay/overlayline \
+ svx/source/sdr/overlay/overlaycrosshair \
+ svx/source/sdr/overlay/overlayrollingrectangle \
+ svx/source/sdr/overlay/overlaytriangle \
+ svx/source/sdr/overlay/overlayselection \
+ svx/source/sdr/overlay/overlayhatchrect \
+ svx/source/sdr/overlay/overlaybitmapex \
+ svx/source/sdr/overlay/overlaymanagerbuffered \
+ svx/source/sdr/overlay/overlayhelpline \
+ svx/source/sdr/overlay/overlayanimatedbitmapex \
+ svx/source/sdr/overlay/overlaypolypolygon \
+ svx/source/sdr/overlay/overlayobjectcell \
+ svx/source/sdr/overlay/overlaytools \
+ svx/source/sdr/overlay/overlayprimitive2dsequenceobject \
+ svx/source/sdr/overlay/overlayobject \
+ svx/source/sdr/overlay/overlaymanager \
+ svx/source/sdr/overlay/overlayobjectlist \
+ svx/source/sdr/primitive2d/sdrellipseprimitive2d \
+ svx/source/sdr/primitive2d/sdrprimitivetools \
+ svx/source/sdr/primitive2d/sdrtextprimitive2d \
+ svx/source/sdr/primitive2d/primitivefactory2d \
+ svx/source/sdr/primitive2d/sdrolecontentprimitive2d \
+ svx/source/sdr/primitive2d/sdrcustomshapeprimitive2d \
+ svx/source/sdr/primitive2d/sdrgrafprimitive2d \
+ svx/source/sdr/primitive2d/sdrole2primitive2d \
+ svx/source/sdr/primitive2d/sdrpathprimitive2d \
+ svx/source/sdr/primitive2d/sdrrectangleprimitive2d \
+ svx/source/sdr/primitive2d/sdrcaptionprimitive2d \
+ svx/source/sdr/primitive2d/sdrconnectorprimitive2d \
+ svx/source/sdr/primitive2d/sdrmeasureprimitive2d \
+ svx/source/sdr/primitive2d/sdrattributecreator \
+ svx/source/sdr/primitive2d/sdrdecompositiontools \
+ svx/source/sdr/primitive3d/sdrattributecreator3d \
+ svx/source/sdr/properties/pageproperties \
+ svx/source/sdr/properties/e3dsceneproperties \
+ svx/source/sdr/properties/itemsettools \
+ svx/source/sdr/properties/captionproperties \
+ svx/source/sdr/properties/e3dextrudeproperties \
+ svx/source/sdr/properties/e3dproperties \
+ svx/source/sdr/properties/measureproperties \
+ svx/source/sdr/properties/customshapeproperties \
+ svx/source/sdr/properties/rectangleproperties \
+ svx/source/sdr/properties/groupproperties \
+ svx/source/sdr/properties/properties \
+ svx/source/sdr/properties/e3dlatheproperties \
+ svx/source/sdr/properties/graphicproperties \
+ svx/source/sdr/properties/circleproperties \
+ svx/source/sdr/properties/emptyproperties \
+ svx/source/sdr/properties/e3dsphereproperties \
+ svx/source/sdr/properties/defaultproperties \
+ svx/source/sdr/properties/textproperties \
+ svx/source/sdr/properties/attributeproperties \
+ svx/source/sdr/properties/connectorproperties \
+ svx/source/sdr/properties/e3dcompoundproperties \
+ svx/source/sdr/properties/oleproperties \
+ svx/source/svdraw/svdglev \
+ svx/source/svdraw/svdhdl \
+ svx/source/svdraw/svdomedia \
+ svx/source/svdraw/svdedxv \
+ svx/source/svdraw/svdoedge \
+ svx/source/svdraw/svdundo \
+ svx/source/svdraw/svdmrkv1 \
+ svx/source/svdraw/svdotxfl \
+ svx/source/svdraw/sdrcomment \
+ svx/source/svdraw/svdcrtv \
+ svx/source/svdraw/svdouno \
+ svx/source/svdraw/svditer \
+ svx/source/svdraw/svdotxln \
+ svx/source/svdraw/svdxcgv \
+ svx/source/svdraw/svdomeas \
+ svx/source/svdraw/svdpntv \
+ svx/source/svdraw/svdattr \
+ svx/source/svdraw/svdotxdr \
+ svx/source/svdraw/svdtext \
+ svx/source/svdraw/svdedtv2 \
+ svx/source/svdraw/svddrag \
+ svx/source/svdraw/svdopage \
+ svx/source/svdraw/svddrgmt \
+ svx/source/svdraw/svdogrp \
+ svx/source/svdraw/svdovirt \
+ svx/source/svdraw/svddrgv \
+ svx/source/svdraw/sdrpaintwindow \
+ svx/source/svdraw/polypolygoneditor \
+ svx/source/svdraw/svdpoev \
+ svx/source/svdraw/svdotextpathdecomposition \
+ svx/source/svdraw/svdmrkv \
+ svx/source/svdraw/svdview \
+ svx/source/svdraw/svdoashp \
+ svx/source/svdraw/svdoutlinercache \
+ svx/source/svdraw/svdetc \
+ svx/source/svdraw/svdlayer \
+ svx/source/svdraw/svdfmtf \
+ svx/source/svdraw/gradtrns \
+ svx/source/svdraw/svdotxed \
+ svx/source/svdraw/svdhlpln \
+ svx/source/svdraw/svdedtv \
+ svx/source/svdraw/svdmodel \
+ svx/source/svdraw/svdopath \
+ svx/source/svdraw/svdtrans \
+ svx/source/svdraw/svdpagv \
+ svx/source/svdraw/svdorect \
+ svx/source/svdraw/svdedtv1 \
+ svx/source/svdraw/svdograf \
+ svx/source/svdraw/sdrhittesthelper \
+ svx/source/svdraw/svdglue \
+ svx/source/svdraw/svdobj \
+ svx/source/svdraw/svdsnpv \
+ svx/source/svdraw/svdotext \
+ svx/source/svdraw/svdoattr \
+ svx/source/svdraw/svdviter \
+ svx/source/svdraw/svdpage \
+ svx/source/svdraw/svdoole2 \
+ svx/source/svdraw/svdibrow \
+ svx/source/svdraw/sdrmasterpagedescriptor \
+ svx/source/svdraw/svdocapt \
+ svx/source/svdraw/svdmark \
+ svx/source/svdraw/svdocirc \
+ svx/source/svdraw/selectioncontroller \
+ svx/source/svdraw/clonelist \
+ svx/source/svdraw/svdotxtr \
+ svx/source/svdraw/svdoutl \
+ svx/source/svdraw/sdrpagewindow \
+ svx/source/svdraw/svdotxat \
+ svx/source/svdraw/svdotextdecomposition \
+ svx/source/table/tablecontroller \
+ svx/source/table/tablerow \
+ svx/source/table/tablelayouter \
+ svx/source/table/tablecolumn \
+ svx/source/table/tablemodel \
+ svx/source/table/svdotable \
+ svx/source/table/cellcursor \
+ svx/source/table/propertyset \
+ svx/source/table/tablecolumns \
+ svx/source/table/viewcontactoftableobj \
+ svx/source/table/cellrange \
+ svx/source/table/tableundo \
+ svx/source/table/tablerows \
+ svx/source/table/tablehandles \
+ svx/source/table/cell \
+ svx/source/tbxctrls/fontworkgallery \
+ svx/source/tbxctrls/extrusioncontrols \
+ svx/source/tbxctrls/tbcontrl \
+ svx/source/tbxctrls/toolbarmenu \
+ svx/source/tbxctrls/tbxcolorupdate \
+ svx/source/toolbars/fontworkbar \
+ svx/source/toolbars/extrusionbar \
+ svx/source/unodraw/unoshap4 \
+ svx/source/unodraw/unomlstr \
+ svx/source/unodraw/unoshtxt \
+ svx/source/unodraw/gluepts \
+ svx/source/unodraw/shapepropertynotifier \
+ svx/source/unodraw/tableshape \
+ svx/source/unodraw/unohtabl \
+ svx/source/unodraw/unoshape \
+ svx/source/unodraw/UnoGraphicExporter \
+ svx/source/unodraw/unobtabl \
+ svx/source/unodraw/XPropertyTable \
+ svx/source/unodraw/unoshap3 \
+ svx/source/unodraw/unottabl \
+ svx/source/unodraw/UnoNameItemTable \
+ svx/source/unodraw/unogtabl \
+ svx/source/unodraw/unomod \
+ svx/source/unodraw/unopage \
+ svx/source/unodraw/unoprov \
+ svx/source/unodraw/unomtabl \
+ svx/source/unodraw/unoshap2 \
+ svx/source/unodraw/unodtabl \
+ svx/source/xml/xmlexport \
+ svx/source/xml/xmlgrhlp \
+ svx/source/xml/xmlxtimp \
+ svx/source/xml/xmlxtexp \
+ svx/source/xml/xmleohlp \
+ svx/source/xoutdev/xtablend \
+ svx/source/xoutdev/xattr \
+ svx/source/xoutdev/xtabgrdt \
+ svx/source/xoutdev/xtabhtch \
+ svx/source/xoutdev/_xoutbmp \
+ svx/source/xoutdev/xtabdash \
+ svx/source/xoutdev/xtabbtmp \
+ svx/source/xoutdev/xexch \
+ svx/source/xoutdev/xtabcolr \
+ svx/source/xoutdev/xattr2 \
+ svx/source/xoutdev/xtable \
+ svx/source/xoutdev/xattrbmp \
+ svx/source/xoutdev/_xpoly \
+ svx/source/xoutdev/xpool \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,svxcore,\
+ dl \
+ m \
+ pthread \
+ stl \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,svxcore,\
+ advapi32 \
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+
+$(eval $(call gb_SdiTarget_SdiTarget,svx/sdi/svxslots,svx/sdi/svx))
+
+
+$(eval $(call gb_SdiTarget_set_include,svx/sdi/svxslots,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/svx/inc \
+ -I$(SRCDIR)/svx/sdi \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/svx/prj/target_module_svx.mk b/svx/prj/target_module_svx.mk
new file mode 100644
index 0000000000..5978c97e55
--- /dev/null
+++ b/svx/prj/target_module_svx.mk
@@ -0,0 +1,52 @@
+#*************************************************************************
+#
+# 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,svx,\
+ $(call gb_AllLangResTarget_get_target,svx) \
+ $(call gb_Library_get_target,svxcore) \
+ $(call gb_Library_get_target,svx) \
+))
+
+$(eval $(call gb_Module_read_includes,svx,\
+ lib_svx \
+ lib_svxcore \
+ res_svx \
+))
+
+#todo: noopt for EnhanceCustomShapesFunctionParser.cxx on Solaris Sparc and MacOSX
+#todo: -DBOOST_SPIRIT_USE_OLD_NAMESPACE only in CustomShapes
+#todo: -DUNICODE and -D_UNICODE on WNT for source/dialog
+#todo: noopt for viewpt3d.cxx with MSVC and ICC
+#todo: set -DENABLE_VBA in case $(ENABLE_VBA)="YES"; can we do it in gbuild.mk?
+#todo: gengal
+#todo: set -D... for ENABLE_GTK/KDE/KDE4 -> in gbuild.mk?
+#todo: ibrwimp.lib in util/makefile.mk on Windows ?!
+#todo: GENHID
+#todo: uiconfig
+#todo: exports from gallery (util/gal.dxp) and svx (svx.dxp)
+#todo: resources, textconversion, packages
+
diff --git a/svx/prj/target_package_inc.mk b/svx/prj/target_package_inc.mk
new file mode 100644
index 0000000000..dd836b286f
--- /dev/null
+++ b/svx/prj/target_package_inc.mk
@@ -0,0 +1,154 @@
+#*************************************************************************
+#
+# 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,sfx2_inc,$(SRCDIR)/sfx2/inc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/DocumentMetadataAccess.hxx,sfx2/DocumentMetadataAccess.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/Metadatable.hxx,sfx2/Metadatable.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/QuerySaveDocument.hxx,sfx2/QuerySaveDocument.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/XmlIdRegistry.hxx,sfx2/XmlIdRegistry.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/app.hxx,sfx2/app.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/app.hxx,sfx2/app.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/appuno.hxx,sfx2/appuno.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/basedlgs.hxx,sfx2/basedlgs.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/basmgr.hxx,sfx2/basmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/bindings.hxx,sfx2/bindings.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/brokenpackageint.hxx,sfx2/brokenpackageint.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/chalign.hxx,sfx2/chalign.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/childwin.hxx,sfx2/childwin.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/cntids.hrc,sfx2/cntids.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/controlwrapper.hxx,sfx2/controlwrapper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/ctrlitem.hxx,sfx2/ctrlitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dialogs.hrc,sfx2/dialogs.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dinfdlg.hxx,sfx2/dinfdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dinfedt.hxx,sfx2/dinfedt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dispatch.hxx,sfx2/dispatch.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dllapi.h,sfx2/dllapi.h))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfac.hxx,sfx2/docfac.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfile.hxx,sfx2/docfile.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docfilt.hxx,sfx2/docfilt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docinf.hxx,sfx2/docinf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docinsert.hxx,sfx2/docinsert.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/dockwin.hxx,sfx2/dockwin.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docmacromode.hxx,sfx2/docmacromode.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/docstoragemodifylistener.hxx,sfx2/docstoragemodifylistener.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/doctdlg.hxx,sfx2/doctdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/doctempl.hxx,sfx2/doctempl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/event.hxx,sfx2/event.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/evntconf.hxx,sfx2/evntconf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/fcontnr.hxx,sfx2/fcontnr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/filedlghelper.hxx,sfx2/filedlghelper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frame.hxx,sfx2/frame.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmdescr.hxx,sfx2/frmdescr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmhtml.hxx,sfx2/frmhtml.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/frmhtmlw.hxx,sfx2/frmhtmlw.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/genlink.hxx,sfx2/genlink.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/hintpost.hxx,sfx2/hintpost.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imagemgr.hxx,sfx2/imagemgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imgdef.hxx,sfx2/imgdef.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/imgmgr.hxx,sfx2/imgmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/ipclient.hxx,sfx2/ipclient.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/itemconnect.hxx,sfx2/itemconnect.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/itemwrapper.hxx,sfx2/itemwrapper.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-post.hxx,sfx2/layout-post.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-pre.hxx,sfx2/layout-pre.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout-tabdlg.hxx,sfx2/layout-tabdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/layout.hxx,sfx2/layout.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/linkmgr.hxx,sfx2/linkmgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/linksrc.hxx,sfx2/linksrc.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/lnkbase.hxx,sfx2/lnkbase.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/macrconf.hxx,sfx2/macrconf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mailmodelapi.hxx,sfx2/mailmodelapi.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mgetempl.hxx,sfx2/mgetempl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mieclip.hxx,sfx2/mieclip.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minarray.hxx,sfx2/minarray.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minfitem.hxx,sfx2/minfitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/minstack.hxx,sfx2/minstack.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mnuitem.hxx,sfx2/mnuitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/mnumgr.hxx,sfx2/mnumgr.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/module.hxx,sfx2/module.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/msg.hxx,sfx2/msg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/msgpool.hxx,sfx2/msgpool.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/navigat.hxx,sfx2/navigat.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/new.hxx,sfx2/new.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/newstyle.hxx,sfx2/newstyle.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objface.hxx,sfx2/objface.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objitem.hxx,sfx2/objitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/objsh.hxx,sfx2/objsh.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/opengrf.hxx,sfx2/opengrf.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/passwd.hxx,sfx2/passwd.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/printer.hxx,sfx2/printer.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/printopt.hxx,sfx2/printopt.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/prnmon.hxx,sfx2/prnmon.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/progress.hxx,sfx2/progress.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/querystatus.hxx,sfx2/querystatus.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/request.hxx,sfx2/request.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfx.hrc,sfx2/sfx.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxbasecontroller.hxx,sfx2/sfxbasecontroller.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxbasemodel.hxx,sfx2/sfxbasemodel.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxdefs.hxx,sfx2/sfxdefs.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxdlg.hxx,sfx2/sfxdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxhelp.hxx,sfx2/sfxhelp.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxhtml.hxx,sfx2/sfxhtml.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxmodelfactory.hxx,sfx2/sfxmodelfactory.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxresid.hxx,sfx2/sfxresid.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxsids.hrc,sfx2/sfxsids.hrc))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxstatuslistener.hxx,sfx2/sfxstatuslistener.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/sfxuno.hxx,sfx2/sfxuno.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/shell.hxx,sfx2/shell.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/signaturestate.hxx,sfx2/signaturestate.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/stbitem.hxx,sfx2/stbitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/styfitem.hxx,sfx2/styfitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/styledlg.hxx,sfx2/styledlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tabdlg.hxx,sfx2/tabdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tbxctrl.hxx,sfx2/tbxctrl.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/templdlg.hxx,sfx2/templdlg.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/tplpitem.hxx,sfx2/tplpitem.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/unoctitm.hxx,sfx2/unoctitm.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/userinputinterception.hxx,sfx2/userinputinterception.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewfac.hxx,sfx2/viewfac.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewfrm.hxx,sfx2/viewfrm.hxx))
+$(eval $(call gb_Package_add_file,sfx2_inc,inc/sfx2/viewsh.hxx,sfx2/viewsh.hxx))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/svx/prj/target_res_svx.mk b/svx/prj/target_res_svx.mk
new file mode 100644
index 0000000000..67d3cfab1c
--- /dev/null
+++ b/svx/prj/target_res_svx.mk
@@ -0,0 +1,112 @@
+#*************************************************************************
+#
+# 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,svx))
+
+$(eval $(call gb_AllLangResTarget_set_reslocation,svx,svx))
+#$(eval $(call gb_AllLangResTarget_set_reslocation,svx,svx/source/svdraw))
+
+$(eval $(call gb_AllLangResTarget_add_srs,svx,\
+ svx/res \
+))
+
+$(eval $(call gb_SrsTarget_SrsTarget,svx/res))
+
+$(eval $(call gb_SrsTarget_set_include,svx/res,\
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc \
+ -I$(WORKDIR)/inc \
+ -I$(SRCDIR)/svx/source/inc \
+ -I$(SRCDIR)/svx/source/dialog \
+ -I$(SRCDIR)/svx/inc/ \
+ -I$(SRCDIR)/svx/unxlngi6.pro/inc/ \
+))
+
+#svx/source/src/errtxt.src
+#svx/source/src/app.src
+
+#svx/source/intro/iso.src
+#svx/source/intro/ooo.src
+
+#svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.src
+#svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.src
+
+$(eval $(call gb_SrsTarget_add_files,svx/res,\
+ svx/source/stbctrls/stbctrls.src \
+ svx/source/dialog/passwd.src \
+ svx/source/dialog/language.src \
+ svx/source/dialog/bmpmask.src \
+ svx/source/dialog/ucsubset.src \
+ svx/source/dialog/hdft.src \
+ svx/source/dialog/imapdlg.src \
+ svx/source/dialog/swframeposstrings.src \
+ svx/source/dialog/prtqry.src \
+ svx/source/dialog/txenctab.src \
+ svx/source/dialog/dlgctrl.src \
+ svx/source/dialog/frmsel.src \
+ svx/source/dialog/ctredlin.src \
+ svx/source/dialog/sdstring.src \
+ svx/source/dialog/ruler.src \
+ svx/source/dialog/srchdlg.src \
+ svx/source/dialog/optgrid.src \
+ svx/source/dialog/langbox.src \
+ svx/source/dialog/contdlg.src \
+ svx/source/dialog/rubydialog.src \
+ svx/source/dialog/fontwork.src \
+ svx/source/dialog/docrecovery.src \
+ svx/source/dialog/hyprlink.src \
+ svx/source/dialog/svxbmpnumvalueset.src \
+ svx/source/engine3d/string3d.src \
+ svx/source/engine3d/float3d.src \
+ svx/source/mnuctrls/mnuctrls.src \
+ svx/source/tbxctrls/linectrl.src \
+ svx/source/tbxctrls/colrctrl.src \
+ svx/source/tbxctrls/extrusioncontrols.src \
+ svx/source/tbxctrls/tbxdraw.src \
+ svx/source/tbxctrls/grafctrl.src \
+ svx/source/tbxctrls/lboxctrl.src \
+ svx/source/tbxctrls/tbcontrl.src \
+ svx/source/tbxctrls/fontworkgallery.src \
+ svx/source/fmcomp/gridctrl.src \
+ svx/source/form/fmexpl.src \
+ svx/source/form/formshell.src \
+ svx/source/form/fmstring.src \
+ svx/source/form/datanavi.src \
+ svx/source/form/filtnav.src \
+ svx/source/unodraw/unodraw.src \
+ svx/source/table/table.src \
+ svx/source/toolbars/extrusionbar.src \
+ svx/source/toolbars/fontworkbar.src \
+ svx/source/gallery2/galtheme.src \
+ svx/source/gallery2/gallery.src \
+ svx/source/svdraw/svdstr.src \
+ svx/source/accessibility/accessibility.src \
+ svx/source/items/svxitems.src \
+ svx/source/items/svxerr.src \
+))
+
+
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index 74d965b4dc..cd23586cc6 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -15108,3 +15108,31 @@ SfxVoidItem InsertRowDialog SID_TABLE_INSERT_ROW_DLG
ToolBoxConfig = FALSE,
GroupId = GID_TABLE;
]
+//--------------------------------------------------------------------------
+SfxVoidItem PrepareMailExport SID_MAIL_PREPAREEXPORT
+()
+[
+ /* flags: */
+ AutoUpdate = FALSE,
+ Cachable = Cachable,
+ FastCall = FALSE,
+ HasCoreId = FALSE,
+ HasDialog = FALSE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+ Synchron;
+
+ /* status: */
+ SlotType = SfxBoolItem
+
+ /* config: */
+ AccelConfig = FALSE,
+ MenuConfig = FALSE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = FALSE,
+ GroupId = GID_EXPLORER;
+]
+
diff --git a/svx/source/accessibility/AccessibleControlShape.cxx b/svx/source/accessibility/AccessibleControlShape.cxx
index d717fa2a49..2265033742 100644
--- a/svx/source/accessibility/AccessibleControlShape.cxx
+++ b/svx/source/accessibility/AccessibleControlShape.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/AccessibleControlShape.hxx>
#include <svx/AccessibleShapeInfo.hxx>
-#include "DescriptionGenerator.hxx"
+#include "svx/DescriptionGenerator.hxx"
#include <com/sun/star/drawing/XControlShape.hpp>
#include <com/sun/star/accessibility/AccessibleEventId.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
@@ -39,14 +39,14 @@
#include <comphelper/processfactory.hxx>
#include <unotools/accessiblestatesethelper.hxx>
#include <svx/svdouno.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/ShapeTypeHandler.hxx>
#include <svx/SvxShapeTypes.hxx>
#include <toolkit/helper/vclunohelper.hxx>
#include <comphelper/accessiblewrapper.hxx>
#include <svx/svdview.hxx>
#include <svx/svdpagv.hxx>
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
#include <algorithm>
using namespace ::comphelper;
diff --git a/svx/source/accessibility/AccessibleShape.cxx b/svx/source/accessibility/AccessibleShape.cxx
index 1feb374c68..22d7f99563 100755
--- a/svx/source/accessibility/AccessibleShape.cxx
+++ b/svx/source/accessibility/AccessibleShape.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include <svx/AccessibleShape.hxx>
-#include "DescriptionGenerator.hxx"
+#include "svx/DescriptionGenerator.hxx"
#include <svx/AccessibleShapeInfo.hxx>
#include <com/sun/star/view/XSelectionSupplier.hpp>
#include <rtl/uuid.h>
@@ -51,7 +51,7 @@
#include <svx/unoshtxt.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdmodel.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <com/sun/star/uno/Exception.hpp>
#include <svx/ShapeTypeHandler.hxx>
#include <svx/SvxShapeTypes.hxx>
@@ -59,7 +59,7 @@
#ifndef _SVX_ACCESSIBILITY_HRC
#include "accessibility.hrc"
#endif
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
#include <svx/dialmgr.hxx>
#include <vcl/svapp.hxx>
#include <unotools/accessiblestatesethelper.hxx>
diff --git a/svx/source/accessibility/DescriptionGenerator.cxx b/svx/source/accessibility/DescriptionGenerator.cxx
index 6a2466a6ce..e72d8a830c 100644
--- a/svx/source/accessibility/DescriptionGenerator.cxx
+++ b/svx/source/accessibility/DescriptionGenerator.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "DescriptionGenerator.hxx"
+#include "svx/DescriptionGenerator.hxx"
#include <com/sun/star/beans/PropertyState.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
@@ -52,12 +52,12 @@
#ifndef _SVX_ACCESSIBILITY_HRC
#include "accessibility.hrc"
#endif
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
#include <svx/dialmgr.hxx>
#include <tools/string.hxx>
#include <svx/xdef.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include "accessibility.hrc"
#include "DGColorNameLookUp.hxx"
diff --git a/svx/source/accessibility/GraphCtlAccessibleContext.cxx b/svx/source/accessibility/GraphCtlAccessibleContext.cxx
index 82cc03d7da..b9ae169293 100644
--- a/svx/source/accessibility/GraphCtlAccessibleContext.cxx
+++ b/svx/source/accessibility/GraphCtlAccessibleContext.cxx
@@ -45,7 +45,7 @@
#include <toolkit/helper/convert.hxx>
#include <svtools/colorcfg.hxx>
#include <comphelper/accessibleeventnotifier.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
//===== local includes ========================================================
#include <svx/ShapeTypeHandler.hxx>
diff --git a/svx/source/accessibility/ShapeTypeHandler.cxx b/svx/source/accessibility/ShapeTypeHandler.cxx
index 29493f85f9..c2403c3499 100755
--- a/svx/source/accessibility/ShapeTypeHandler.cxx
+++ b/svx/source/accessibility/ShapeTypeHandler.cxx
@@ -35,7 +35,7 @@
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
#include <svx/dialmgr.hxx>
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
using namespace ::rtl;
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
index 12123ecc58..53daf3628e 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -27,9 +27,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "EnhancedCustomShape2d.hxx"
-#include "EnhancedCustomShapeGeometry.hxx"
-#include "EnhancedCustomShapeTypeNames.hxx"
+#include "svx/EnhancedCustomShape2d.hxx"
+#include "svx/EnhancedCustomShapeGeometry.hxx"
+#include "svx/EnhancedCustomShapeTypeNames.hxx"
#include <svx/svdoashp.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdocirc.hxx>
diff --git a/svx/source/customshapes/EnhancedCustomShape3d.cxx b/svx/source/customshapes/EnhancedCustomShape3d.cxx
index c2f861ba2f..0ad13cb317 100644
--- a/svx/source/customshapes/EnhancedCustomShape3d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape3d.cxx
@@ -31,7 +31,7 @@
#include <svx/svdetc.hxx>
#include <svx/svdmodel.hxx>
#include <tools/poly.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdoashp.hxx>
#include <svl/poolitem.hxx>
diff --git a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
index 272a46b49a..59873c7927 100644
--- a/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeEngine.cxx
@@ -28,16 +28,16 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include "EnhancedCustomShapeEngine.hxx"
-#include "EnhancedCustomShape2d.hxx"
+#include "svx/EnhancedCustomShape2d.hxx"
#include "EnhancedCustomShape3d.hxx"
#include "EnhancedCustomShapeFontWork.hxx"
#include "EnhancedCustomShapeHandle.hxx"
-#include "EnhancedCustomShapeGeometry.hxx"
+#include "svx/EnhancedCustomShapeGeometry.hxx"
#include <svx/unoshape.hxx>
#ifndef _SVX_UNOPAGE_HXX
#include "svx/unopage.hxx"
#endif
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/svdobj.hxx>
#include <svx/svdoashp.hxx>
#include <svx/svdogrp.hxx>
@@ -49,7 +49,7 @@
#include <svx/svdopath.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "unopolyhelper.hxx"
#include <uno/mapping.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
diff --git a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx b/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
index 33d9bef294..15cceee496 100644
--- a/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeFontWork.cxx
@@ -38,7 +38,7 @@
#include <svx/sdasaitm.hxx>
#include <svx/sdtfsitm.hxx>
#include <vcl/virdev.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
#include <vcl/metric.hxx>
#include <editeng/eeitem.hxx>
#include <editeng/frmdiritem.hxx>
@@ -46,7 +46,7 @@
#include <editeng/postitem.hxx>
#include <editeng/wghtitem.hxx>
#include <editeng/charscaleitem.hxx>
-#include "EnhancedCustomShapeTypeNames.hxx"
+#include "svx/EnhancedCustomShapeTypeNames.hxx"
#include <svx/svdorect.hxx>
#include <svx/svdoashp.hxx>
#include <editeng/outliner.hxx>
diff --git a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx b/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx
index dfb0752841..4d57a45ca3 100644..100755
--- a/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeFunctionParser.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "EnhancedCustomShape2d.hxx"
+#include "svx/EnhancedCustomShape2d.hxx"
#include <rtl/ustring.hxx>
#include <tools/fract.hxx>
diff --git a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx b/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
index d7b8cef73c..12a27b086f 100644
--- a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "EnhancedCustomShapeGeometry.hxx"
+#include "svx/EnhancedCustomShapeGeometry.hxx"
#include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
/*
static const SvxMSDffVertPair Vert[] =
diff --git a/svx/source/customshapes/EnhancedCustomShapeHandle.cxx b/svx/source/customshapes/EnhancedCustomShapeHandle.cxx
index 45f56e8e70..1fd49aa7fd 100644
--- a/svx/source/customshapes/EnhancedCustomShapeHandle.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeHandle.cxx
@@ -28,8 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include "EnhancedCustomShapeHandle.hxx"
-#include "EnhancedCustomShape2d.hxx"
-#include "unoapi.hxx"
+#include "svx/EnhancedCustomShape2d.hxx"
+#include "svx/unoapi.hxx"
// -----------------------------------------------------------------------------
diff --git a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
index 5925cd0eed..7cd3169704 100644
--- a/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeTypeNames.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "EnhancedCustomShapeTypeNames.hxx"
+#include "svx/EnhancedCustomShapeTypeNames.hxx"
#include <osl/mutex.hxx>
#include <hash_map>
diff --git a/svx/source/customshapes/tbxcustomshapes.cxx b/svx/source/customshapes/tbxcustomshapes.cxx
index d3c6ea3396..a791f8b75e 100644
--- a/svx/source/customshapes/tbxcustomshapes.cxx
+++ b/svx/source/customshapes/tbxcustomshapes.cxx
@@ -43,7 +43,7 @@
#include <sfx2/imagemgr.hxx>
#include <vcl/svapp.hxx>
-#include "tbxcustomshapes.hxx"
+#include "svx/tbxcustomshapes.hxx"
SFX_IMPL_TOOLBOX_CONTROL(SvxTbxCtlCustomShapes, SfxBoolItem);
diff --git a/svx/source/dialog/_contdlg.cxx b/svx/source/dialog/_contdlg.cxx
index 2313f15ea6..d73b0faafa 100644
--- a/svx/source/dialog/_contdlg.cxx
+++ b/svx/source/dialog/_contdlg.cxx
@@ -52,7 +52,7 @@
#define _XOUTBMP_STATICS_ONLY
#include <svx/dialmgr.hxx>
-#include "xoutbmp.hxx"
+#include "svx/xoutbmp.hxx"
#include <svx/dialogs.hrc>
#include <svx/svxids.hrc>
#include <svx/contdlg.hxx>
@@ -61,7 +61,7 @@
#include "contwnd.hxx"
#include <svx/svdtrans.hxx>
#include <svx/svdopath.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <vcl/svapp.hxx>
/******************************************************************************/
diff --git a/svx/source/dialog/connctrl.cxx b/svx/source/dialog/connctrl.cxx
index 25c362ad6f..be1a2d4528 100644
--- a/svx/source/dialog/connctrl.cxx
+++ b/svx/source/dialog/connctrl.cxx
@@ -37,9 +37,9 @@
#include <svx/svdpage.hxx> // SdrObjList
-#include "connctrl.hxx"
+#include "svx/connctrl.hxx"
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
// #110094#
#include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
diff --git a/svx/source/dialog/contwnd.cxx b/svx/source/dialog/contwnd.cxx
index a398469a82..43784ebbf7 100644
--- a/svx/source/dialog/contwnd.cxx
+++ b/svx/source/dialog/contwnd.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include <xoutbmp.hxx>
+#include <svx/xoutbmp.hxx>
#include <svx/dialogs.hrc>
#include <svx/svxids.hrc>
#include <contdlg.hrc>
@@ -40,7 +40,7 @@
#include <basegfx/polygon/b2dpolypolygontools.hxx>
// #i75482#
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
#define TRANSCOL Color( COL_WHITE )
diff --git a/svx/source/dialog/databaseregistrationui.cxx b/svx/source/dialog/databaseregistrationui.cxx
index e9c65020fe..2d807f7b39 100644
--- a/svx/source/dialog/databaseregistrationui.cxx
+++ b/svx/source/dialog/databaseregistrationui.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
// === includes (declaration) ============================================
-#include "databaseregistrationui.hxx"
+#include "svx/databaseregistrationui.hxx"
// === includes (UNO) ====================================================
// === /includes (UNO) ===================================================
diff --git a/svx/source/dialog/dialcontrol.cxx b/svx/source/dialog/dialcontrol.cxx
index 3968a946bc..bd202fead1 100644
--- a/svx/source/dialog/dialcontrol.cxx
+++ b/svx/source/dialog/dialcontrol.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "dialcontrol.hxx"
+#include "svx/dialcontrol.hxx"
#include <math.h>
#include <vcl/virdev.hxx>
diff --git a/svx/source/dialog/dlgutil.cxx b/svx/source/dialog/dlgutil.cxx
index 5fa005d0dc..cdafb622e7 100644
--- a/svx/source/dialog/dlgutil.cxx
+++ b/svx/source/dialog/dlgutil.cxx
@@ -30,7 +30,7 @@
// include ---------------------------------------------------------------
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svl/itemset.hxx>
#include <sfx2/sfxsids.hrc>
#include <sfx2/module.hxx>
diff --git a/svx/source/dialog/docrecovery.hrc b/svx/source/dialog/docrecovery.hrc
index 851321bc6a..ae6ddc84bc 100644
--- a/svx/source/dialog/docrecovery.hrc
+++ b/svx/source/dialog/docrecovery.hrc
@@ -36,7 +36,7 @@
// TabDialog
#define TABDLG_WIDTH 290
-#define TABDLG_HEIGHT 278
+#define TABDLG_HEIGHT 238
// TabPage CrashSave
@@ -52,7 +52,7 @@
#define SAVE_WIDTH 290
-#define SAVE_HEIGHT 278
+#define SAVE_HEIGHT 238
#define SAVE_TITLEWINHEIGHT 36
#define SAVE_DESCRHEIGHT 48
#define SAVE_COL0 (RSC_SP_DLG_INNERBORDER_LEFT)
diff --git a/svx/source/dialog/fontlb.cxx b/svx/source/dialog/fontlb.cxx
index c62749b4f6..a7f37eef6b 100644
--- a/svx/source/dialog/fontlb.cxx
+++ b/svx/source/dialog/fontlb.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "fontlb.hxx"
+#include "svx/fontlb.hxx"
#include <vcl/svapp.hxx>
// ============================================================================
diff --git a/svx/source/dialog/fontwork.cxx b/svx/source/dialog/fontwork.cxx
index 8faf74ffe7..b0419dbd04 100644
--- a/svx/source/dialog/fontwork.cxx
+++ b/svx/source/dialog/fontwork.cxx
@@ -41,7 +41,7 @@
#include <svx/xtextit.hxx>
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/dialogs.hrc>
#include "fontwork.hrc"
diff --git a/svx/source/dialog/graphctl.cxx b/svx/source/dialog/graphctl.cxx
index 248744758c..75496b2492 100644
--- a/svx/source/dialog/graphctl.cxx
+++ b/svx/source/dialog/graphctl.cxx
@@ -41,12 +41,12 @@
#include <svx/graphctl.hxx>
#include "GraphCtlAccessibleContext.hxx"
-#include "xoutbmp.hxx"
+#include "svx/xoutbmp.hxx"
#include <svx/svxids.hrc>
#include <svx/svdpage.hxx>
// #i72889#
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
/*************************************************************************
|*
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index 360f3199d4..aa64c47efa 100644
--- a/svx/source/dialog/hdft.cxx
+++ b/svx/source/dialog/hdft.cxx
@@ -48,9 +48,9 @@
#include <svx/hdft.hxx>
#include <svx/pageitem.hxx>
//CHINA001 #include "bbdlg.hxx"
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/dialmgr.hxx>
-#include "htmlmode.hxx"
+#include "svx/htmlmode.hxx"
#include <editeng/brshitem.hxx>
#include <editeng/lrspitem.hxx>
diff --git a/svx/source/dialog/hyperdlg.cxx b/svx/source/dialog/hyperdlg.cxx
index 5342be0e13..fed065cba4 100644
--- a/svx/source/dialog/hyperdlg.cxx
+++ b/svx/source/dialog/hyperdlg.cxx
@@ -31,7 +31,7 @@
// include ---------------------------------------------------------------
#include <vcl/settings.hxx>
#include <unotools/viewoptions.hxx>
-#include "hyperdlg.hxx"
+#include "svx/hyperdlg.hxx"
#include <svx/svxdlg.hxx> //CHINA001
#include <sfx2/app.hxx>
#include <sfx2/sfxsids.hrc>
diff --git a/svx/source/dialog/hyprlink.cxx b/svx/source/dialog/hyprlink.cxx
index 985e2e4b9b..e69800cfa1 100644
--- a/svx/source/dialog/hyprlink.cxx
+++ b/svx/source/dialog/hyprlink.cxx
@@ -43,11 +43,11 @@
#include <sfx2/objsh.hxx>
#include <comphelper/processfactory.hxx>
-#include "hlnkitem.hxx"
+#include "svx/hlnkitem.hxx"
#include <svx/dialogs.hrc>
#include "hyprlink.hrc"
#include <svx/dialmgr.hxx>
-#include "hyprlink.hxx"
+#include "svx/hyprlink.hxx"
#include "hyprdlg.hxx"
using namespace ::rtl;
diff --git a/svx/source/dialog/imapdlg.cxx b/svx/source/dialog/imapdlg.cxx
index a05a0d00b7..ae4c7f4da1 100644
--- a/svx/source/dialog/imapdlg.cxx
+++ b/svx/source/dialog/imapdlg.cxx
@@ -68,7 +68,7 @@
#endif
#define _IMAPDLG_PRIVATE
-#include "imapdlg.hxx"
+#include "svx/imapdlg.hxx"
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
@@ -76,7 +76,7 @@
#include "imapdlg.hrc"
#include "imapwnd.hxx"
#include "imapimp.hxx"
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/svdtrans.hxx>
#include <svx/svdopath.hxx>
#include <vcl/svapp.hxx>
diff --git a/svx/source/dialog/imapwnd.cxx b/svx/source/dialog/imapwnd.cxx
index cdd1f90e26..31b1757350 100644
--- a/svx/source/dialog/imapwnd.cxx
+++ b/svx/source/dialog/imapwnd.cxx
@@ -37,7 +37,7 @@
#include <svtools/imappoly.hxx>
#include <svl/urlbmk.hxx>
-#include <xoutbmp.hxx>
+#include <svx/xoutbmp.hxx>
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
#include <svx/svxids.hrc>
diff --git a/svx/source/dialog/measctrl.cxx b/svx/source/dialog/measctrl.cxx
index 3aea007ca3..ba7c0deb74 100644
--- a/svx/source/dialog/measctrl.cxx
+++ b/svx/source/dialog/measctrl.cxx
@@ -33,9 +33,9 @@
#include <svx/svdomeas.hxx>
#include <svx/svdmodel.hxx>
-#include "measctrl.hxx"
+#include "svx/measctrl.hxx"
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
/*************************************************************************
|*
diff --git a/svx/source/dialog/optgrid.cxx b/svx/source/dialog/optgrid.cxx
index 916c774dab..afc180a8d2 100644
--- a/svx/source/dialog/optgrid.cxx
+++ b/svx/source/dialog/optgrid.cxx
@@ -38,10 +38,10 @@
#include <svx/svxids.hrc>
#include <svx/dialmgr.hxx>
-#include "optgrid.hxx"
+#include "svx/optgrid.hxx"
#include <svx/dialogs.hrc>
#include "optgrid.hrc"
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
/* -----------------18.08.98 17:41-------------------
* local functions
diff --git a/svx/source/dialog/orienthelper.cxx b/svx/source/dialog/orienthelper.cxx
index 0fb63234db..1d5b9d6ad6 100644
--- a/svx/source/dialog/orienthelper.cxx
+++ b/svx/source/dialog/orienthelper.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "orienthelper.hxx"
+#include "svx/orienthelper.hxx"
#include <vector>
#include <utility>
@@ -35,7 +35,7 @@
#ifndef _SV_BUTTON_HXX
#include <vcl/button.hxx>
#endif
-#include "dialcontrol.hxx"
+#include "svx/dialcontrol.hxx"
namespace svx {
diff --git a/svx/source/dialog/passwd.cxx b/svx/source/dialog/passwd.cxx
index 3b365d4d5b..386681b6fe 100644
--- a/svx/source/dialog/passwd.cxx
+++ b/svx/source/dialog/passwd.cxx
@@ -36,7 +36,7 @@
#define _SVX_PASSWD_CXX
-#include "passwd.hxx"
+#include "svx/passwd.hxx"
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
#include "passwd.hrc"
diff --git a/svx/source/dialog/pfiledlg.cxx b/svx/source/dialog/pfiledlg.cxx
index ae8b95344c..ae11f94ba5 100644
--- a/svx/source/dialog/pfiledlg.cxx
+++ b/svx/source/dialog/pfiledlg.cxx
@@ -35,7 +35,7 @@
#include <comphelper/processfactory.hxx>
-#include "pfiledlg.hxx"
+#include "svx/pfiledlg.hxx"
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
diff --git a/svx/source/dialog/prtqry.cxx b/svx/source/dialog/prtqry.cxx
index 7647129327..ccf932be6a 100644
--- a/svx/source/dialog/prtqry.cxx
+++ b/svx/source/dialog/prtqry.cxx
@@ -31,7 +31,7 @@
#ifndef _SVX_DIALOGS_HRC
#include <svx/dialogs.hrc>
#endif
-#include <prtqry.hxx>
+#include <svx/prtqry.hxx>
#include <svx/dialmgr.hxx>
#include <tools/shl.hxx>
diff --git a/svx/source/dialog/relfld.cxx b/svx/source/dialog/relfld.cxx
index 002f55a484..7f627762fc 100644
--- a/svx/source/dialog/relfld.cxx
+++ b/svx/source/dialog/relfld.cxx
@@ -31,7 +31,7 @@
// include ---------------------------------------------------------------
#include <tools/ref.hxx>
-#include "relfld.hxx"
+#include "svx/relfld.hxx"
// -----------------------------------------------------------------------
diff --git a/svx/source/dialog/rlrcitem.cxx b/svx/source/dialog/rlrcitem.cxx
index 706ca231e9..ad37ef2704 100644
--- a/svx/source/dialog/rlrcitem.cxx
+++ b/svx/source/dialog/rlrcitem.cxx
@@ -44,7 +44,7 @@
#include <editeng/tstpitem.hxx>
#include "editeng/protitem.hxx"
#include "rlrcitem.hxx"
-#include "rulritem.hxx"
+#include "svx/rulritem.hxx"
#include <svl/eitem.hxx>
// class SvxRulerItem ----------------------------------------------------
diff --git a/svx/source/dialog/rubydialog.cxx b/svx/source/dialog/rubydialog.cxx
index e152afc2b9..bad0e1c2d1 100644
--- a/svx/source/dialog/rubydialog.cxx
+++ b/svx/source/dialog/rubydialog.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include <rubydialog.hxx>
+#include <svx/rubydialog.hxx>
#include <tools/shl.hxx>
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
diff --git a/svx/source/dialog/rulritem.cxx b/svx/source/dialog/rulritem.cxx
index 52c8ff2f55..9c01948296 100644
--- a/svx/source/dialog/rulritem.cxx
+++ b/svx/source/dialog/rulritem.cxx
@@ -30,7 +30,7 @@
#include <tools/string.hxx>
#include <svx/dialogs.hrc>
-#include "rulritem.hxx"
+#include "svx/rulritem.hxx"
#include <com/sun/star/awt/Rectangle.hpp>
#include <com/sun/star/frame/status/LeftRightMargin.hpp>
#include <com/sun/star/frame/status/UpperLowerMargin.hpp>
diff --git a/svx/source/dialog/simptabl.cxx b/svx/source/dialog/simptabl.cxx
index c3f9b5105f..c32d151d90 100644
--- a/svx/source/dialog/simptabl.cxx
+++ b/svx/source/dialog/simptabl.cxx
@@ -152,7 +152,6 @@ SvxSimpleTable::SvxSimpleTable( Window* pParent,const ResId& rResId):
InitHeaderBar( &aHeaderBar );
aHeaderBar.Show();
- SetWindowBits(WB_CLIPCHILDREN | WB_HSCROLL);
SvHeaderTabListBox::Show();
}
diff --git a/svx/source/dialog/srchctrl.cxx b/svx/source/dialog/srchctrl.cxx
index 19391edf2b..080e9b8621 100644
--- a/svx/source/dialog/srchctrl.cxx
+++ b/svx/source/dialog/srchctrl.cxx
@@ -40,7 +40,7 @@
#include "srchctrl.hxx"
-#include "srchdlg.hxx"
+#include "svx/srchdlg.hxx"
#include <svl/srchitem.hxx>
// class SvxSearchFamilyControllerItem -----------------------------------
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 77856898f5..3e4d0d49f3 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -56,7 +56,7 @@
#include <toolkit/unohlp.hxx>
#define _SVX_SRCHDLG_CXX
-#include "srchdlg.hxx"
+#include "svx/srchdlg.hxx"
#include <svx/dialogs.hrc>
#include <svx/svxitems.hrc>
@@ -69,7 +69,7 @@
#include <svx/pageitem.hxx>
#include "srchctrl.hxx"
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <editeng/brshitem.hxx>
#include <tools/resary.hxx>
#include <svx/svxdlg.hxx> //CHINA001
diff --git a/svx/source/dialog/svxbmpnumvalueset.cxx b/svx/source/dialog/svxbmpnumvalueset.cxx
index d2c83a4d68..51d7af6a11 100644
--- a/svx/source/dialog/svxbmpnumvalueset.cxx
+++ b/svx/source/dialog/svxbmpnumvalueset.cxx
@@ -41,7 +41,7 @@
#include <editeng/numitem.hxx>
#include <svl/eitem.hxx>
#include <vcl/svapp.hxx>
-#include <gallery.hxx>
+#include <svx/gallery.hxx>
#include <svl/urihelper.hxx>
#include <editeng/brshitem.hxx>
#include <svl/intitem.hxx>
@@ -49,14 +49,14 @@
#include <vcl/graph.hxx>
#include <vcl/msgbox.hxx>
#include <editeng/flstitem.hxx>
-#include <dlgutil.hxx>
+#include <svx/dlgutil.hxx>
#ifndef _XTABLE_HXX //autogen
#include <svx/xtable.hxx>
#endif
-#include <drawitem.hxx>
-#include <numvset.hxx>
-#include <htmlmode.hxx>
+#include <svx/drawitem.hxx>
+#include <svx/numvset.hxx>
+#include <svx/htmlmode.hxx>
#include <unotools/pathoptions.hxx>
#include <svtools/ctrltool.hxx>
#include <editeng/unolingu.hxx>
diff --git a/svx/source/dialog/svxgrahicitem.cxx b/svx/source/dialog/svxgrahicitem.cxx
index aad28af5a8..d871d70d59 100644
--- a/svx/source/dialog/svxgrahicitem.cxx
+++ b/svx/source/dialog/svxgrahicitem.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svxgrahicitem.hxx"
+#include "svx/svxgrahicitem.hxx"
TYPEINIT1(SvxGraphicItem,SfxPoolItem);
SvxGraphicItem::SvxGraphicItem( USHORT _nWhich, const Graphic& rGraphic )
: SfxPoolItem( _nWhich ), aGraphic( rGraphic )
diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx
index ca3ffc5e80..23ef03dab5 100644
--- a/svx/source/dialog/svxruler.cxx
+++ b/svx/source/dialog/svxruler.cxx
@@ -48,7 +48,7 @@
#include <svx/dialmgr.hxx>
#include <svx/ruler.hxx>
#include "rlrcitem.hxx"
-#include "rulritem.hxx"
+#include "svx/rulritem.hxx"
#include <editeng/tstpitem.hxx>
#include <editeng/lrspitem.hxx>
#include "editeng/protitem.hxx"
diff --git a/svx/source/dialog/swframeexample.cxx b/svx/source/dialog/swframeexample.cxx
index 65ebab216a..98ebe2a51c 100644
--- a/svx/source/dialog/swframeexample.cxx
+++ b/svx/source/dialog/swframeexample.cxx
@@ -33,7 +33,7 @@
#include <vcl/metric.hxx>
#include <vcl/svapp.hxx>
#include <svtools/colorcfg.hxx>
-#include <swframeexample.hxx>
+#include <svx/swframeexample.hxx>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/HoriOrientation.hpp>
#include <com/sun/star/text/VertOrientation.hpp>
diff --git a/svx/source/dialog/swframeposstrings.cxx b/svx/source/dialog/swframeposstrings.cxx
index 2b5d2d899f..936e38ed10 100644
--- a/svx/source/dialog/swframeposstrings.cxx
+++ b/svx/source/dialog/swframeposstrings.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include <swframeposstrings.hxx>
+#include <svx/swframeposstrings.hxx>
#include <tools/rc.hxx>
#include <tools/debug.hxx>
#include <svx/dialmgr.hxx>
diff --git a/svx/source/dialog/swframeposstrings.src b/svx/source/dialog/swframeposstrings.src
index 5455e736c4..8c092735d3 100644
--- a/svx/source/dialog/swframeposstrings.src
+++ b/svx/source/dialog/swframeposstrings.src
@@ -26,7 +26,7 @@
************************************************************************/
#include <svx/dialogs.hrc>
-//the following defines have to match the (enum values + 1) in swframeposstrings.hxx!
+//the following defines have to match the (enum values + 1) in svx/swframeposstrings.hxx!
#define STR_LEFT 1
#define STR_RIGHT 2
#define STR_FROMLEFT 3
diff --git a/svx/source/dialog/txencbox.cxx b/svx/source/dialog/txencbox.cxx
index 25d6131cfa..2c632164bc 100644
--- a/svx/source/dialog/txencbox.cxx
+++ b/svx/source/dialog/txencbox.cxx
@@ -28,8 +28,8 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "txencbox.hxx"
-#include "txenctab.hxx"
+#include "svx/txencbox.hxx"
+#include "svx/txenctab.hxx"
#include <svx/dialogs.hrc>
#include "svx/dbcharsethelper.hxx"
#include <vcl/svapp.hxx>
diff --git a/svx/source/dialog/txenctab.cxx b/svx/source/dialog/txenctab.cxx
index 2e4f0eef7a..5cfdc73d50 100644
--- a/svx/source/dialog/txenctab.cxx
+++ b/svx/source/dialog/txenctab.cxx
@@ -30,7 +30,7 @@
#include <svx/dialogs.hrc> // -> RID_SVXSTR_TEXTENCODING_TABLE
#include <svx/dialmgr.hxx>
-#include "txenctab.hxx"
+#include "svx/txenctab.hxx"
#include <tools/shl.hxx>
//------------------------------------------------------------------------
diff --git a/svx/source/dialog/wrapfield.cxx b/svx/source/dialog/wrapfield.cxx
index b473c34cb1..8d797fa5ad 100644
--- a/svx/source/dialog/wrapfield.cxx
+++ b/svx/source/dialog/wrapfield.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "wrapfield.hxx"
+#include "svx/wrapfield.hxx"
namespace svx {
diff --git a/svx/source/engine3d/cube3d.cxx b/svx/source/engine3d/cube3d.cxx
index 616db93da6..7dcf215cc8 100644
--- a/svx/source/engine3d/cube3d.cxx
+++ b/svx/source/engine3d/cube3d.cxx
@@ -28,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <svx/cube3d.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <basegfx/point/b3dpoint.hxx>
#include <basegfx/polygon/b3dpolygon.hxx>
#include <svx/sdr/contact/viewcontactofe3dcube.hxx>
diff --git a/svx/source/engine3d/extrud3d.cxx b/svx/source/engine3d/extrud3d.cxx
index d0cbaf14b3..30cc7f35d5 100644
--- a/svx/source/engine3d/extrud3d.cxx
+++ b/svx/source/engine3d/extrud3d.cxx
@@ -28,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <svx/svdpage.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/extrud3d.hxx>
#include <svx/scene3d.hxx>
diff --git a/svx/source/engine3d/float3d.cxx b/svx/source/engine3d/float3d.cxx
index c8001f8091..8870af6344 100644
--- a/svx/source/engine3d/float3d.cxx
+++ b/svx/source/engine3d/float3d.cxx
@@ -37,7 +37,7 @@
#include <tools/shl.hxx>
#include <svx/xflclit.hxx>
#include <svx/svdmodel.hxx>
-#include <globl3d.hxx>
+#include <svx/globl3d.hxx>
#include <svx/view3d.hxx>
#include <svx/obj3d.hxx>
#include <svx/sphere3d.hxx>
@@ -48,9 +48,9 @@
#include <svx/polysc3d.hxx>
#include <editeng/eeitem.hxx>
#include <svl/style.hxx>
-#include <dlgutil.hxx>
+#include <svx/dlgutil.hxx>
-#include <dlgutil.hxx>
+#include <svx/dlgutil.hxx>
#include <svx/dialmgr.hxx>
#include <svx/viewpt3d.hxx> // ProjectionType
@@ -60,7 +60,7 @@
#include <editeng/colritem.hxx>
#include <svx/e3ditem.hxx>
-#include <gallery.hxx>
+#include <svx/gallery.hxx>
#define GALLERY_THEME "3D"
#include <svl/whiter.hxx>
diff --git a/svx/source/engine3d/helperhittest3d.cxx b/svx/source/engine3d/helperhittest3d.cxx
index 86f172da7d..ca46e66fdd 100644
--- a/svx/source/engine3d/helperhittest3d.cxx
+++ b/svx/source/engine3d/helperhittest3d.cxx
@@ -32,7 +32,7 @@
#include <basegfx/point/b2dpoint.hxx>
#include <svx/svdpage.hxx>
#include <svx/scene3d.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
#include <drawinglayer/processor3d/cutfindprocessor3d.hxx>
#include <svx/sdr/contact/viewcontactofe3d.hxx>
#include <svx/sdr/contact/viewcontactofe3dscene.hxx>
diff --git a/svx/source/engine3d/lathe3d.cxx b/svx/source/engine3d/lathe3d.cxx
index a8ee638100..c8cae7068d 100644
--- a/svx/source/engine3d/lathe3d.cxx
+++ b/svx/source/engine3d/lathe3d.cxx
@@ -28,11 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <tools/poly.hxx>
#include <svx/svdpage.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/lathe3d.hxx>
#include <svx/xpoly.hxx>
#include <svx/svxids.hrc>
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index 8543c9d247..dd3c8403ad 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -28,14 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <svx/svdview.hxx>
#include <svx/svdattr.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
-#include "svditer.hxx"
-#include "globl3d.hxx"
+#include "svx/svditer.hxx"
+#include "svx/globl3d.hxx"
#include <svx/camera3d.hxx>
#include <svx/scene3d.hxx>
#include <svx/polysc3d.hxx>
diff --git a/svx/source/engine3d/objfac3d.cxx b/svx/source/engine3d/objfac3d.cxx
index 717dd668c8..e4925cbbb4 100644
--- a/svx/source/engine3d/objfac3d.cxx
+++ b/svx/source/engine3d/objfac3d.cxx
@@ -28,14 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include <svx/svdpage.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/polysc3d.hxx>
#include <svx/cube3d.hxx>
#include <svx/sphere3d.hxx>
#include <svx/extrud3d.hxx>
#include <svx/lathe3d.hxx>
#include <svx/polygn3d.hxx>
-#include "objfac3d.hxx"
+#include "svx/objfac3d.hxx"
#include <svx/svdobj.hxx>
/*************************************************************************
diff --git a/svx/source/engine3d/polygn3d.cxx b/svx/source/engine3d/polygn3d.cxx
index e496a23ee6..308f96067f 100644
--- a/svx/source/engine3d/polygn3d.cxx
+++ b/svx/source/engine3d/polygn3d.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/polygn3d.hxx>
#include <svx/svdpage.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <basegfx/point/b3dpoint.hxx>
#include <svx/sdr/contact/viewcontactofe3dpolygon.hxx>
#include <basegfx/polygon/b3dpolygon.hxx>
diff --git a/svx/source/engine3d/polysc3d.cxx b/svx/source/engine3d/polysc3d.cxx
index b42c963ec3..0771c06cf5 100644
--- a/svx/source/engine3d/polysc3d.cxx
+++ b/svx/source/engine3d/polysc3d.cxx
@@ -30,14 +30,14 @@
#include <svx/xfillit.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdogrp.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdetc.hxx>
#include <vcl/virdev.hxx>
#include <vcl/svapp.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdpool.hxx>
#include <svl/style.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/polysc3d.hxx>
#include <svx/xlnclit.hxx>
#include <svl/metitem.hxx>
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index e5a55a6964..31c4aa947c 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -28,14 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
-#include "svditer.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
+#include "svx/svditer.hxx"
#if defined( UNX ) || defined( ICC )
#include <stdlib.h>
#endif
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/svdpage.hxx>
#include <svl/style.hxx>
#include <svx/scene3d.hxx>
diff --git a/svx/source/engine3d/sphere3d.cxx b/svx/source/engine3d/sphere3d.cxx
index 00f85df53a..f7fde7bab7 100644
--- a/svx/source/engine3d/sphere3d.cxx
+++ b/svx/source/engine3d/sphere3d.cxx
@@ -28,11 +28,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/sphere3d.hxx>
#include <svx/svxids.hrc>
diff --git a/svx/source/engine3d/view3d.cxx b/svx/source/engine3d/view3d.cxx
index 8f56c8b331..85808a4a81 100644
--- a/svx/source/engine3d/view3d.cxx
+++ b/svx/source/engine3d/view3d.cxx
@@ -32,7 +32,7 @@
#include <svx/svdogrp.hxx>
#include <svx/svdopath.hxx>
#include <tools/shl.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdpool.hxx>
#include <svx/svdorect.hxx>
#include <svx/svdmodel.hxx>
@@ -43,7 +43,7 @@
#include <svx/svdview.hxx>
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/obj3d.hxx>
#include <svx/lathe3d.hxx>
#include <svx/sphere3d.hxx>
@@ -64,7 +64,7 @@
#include <svx/xlnwtit.hxx>
#include <svx/sdr/overlay/overlaypolypolygon.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdr/contact/viewcontactofe3dscene.hxx>
#include <drawinglayer/geometry/viewinformation3d.hxx>
#include <svx/sdrpagewindow.hxx>
diff --git a/svx/source/engine3d/view3d1.cxx b/svx/source/engine3d/view3d1.cxx
index 22aa9583f1..ab2a25ca74 100644
--- a/svx/source/engine3d/view3d1.cxx
+++ b/svx/source/engine3d/view3d1.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <tools/shl.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdpool.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svxids.hrc>
@@ -37,7 +37,7 @@
#include <svx/fmview.hxx>
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/obj3d.hxx>
#include <svx/polysc3d.hxx>
#include <svx/e3ditem.hxx>
diff --git a/svx/source/fmcomp/fmgridcl.cxx b/svx/source/fmcomp/fmgridcl.cxx
index 8d0c1d2fe5..21cc3e224d 100644
--- a/svx/source/fmcomp/fmgridcl.cxx
+++ b/svx/source/fmcomp/fmgridcl.cxx
@@ -28,12 +28,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "dbexch.hrc"
-#include "fmgridif.hxx"
+#include "svx/dbexch.hrc"
+#include "svx/fmgridif.hxx"
#include "fmitems.hxx"
#include "fmprop.hrc"
#include "svx/fmtools.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "fmurl.hxx"
#include "formcontrolfactory.hxx"
diff --git a/svx/source/fmcomp/fmgridif.cxx b/svx/source/fmcomp/fmgridif.cxx
index d7a264f354..21c27bf0cc 100644
--- a/svx/source/fmcomp/fmgridif.cxx
+++ b/svx/source/fmcomp/fmgridif.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "fmgridif.hxx"
+#include "svx/fmgridif.hxx"
#include "fmprop.hrc"
#include "fmservs.hxx"
#include "svx/fmtools.hxx"
diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index fa935b060a..33f50ca4f1 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -30,7 +30,7 @@
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "svx/fmtools.hxx"
#include "gridcell.hxx"
#include "gridcols.hxx"
@@ -2953,13 +2953,13 @@ sal_Bool DbFilterField::commitControl()
case ::com::sun::star::form::FormComponentType::CHECKBOX:
return sal_True;
case ::com::sun::star::form::FormComponentType::LISTBOX:
+ aText.Erase();
if (static_cast<ListBox*>(m_pWindow)->GetSelectEntryCount())
{
sal_Int16 nPos = (sal_Int16)static_cast<ListBox*>(m_pWindow)->GetSelectEntryPos();
- aText = (const sal_Unicode*)m_aValueList.getConstArray()[nPos];
+ if ( ( nPos >= 0 ) && ( nPos < m_aValueList.getLength() ) )
+ aText = (const sal_Unicode*)m_aValueList.getConstArray()[nPos];
}
- else
- aText.Erase();
if (m_aText != aText)
{
diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx
index 4a9ac64865..34d1e05906 100644
--- a/svx/source/fmcomp/gridctrl.cxx
+++ b/svx/source/fmcomp/gridctrl.cxx
@@ -61,7 +61,7 @@
#include <vcl/menu.hxx>
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#ifndef _SVX_SVXIDS_HRC
diff --git a/svx/source/fmcomp/gridctrl.src b/svx/source/fmcomp/gridctrl.src
index 883a452075..611df77f0b 100644
--- a/svx/source/fmcomp/gridctrl.src
+++ b/svx/source/fmcomp/gridctrl.src
@@ -25,7 +25,7 @@
*
************************************************************************/
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include <svx/svxids.hrc>
#include "globlmn.hrc"
#include "fmhelp.hrc"
diff --git a/svx/source/fmcomp/xmlexchg.cxx b/svx/source/fmcomp/xmlexchg.cxx
index 98a9a365b8..fb9597ca69 100644
--- a/svx/source/fmcomp/xmlexchg.cxx
+++ b/svx/source/fmcomp/xmlexchg.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "xmlexchg.hxx"
+#include "svx/xmlexchg.hxx"
#include <sot/formats.hxx>
#include <sot/exchange.hxx>
#include <tools/debug.hxx>
diff --git a/svx/source/form/ParseContext.cxx b/svx/source/form/ParseContext.cxx
index 62937a29f6..a402be52b9 100644
--- a/svx/source/form/ParseContext.cxx
+++ b/svx/source/form/ParseContext.cxx
@@ -28,9 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "ParseContext.hxx"
+#include "svx/ParseContext.hxx"
#include "stringlistresource.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include <svx/dialmgr.hxx>
diff --git a/svx/source/form/databaselocationinput.cxx b/svx/source/form/databaselocationinput.cxx
index 588a54b5dc..dddf4d5b46 100644
--- a/svx/source/form/databaselocationinput.cxx
+++ b/svx/source/form/databaselocationinput.cxx
@@ -31,7 +31,7 @@
#include "svx/databaselocationinput.hxx"
#include "svx/dialmgr.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
/** === begin UNO includes === **/
#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
diff --git a/svx/source/form/datanavi.cxx b/svx/source/form/datanavi.cxx
index c1e5967936..25c0880a5d 100644
--- a/svx/source/form/datanavi.cxx
+++ b/svx/source/form/datanavi.cxx
@@ -32,12 +32,12 @@
#include "fmservs.hxx"
#include "datanavi.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmhelp.hrc"
#include <svx/svxids.hrc>
#include <tools/rcid.h>
#include <tools/diagnose_ex.h>
-#include "xmlexchg.hxx"
+#include "svx/xmlexchg.hxx"
#include <svx/dialmgr.hxx>
#include <svx/fmshell.hxx>
#include <svtools/miscopt.hxx>
@@ -352,7 +352,7 @@ namespace svxform
WinBits nBits = WB_BORDER | WB_TABSTOP | WB_HIDESELECTION | WB_NOINITIALSELECTION;
if ( DGTInstance == m_eGroup || DGTSubmission == m_eGroup )
nBits |= WB_HASBUTTONS | WB_HASLINES | WB_HASLINESATROOT | WB_HASBUTTONSATROOT;
- m_aItemList.SetWindowBits( m_aItemList.GetStyle() | nBits );
+ m_aItemList.SetStyle( m_aItemList.GetStyle() | nBits );
m_aItemList.Show();
ItemSelectHdl( &m_aItemList );
}
diff --git a/svx/source/form/datanavi.src b/svx/source/form/datanavi.src
index a57398758c..c399620667 100644
--- a/svx/source/form/datanavi.src
+++ b/svx/source/form/datanavi.src
@@ -27,7 +27,7 @@
#include "datanavi.hrc"
#include "globlmn.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmhelp.hrc"
#define MASKCOLOR MaskColor = Color { Red = 0xFFFF ; Green = 0x0000 ; Blue = 0xFFFF ; };
diff --git a/svx/source/form/filtnav.cxx b/svx/source/form/filtnav.cxx
index c1795f5938..925a4cac34 100644
--- a/svx/source/form/filtnav.cxx
+++ b/svx/source/form/filtnav.cxx
@@ -34,7 +34,7 @@
#include "fmhelp.hrc"
#include "fmitems.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "gridcell.hxx"
/** === begin UNO includes === **/
diff --git a/svx/source/form/filtnav.src b/svx/source/form/filtnav.src
index 5035b276e4..dc4e64388b 100644
--- a/svx/source/form/filtnav.src
+++ b/svx/source/form/filtnav.src
@@ -26,7 +26,7 @@
************************************************************************/
#include <svx/svxids.hrc>
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmhelp.hrc"
Menu RID_FM_FILTER_MENU
@@ -60,30 +60,3 @@ Menu RID_FM_FILTER_MENU
};
};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/svx/source/form/fmPropBrw.cxx b/svx/source/form/fmPropBrw.cxx
index 7ab661c758..edd90acdc3 100644
--- a/svx/source/form/fmPropBrw.cxx
+++ b/svx/source/form/fmPropBrw.cxx
@@ -31,7 +31,7 @@
#include "fmhelp.hrc"
#include "fmprop.hrc"
#include "fmPropBrw.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "fmshimp.hxx"
#include "fmpgeimp.hxx"
diff --git a/svx/source/form/fmexch.cxx b/svx/source/form/fmexch.cxx
index b16af664c5..4337d20871 100644
--- a/svx/source/form/fmexch.cxx
+++ b/svx/source/form/fmexch.cxx
@@ -33,7 +33,7 @@
#include <svl/itempool.hxx>
#ifndef _SVX_DBEXCH_HRC
-#include <dbexch.hrc>
+#include <svx/dbexch.hrc>
#endif
#include <sot/formats.hxx>
#include <svtools/svtreebx.hxx>
diff --git a/svx/source/form/fmexpl.cxx b/svx/source/form/fmexpl.cxx
index 52393a6e34..6691258c60 100644
--- a/svx/source/form/fmexpl.cxx
+++ b/svx/source/form/fmexpl.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#ifndef _SVX_FMEXPL_HRC
#include "fmexpl.hrc"
@@ -54,7 +54,7 @@
#include "fmprop.hrc"
#endif
#include <svx/dialmgr.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdouno.hxx>
#include <fmundo.hxx>
#include <svx/svdobj.hxx>
diff --git a/svx/source/form/fmexpl.src b/svx/source/form/fmexpl.src
index 0fe0e38734..af8b9ec951 100644
--- a/svx/source/form/fmexpl.src
+++ b/svx/source/form/fmexpl.src
@@ -26,7 +26,7 @@
************************************************************************/
#include <svx/svxids.hrc>
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmexpl.hrc"
#include "globlmn.hrc"
#include <svx/svxcommands.h>
diff --git a/svx/source/form/fmobj.cxx b/svx/source/form/fmobj.cxx
index eb747e0bf5..93c4a96b0d 100644
--- a/svx/source/form/fmobj.cxx
+++ b/svx/source/form/fmobj.cxx
@@ -31,7 +31,7 @@
#include "fmprop.hrc"
#include "fmvwimp.hxx"
#include "fmpgeimp.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "svx/fmview.hxx"
#include "svx/fmglob.hxx"
#include "svx/fmpage.hxx"
diff --git a/svx/source/form/fmobjfac.cxx b/svx/source/form/fmobjfac.cxx
index 282dbd757e..d413a60081 100644
--- a/svx/source/form/fmobjfac.cxx
+++ b/svx/source/form/fmobjfac.cxx
@@ -33,7 +33,7 @@
#include "fmservs.hxx"
#ifndef _FM_FMOBJFAC_HXX
-#include "fmobjfac.hxx"
+#include "svx/fmobjfac.hxx"
#endif
#ifndef _FM_FMGLOB_HXX
@@ -56,7 +56,7 @@
#include <tools/resid.hxx>
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#include <tools/shl.hxx>
#include <svx/dialmgr.hxx>
diff --git a/svx/source/form/fmpage.cxx b/svx/source/form/fmpage.cxx
index 90be1794a8..5cbd91fc68 100644
--- a/svx/source/form/fmpage.cxx
+++ b/svx/source/form/fmpage.cxx
@@ -44,7 +44,7 @@
#ifndef SVX_LIGHT
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#endif
#include <tools/shl.hxx>
@@ -61,7 +61,7 @@
#include <sfx2/objsh.hxx>
#endif
#endif
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdview.hxx>
#include <tools/urlobj.hxx>
#include <vcl/help.hxx>
diff --git a/svx/source/form/fmpgeimp.cxx b/svx/source/form/fmpgeimp.cxx
index 3544a55def..296bb63b2b 100644
--- a/svx/source/form/fmpgeimp.cxx
+++ b/svx/source/form/fmpgeimp.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svxerr.hxx"
+#include "svx/svxerr.hxx"
#include "fmpgeimp.hxx"
#include "fmundo.hxx"
#include "svx/fmtools.hxx"
@@ -36,8 +36,8 @@
#include "fmservs.hxx"
#include "fmobj.hxx"
#include "formcontrolfactory.hxx"
-#include "svditer.hxx"
-#include "fmresids.hrc"
+#include "svx/svditer.hxx"
+#include "svx/fmresids.hrc"
#include "svx/dbtoolsclient.hxx"
#include "treevisitor.hxx"
diff --git a/svx/source/form/fmshell.cxx b/svx/source/form/fmshell.cxx
index 4a9a859c0e..7de248e0d8 100644
--- a/svx/source/form/fmshell.cxx
+++ b/svx/source/form/fmshell.cxx
@@ -64,7 +64,7 @@
#include <sfx2/objsh.hxx>
#include <svx/svdobj.hxx>
#include <svx/fmpage.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "fmobj.hxx"
#ifndef _SVX_SVXIDS_HRC
@@ -72,7 +72,7 @@
#endif
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#include "fmexch.hxx"
#include <svx/fmglob.hxx>
@@ -288,7 +288,7 @@ void FmFormShell::NotifyMarkListChanged(FmFormView* pWhichView)
}
//------------------------------------------------------------------------
-sal_uInt16 FmFormShell::PrepareClose(sal_Bool bUI, sal_Bool bForBrowsing)
+sal_uInt16 FmFormShell::PrepareClose(sal_Bool bUI, sal_Bool /*bForBrowsing*/)
{
if ( GetImpl()->didPrepareClose() )
// we already did a PrepareClose for the current modifications of the current form
@@ -320,10 +320,6 @@ sal_uInt16 FmFormShell::PrepareClose(sal_Bool bUI, sal_Bool bForBrowsing)
if ( bModified && bUI )
{
QueryBox aQry(NULL, SVX_RES(RID_QRY_SAVEMODIFIED));
- if (bForBrowsing)
- aQry.AddButton(SVX_RES(RID_STR_NEW_TASK), RET_NEWTASK,
- BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_FOCUSBUTTON);
-
switch (aQry.Execute())
{
case RET_NO:
diff --git a/svx/source/form/fmshimp.cxx b/svx/source/form/fmshimp.cxx
index 7d4dbef060..f79f19814f 100644
--- a/svx/source/form/fmshimp.cxx
+++ b/svx/source/form/fmshimp.cxx
@@ -33,7 +33,7 @@
#include "fmpgeimp.hxx"
#include "svx/fmtools.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "fmshimp.hxx"
#include "fmtextcontrolshell.hxx"
@@ -42,7 +42,7 @@
#include "fmvwimp.hxx"
#include "formtoolbars.hxx"
#include "gridcols.hxx"
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "svx/dialmgr.hxx"
#include "svx/dialogs.hrc"
#include "svx/fmglob.hxx"
@@ -538,7 +538,6 @@ sal_Bool IsSearchableControl( const ::com::sun::star::uno::Reference< ::com::sun
//------------------------------------------------------------------------------
sal_Bool FmXBoundFormFieldIterator::ShouldStepInto(const Reference< XInterface>& _rContainer) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXBoundFormFieldIterator::ShouldStepInto" );
if (_rContainer == m_xStartingPoint)
// would be quite stupid to step over the root ....
return sal_True;
@@ -549,7 +548,6 @@ sal_Bool FmXBoundFormFieldIterator::ShouldStepInto(const Reference< XInterface>&
//------------------------------------------------------------------------------
sal_Bool FmXBoundFormFieldIterator::ShouldHandleElement(const Reference< XInterface>& _rElement)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXBoundFormFieldIterator::ShouldHandleElement" );
if (!_rElement.is())
// NULL element
return sal_False;
@@ -675,7 +673,6 @@ FmXFormShell::FmXFormShell( FmFormShell& _rShell, SfxViewFrame* _pViewFrame )
,m_bPreparedClose( sal_False )
,m_bFirstActivation( sal_True )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::FmXFormShell" );
DBG_CTOR(FmXFormShell,NULL);
m_aMarkTimer.SetTimeout(100);
m_aMarkTimer.SetTimeoutHdl(LINK(this,FmXFormShell,OnTimeOut));
@@ -707,7 +704,6 @@ FmXFormShell::~FmXFormShell()
//------------------------------------------------------------------
Reference< XModel > FmXFormShell::getContextDocument() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getContextDocument" );
Reference< XModel > xModel;
// determine the type of document we live in
@@ -729,14 +725,12 @@ Reference< XModel > FmXFormShell::getContextDocument() const
//------------------------------------------------------------------
bool FmXFormShell::isEnhancedForm() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::isEnhancedForm" );
return getDocumentType() == eEnhancedForm;
}
//------------------------------------------------------------------
bool FmXFormShell::impl_checkDisposed() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::impl_checkDisposed" );
if ( !m_pShell )
{
OSL_ENSURE( false, "FmXFormShell::impl_checkDisposed: already disposed!" );
@@ -748,7 +742,6 @@ bool FmXFormShell::impl_checkDisposed() const
//------------------------------------------------------------------
::svxform::DocumentType FmXFormShell::getDocumentType() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getDocumentType" );
if ( m_eDocumentType != eUnknownDocumentType )
return m_eDocumentType;
@@ -769,7 +762,6 @@ bool FmXFormShell::impl_checkDisposed() const
//------------------------------------------------------------------
bool FmXFormShell::IsReadonlyDoc() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::IsReadonlyDoc" );
if ( impl_checkDisposed() )
return true;
@@ -782,19 +774,16 @@ bool FmXFormShell::IsReadonlyDoc() const
//------------------------------------------------------------------
Any SAL_CALL FmXFormShell::queryInterface( const Type& type) throw ( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::queryInterface" );
return FmXFormShell_BASE::queryInterface(type);
}
//------------------------------------------------------------------------------
Sequence< Type > SAL_CALL FmXFormShell::getTypes( ) throw(RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getTypes" );
return FmXFormShell_BASE::getTypes();
}
//------------------------------------------------------------------------------
Sequence< sal_Int8 > SAL_CALL FmXFormShell::getImplementationId() throw(RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getImplementationId" );
static ::cppu::OImplementationId* pId = 0;
if (! pId)
{
@@ -811,7 +800,6 @@ Sequence< sal_Int8 > SAL_CALL FmXFormShell::getImplementationId() throw(RuntimeE
//------------------------------------------------------------------------------
void SAL_CALL FmXFormShell::disposing(const EventObject& e) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::disposing" );
impl_checkDisposed();
if (m_xActiveController == e.Source)
@@ -851,7 +839,6 @@ void SAL_CALL FmXFormShell::disposing(const EventObject& e) throw( RuntimeExcept
//------------------------------------------------------------------------------
void SAL_CALL FmXFormShell::propertyChange(const PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::propertyChange" );
if ( impl_checkDisposed() )
return;
@@ -888,7 +875,6 @@ void SAL_CALL FmXFormShell::propertyChange(const PropertyChangeEvent& evt) throw
//------------------------------------------------------------------------------
void FmXFormShell::invalidateFeatures( const ::std::vector< sal_Int32 >& _rFeatures )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::invalidateFeatures" );
if ( impl_checkDisposed() )
return;
@@ -918,7 +904,6 @@ void FmXFormShell::invalidateFeatures( const ::std::vector< sal_Int32 >& _rFeatu
//------------------------------------------------------------------------------
void SAL_CALL FmXFormShell::formActivated(const EventObject& rEvent) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::formActivated" );
if ( impl_checkDisposed() )
return;
@@ -930,7 +915,6 @@ void SAL_CALL FmXFormShell::formActivated(const EventObject& rEvent) throw( Runt
//------------------------------------------------------------------------------
void SAL_CALL FmXFormShell::formDeactivated(const EventObject& rEvent) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::formDeactivated" );
if ( impl_checkDisposed() )
return;
@@ -941,7 +925,6 @@ void SAL_CALL FmXFormShell::formDeactivated(const EventObject& rEvent) throw( Ru
//------------------------------------------------------------------------------
void FmXFormShell::disposing()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::disposing" );
impl_checkDisposed();
FmXFormShell_BASE::disposing();
@@ -1019,7 +1002,6 @@ void FmXFormShell::disposing()
//------------------------------------------------------------------------------
void FmXFormShell::UpdateSlot( sal_Int16 _nId )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::UpdateSlot" );
if ( impl_checkDisposed() )
return;
@@ -1041,7 +1023,6 @@ void FmXFormShell::UpdateSlot( sal_Int16 _nId )
//------------------------------------------------------------------------------
void FmXFormShell::InvalidateSlot( sal_Int16 nId, sal_Bool bWithId )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::InvalidateSlot" );
if ( impl_checkDisposed() )
return;
@@ -1062,7 +1043,6 @@ void FmXFormShell::InvalidateSlot( sal_Int16 nId, sal_Bool bWithId )
//------------------------------------------------------------------------------
void FmXFormShell::LockSlotInvalidation(sal_Bool bLock)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::LockSlotInvalidation" );
if ( impl_checkDisposed() )
return;
@@ -1109,7 +1089,6 @@ IMPL_LINK(FmXFormShell, OnInvalidateSlots, void*, EMPTYARG)
//------------------------------------------------------------------------------
void FmXFormShell::ForceUpdateSelection(sal_Bool bAllowInvalidation)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ForceUpdateSelection" );
if ( impl_checkDisposed() )
return;
@@ -1131,7 +1110,6 @@ void FmXFormShell::ForceUpdateSelection(sal_Bool bAllowInvalidation)
//------------------------------------------------------------------------------
PopupMenu* FmXFormShell::GetConversionMenu()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::GetConversionMenu" );
const StyleSettings& rSettings = Application::GetSettings().GetStyleSettings();
BOOL bIsHiContrastMode = rSettings.GetHighContrastMode();
@@ -1150,7 +1128,6 @@ PopupMenu* FmXFormShell::GetConversionMenu()
//------------------------------------------------------------------------------
bool FmXFormShell::isControlConversionSlot( sal_uInt16 nSlotId )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::isControlConversionSlot" );
for ( size_t i = 0; i < sizeof( nConvertSlots ) / sizeof( nConvertSlots[0] ); ++i )
if (nConvertSlots[i] == nSlotId)
return true;
@@ -1160,7 +1137,6 @@ bool FmXFormShell::isControlConversionSlot( sal_uInt16 nSlotId )
//------------------------------------------------------------------------------
bool FmXFormShell::executeControlConversionSlot( sal_uInt16 _nSlotId )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::executeControlConversionSlot" );
OSL_PRECOND( canConvertCurrentSelectionToControl( _nSlotId ), "FmXFormShell::executeControlConversionSlot: illegal call!" );
InterfaceBag::const_iterator aSelectedElement = m_aCurrentSelection.begin();
if ( aSelectedElement == m_aCurrentSelection.end() )
@@ -1172,7 +1148,6 @@ bool FmXFormShell::executeControlConversionSlot( sal_uInt16 _nSlotId )
//------------------------------------------------------------------------------
bool FmXFormShell::executeControlConversionSlot( const Reference< XFormComponent >& _rxObject, sal_uInt16 _nSlotId )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::executeControlConversionSlot" );
if ( impl_checkDisposed() )
return false;
@@ -1379,7 +1354,6 @@ bool FmXFormShell::executeControlConversionSlot( const Reference< XFormComponent
//------------------------------------------------------------------------------
bool FmXFormShell::canConvertCurrentSelectionToControl( sal_Int16 nConversionSlot )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::canConvertCurrentSelectionToControl" );
if ( m_aCurrentSelection.empty() )
return false;
@@ -1418,7 +1392,6 @@ bool FmXFormShell::canConvertCurrentSelectionToControl( sal_Int16 nConversionSlo
//------------------------------------------------------------------------------
void FmXFormShell::checkControlConversionSlotsForCurrentSelection( Menu& rMenu )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::checkControlConversionSlotsForCurrentSelection" );
for (sal_Int16 i=0; i<rMenu.GetItemCount(); ++i)
// der Context ist schon von einem Typ, der dem Eitnrag entspricht -> disable
rMenu.EnableItem( rMenu.GetItemId(i), canConvertCurrentSelectionToControl( rMenu.GetItemId( i ) ) );
@@ -1427,7 +1400,6 @@ void FmXFormShell::checkControlConversionSlotsForCurrentSelection( Menu& rMenu )
//------------------------------------------------------------------------------
void FmXFormShell::LoopGrids(sal_Int16 nWhat)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::LoopGrids" );
if ( impl_checkDisposed() )
return;
@@ -1497,7 +1469,6 @@ void FmXFormShell::LoopGrids(sal_Int16 nWhat)
//------------------------------------------------------------------------------
Reference< XControlContainer > FmXFormShell::getControlContainerForView()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getControlContainerForView" );
if ( impl_checkDisposed() )
return NULL;
@@ -1515,7 +1486,6 @@ Reference< XControlContainer > FmXFormShell::getControlContainerForView()
//------------------------------------------------------------------------------
void FmXFormShell::ExecuteTabOrderDialog( const Reference< XTabControllerModel >& _rxForForm )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ExecuteTabOrderDialog" );
if ( impl_checkDisposed() )
return;
@@ -1564,7 +1534,6 @@ void FmXFormShell::ExecuteTabOrderDialog( const Reference< XTabControllerModel >
//------------------------------------------------------------------------------
void FmXFormShell::ExecuteSearch()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ExecuteSearch" );
if ( impl_checkDisposed() )
return;
@@ -1711,7 +1680,6 @@ void FmXFormShell::ExecuteSearch()
//------------------------------------------------------------------------------
sal_Bool FmXFormShell::GetY2KState(sal_uInt16& n)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::GetY2KState" );
if ( impl_checkDisposed() )
return sal_False;
@@ -1751,7 +1719,6 @@ sal_Bool FmXFormShell::GetY2KState(sal_uInt16& n)
//------------------------------------------------------------------------------
void FmXFormShell::SetY2KState(sal_uInt16 n)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetY2KState" );
if ( impl_checkDisposed() )
return;
@@ -1826,7 +1793,6 @@ void FmXFormShell::SetY2KState(sal_uInt16 n)
//------------------------------------------------------------------------------
void FmXFormShell::CloseExternalFormViewer()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::CloseExternalFormViewer" );
if ( impl_checkDisposed() )
return;
@@ -1848,7 +1814,6 @@ void FmXFormShell::CloseExternalFormViewer()
//------------------------------------------------------------------------------
Reference< XResultSet> FmXFormShell::getInternalForm(const Reference< XResultSet>& _xForm) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getInternalForm" );
if ( impl_checkDisposed() )
return NULL;
@@ -1864,7 +1829,6 @@ Reference< XResultSet> FmXFormShell::getInternalForm(const Reference< XResultSet
//------------------------------------------------------------------------------
Reference< XForm> FmXFormShell::getInternalForm(const Reference< XForm>& _xForm) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getInternalForm" );
if ( impl_checkDisposed() )
return NULL;
@@ -1893,7 +1857,6 @@ namespace
//------------------------------------------------------------------------------
bool FmXFormShell::IsFormSlotEnabled( sal_Int32 _nSlot, FeatureState* _pCompleteState )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::IsFormSlotEnabled" );
const ::svx::ControllerFeatures& rController =
lcl_isNavigationRelevant( _nSlot )
? getNavControllerFeatures()
@@ -1909,7 +1872,6 @@ bool FmXFormShell::IsFormSlotEnabled( sal_Int32 _nSlot, FeatureState* _pComplete
//------------------------------------------------------------------------------
void FmXFormShell::ExecuteFormSlot( sal_Int32 _nSlot )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ExecuteFormSlot" );
const ::svx::ControllerFeatures& rController =
lcl_isNavigationRelevant( _nSlot )
? getNavControllerFeatures()
@@ -1945,7 +1907,6 @@ void FmXFormShell::ExecuteFormSlot( sal_Int32 _nSlot )
//------------------------------------------------------------------------------
void FmXFormShell::impl_switchActiveControllerListening( const bool _bListen )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::impl_switchActiveControllerListening" );
Reference< XComponent> xComp( m_xActiveController, UNO_QUERY );
if ( !xComp.is() )
return;
@@ -1959,7 +1920,6 @@ void FmXFormShell::impl_switchActiveControllerListening( const bool _bListen )
//------------------------------------------------------------------------------
void FmXFormShell::setActiveController( const Reference< runtime::XFormController >& xController, sal_Bool _bNoSaveOldContent )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::setActiveController" );
if ( impl_checkDisposed() )
return;
@@ -2068,14 +2028,12 @@ void FmXFormShell::setActiveController( const Reference< runtime::XFormControlle
//------------------------------------------------------------------------------
void FmXFormShell::getCurrentSelection( InterfaceBag& /* [out] */ _rSelection ) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::getCurrentSelection" );
_rSelection = m_aCurrentSelection;
}
//------------------------------------------------------------------------------
bool FmXFormShell::setCurrentSelectionFromMark( const SdrMarkList& _rMarkList )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::setCurrentSelectionFromMark" );
m_aLastKnownMarkedControls.clear();
if ( ( _rMarkList.GetMarkCount() > 0 ) && isControlList( _rMarkList ) )
@@ -2087,14 +2045,12 @@ bool FmXFormShell::setCurrentSelectionFromMark( const SdrMarkList& _rMarkList )
//------------------------------------------------------------------------------
bool FmXFormShell::selectLastMarkedControls()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::selectLastMarkedControls" );
return setCurrentSelection( m_aLastKnownMarkedControls );
}
//------------------------------------------------------------------------------
bool FmXFormShell::setCurrentSelection( const InterfaceBag& _rSelection )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::setCurrentSelection" );
if ( impl_checkDisposed() )
return false;
@@ -2176,14 +2132,12 @@ bool FmXFormShell::setCurrentSelection( const InterfaceBag& _rSelection )
//------------------------------------------------------------------------------
bool FmXFormShell::isSolelySelected( const Reference< XInterface >& _rxObject )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::isSolelySelected" );
return ( m_aCurrentSelection.size() == 1 ) && ( *m_aCurrentSelection.begin() == _rxObject );
}
//------------------------------------------------------------------------------
void FmXFormShell::forgetCurrentForm()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::forgetCurrentForm" );
if ( !m_xCurrentForm.is() )
return;
@@ -2198,7 +2152,6 @@ void FmXFormShell::forgetCurrentForm()
//------------------------------------------------------------------------------
void FmXFormShell::impl_updateCurrentForm( const Reference< XForm >& _rxNewCurForm )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::impl_updateCurrentForm" );
if ( impl_checkDisposed() )
return;
@@ -2217,7 +2170,6 @@ void FmXFormShell::impl_updateCurrentForm( const Reference< XForm >& _rxNewCurFo
//------------------------------------------------------------------------------
void FmXFormShell::startListening()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::startListening" );
if ( impl_checkDisposed() )
return;
@@ -2297,7 +2249,6 @@ void FmXFormShell::startListening()
//------------------------------------------------------------------------------
void FmXFormShell::stopListening()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::stopListening" );
if ( impl_checkDisposed() )
return;
@@ -2321,7 +2272,6 @@ void FmXFormShell::stopListening()
//------------------------------------------------------------------------------
void FmXFormShell::ShowSelectionProperties( sal_Bool bShow )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ShowSelectionProperties" );
if ( impl_checkDisposed() )
return;
@@ -2652,7 +2602,6 @@ IMPL_LINK(FmXFormShell, OnSearchContextRequest, FmSearchContext*, pfmscContextIn
//------------------------------------------------------------------------------
void FmXFormShell::elementInserted(const ContainerEvent& evt) throw(::com::sun::star::uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::elementInserted" );
if ( impl_checkDisposed() )
return;
@@ -2666,7 +2615,6 @@ void FmXFormShell::elementInserted(const ContainerEvent& evt) throw(::com::sun::
//------------------------------------------------------------------------------
void FmXFormShell::elementReplaced(const ContainerEvent& evt) throw(::com::sun::star::uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::elementReplaced" );
if ( impl_checkDisposed() )
return;
@@ -2680,7 +2628,6 @@ void FmXFormShell::elementReplaced(const ContainerEvent& evt) throw(::com::sun::
//------------------------------------------------------------------------------
void FmXFormShell::elementRemoved(const ContainerEvent& evt) throw(::com::sun::star::uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::elementRemoved" );
if ( impl_checkDisposed() )
return;
@@ -2693,7 +2640,6 @@ void FmXFormShell::elementRemoved(const ContainerEvent& evt) throw(::com::sun::s
//------------------------------------------------------------------------------
void FmXFormShell::UpdateForms( sal_Bool _bInvalidate )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::UpdateForms" );
if ( impl_checkDisposed() )
return;
@@ -2719,7 +2665,6 @@ void FmXFormShell::UpdateForms( sal_Bool _bInvalidate )
//------------------------------------------------------------------------------
void FmXFormShell::AddElement(const Reference< XInterface>& _xElement)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::AddElement" );
if ( impl_checkDisposed() )
return;
impl_AddElement_nothrow(_xElement);
@@ -2752,7 +2697,6 @@ void FmXFormShell::impl_AddElement_nothrow(const Reference< XInterface>& Element
//------------------------------------------------------------------------------
void FmXFormShell::RemoveElement(const Reference< XInterface>& Element)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::RemoveElement" );
if ( impl_checkDisposed() )
return;
impl_RemoveElement_nothrow(Element);
@@ -2789,7 +2733,6 @@ void FmXFormShell::impl_RemoveElement_nothrow(const Reference< XInterface>& Elem
//------------------------------------------------------------------------------
void FmXFormShell::selectionChanged(const EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::selectionChanged" );
if ( impl_checkDisposed() )
return;
@@ -2831,7 +2774,6 @@ IMPL_LINK(FmXFormShell, OnTimeOut, void*, /*EMPTYTAG*/)
//------------------------------------------------------------------------
void FmXFormShell::SetSelectionDelayed()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetSelectionDelayed" );
if ( impl_checkDisposed() )
return;
@@ -2842,7 +2784,6 @@ void FmXFormShell::SetSelectionDelayed()
//------------------------------------------------------------------------
void FmXFormShell::SetSelection(const SdrMarkList& rMarkList)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetSelection" );
if ( impl_checkDisposed() )
return;
@@ -2853,7 +2794,6 @@ void FmXFormShell::SetSelection(const SdrMarkList& rMarkList)
//------------------------------------------------------------------------
void FmXFormShell::DetermineSelection(const SdrMarkList& rMarkList)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::DetermineSelection" );
if ( setCurrentSelectionFromMark( rMarkList ) && IsPropBrwOpen() )
ShowSelectionProperties( sal_True );
}
@@ -2861,7 +2801,6 @@ void FmXFormShell::DetermineSelection(const SdrMarkList& rMarkList)
//------------------------------------------------------------------------------
sal_Bool FmXFormShell::IsPropBrwOpen() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::IsPropBrwOpen" );
if ( impl_checkDisposed() )
return sal_False;
@@ -2898,7 +2837,6 @@ public:
//------------------------------------------------------------------------------
void FmXFormShell::SetDesignMode(sal_Bool bDesign)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetDesignMode" );
if ( impl_checkDisposed() )
return;
@@ -3031,7 +2969,6 @@ Reference< XControl> FmXFormShell::impl_getControl( const Reference< XControlMod
void FmXFormShell::impl_collectFormSearchContexts_nothrow( const Reference< XInterface>& _rxStartingPoint,
const ::rtl::OUString& _rCurrentLevelPrefix, FmFormArray& _out_rForms, ::std::vector< String >& _out_rNames )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::impl_collectFormSearchContexts_nothrow" );
try
{
Reference< XIndexAccess> xContainer( _rxStartingPoint, UNO_QUERY );
@@ -3086,7 +3023,6 @@ void FmXFormShell::impl_collectFormSearchContexts_nothrow( const Reference< XInt
//------------------------------------------------------------------------------
void FmXFormShell::startFiltering()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::startFiltering" );
if ( impl_checkDisposed() )
return;
@@ -3103,12 +3039,14 @@ void FmXFormShell::startFiltering()
else
xContainer = getActiveController()->getContainer();
- FmWinRecList::iterator i = pXView->findWindow(xContainer);
- if (i != pXView->getWindowList().end())
+ PFormViewPageWindowAdapter pAdapter = pXView->findWindow( xContainer );
+ if ( pAdapter.is() )
{
- const ::std::vector< Reference< runtime::XFormController> >& rControllerList = (*i)->GetList();
- for (::std::vector< Reference< runtime::XFormController> >::const_iterator j = rControllerList.begin();
- j != rControllerList.end(); ++j)
+ const ::std::vector< Reference< runtime::XFormController> >& rControllerList = pAdapter->GetList();
+ for ( ::std::vector< Reference< runtime::XFormController> >::const_iterator j = rControllerList.begin();
+ j != rControllerList.end();
+ ++j
+ )
{
Reference< XModeSelector> xModeSelector(*j, UNO_QUERY);
if (xModeSelector.is())
@@ -3161,7 +3099,6 @@ void saveFilter(const Reference< runtime::XFormController >& _rxController)
//------------------------------------------------------------------------------
void FmXFormShell::stopFiltering(sal_Bool bSave)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::stopFiltering" );
if ( impl_checkDisposed() )
return;
@@ -3179,10 +3116,10 @@ void FmXFormShell::stopFiltering(sal_Bool bSave)
else
xContainer = getActiveController()->getContainer();
- FmWinRecList::iterator i = pXView->findWindow(xContainer);
- if (i != pXView->getWindowList().end())
+ PFormViewPageWindowAdapter pAdapter = pXView->findWindow(xContainer);
+ if ( pAdapter.is() )
{
- const ::std::vector< Reference< runtime::XFormController > >& rControllerList = (*i)->GetList();
+ const ::std::vector< Reference< runtime::XFormController > >& rControllerList = pAdapter->GetList();
::std::vector < ::rtl::OUString > aOriginalFilters;
::std::vector < sal_Bool > aOriginalApplyFlags;
@@ -3223,7 +3160,7 @@ void FmXFormShell::stopFiltering(sal_Bool bSave)
}
if (bSave) // execute the filter
{
- const ::std::vector< Reference< runtime::XFormController > > & rControllers = (*i)->GetList();
+ const ::std::vector< Reference< runtime::XFormController > > & rControllers = pAdapter->GetList();
for (::std::vector< Reference< runtime::XFormController > > ::const_iterator j = rControllers.begin();
j != rControllers.end(); ++j)
{
@@ -3300,7 +3237,6 @@ void clearFilter(const Reference< runtime::XFormController >& _rxController)
//------------------------------------------------------------------------------
void FmXFormShell::clearFilter()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::clearFilter" );
if ( impl_checkDisposed() )
return;
@@ -3316,12 +3252,14 @@ void FmXFormShell::clearFilter()
else
xContainer = getActiveController()->getContainer();
- FmWinRecList::iterator i = pXView->findWindow(xContainer);
- if (i != pXView->getWindowList().end())
+ PFormViewPageWindowAdapter pAdapter = pXView->findWindow(xContainer);
+ if ( pAdapter.is() )
{
- const ::std::vector< Reference< runtime::XFormController > > & rControllerList = (*i)->GetList();
- for (::std::vector< Reference< runtime::XFormController > > ::const_iterator j = rControllerList.begin();
- j != rControllerList.end(); ++j)
+ const ::std::vector< Reference< runtime::XFormController > > & rControllerList = pAdapter->GetList();
+ for ( ::std::vector< Reference< runtime::XFormController > > ::const_iterator j = rControllerList.begin();
+ j != rControllerList.end();
+ ++j
+ )
{
::clearFilter(*j);
}
@@ -3331,7 +3269,6 @@ void FmXFormShell::clearFilter()
//------------------------------------------------------------------------------
void FmXFormShell::CreateExternalView()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::CreateExternalView" );
if ( impl_checkDisposed() )
return;
@@ -3746,7 +3683,6 @@ void FmXFormShell::CreateExternalView()
//------------------------------------------------------------------------
void FmXFormShell::implAdjustConfigCache()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::implAdjustConfigCache" );
// get (cache) the wizard usage flag
Sequence< ::rtl::OUString > aNames(1);
aNames[0] = ::rtl::OUString::createFromAscii("FormControlPilotsEnabled");
@@ -3758,7 +3694,6 @@ void FmXFormShell::implAdjustConfigCache()
//------------------------------------------------------------------------
void FmXFormShell::Notify( const com::sun::star::uno::Sequence< rtl::OUString >& _rPropertyNames)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::Notify" );
if ( impl_checkDisposed() )
return;
@@ -3779,7 +3714,6 @@ void FmXFormShell::Commit()
//------------------------------------------------------------------------
void FmXFormShell::SetWizardUsing(sal_Bool _bUseThem)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetWizardUsing" );
m_bUseWizards = _bUseThem;
Sequence< ::rtl::OUString > aNames(1);
@@ -3792,7 +3726,6 @@ void FmXFormShell::SetWizardUsing(sal_Bool _bUseThem)
//------------------------------------------------------------------------
void FmXFormShell::viewDeactivated( FmFormView& _rCurrentView, sal_Bool _bDeactivateController /* = sal_True */ )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::viewDeactivated" );
if ( _rCurrentView.GetImpl() && !_rCurrentView.IsDesignMode() )
{
@@ -3864,7 +3797,6 @@ IMPL_LINK( FmXFormShell, OnFormsCreated, FmFormPage*, /*_pPage*/ )
//------------------------------------------------------------------------
void FmXFormShell::viewActivated( FmFormView& _rCurrentView, sal_Bool _bSyncAction /* = sal_False */ )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::viewActivated" );
FmFormPage* pPage = _rCurrentView.GetCurPage();
@@ -3913,7 +3845,6 @@ void FmXFormShell::viewActivated( FmFormView& _rCurrentView, sal_Bool _bSyncActi
//------------------------------------------------------------------------------
void FmXFormShell::impl_defaultCurrentForm_nothrow()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::impl_defaultCurrentForm_nothrow" );
if ( impl_checkDisposed() )
return;
@@ -3944,7 +3875,6 @@ void FmXFormShell::impl_defaultCurrentForm_nothrow()
//------------------------------------------------------------------------------
void FmXFormShell::smartControlReset( const Reference< XIndexAccess >& _rxModels )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::smartControlReset" );
if (!_rxModels.is())
{
DBG_ERROR("FmXFormShell::smartControlReset: invalid container!");
@@ -4052,7 +3982,6 @@ namespace
//------------------------------------------------------------------------
void FmXFormShell::loadForms( FmFormPage* _pPage, const sal_uInt16 _nBehaviour /* FORMS_LOAD | FORMS_SYNC */ )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::loadForms" );
DBG_ASSERT( ( _nBehaviour & ( FORMS_ASYNC | FORMS_UNLOAD ) ) != ( FORMS_ASYNC | FORMS_UNLOAD ),
"FmXFormShell::loadForms: async loading not supported - this will heavily fail!" );
@@ -4130,41 +4059,35 @@ void FmXFormShell::loadForms( FmFormPage* _pPage, const sal_uInt16 _nBehaviour /
//------------------------------------------------------------------------
void FmXFormShell::ExecuteTextAttribute( SfxRequest& _rReq )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ExecuteTextAttribute" );
m_pTextShell->ExecuteTextAttribute( _rReq );
}
//------------------------------------------------------------------------
void FmXFormShell::GetTextAttributeState( SfxItemSet& _rSet )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::GetTextAttributeState" );
m_pTextShell->GetTextAttributeState( _rSet );
}
//------------------------------------------------------------------------
bool FmXFormShell::IsActiveControl( bool _bCountRichTextOnly ) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::IsActiveControl" );
return m_pTextShell->IsActiveControl( _bCountRichTextOnly );
}
//------------------------------------------------------------------------
void FmXFormShell::ForgetActiveControl()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::ForgetActiveControl" );
m_pTextShell->ForgetActiveControl();
}
//------------------------------------------------------------------------
void FmXFormShell::SetControlActivationHandler( const Link& _rHdl )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::SetControlActivationHandler" );
m_pTextShell->SetControlActivationHandler( _rHdl );
}
//------------------------------------------------------------------------
void FmXFormShell::handleShowPropertiesRequest()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::handleShowPropertiesRequest" );
if ( onlyControlsAreMarked() )
ShowSelectionProperties( sal_True );
}
@@ -4172,7 +4095,6 @@ void FmXFormShell::handleShowPropertiesRequest()
//------------------------------------------------------------------------
void FmXFormShell::handleMouseButtonDown( const SdrViewEvent& _rViewEvent )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormShell::handleMouseButtonDown" );
// catch simple double clicks
if ( ( _rViewEvent.nMouseClicks == 2 ) && ( _rViewEvent.nMouseCode == MOUSE_LEFT ) )
{
@@ -4284,7 +4206,6 @@ ControlConversionMenuController::ControlConversionMenuController( sal_uInt16 _nI
//------------------------------------------------------------------------------
ControlConversionMenuController::~ControlConversionMenuController()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "ControlConversionMenuController::~ControlConversionMenuController" );
m_pMainMenu->SetPopupMenu(SID_FM_CHANGECONTROLTYPE, NULL);
delete m_pConversionMenu;
}
diff --git a/svx/source/form/fmsrccfg.cxx b/svx/source/form/fmsrccfg.cxx
index fc710ddcbe..e859142ad9 100644
--- a/svx/source/form/fmsrccfg.cxx
+++ b/svx/source/form/fmsrccfg.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "fmsrccfg.hxx"
+#include "svx/fmsrccfg.hxx"
#include <svl/filerec.hxx>
#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <comphelper/processfactory.hxx>
diff --git a/svx/source/form/fmsrcimp.cxx b/svx/source/form/fmsrcimp.cxx
index 65fae03f60..c37fa76daf 100644
--- a/svx/source/form/fmsrcimp.cxx
+++ b/svx/source/form/fmsrcimp.cxx
@@ -29,10 +29,10 @@
#include "precompiled_svx.hxx"
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#include "svx/fmtools.hxx"
-#include "fmsrccfg.hxx"
+#include "svx/fmsrccfg.hxx"
#include <tools/debug.hxx>
#include <tools/diagnose_ex.h>
#include <tools/wldcrd.hxx>
@@ -63,7 +63,7 @@
#include "fmprop.hrc"
#endif
#include "fmservs.hxx"
-#include "fmsrcimp.hxx"
+#include "svx/fmsrcimp.hxx"
#include <svx/fmsearch.hxx>
#include <comphelper/numbers.hxx>
diff --git a/svx/source/form/fmstring.src b/svx/source/form/fmstring.src
index 89771f126b..cd7dda730c 100644
--- a/svx/source/form/fmstring.src
+++ b/svx/source/form/fmstring.src
@@ -25,7 +25,7 @@
*
************************************************************************/
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
/* Strings fuer Uebersetzung */
String RID_ERR_CONTEXT_ADDFORM
{
diff --git a/svx/source/form/fmtextcontroldialogs.cxx b/svx/source/form/fmtextcontroldialogs.cxx
index 751f699a32..5eef81a893 100644
--- a/svx/source/form/fmtextcontroldialogs.cxx
+++ b/svx/source/form/fmtextcontroldialogs.cxx
@@ -44,7 +44,7 @@
//#include "tabstpge.hxx"
#endif
-#include "flagsdef.hxx"
+#include "svx/flagsdef.hxx"
#include <svl/intitem.hxx>
#include <com/sun/star/uno/Sequence.hxx>
diff --git a/svx/source/form/fmtextcontrolshell.cxx b/svx/source/form/fmtextcontrolshell.cxx
index 501420329e..8a99070be3 100644
--- a/svx/source/form/fmtextcontrolshell.cxx
+++ b/svx/source/form/fmtextcontrolshell.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmtextcontroldialogs.hxx"
#include "fmtextcontrolfeature.hxx"
#include "fmtextcontrolshell.hxx"
diff --git a/svx/source/form/fmundo.cxx b/svx/source/form/fmundo.cxx
index c674648e08..dbf6df9c18 100644
--- a/svx/source/form/fmundo.cxx
+++ b/svx/source/form/fmundo.cxx
@@ -31,10 +31,10 @@
#include "fmundo.hxx"
#include "fmpgeimp.hxx"
#include "svx/dbtoolsclient.hxx"
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "fmobj.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "svx/fmglob.hxx"
#include "svx/dialmgr.hxx"
#include "svx/fmmodel.hxx"
diff --git a/svx/source/form/fmview.cxx b/svx/source/form/fmview.cxx
index 17c2776de0..438cab3c30 100644
--- a/svx/source/form/fmview.cxx
+++ b/svx/source/form/fmview.cxx
@@ -50,7 +50,7 @@
#include <basic/sbx.hxx>
#include "fmitems.hxx"
#include "fmobj.hxx"
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdpagv.hxx>
#include <svx/svdogrp.hxx>
#include <svx/fmview.hxx>
@@ -76,7 +76,7 @@
#include <vcl/stdtext.hxx>
#include <svx/fmglob.hxx>
#include <svx/sdrpagewindow.hxx>
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -139,9 +139,7 @@ void FmFormView::Init()
const SfxPoolItem *pItem=0;
if ( pObjShell->GetMedium()->GetItemSet()->GetItemState( SID_COMPONENTDATA, sal_False, &pItem ) == SFX_ITEM_SET )
{
- Sequence< PropertyValue > aSeq;
- ( ((SfxUnoAnyItem*)pItem)->GetValue() ) >>= aSeq;
- ::comphelper::NamedValueCollection aComponentData( aSeq );
+ ::comphelper::NamedValueCollection aComponentData( ((SfxUnoAnyItem*)pItem)->GetValue() );
bInitDesignMode = aComponentData.getOrDefault( "ApplyFormDesignMode", bInitDesignMode );
}
}
diff --git a/svx/source/form/fmvwimp.cxx b/svx/source/form/fmvwimp.cxx
index 802cbb59dd..6c5df886a0 100644
--- a/svx/source/form/fmvwimp.cxx
+++ b/svx/source/form/fmvwimp.cxx
@@ -32,15 +32,15 @@
#include "fmobj.hxx"
#include "fmpgeimp.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "fmshimp.hxx"
#include "svx/fmtools.hxx"
#include "fmundo.hxx"
#include "fmvwimp.hxx"
#include "formcontrolfactory.hxx"
-#include "sdrpaintwindow.hxx"
-#include "svditer.hxx"
+#include "svx/sdrpaintwindow.hxx"
+#include "svx/svditer.hxx"
#include "svx/dataaccessdescriptor.hxx"
#include "svx/dialmgr.hxx"
#include "svx/fmglob.hxx"
@@ -51,7 +51,7 @@
#include "svx/sdrpagewindow.hxx"
#include "svx/svdogrp.hxx"
#include "svx/svdpagv.hxx"
-#include "xmlexchg.hxx"
+#include "svx/xmlexchg.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
@@ -173,20 +173,19 @@ public:
};
//========================================================================
-DBG_NAME(FmXPageViewWinRec)
+DBG_NAME(FormViewPageWindowAdapter)
//------------------------------------------------------------------------
-FmXPageViewWinRec::FmXPageViewWinRec( const ::comphelper::ComponentContext& _rContext, const SdrPageWindow& _rWindow, FmXFormView* _pViewImpl )
+FormViewPageWindowAdapter::FormViewPageWindowAdapter( const ::comphelper::ComponentContext& _rContext, const SdrPageWindow& _rWindow, FmXFormView* _pViewImpl )
: m_xControlContainer( _rWindow.GetControlContainer() ),
m_aContext( _rContext ),
m_pViewImpl( _pViewImpl ),
m_pWindow( dynamic_cast< Window* >( &_rWindow.GetPaintWindow().GetOutputDevice() ) )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::FmXPageViewWinRec" );
- DBG_CTOR(FmXPageViewWinRec,NULL);
+ DBG_CTOR(FormViewPageWindowAdapter,NULL);
// create an XFormController for every form
FmFormPage* pFormPage = dynamic_cast< FmFormPage* >( _rWindow.GetPageView().GetPage() );
- DBG_ASSERT( pFormPage, "FmXPageViewWinRec::FmXPageViewWinRec: no FmFormPage found!" );
+ DBG_ASSERT( pFormPage, "FormViewPageWindowAdapter::FormViewPageWindowAdapter: no FmFormPage found!" );
if ( pFormPage )
{
try
@@ -207,15 +206,14 @@ FmXPageViewWinRec::FmXPageViewWinRec( const ::comphelper::ComponentContext& _rCo
}
}
// -----------------------------------------------------------------------------
-FmXPageViewWinRec::~FmXPageViewWinRec()
+FormViewPageWindowAdapter::~FormViewPageWindowAdapter()
{
- DBG_DTOR(FmXPageViewWinRec,NULL);
+ DBG_DTOR(FormViewPageWindowAdapter,NULL);
}
//------------------------------------------------------------------
-void FmXPageViewWinRec::dispose()
+void FormViewPageWindowAdapter::dispose()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::dispose" );
for ( ::std::vector< Reference< XFormController > >::const_iterator i = m_aControllerList.begin();
i != m_aControllerList.end();
++i
@@ -249,39 +247,34 @@ void FmXPageViewWinRec::dispose()
//------------------------------------------------------------------------------
-sal_Bool SAL_CALL FmXPageViewWinRec::hasElements(void) throw( RuntimeException )
+sal_Bool SAL_CALL FormViewPageWindowAdapter::hasElements(void) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::hasElements" );
return getCount() != 0;
}
//------------------------------------------------------------------------------
-Type SAL_CALL FmXPageViewWinRec::getElementType(void) throw( RuntimeException )
+Type SAL_CALL FormViewPageWindowAdapter::getElementType(void) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::getElementType" );
return ::getCppuType((const Reference< XFormController>*)0);
}
// XEnumerationAccess
//------------------------------------------------------------------------------
-Reference< XEnumeration > SAL_CALL FmXPageViewWinRec::createEnumeration(void) throw( RuntimeException )
+Reference< XEnumeration > SAL_CALL FormViewPageWindowAdapter::createEnumeration(void) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::createEnumeration" );
return new ::comphelper::OEnumerationByIndex(this);
}
// XIndexAccess
//------------------------------------------------------------------------------
-sal_Int32 SAL_CALL FmXPageViewWinRec::getCount(void) throw( RuntimeException )
+sal_Int32 SAL_CALL FormViewPageWindowAdapter::getCount(void) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::getCount" );
return m_aControllerList.size();
}
//------------------------------------------------------------------------------
-Any SAL_CALL FmXPageViewWinRec::getByIndex(sal_Int32 nIndex) throw( IndexOutOfBoundsException, WrappedTargetException, RuntimeException )
+Any SAL_CALL FormViewPageWindowAdapter::getByIndex(sal_Int32 nIndex) throw( IndexOutOfBoundsException, WrappedTargetException, RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::getByIndex" );
if (nIndex < 0 ||
nIndex >= getCount())
throw IndexOutOfBoundsException();
@@ -292,7 +285,7 @@ Any SAL_CALL FmXPageViewWinRec::getByIndex(sal_Int32 nIndex) throw( IndexOutOfBo
}
//------------------------------------------------------------------------
-void SAL_CALL FmXPageViewWinRec::makeVisible( const Reference< XControl >& _Control ) throw (RuntimeException)
+void SAL_CALL FormViewPageWindowAdapter::makeVisible( const Reference< XControl >& _Control ) throw (RuntimeException)
{
::vos::OGuard aSolarGuard(Application::GetSolarMutex());
@@ -331,9 +324,8 @@ Reference< XFormController > getControllerSearchChilds( const Reference< XIndex
// Search the according controller
//------------------------------------------------------------------------
-Reference< XFormController > FmXPageViewWinRec::getController( const Reference< XForm > & xForm ) const
+Reference< XFormController > FormViewPageWindowAdapter::getController( const Reference< XForm > & xForm ) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::getController" );
Reference< XTabControllerModel > xModel(xForm, UNO_QUERY);
for (::std::vector< Reference< XFormController > >::const_iterator i = m_aControllerList.begin();
i != m_aControllerList.end(); i++)
@@ -350,9 +342,9 @@ Reference< XFormController > FmXPageViewWinRec::getController( const Reference<
}
//------------------------------------------------------------------------
-void FmXPageViewWinRec::setController(const Reference< XForm > & xForm, const Reference< XFormController >& _rxParentController )
+void FormViewPageWindowAdapter::setController(const Reference< XForm > & xForm, const Reference< XFormController >& _rxParentController )
{
- DBG_ASSERT( xForm.is(), "FmXPageViewWinRec::setController: there should be a form!" );
+ DBG_ASSERT( xForm.is(), "FormViewPageWindowAdapter::setController: there should be a form!" );
Reference< XIndexAccess > xFormCps(xForm, UNO_QUERY);
if (!xFormCps.is())
return;
@@ -410,10 +402,9 @@ void FmXPageViewWinRec::setController(const Reference< XForm > & xForm, const Re
}
//------------------------------------------------------------------------
-void FmXPageViewWinRec::updateTabOrder( const Reference< XForm >& _rxForm )
+void FormViewPageWindowAdapter::updateTabOrder( const Reference< XForm >& _rxForm )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXPageViewWinRec::updateTabOrder" );
- OSL_PRECOND( _rxForm.is(), "FmXPageViewWinRec::updateTabOrder: illegal argument!" );
+ OSL_PRECOND( _rxForm.is(), "FormViewPageWindowAdapter::updateTabOrder: illegal argument!" );
if ( !_rxForm.is() )
return;
@@ -457,13 +448,11 @@ FmXFormView::FmXFormView(const ::comphelper::ComponentContext& _rContext, FmForm
,m_bFirstActivation( true )
,m_isTabOrderUpdateSuspended( false )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::FmXFormView" );
}
//------------------------------------------------------------------------
void FmXFormView::cancelEvents()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::cancelEvents" );
if ( m_nActivationEvent )
{
Application::RemoveUserEvent( m_nActivationEvent );
@@ -492,7 +481,6 @@ void FmXFormView::cancelEvents()
//------------------------------------------------------------------------
void FmXFormView::notifyViewDying( )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::notifyViewDying" );
DBG_ASSERT( m_pView, "FmXFormView::notifyViewDying: my view already died!" );
m_pView = NULL;
cancelEvents();
@@ -501,7 +489,17 @@ void FmXFormView::notifyViewDying( )
//------------------------------------------------------------------------
FmXFormView::~FmXFormView()
{
- DBG_ASSERT(m_aWinList.size() == 0, "FmXFormView::~FmXFormView: Window list not empty!");
+ DBG_ASSERT( m_aPageWindowAdapters.empty(), "FmXFormView::~FmXFormView: Window list not empty!" );
+ if ( !m_aPageWindowAdapters.empty() )
+ {
+ for ( PageWindowAdapterList::const_iterator loop = m_aPageWindowAdapters.begin();
+ loop != m_aPageWindowAdapters.end();
+ ++loop
+ )
+ {
+ (*loop)->dispose();
+ }
+ }
cancelEvents();
@@ -513,7 +511,6 @@ FmXFormView::~FmXFormView()
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::disposing(const EventObject& Source) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::disposing" );
if ( m_xWindow.is() && Source.Source == m_xWindow )
removeGridWindowListening();
}
@@ -522,7 +519,6 @@ void SAL_CALL FmXFormView::disposing(const EventObject& Source) throw( RuntimeEx
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::formActivated(const EventObject& rEvent) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::formActivated" );
if ( m_pView && m_pView->GetFormShell() && m_pView->GetFormShell()->GetImpl() )
m_pView->GetFormShell()->GetImpl()->formActivated( rEvent );
}
@@ -530,7 +526,6 @@ void SAL_CALL FmXFormView::formActivated(const EventObject& rEvent) throw( Runti
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::formDeactivated(const EventObject& rEvent) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::formDeactivated" );
if ( m_pView && m_pView->GetFormShell() && m_pView->GetFormShell()->GetImpl() )
m_pView->GetFormShell()->GetImpl()->formDeactivated( rEvent );
}
@@ -539,7 +534,6 @@ void SAL_CALL FmXFormView::formDeactivated(const EventObject& rEvent) throw( Run
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::elementInserted(const ContainerEvent& evt) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::elementInserted" );
try
{
Reference< XControlContainer > xControlContainer( evt.Source, UNO_QUERY_THROW );
@@ -554,11 +548,9 @@ void SAL_CALL FmXFormView::elementInserted(const ContainerEvent& evt) throw( Run
}
else
{
- FmWinRecList::iterator pos = findWindow( xControlContainer );
- if ( pos != m_aWinList.end() )
- {
- (*pos)->updateTabOrder( xForm );
- }
+ PFormViewPageWindowAdapter pAdapter = findWindow( xControlContainer );
+ if ( pAdapter.is() )
+ pAdapter->updateTabOrder( xForm );
}
}
catch( const Exception& )
@@ -570,92 +562,80 @@ void SAL_CALL FmXFormView::elementInserted(const ContainerEvent& evt) throw( Run
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::elementReplaced(const ContainerEvent& evt) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::elementReplaced" );
elementInserted(evt);
}
//------------------------------------------------------------------------------
void SAL_CALL FmXFormView::elementRemoved(const ContainerEvent& /*evt*/) throw( RuntimeException )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::elementRemoved" );
}
//------------------------------------------------------------------------------
-FmWinRecList::const_iterator FmXFormView::findWindow( const Reference< XControlContainer >& _rxCC ) const
+PFormViewPageWindowAdapter FmXFormView::findWindow( const Reference< XControlContainer >& _rxCC ) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::findWindow" );
- for (FmWinRecList::const_iterator i = m_aWinList.begin();
- i != m_aWinList.end(); i++)
- {
- if ( _rxCC == (*i)->getControlContainer() )
- return i;
- }
- return m_aWinList.end();
-}
-
-//------------------------------------------------------------------------------
-FmWinRecList::iterator FmXFormView::findWindow( const Reference< XControlContainer >& _rxCC )
-{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::findWindow" );
- for (FmWinRecList::iterator i = m_aWinList.begin();
- i != m_aWinList.end(); i++)
+ for ( PageWindowAdapterList::const_iterator i = m_aPageWindowAdapters.begin();
+ i != m_aPageWindowAdapters.end();
+ ++i
+ )
{
if ( _rxCC == (*i)->getControlContainer() )
- return i;
+ return *i;
}
- return m_aWinList.end();
+ return NULL;
}
//------------------------------------------------------------------------------
void FmXFormView::addWindow(const SdrPageWindow& rWindow)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::addWindow" );
FmFormPage* pFormPage = PTR_CAST( FmFormPage, rWindow.GetPageView().GetPage() );
if ( !pFormPage )
return;
Reference< XControlContainer > xCC = rWindow.GetControlContainer();
- if ( xCC.is() && findWindow( xCC ) == m_aWinList.end())
+ if ( xCC.is()
+ && ( !findWindow( xCC ).is() )
+ )
{
- FmXPageViewWinRec *pFmRec = new FmXPageViewWinRec( m_aContext, rWindow, this );
- pFmRec->acquire();
-
- m_aWinList.push_back(pFmRec);
+ PFormViewPageWindowAdapter pAdapter = new FormViewPageWindowAdapter( m_aContext, rWindow, this );
+ m_aPageWindowAdapters.push_back( pAdapter );
// Am ControlContainer horchen um Aenderungen mitzbekommen
Reference< XContainer > xContainer( xCC, UNO_QUERY );
- if (xContainer.is())
- xContainer->addContainerListener(this);
+ if ( xContainer.is() )
+ xContainer->addContainerListener( this );
}
}
//------------------------------------------------------------------------------
void FmXFormView::removeWindow( const Reference< XControlContainer >& _rxCC )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::removeWindow" );
// Wird gerufen, wenn
// - in den Design-Modus geschaltet wird
// - ein Window geloescht wird, waehrend man im Design-Modus ist
// - der Control-Container fuer ein Window entfernt wird, waehrend
// der aktive Modus eingeschaltet ist.
- FmWinRecList::iterator i = findWindow( _rxCC );
- if (i != m_aWinList.end())
+
+ for ( PageWindowAdapterList::iterator i = m_aPageWindowAdapters.begin();
+ i != m_aPageWindowAdapters.end();
+ ++i
+ )
{
- // Am ControlContainer horchen um Aenderungen mitzbekommen
+ if ( _rxCC != (*i)->getControlContainer() )
+ continue;
+
Reference< XContainer > xContainer( _rxCC, UNO_QUERY );
- if (xContainer.is())
- xContainer->removeContainerListener(this);
+ if ( xContainer.is() )
+ xContainer->removeContainerListener( this );
(*i)->dispose();
- (*i)->release();
- m_aWinList.erase(i);
+ m_aPageWindowAdapters.erase( i );
+ break;
}
}
//------------------------------------------------------------------------------
void FmXFormView::displayAsyncErrorMessage( const SQLErrorEvent& _rEvent )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::displayAsyncErrorMessage" );
DBG_ASSERT( 0 == m_nErrorMessageEvent, "FmXFormView::displayAsyncErrorMessage: not too fast, please!" );
// This should not happen - usually, the PostUserEvent is faster than any possible user
// interaction which could trigger a new error. If it happens, we need a queue for the events.
@@ -674,7 +654,6 @@ IMPL_LINK(FmXFormView, OnDelayedErrorMessage, void*, /*EMPTYTAG*/)
//------------------------------------------------------------------------------
void FmXFormView::onFirstViewActivation( const FmFormModel* _pDocModel )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::onFirstViewActivation" );
if ( _pDocModel && _pDocModel->GetAutoControlFocus() )
m_nAutoFocusEvent = Application::PostUserEvent( LINK( this, FmXFormView, OnAutoFocus ) );
}
@@ -682,7 +661,6 @@ void FmXFormView::onFirstViewActivation( const FmFormModel* _pDocModel )
//------------------------------------------------------------------------------
void FmXFormView::suspendTabOrderUpdate()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::suspendTabOrderUpdate" );
OSL_ENSURE( !m_isTabOrderUpdateSuspended, "FmXFormView::suspendTabOrderUpdate: nesting not allowed!" );
m_isTabOrderUpdateSuspended = true;
}
@@ -690,7 +668,6 @@ void FmXFormView::suspendTabOrderUpdate()
//------------------------------------------------------------------------------
void FmXFormView::resumeTabOrderUpdate()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::resumeTabOrderUpdate" );
OSL_ENSURE( m_isTabOrderUpdateSuspended, "FmXFormView::resumeTabOrderUpdate: not suspended!" );
m_isTabOrderUpdateSuspended = false;
@@ -700,8 +677,8 @@ void FmXFormView::resumeTabOrderUpdate()
++container
)
{
- FmWinRecList::iterator pos = findWindow( container->first );
- if ( pos == m_aWinList.end() )
+ PFormViewPageWindowAdapter pAdapter = findWindow( container->first );
+ if ( !pAdapter.is() )
continue;
for ( SetOfForms::const_iterator form = container->second.begin();
@@ -709,7 +686,7 @@ void FmXFormView::resumeTabOrderUpdate()
++form
)
{
- (*pos)->updateTabOrder( *form );
+ pAdapter->updateTabOrder( *form );
}
}
m_aNeedTabOrderUpdate.clear();
@@ -730,41 +707,42 @@ IMPL_LINK(FmXFormView, OnActivate, void*, /*EMPTYTAG*/)
if (m_pView->GetFormShell() && m_pView->GetActualOutDev() && m_pView->GetActualOutDev()->GetOutDevType() == OUTDEV_WINDOW)
{
Window* pWindow = const_cast<Window*>(static_cast<const Window*>(m_pView->GetActualOutDev()));
- FmXPageViewWinRec* pFmRec = m_aWinList.size() ? m_aWinList[0] : NULL;
- for (FmWinRecList::const_iterator i = m_aWinList.begin();
- i != m_aWinList.end(); i++)
+ PFormViewPageWindowAdapter pAdapter = m_aPageWindowAdapters.empty() ? NULL : m_aPageWindowAdapters[0];
+ for ( PageWindowAdapterList::const_iterator i = m_aPageWindowAdapters.begin();
+ i != m_aPageWindowAdapters.end();
+ ++i
+ )
{
- if (pWindow == (*i)->getWindow())
- pFmRec =*i;
+ if ( pWindow == (*i)->getWindow() )
+ pAdapter =*i;
}
- if (pFmRec)
+ if ( pAdapter.get() )
{
- for (::std::vector< Reference< XFormController > >::const_iterator i = pFmRec->GetList().begin();
- i != pFmRec->GetList().end(); i++)
+ for ( ::std::vector< Reference< XFormController > >::const_iterator i = pAdapter->GetList().begin();
+ i != pAdapter->GetList().end();
+ ++i
+ )
{
const Reference< XFormController > & xController = *i;
- if (xController.is())
+ if ( !xController.is() )
+ continue;
+
+ // only database forms are to be activated
+ Reference< XRowSet > xForm(xController->getModel(), UNO_QUERY);
+ if ( !xForm.is() || !OStaticDataAccessTools().getRowSetConnection( xForm ).is() )
+ continue;
+
+ Reference< XPropertySet > xFormSet( xForm, UNO_QUERY );
+ ENSURE_OR_CONTINUE( xFormSet.is(), "FmXFormView::OnActivate: a form which does not have properties?" );
+
+ const ::rtl::OUString aSource = ::comphelper::getString( xFormSet->getPropertyValue( FM_PROP_COMMAND ) );
+ if ( aSource.getLength() )
{
- // Nur bei Datenbankformularen erfolgt eine aktivierung
- Reference< XRowSet > xForm(xController->getModel(), UNO_QUERY);
- if (xForm.is() && OStaticDataAccessTools().getRowSetConnection(xForm).is())
- {
- Reference< XPropertySet > xFormSet(xForm, UNO_QUERY);
- if (xFormSet.is())
- {
- // wenn es eine Datenquelle gibt, dann als aktive ::com::sun::star::form setzen
- ::rtl::OUString aSource = ::comphelper::getString(xFormSet->getPropertyValue(FM_PROP_COMMAND));
- if (aSource.getLength())
- {
- // benachrichtigung der Shell
- FmXFormShell* pShImpl = m_pView->GetFormShell()->GetImpl();
- if (pShImpl)
- pShImpl->setActiveController(xController);
- break;
- }
- }
- }
+ FmXFormShell* pShImpl = m_pView->GetFormShell()->GetImpl();
+ if ( pShImpl )
+ pShImpl->setActiveController( xController );
+ break;
}
}
}
@@ -775,7 +753,6 @@ IMPL_LINK(FmXFormView, OnActivate, void*, /*EMPTYTAG*/)
//------------------------------------------------------------------------------
void FmXFormView::Activate(sal_Bool bSync)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::Activate" );
if (m_nActivationEvent)
{
Application::RemoveUserEvent(m_nActivationEvent);
@@ -793,7 +770,6 @@ void FmXFormView::Activate(sal_Bool bSync)
//------------------------------------------------------------------------------
void FmXFormView::Deactivate(BOOL bDeactivateController)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::Deactivate" );
if (m_nActivationEvent)
{
Application::RemoveUserEvent(m_nActivationEvent);
@@ -808,13 +784,11 @@ void FmXFormView::Deactivate(BOOL bDeactivateController)
//------------------------------------------------------------------------------
FmFormShell* FmXFormView::GetFormShell() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::GetFormShell" );
return m_pView ? m_pView->GetFormShell() : NULL;
}
// -----------------------------------------------------------------------------
void FmXFormView::AutoFocus( sal_Bool _bSync )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::AutoFocus" );
if (m_nAutoFocusEvent)
Application::RemoveUserEvent(m_nAutoFocusEvent);
@@ -927,18 +901,20 @@ namespace
// -----------------------------------------------------------------------------
Reference< XFormController > FmXFormView::getFormController( const Reference< XForm >& _rxForm, const OutputDevice& _rDevice ) const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::getFormController" );
Reference< XFormController > xController;
- for ( FmWinRecList::const_iterator rec = m_aWinList.begin(); rec != m_aWinList.end(); ++rec )
+ for ( PageWindowAdapterList::const_iterator pos = m_aPageWindowAdapters.begin();
+ pos != m_aPageWindowAdapters.end();
+ ++pos
+ )
{
- const FmXPageViewWinRec* pViewWinRec( *rec );
- OSL_ENSURE( pViewWinRec, "FmXFormView::getFormController: invalid PageViewWinRec!" );
- if ( !pViewWinRec || ( pViewWinRec->getWindow() != &_rDevice ) )
+ const PFormViewPageWindowAdapter pAdapter( *pos );
+ ENSURE_OR_CONTINUE( pAdapter.get(), "FmXFormView::getFormController: invalid page window adapter!" );
+ if ( pAdapter->getWindow() != &_rDevice )
// wrong device
continue;
- xController = pViewWinRec->getController( _rxForm );
+ xController = pAdapter->getController( _rxForm );
if ( xController.is() )
break;
}
@@ -960,12 +936,10 @@ IMPL_LINK(FmXFormView, OnAutoFocus, void*, /*EMPTYTAG*/)
FmFormPage* pPage = m_pView ? PTR_CAST( FmFormPage, m_pView->GetSdrPageView()->GetPage() ) : NULL;
Reference< XIndexAccess > xForms( pPage ? Reference< XIndexAccess >( pPage->GetForms(), UNO_QUERY ) : Reference< XIndexAccess >() );
- const FmXPageViewWinRec* pViewWinRec = m_aWinList.size() ? m_aWinList[0] : NULL;
- const Window* pWindow = pViewWinRec ? pViewWinRec->getWindow() : NULL;
+ const PFormViewPageWindowAdapter pAdapter = m_aPageWindowAdapters.empty() ? NULL : m_aPageWindowAdapters[0];
+ const Window* pWindow = pAdapter.get() ? pAdapter->getWindow() : NULL;
- OSL_ENSURE( xForms.is() && pWindow, "FmXFormView::OnAutoFocus: could not collect all essentials!" );
- if ( !xForms.is() || !pWindow )
- return 0L;
+ ENSURE_OR_RETURN( xForms.is() && pWindow, "FmXFormView::OnAutoFocus: could not collect all essentials!", 0L );
try
{
@@ -973,7 +947,7 @@ IMPL_LINK(FmXFormView, OnAutoFocus, void*, /*EMPTYTAG*/)
if ( !xForms->getCount() )
break;
Reference< XForm > xForm( xForms->getByIndex( 0 ), UNO_QUERY_THROW );
- Reference< XTabController > xTabController( pViewWinRec->getController( xForm ), UNO_QUERY_THROW );
+ Reference< XTabController > xTabController( pAdapter->getController( xForm ), UNO_QUERY_THROW );
// go for the first control of the controller
Sequence< Reference< XControl > > aControls( xTabController->getControls() );
@@ -1024,7 +998,6 @@ IMPL_LINK(FmXFormView, OnAutoFocus, void*, /*EMPTYTAG*/)
// -----------------------------------------------------------------------------
void FmXFormView::onCreatedFormObject( FmFormObj& _rFormObject )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::onCreatedFormObject" );
FmFormShell* pShell = m_pView ? m_pView->GetFormShell() : NULL;
FmXFormShell* pShellImpl = pShell ? pShell->GetImpl() : NULL;
OSL_ENSURE( pShellImpl, "FmXFormView::onCreatedFormObject: no form shell!" );
@@ -1155,7 +1128,6 @@ namespace
// -----------------------------------------------------------------------------
SdrObject* FmXFormView::implCreateFieldControl( const ::svx::ODataAccessDescriptor& _rColumnDescriptor )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::implCreateFieldControl" );
// not if we're in design mode
if ( !m_pView->IsDesignMode() )
return NULL;
@@ -1387,7 +1359,6 @@ SdrObject* FmXFormView::implCreateFieldControl( const ::svx::ODataAccessDescript
// -----------------------------------------------------------------------------
SdrObject* FmXFormView::implCreateXFormsControl( const ::svx::OXFormsDescriptor &_rDesc )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::implCreateXFormsControl" );
// not if we're in design mode
if ( !m_pView->IsDesignMode() )
return NULL;
@@ -1523,7 +1494,6 @@ bool FmXFormView::createControlLabelPair( OutputDevice& _rOutDev, sal_Int32 _nXO
const Reference< XDataSource >& _rxDataSource, const ::rtl::OUString& _rDataSourceName,
const ::rtl::OUString& _rCommand, const sal_Int32 _nCommandType )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::createControlLabelPair" );
if ( !createControlLabelPair( m_aContext, _rOutDev, _nXOffsetMM, _nYOffsetMM,
_rxField, _rxNumberFormats, _nControlObjectID, _rFieldPostfix, FmFormInventor, OBJ_FM_FIXEDTEXT,
NULL, NULL, NULL, _rpLabel, _rpControl )
@@ -1551,7 +1521,6 @@ bool FmXFormView::createControlLabelPair( const ::comphelper::ComponentContext&
const ::rtl::OUString& _rFieldPostfix, UINT32 _nInventor, UINT16 _nLabelObjectID,
SdrPage* _pLabelPage, SdrPage* _pControlPage, SdrModel* _pModel, SdrUnoObj*& _rpLabel, SdrUnoObj*& _rpControl)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::createControlLabelPair" );
sal_Int32 nDataType = 0;
::rtl::OUString sFieldName;
Any aFieldName;
@@ -1717,7 +1686,6 @@ void FmXFormView::ObjectRemoveListener::Notify( SfxBroadcaster& /*rBC*/, const S
//------------------------------------------------------------------------------
void FmXFormView::ObjectRemovedInAliveMode( const SdrObject* pObject )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::ObjectRemovedInAliveMode" );
// wenn das entfernte Objekt in meiner MarkList, die ich mir beim Umschalten in den Alive-Mode gemerkt habe, steht,
// muss ich es jetzt da rausnehmen, da ich sonst beim Zurueckschalten versuche, die Markierung wieder zu setzen
// (interesanterweise geht das nur bei gruppierten Objekten schief (beim Zugriff auf deren ObjList GPF), nicht bei einzelnen)
@@ -1740,7 +1708,6 @@ void FmXFormView::ObjectRemovedInAliveMode( const SdrObject* pObject )
//------------------------------------------------------------------------------
void FmXFormView::stopMarkListWatching()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::stopMarkListWatching" );
if ( m_pWatchStoredList )
{
m_pWatchStoredList->EndListeningAll();
@@ -1752,7 +1719,6 @@ void FmXFormView::stopMarkListWatching()
//------------------------------------------------------------------------------
void FmXFormView::startMarkListWatching()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::startMarkListWatching" );
if ( !m_pWatchStoredList )
{
m_pWatchStoredList = new ObjectRemoveListener( this );
@@ -1769,7 +1735,6 @@ void FmXFormView::startMarkListWatching()
//------------------------------------------------------------------------------
void FmXFormView::saveMarkList( sal_Bool _bSmartUnmark )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::saveMarkList" );
if ( m_pView )
{
m_aMark = m_pView->GetMarkedObjectList();
@@ -1828,7 +1793,6 @@ static sal_Bool lcl_hasObject( SdrObjListIter& rIter, SdrObject* pObj )
//------------------------------------------------------------------------------
void FmXFormView::restoreMarkList( SdrMarkList& _rRestoredMarkList )
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::restoreMarkList" );
if ( !m_pView )
return;
@@ -1916,7 +1880,6 @@ void FmXFormView::restoreMarkList( SdrMarkList& _rRestoredMarkList )
// -----------------------------------------------------------------------------
void SAL_CALL FmXFormView::focusGained( const FocusEvent& /*e*/ ) throw (RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::focusGained" );
if ( m_xWindow.is() && m_pView )
{
m_pView->SetMoveOutside( TRUE, FmFormView::ImplAccess() );
@@ -1925,7 +1888,6 @@ void SAL_CALL FmXFormView::focusGained( const FocusEvent& /*e*/ ) throw (Runtime
// -----------------------------------------------------------------------------
void SAL_CALL FmXFormView::focusLost( const FocusEvent& /*e*/ ) throw (RuntimeException)
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::focusLost" );
// when switch the focus outside the office the mark didn't change
// so we can not remove us as focus listener
if ( m_xWindow.is() && m_pView )
@@ -1936,7 +1898,6 @@ void SAL_CALL FmXFormView::focusLost( const FocusEvent& /*e*/ ) throw (RuntimeEx
// -----------------------------------------------------------------------------
void FmXFormView::removeGridWindowListening()
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::removeGridWindowListening" );
if ( m_xWindow.is() )
{
m_xWindow->removeFocusListener(this);
@@ -1951,7 +1912,6 @@ void FmXFormView::removeGridWindowListening()
// -----------------------------------------------------------------------------
DocumentType FmXFormView::impl_getDocumentType() const
{
- RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmXFormView::impl_getDocumentType" );
if ( GetFormShell() && GetFormShell()->GetImpl() )
return GetFormShell()->GetImpl()->getDocumentType();
return eUnknownDocumentType;
diff --git a/svx/source/form/formcontrolfactory.cxx b/svx/source/form/formcontrolfactory.cxx
index e68d525f52..99b7dab4ce 100644
--- a/svx/source/form/formcontrolfactory.cxx
+++ b/svx/source/form/formcontrolfactory.cxx
@@ -31,7 +31,7 @@
#include "formcontrolfactory.hxx"
#include "fmcontrollayout.hxx"
#include "fmprop.hrc"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "svx/dialmgr.hxx"
#include "svx/svdouno.hxx"
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx
index 3ab380dc15..67ce99abcc 100644
--- a/svx/source/form/formcontroller.cxx
+++ b/svx/source/form/formcontroller.cxx
@@ -36,7 +36,7 @@
#include "formcontrolling.hxx"
#include "fmprop.hrc"
#include "svx/dialmgr.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmservs.hxx"
#include "svx/fmtools.hxx"
#include "fmurl.hxx"
@@ -62,6 +62,7 @@
#include <com/sun/star/sdb/RowChangeAction.hpp>
#include <com/sun/star/sdb/XInteractionSupplyParameters.hpp>
#include <com/sun/star/sdbc/ColumnValue.hpp>
+#include <com/sun/star/sdbc/DataType.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/form/runtime/FormOperations.hpp>
#include <com/sun/star/form/runtime/FormFeature.hpp>
@@ -80,6 +81,7 @@
#include <comphelper/property.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/uno3.hxx>
+#include <comphelper/scopeguard.hxx>
#include <cppuhelper/queryinterface.hxx>
#include <cppuhelper/typeprovider.hxx>
#include <toolkit/controls/unocontrol.hxx>
@@ -208,6 +210,7 @@ namespace svxform
namespace FocusChangeReason = ::com::sun::star::awt::FocusChangeReason;
namespace RowChangeAction = ::com::sun::star::sdb::RowChangeAction;
namespace FormFeature = ::com::sun::star::form::runtime::FormFeature;
+ namespace DataType = ::com::sun::star::sdbc::DataType;
//==============================================================================
// ColumnInfo
@@ -583,6 +586,7 @@ FormController::FormController(const Reference< XMultiServiceFactory > & _rxORB
,m_bAttachEvents(sal_True)
,m_bDetachEvents(sal_True)
,m_bAttemptedHandlerCreation( false )
+ ,m_bSuspendFilterTextListening( false )
{
DBG_CTOR( FormController, NULL );
@@ -782,6 +786,9 @@ namespace
// -----------------------------------------------------------------------------
void FormController::impl_setTextOnAllFilter_throw()
{
+ m_bSuspendFilterTextListening = true;
+ ::comphelper::FlagGuard aResetFlag( m_bSuspendFilterTextListening );
+
// reset the text for all controls
::std::for_each( m_aFilterComponents.begin(), m_aFilterComponents.end(), ResetComponentText() );
@@ -855,32 +862,38 @@ void FormController::getFastPropertyValue( Any& rValue, sal_Int32 nHandle ) cons
if ( rRow.empty() )
continue;
- if ( aFilter.getLength() )
- aFilter.appendAscii( " OR " );
-
- aFilter.appendAscii( "( " );
+ ::rtl::OUStringBuffer aRowFilter;
for ( FmFilterRow::const_iterator condition = rRow.begin(); condition != rRow.end(); ++condition )
{
// get the field of the controls map
Reference< XControl > xControl( condition->first, UNO_QUERY_THROW );
Reference< XPropertySet > xModelProps( xControl->getModel(), UNO_QUERY_THROW );
Reference< XPropertySet > xField( xModelProps->getPropertyValue( FM_PROP_BOUNDFIELD ), UNO_QUERY_THROW );
- if ( condition != rRow.begin() )
- aFilter.appendAscii( " AND " );
::rtl::OUString sFilterValue( condition->second );
::rtl::OUString sErrorMsg, sCriteria;
- ::rtl::Reference< ISQLParseNode > xParseNode = predicateTree( sErrorMsg, sFilterValue, xFormatter, xField );
+ const ::rtl::Reference< ISQLParseNode > xParseNode =
+ predicateTree( sErrorMsg, sFilterValue, xFormatter, xField );
OSL_ENSURE( xParseNode.is(), "FormController::getFastPropertyValue: could not parse the field value predicate!" );
if ( xParseNode.is() )
{
// don't use a parse context here, we need it unlocalized
xParseNode->parseNodeToStr( sCriteria, xConnection, NULL );
- aFilter.append( sCriteria );
+ if ( condition != rRow.begin() )
+ aRowFilter.appendAscii( " AND " );
+ aRowFilter.append( sCriteria );
}
}
- aFilter.appendAscii( " )" );
+ if ( aRowFilter.getLength() > 0 )
+ {
+ if ( aFilter.getLength() )
+ aFilter.appendAscii( " OR " );
+
+ aFilter.appendAscii( "( " );
+ aFilter.append( aRowFilter.makeStringAndClear() );
+ aFilter.appendAscii( " )" );
+ }
}
}
catch( const Exception& )
@@ -1494,50 +1507,54 @@ void SAL_CALL FormController::textChanged(const TextEvent& e) throw( RuntimeExce
// SYNCHRONIZED -->
::osl::ClearableMutexGuard aGuard( m_aMutex );
OSL_ENSURE( !impl_isDisposed_nofail(), "FormController: already disposed!" );
- if (m_bFiltering)
+ if ( !m_bFiltering )
{
- Reference< XTextComponent > xText(e.Source,UNO_QUERY);
- ::rtl::OUString aText = xText->getText();
-
- if ( m_aFilterRows.empty() )
- appendEmptyDisjunctiveTerm();
+ impl_onModify();
+ return;
+ }
- // Suchen der aktuellen Row
- if ( ( (size_t)m_nCurrentFilterPosition >= m_aFilterRows.size() ) || ( m_nCurrentFilterPosition < 0 ) )
- {
- OSL_ENSURE( false, "FormController::textChanged: m_nCurrentFilterPosition is wrong!" );
- return;
- }
+ if ( m_bSuspendFilterTextListening )
+ return;
- FmFilterRow& rRow = m_aFilterRows[ m_nCurrentFilterPosition ];
+ Reference< XTextComponent > xText(e.Source,UNO_QUERY);
+ ::rtl::OUString aText = xText->getText();
- // do we have a new filter
- if (aText.getLength())
- rRow[xText] = aText;
- else
- {
- // do we have the control in the row
- FmFilterRow::iterator iter = rRow.find(xText);
- // erase the entry out of the row
- if (iter != rRow.end())
- rRow.erase(iter);
- }
+ if ( m_aFilterRows.empty() )
+ appendEmptyDisjunctiveTerm();
- // multiplex the event to our FilterControllerListeners
- FilterEvent aEvent;
- aEvent.Source = *this;
- aEvent.FilterComponent = ::std::find( m_aFilterComponents.begin(), m_aFilterComponents.end(), xText ) - m_aFilterComponents.begin();
- aEvent.DisjunctiveTerm = getActiveTerm();
- aEvent.PredicateExpression = aText;
+ // Suchen der aktuellen Row
+ if ( ( (size_t)m_nCurrentFilterPosition >= m_aFilterRows.size() ) || ( m_nCurrentFilterPosition < 0 ) )
+ {
+ OSL_ENSURE( false, "FormController::textChanged: m_nCurrentFilterPosition is wrong!" );
+ return;
+ }
- aGuard.clear();
- // <-- SYNCHRONIZED
+ FmFilterRow& rRow = m_aFilterRows[ m_nCurrentFilterPosition ];
- // notify the changed filter expression
- m_aFilterListeners.notifyEach( &XFilterControllerListener::predicateExpressionChanged, aEvent );
- }
+ // do we have a new filter
+ if (aText.getLength())
+ rRow[xText] = aText;
else
- impl_onModify();
+ {
+ // do we have the control in the row
+ FmFilterRow::iterator iter = rRow.find(xText);
+ // erase the entry out of the row
+ if (iter != rRow.end())
+ rRow.erase(iter);
+ }
+
+ // multiplex the event to our FilterControllerListeners
+ FilterEvent aEvent;
+ aEvent.Source = *this;
+ aEvent.FilterComponent = ::std::find( m_aFilterComponents.begin(), m_aFilterComponents.end(), xText ) - m_aFilterComponents.begin();
+ aEvent.DisjunctiveTerm = getActiveTerm();
+ aEvent.PredicateExpression = aText;
+
+ aGuard.clear();
+ // <-- SYNCHRONIZED
+
+ // notify the changed filter expression
+ m_aFilterListeners.notifyEach( &XFilterControllerListener::predicateExpressionChanged, aEvent );
}
// XItemListener
diff --git a/svx/source/form/formshell.src b/svx/source/form/formshell.src
index aca0a9e13c..5b9312a674 100644
--- a/svx/source/form/formshell.src
+++ b/svx/source/form/formshell.src
@@ -25,7 +25,7 @@
*
************************************************************************/
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include <svx/svxids.hrc>
#include <svx/dialogs.hrc>
#include <sfx2/sfxsids.hrc>
diff --git a/svx/source/form/navigatortree.cxx b/svx/source/form/navigatortree.cxx
index 2adf2854ed..39a738a5bf 100644
--- a/svx/source/form/navigatortree.cxx
+++ b/svx/source/form/navigatortree.cxx
@@ -32,12 +32,12 @@
#include <svx/fmmodel.hxx>
#include <svx/fmpage.hxx>
#include <svx/svdpagv.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "fmhelp.hrc"
#include "fmexpl.hrc"
#include "fmexpl.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmshimp.hxx"
#include "fmservs.hxx"
#include "fmundo.hxx"
@@ -57,7 +57,7 @@
#include <com/sun/star/script/XEventAttacherManager.hpp>
#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
#include <com/sun/star/datatransfer/XTransferable.hpp>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/svxdlg.hxx> //CHINA001
#include <svx/dialogs.hrc> //CHINA001
diff --git a/svx/source/form/navigatortreemodel.cxx b/svx/source/form/navigatortreemodel.cxx
index d552f55803..2f4a3ddde7 100644
--- a/svx/source/form/navigatortreemodel.cxx
+++ b/svx/source/form/navigatortreemodel.cxx
@@ -32,7 +32,7 @@
#include <svx/fmmodel.hxx>
#include <svx/fmpage.hxx>
#include <svx/fmglob.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdogrp.hxx>
#include <svx/svdpagv.hxx>
@@ -42,7 +42,7 @@
#include "fmhelp.hrc"
#include "fmexpl.hrc"
#include "fmexpl.hxx"
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#include "fmshimp.hxx"
#include "fmobj.hxx"
#include <sfx2/objsh.hxx>
diff --git a/svx/source/form/sqlparserclient.cxx b/svx/source/form/sqlparserclient.cxx
index 5fd57d5abd..bd5b5b0dd7 100644
--- a/svx/source/form/sqlparserclient.cxx
+++ b/svx/source/form/sqlparserclient.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include "sqlparserclient.hxx"
-#include "ParseContext.hxx"
+#include "svx/ParseContext.hxx"
//........................................................................
namespace svxform
diff --git a/svx/source/form/tabwin.cxx b/svx/source/form/tabwin.cxx
index 8ecaa916ea..388cf761b2 100644
--- a/svx/source/form/tabwin.cxx
+++ b/svx/source/form/tabwin.cxx
@@ -61,7 +61,7 @@
#endif
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#include <svx/dialmgr.hxx>
#include <tools/shl.hxx>
diff --git a/svx/source/form/tbxform.cxx b/svx/source/form/tbxform.cxx
index 2548b7a901..65fb2bf97a 100644
--- a/svx/source/form/tbxform.cxx
+++ b/svx/source/form/tbxform.cxx
@@ -45,11 +45,11 @@
#ifndef _SVX_DIALOGS_HRC
#include <svx/dialogs.hrc>
#endif
-#include "tbxctl.hxx"
-#include "tbxdraw.hxx"
+#include "svx/tbxctl.hxx"
+#include "svx/tbxdraw.hxx"
#include "tbxform.hxx"
#ifndef _SVX_FMRESIDS_HRC
-#include "fmresids.hrc"
+#include "svx/fmresids.hrc"
#endif
#include "fmitems.hxx"
#ifndef _SVX_FMHELP_HRC
diff --git a/svx/source/form/typemap.cxx b/svx/source/form/typemap.cxx
index ae2d45ca76..c3978e4785 100644
--- a/svx/source/form/typemap.cxx
+++ b/svx/source/form/typemap.cxx
@@ -38,7 +38,7 @@
#include <editeng/shdditem.hxx>
#include <editeng/postitem.hxx>
#ifndef _SVX_CLIPBOARDCTL_HXX_
-#include "clipfmtitem.hxx"
+#include "svx/clipfmtitem.hxx"
#endif
#include <editeng/fhgtitem.hxx>
#include "editeng/fontitem.hxx"
diff --git a/svx/source/gallery2/galbrws.cxx b/svx/source/gallery2/galbrws.cxx
index 917b9d64fb..c1dd8ec4d8 100644
--- a/svx/source/gallery2/galbrws.cxx
+++ b/svx/source/gallery2/galbrws.cxx
@@ -38,7 +38,7 @@
#include "svx/gallery1.hxx"
#include "galbrws1.hxx"
#include "galbrws2.hxx"
-#include "galbrws.hxx"
+#include "svx/galbrws.hxx"
// -------------------
// - GallerySplitter -
diff --git a/svx/source/gallery2/galbrws1.cxx b/svx/source/gallery2/galbrws1.cxx
index adc66750cf..fd219c6379 100644
--- a/svx/source/gallery2/galbrws1.cxx
+++ b/svx/source/gallery2/galbrws1.cxx
@@ -35,7 +35,7 @@
#include <sfx2/app.hxx>
#include "helpid.hrc"
#include "svx/gallery1.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/galmisc.hxx"
#include "galbrws1.hxx"
#include <com/sun/star/util/DateTime.hpp>
diff --git a/svx/source/gallery2/galbrws1.hxx b/svx/source/gallery2/galbrws1.hxx
index 4755a92933..a5354d8282 100644
--- a/svx/source/gallery2/galbrws1.hxx
+++ b/svx/source/gallery2/galbrws1.hxx
@@ -30,7 +30,7 @@
#include <vcl/menu.hxx>
#include <svl/lstner.hxx>
#include <vector>
-#include "galbrws.hxx"
+#include "svx/galbrws.hxx"
// -----------------
// - GalleryButton -
diff --git a/svx/source/gallery2/galbrws2.cxx b/svx/source/gallery2/galbrws2.cxx
index 20148bcf1d..5d89ca8c34 100644
--- a/svx/source/gallery2/galbrws2.cxx
+++ b/svx/source/gallery2/galbrws2.cxx
@@ -44,11 +44,11 @@
#include "svtools/filter.hxx"
#include <editeng/brshitem.hxx>
#include "helpid.hrc"
-#include "gallery.hxx"
+#include "svx/gallery.hxx"
#include "galobj.hxx"
#include "svx/gallery1.hxx"
-#include "galtheme.hxx"
-#include "galctrl.hxx"
+#include "svx/galtheme.hxx"
+#include "svx/galctrl.hxx"
#include "svx/galmisc.hxx"
#include "galbrws2.hxx"
#include "gallery.hrc"
diff --git a/svx/source/gallery2/galctrl.cxx b/svx/source/gallery2/galctrl.cxx
index e471f54718..8ff3ab275b 100644
--- a/svx/source/gallery2/galctrl.cxx
+++ b/svx/source/gallery2/galctrl.cxx
@@ -34,9 +34,9 @@
#include <avmedia/mediaplayer.hxx>
#include "helpid.hrc"
#include "galbrws2.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/galmisc.hxx"
-#include "galctrl.hxx"
+#include "svx/galctrl.hxx"
#include "editeng/AccessibleStringWrap.hxx"
#include <editeng/svxfont.hxx>
#include "galobj.hxx"
diff --git a/svx/source/gallery2/galexpl.cxx b/svx/source/gallery2/galexpl.cxx
index 3e0ad51584..476f4d5137 100644
--- a/svx/source/gallery2/galexpl.cxx
+++ b/svx/source/gallery2/galexpl.cxx
@@ -31,9 +31,9 @@
#include <unotools/pathoptions.hxx>
#include <sfx2/viewfrm.hxx>
#include "svx/gallery1.hxx"
-#include "galtheme.hxx"
-#include "galbrws.hxx"
-#include "gallery.hxx"
+#include "svx/galtheme.hxx"
+#include "svx/galbrws.hxx"
+#include "svx/gallery.hxx"
#include "galobj.hxx"
// -----------
diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx
index 178f6d8289..dc07276167 100644
--- a/svx/source/gallery2/gallery1.cxx
+++ b/svx/source/gallery2/gallery1.cxx
@@ -35,10 +35,10 @@
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/pathoptions.hxx>
#include <sfx2/docfile.hxx>
-#include "gallery.hxx"
+#include "svx/gallery.hxx"
#include "gallery.hrc"
#include "svx/galmisc.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/gallery1.hxx"
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/ucb/XContentAccess.hpp>
diff --git a/svx/source/gallery2/galmisc.cxx b/svx/source/gallery2/galmisc.cxx
index 16efcfdb72..21609ac1e5 100644
--- a/svx/source/gallery2/galmisc.cxx
+++ b/svx/source/gallery2/galmisc.cxx
@@ -51,7 +51,7 @@
#include "codec.hxx"
#include "gallery.hrc"
#include "svx/gallery1.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/galmisc.hxx"
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/ucb/XContentAccess.hpp>
diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx
index d9d696ede1..eb3098d968 100644
--- a/svx/source/gallery2/galtheme.cxx
+++ b/svx/source/gallery2/galtheme.cxx
@@ -52,7 +52,7 @@
#include <svx/fmmodel.hxx>
#include <svx/fmview.hxx>
#include "svx/galmisc.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/ucb/XContentAccess.hpp>
#include <com/sun/star/io/XInputStream.hpp>
diff --git a/svx/source/gengal/gengal.cxx b/svx/source/gengal/gengal.cxx
index 7adf9236ae..f2a541b0f2 100644
--- a/svx/source/gengal/gengal.cxx
+++ b/svx/source/gengal/gengal.cxx
@@ -67,7 +67,7 @@
#include <osl/process.h>
#include <rtl/bootstrap.hxx>
-#include <galtheme.hxx>
+#include <svx/galtheme.hxx>
#include <svx/gallery1.hxx>
using namespace ::vos;
diff --git a/svx/source/inc/fmshimp.hxx b/svx/source/inc/fmshimp.hxx
index e90391d138..28f951512c 100644
--- a/svx/source/inc/fmshimp.hxx
+++ b/svx/source/inc/fmshimp.hxx
@@ -65,7 +65,7 @@
#include <svl/svstdarr.hxx>
#include <sfx2/mnuitem.hxx>
#include "svx/fmtools.hxx"
-#include "fmsrccfg.hxx"
+#include "svx/fmsrccfg.hxx"
#include <osl/mutex.hxx>
#include <vos/thread.hxx>
#include <tools/debug.hxx>
diff --git a/svx/source/inc/fmvwimp.hxx b/svx/source/inc/fmvwimp.hxx
index 4087d8b1f4..634cd17b05 100644
--- a/svx/source/inc/fmvwimp.hxx
+++ b/svx/source/inc/fmvwimp.hxx
@@ -51,6 +51,7 @@
#include <cppuhelper/implbase3.hxx>
#include <comphelper/uno3.hxx>
#include <comphelper/componentcontext.hxx>
+#include <rtl/ref.hxx>
//class SdrPageViewWinRec;
class SdrPageWindow;
@@ -79,13 +80,13 @@ namespace svx {
}
//==================================================================
-// FmXPageViewWinRec
+// FormViewPageWindowAdapter
//==================================================================
typedef ::cppu::WeakImplHelper2 < ::com::sun::star::container::XIndexAccess
, ::com::sun::star::form::runtime::XFormControllerContext
- > FmXPageViewWinRec_Base;
+ > FormViewPageWindowAdapter_Base;
-class FmXPageViewWinRec : public FmXPageViewWinRec_Base
+class FormViewPageWindowAdapter : public FormViewPageWindowAdapter_Base
{
friend class FmXFormView;
@@ -96,10 +97,10 @@ class FmXPageViewWinRec : public FmXPageViewWinRec_Base
Window* m_pWindow;
protected:
- ~FmXPageViewWinRec();
+ ~FormViewPageWindowAdapter();
public:
- FmXPageViewWinRec( const ::comphelper::ComponentContext& _rContext,
+ FormViewPageWindowAdapter( const ::comphelper::ComponentContext& _rContext,
const SdrPageWindow&, FmXFormView* pView);
//const SdrPageViewWinRec*, FmXFormView* pView);
@@ -130,7 +131,8 @@ protected:
Window* getWindow() const {return m_pWindow;}
};
-typedef ::std::vector<FmXPageViewWinRec*> FmWinRecList;
+typedef ::rtl::Reference< FormViewPageWindowAdapter > PFormViewPageWindowAdapter;
+typedef ::std::vector< PFormViewPageWindowAdapter > PageWindowAdapterList;
typedef ::std::set < ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >
, ::comphelper::OInterfaceCompare< ::com::sun::star::form::XForm >
> SetOfForms;
@@ -150,7 +152,7 @@ class FmXFormView : public ::cppu::WeakImplHelper3<
friend class FmFormView;
friend class FmFormShell;
friend class FmXFormShell;
- friend class FmXPageViewWinRec;
+ friend class FormViewPageWindowAdapter;
class ObjectRemoveListener;
friend class ObjectRemoveListener;
@@ -168,7 +170,8 @@ class FmXFormView : public ::cppu::WeakImplHelper3<
::com::sun::star::sdb::SQLErrorEvent
m_aAsyncError; // error event which is to be displayed asyn. See m_nErrorMessageEvent.
- FmWinRecList m_aWinList; // to be filled in alive mode only
+ PageWindowAdapterList
+ m_aPageWindowAdapters; // to be filled in alive mode only
MapControlContainerToSetOfForms
m_aNeedTabOrderUpdate;
@@ -215,8 +218,7 @@ public:
virtual void SAL_CALL focusLost( const ::com::sun::star::awt::FocusEvent& e ) throw (::com::sun::star::uno::RuntimeException);
FmFormView* getView() const {return m_pView;}
- FmWinRecList::const_iterator findWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& _rxCC ) const;
- const FmWinRecList& getWindowList() const {return m_aWinList;}
+ PFormViewPageWindowAdapter findWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& _rxCC ) const;
::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController >
getFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& _rxForm, const OutputDevice& _rDevice ) const;
@@ -246,7 +248,6 @@ public:
);
private:
- FmWinRecList::iterator findWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& _rxCC );
//void addWindow(const SdrPageViewWinRec*);
void addWindow(const SdrPageWindow&);
void removeWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& _rxCC );
diff --git a/svx/source/inc/formcontroller.hxx b/svx/source/inc/formcontroller.hxx
index 56fcf922ab..a581c048d4 100644
--- a/svx/source/inc/formcontroller.hxx
+++ b/svx/source/inc/formcontroller.hxx
@@ -214,7 +214,8 @@ namespace svxform
sal_Bool m_bFiltering : 1;
sal_Bool m_bAttachEvents : 1;
sal_Bool m_bDetachEvents : 1;
- sal_Bool m_bAttemptedHandlerCreation : 1;
+ bool m_bAttemptedHandlerCreation : 1;
+ bool m_bSuspendFilterTextListening; // no bit field, passed around as reference
// as we want to intercept dispatches of _all_ controls we're responsible for, and an object implementing
// the ::com::sun::star::frame::XDispatchProviderInterceptor interface can intercept only _one_ objects dispatches, we need a helper class
diff --git a/svx/source/inc/sqlparserclient.hxx b/svx/source/inc/sqlparserclient.hxx
index bd054e968b..1567530f90 100644
--- a/svx/source/inc/sqlparserclient.hxx
+++ b/svx/source/inc/sqlparserclient.hxx
@@ -29,7 +29,7 @@
#define SVX_SQLPARSERCLIENT_HXX
#include "svx/dbtoolsclient.hxx"
-#include "ParseContext.hxx"
+#include "svx/ParseContext.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
//........................................................................
diff --git a/svx/source/items/chrtitem.cxx b/svx/source/items/chrtitem.cxx
index 785f5f43e0..f910e6010c 100644
--- a/svx/source/items/chrtitem.cxx
+++ b/svx/source/items/chrtitem.cxx
@@ -44,7 +44,7 @@
#include <float.h>
#include <rtl/math.hxx>
-#include "chrtitem.hxx"
+#include "svx/chrtitem.hxx"
using namespace ::rtl;
using namespace ::com::sun::star;
diff --git a/svx/source/items/clipfmtitem.cxx b/svx/source/items/clipfmtitem.cxx
index 8f34ad3333..b98c9f3f0a 100644
--- a/svx/source/items/clipfmtitem.cxx
+++ b/svx/source/items/clipfmtitem.cxx
@@ -32,7 +32,7 @@
#define _SVSTDARR_STRINGSDTOR
#include <svl/svstdarr.hxx>
-#include <clipfmtitem.hxx>
+#include <svx/clipfmtitem.hxx>
#include <com/sun/star/frame/status/ClipboardFormats.hpp>
struct SvxClipboardFmtItem_Impl
diff --git a/svx/source/items/drawitem.cxx b/svx/source/items/drawitem.cxx
index bdd6c52d67..0104692ba6 100644
--- a/svx/source/items/drawitem.cxx
+++ b/svx/source/items/drawitem.cxx
@@ -33,7 +33,7 @@
#include <svx/svxids.hrc>
-#include "drawitem.hxx"
+#include "svx/drawitem.hxx"
#include <svx/xtable.hxx>
using namespace ::com::sun::star;
diff --git a/svx/source/items/hlnkitem.cxx b/svx/source/items/hlnkitem.cxx
index f955392681..8fbb46a2a0 100644
--- a/svx/source/items/hlnkitem.cxx
+++ b/svx/source/items/hlnkitem.cxx
@@ -44,7 +44,7 @@
#include <basic/sbxvar.hxx>
#endif
-#include "hlnkitem.hxx"
+#include "svx/hlnkitem.hxx"
// -----------------------------------------------------------------------
diff --git a/svx/source/items/ofaitem.cxx b/svx/source/items/ofaitem.cxx
index 13264a5bb7..2d3e7ccfb1 100644
--- a/svx/source/items/ofaitem.cxx
+++ b/svx/source/items/ofaitem.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "ofaitem.hxx"
+#include "svx/ofaitem.hxx"
OfaPtrItem::OfaPtrItem( USHORT _nWhich, void *_pPtr )
: SfxPoolItem( _nWhich ), pPtr( _pPtr )
diff --git a/svx/source/items/postattr.cxx b/svx/source/items/postattr.cxx
index a739f43600..c85e30e72c 100644
--- a/svx/source/items/postattr.cxx
+++ b/svx/source/items/postattr.cxx
@@ -31,7 +31,7 @@
// include ---------------------------------------------------------------
#define _SVX_POSTATTR_CXX
-#include "postattr.hxx"
+#include "svx/postattr.hxx"
#include <editeng/itemtype.hxx>
#include <svx/svxitems.hrc>
#include <svx/dialmgr.hxx>
diff --git a/svx/source/items/rotmodit.cxx b/svx/source/items/rotmodit.cxx
index f15f7149d3..7cde5e3f4d 100644
--- a/svx/source/items/rotmodit.cxx
+++ b/svx/source/items/rotmodit.cxx
@@ -42,7 +42,7 @@
#include <com/sun/star/table/CellOrientation.hpp>
#include <com/sun/star/table/CellAddress.hpp>
-#include "rotmodit.hxx"
+#include "svx/rotmodit.hxx"
using namespace ::rtl;
using namespace ::com::sun::star;
diff --git a/svx/source/items/svxerr.cxx b/svx/source/items/svxerr.cxx
index 09c65b6c24..c89ac12a5a 100644
--- a/svx/source/items/svxerr.cxx
+++ b/svx/source/items/svxerr.cxx
@@ -31,7 +31,7 @@
// include ---------------------------------------------------------------
#include <tools/shl.hxx>
-#include "svxerr.hxx"
+#include "svx/svxerr.hxx"
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
diff --git a/svx/source/items/svxerr.src b/svx/source/items/svxerr.src
index a55291de29..f8475ea17a 100644
--- a/svx/source/items/svxerr.src
+++ b/svx/source/items/svxerr.src
@@ -26,7 +26,7 @@
************************************************************************/
// include ---------------------------------------------------------------
#define __RSC
-#include "svxerr.hxx"
+#include "svx/svxerr.hxx"
#include <svx/dialogs.hrc>
#include <editeng/editerr.hxx>
diff --git a/svx/source/mnuctrls/clipboardctl.cxx b/svx/source/mnuctrls/clipboardctl.cxx
index a2b472fbbf..9f7ab3b62c 100644
--- a/svx/source/mnuctrls/clipboardctl.cxx
+++ b/svx/source/mnuctrls/clipboardctl.cxx
@@ -36,8 +36,8 @@
#include <sot/exchange.hxx>
#include <svl/eitem.hxx>
#include <vcl/toolbox.hxx>
-#include <clipboardctl.hxx>
-#include <clipfmtitem.hxx>
+#include <svx/clipboardctl.hxx>
+#include <svx/clipfmtitem.hxx>
#include <svtools/insdlg.hxx>
#include <svx/svxids.hrc>
diff --git a/svx/source/mnuctrls/fntszctl.cxx b/svx/source/mnuctrls/fntszctl.cxx
index 29846dc5be..cd8c8e1ef8 100644
--- a/svx/source/mnuctrls/fntszctl.cxx
+++ b/svx/source/mnuctrls/fntszctl.cxx
@@ -43,7 +43,7 @@
#include "editeng/fontitem.hxx"
#include "editeng/flstitem.hxx"
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/dialmgr.hxx>
#define LOGIC OutputDevice::LogicToLogic
diff --git a/svx/source/mnuctrls/makefile.mk b/svx/source/mnuctrls/makefile.mk
index 9c208d9a78..31c8e53214 100644
--- a/svx/source/mnuctrls/makefile.mk
+++ b/svx/source/mnuctrls/makefile.mk
@@ -56,7 +56,7 @@ HXX1TARGET=mnuctrls
HXX1EXT= hxx
HXX1EXCL= -E:*include*
HXX1DEPN=\
- $(INC)$/clipboardctl.hxx \
+ $(INC)$/svx/clipboardctl.hxx \
$(INC)$/fntctl.hxx \
$(INC)$/fntszctl.hxx \
$(INC)$/SmartTagCtl.hxx
diff --git a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
index e53d767512..55694576da 100644
--- a/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
+++ b/svx/source/sdr/contact/objectcontactofobjlistpainter.cxx
@@ -37,7 +37,7 @@
#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <svx/sdr/contact/objectcontacttools.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
@@ -151,6 +151,25 @@ namespace sdr
}
}
+ // VirtualDevice?
+ bool ObjectContactOfObjListPainter::isOutputToVirtualDevice() const
+ {
+ return (OUTDEV_VIRDEV == mrTargetOutputDevice.GetOutDevType());
+ }
+
+ // recording MetaFile?
+ bool ObjectContactOfObjListPainter::isOutputToRecordingMetaFile() const
+ {
+ GDIMetaFile* pMetaFile = mrTargetOutputDevice.GetConnectMetaFile();
+ return (pMetaFile && pMetaFile->IsRecord() && !pMetaFile->IsPause());
+ }
+
+ // pdf export?
+ bool ObjectContactOfObjListPainter::isOutputToPDFFile() const
+ {
+ return (0 != mrTargetOutputDevice.GetPDFWriter());
+ }
+
OutputDevice* ObjectContactOfObjListPainter::TryToGetOutputDevice() const
{
return &mrTargetOutputDevice;
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx
index 9ead400f33..f7c03ae246 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -38,13 +38,13 @@
#include <svx/sdr/animation/objectanimator.hxx>
#include <svx/sdr/event/eventhandler.hxx>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <drawinglayer/processor2d/vclprocessor2d.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <drawinglayer/primitive2d/transformprimitive2d.hxx>
#include <svx/sdr/contact/objectcontacttools.hxx>
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/sdr/contact/viewcontactofgraphic.cxx b/svx/source/sdr/contact/viewcontactofgraphic.cxx
index 019ec8d159..ca34f64c7a 100644
--- a/svx/source/sdr/contact/viewcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewcontactofgraphic.cxx
@@ -44,8 +44,8 @@
#include <svx/sdr/event/eventhandler.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <svx/sdr/primitive2d/sdrgrafprimitive2d.hxx>
-#include "svdstr.hrc"
-#include <svdglob.hxx>
+#include "svx/svdstr.hrc"
+#include <svx/svdglob.hxx>
#include <vcl/svapp.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
diff --git a/svx/source/sdr/contact/viewcontactofsdrobj.cxx b/svx/source/sdr/contact/viewcontactofsdrobj.cxx
index 002717b0a3..c4407a8f58 100644
--- a/svx/source/sdr/contact/viewcontactofsdrobj.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrobj.cxx
@@ -40,7 +40,7 @@
#include <drawinglayer/primitive2d/markerarrayprimitive2d.hxx>
#include <svx/sdr/contact/objectcontactofpageview.hxx>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdr/primitive2d/sdrprimitivetools.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx b/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
index c998a65591..fa09a765d8 100644
--- a/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrobjcustomshape.cxx
@@ -31,7 +31,7 @@
#include <svx/svdoashp.hxx>
#include <svx/sdr/contact/displayinfo.hxx>
#include <svx/sdr/primitive2d/sdrattributecreator.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
#include <svx/sdr/primitive2d/sdrcustomshapeprimitive2d.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
diff --git a/svx/source/sdr/contact/viewcontactofsdrpage.cxx b/svx/source/sdr/contact/viewcontactofsdrpage.cxx
index b8467266de..885bc46442 100644
--- a/svx/source/sdr/contact/viewcontactofsdrpage.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrpage.cxx
@@ -45,8 +45,8 @@
#include <svx/sdr/primitive2d/sdrattributecreator.hxx>
#include <svx/sdr/primitive2d/sdrdecompositiontools.hxx>
#include <vcl/lazydelete.hxx>
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include <svx/svdstr.hrc>
+#include <svx/svdglob.hxx>
#include <drawinglayer/primitive2d/discreteshadowprimitive2d.hxx>
#include <drawinglayer/attribute/sdrfillattribute.hxx>
diff --git a/svx/source/sdr/contact/viewcontactofunocontrol.cxx b/svx/source/sdr/contact/viewcontactofunocontrol.cxx
index 1e34db7575..7522bd73e1 100644
--- a/svx/source/sdr/contact/viewcontactofunocontrol.cxx
+++ b/svx/source/sdr/contact/viewcontactofunocontrol.cxx
@@ -41,7 +41,7 @@
#include <com/sun/star/awt/XWindow2.hpp>
/** === end UNO includes === **/
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
#include <tools/diagnose_ex.h>
#include <vcl/pdfextoutdevdata.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
diff --git a/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx b/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
index 57312df26a..6e80ea6ac5 100644
--- a/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofgraphic.cxx
@@ -177,7 +177,7 @@ namespace sdr
if(rGrafObj.IsLinkedGraphic())
{
// update graphic link
- rGrafObj.ImpUpdateGraphicLink();
+ rGrafObj.ImpUpdateGraphicLink( sal_False );
}
else
{
@@ -196,7 +196,7 @@ namespace sdr
rGrafObj.mbInsidePaint = sal_True;
rGrafObj.ForceSwapIn();
rGrafObj.mbInsidePaint = sal_False;
- }
+ }
bRetval = true;
}
@@ -252,19 +252,27 @@ namespace sdr
// prepare primitive generation with evtl. loading the graphic when it's swapped out
SdrGrafObj& rGrafObj = const_cast< ViewObjectContactOfGraphic* >(this)->getSdrGrafObj();
bool bDoAsynchronGraphicLoading(rGrafObj.GetModel() && rGrafObj.GetModel()->IsSwapGraphics());
- static bool bSuppressAsynchLoading(false);
bool bSwapInDone(false);
+ bool bSwapInExclusive(false);
- if(bDoAsynchronGraphicLoading
- && rGrafObj.IsSwappedOut()
- && rGrafObj.GetPage()
- && rGrafObj.GetPage()->IsMasterPage())
+ if( bDoAsynchronGraphicLoading && rGrafObj.IsSwappedOut() )
{
- // #i102380# force Swap-In for GraphicObjects on MasterPage to have a nicer visualisation
- bDoAsynchronGraphicLoading = false;
+ // sometimes it is needed that each graphic is completely available and swapped in
+ // for these cases a ForceSwapIn is called later at the graphic object
+ if ( rGrafObj.GetPage() && rGrafObj.GetPage()->IsMasterPage() )
+ {
+ // #i102380# force Swap-In for GraphicObjects on MasterPage to have a nicer visualisation
+ bDoAsynchronGraphicLoading = false;
+ }
+ else if ( GetObjectContact().isOutputToPrinter()
+ || GetObjectContact().isOutputToRecordingMetaFile()
+ || GetObjectContact().isOutputToPDFFile() )
+ {
+ bDoAsynchronGraphicLoading = false;
+ bSwapInExclusive = true;
+ }
}
-
- if(bDoAsynchronGraphicLoading && !bSuppressAsynchLoading)
+ if( bDoAsynchronGraphicLoading )
{
bSwapInDone = const_cast< ViewObjectContactOfGraphic* >(this)->impPrepareGraphicWithAsynchroniousLoading();
}
@@ -293,10 +301,8 @@ namespace sdr
}
}
- // if swap in was forced only for printing, swap out again
- const bool bSwapInExclusiveForPrinting(bSwapInDone && GetObjectContact().isOutputToPrinter());
-
- if(bSwapInExclusiveForPrinting)
+ // if swap in was forced only for printing metafile and pdf, swap out again
+ if( bSwapInDone && bSwapInExclusive )
{
rGrafObj.ForceSwapOut();
}
diff --git a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
index a1dcc0c2fe..4c3329cfd5 100644
--- a/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofpageobj.cxx
@@ -38,7 +38,7 @@
#include <svx/sdr/contact/objectcontactofobjlistpainter.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <svx/svdpage.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <drawinglayer/primitive2d/pagepreviewprimitive2d.hxx>
#include <drawinglayer/primitive2d/sdrdecompositiontools2d.hxx>
diff --git a/svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.cxx b/svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.cxx
index bd6205e1f9..ec92742a2b 100644
--- a/svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofsdrmediaobj.cxx
@@ -39,7 +39,7 @@
#include <avmedia/mediaitem.hxx>
#include "sdrmediawindow.hxx"
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
index 439568f213..d7457be620 100644
--- a/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
+++ b/svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx
@@ -38,7 +38,7 @@
#include <svx/svdpagv.hxx>
#include <svx/svdview.hxx>
#include <svx/sdrpagewindow.hxx>
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
diff --git a/svx/source/sdr/primitive2d/primitivefactory2d.cxx b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
index e1eeb9aac4..6b7d6de787 100644
--- a/svx/source/sdr/primitive2d/primitivefactory2d.cxx
+++ b/svx/source/sdr/primitive2d/primitivefactory2d.cxx
@@ -30,7 +30,7 @@
#include <drawinglayer/primitive2d/baseprimitive2d.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
index 2b8aa5c119..112fecf109 100644
--- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
@@ -35,7 +35,7 @@
#include <editeng/editobj.hxx>
#include <editeng/flditem.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdoutl.hxx>
diff --git a/svx/source/sdr/properties/e3dsceneproperties.cxx b/svx/source/sdr/properties/e3dsceneproperties.cxx
index 02ca9ef4be..e83f154e9b 100644
--- a/svx/source/sdr/properties/e3dsceneproperties.cxx
+++ b/svx/source/sdr/properties/e3dsceneproperties.cxx
@@ -32,7 +32,7 @@
#include <svl/whiter.hxx>
#include <svx/svddef.hxx>
#include <svx/scene3d.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/sdr/properties/itemsettools.cxx b/svx/source/sdr/properties/itemsettools.cxx
index 99a41164e2..5da126f436 100644
--- a/svx/source/sdr/properties/itemsettools.cxx
+++ b/svx/source/sdr/properties/itemsettools.cxx
@@ -34,7 +34,7 @@
#include <vector>
#include <svx/svdogrp.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
//////////////////////////////////////////////////////////////////////////////
// class to remember broadcast start positions
diff --git a/svx/source/sdr/properties/properties.cxx b/svx/source/sdr/properties/properties.cxx
index 496978904b..8b53fef186 100644
--- a/svx/source/sdr/properties/properties.cxx
+++ b/svx/source/sdr/properties/properties.cxx
@@ -31,7 +31,7 @@
#include <svx/sdr/properties/itemsettools.hxx>
#include <svl/itemset.hxx>
#include <svx/svdogrp.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/src/errtxt.src b/svx/source/src/errtxt.src
new file mode 100644
index 0000000000..a8089830df
--- /dev/null
+++ b/svx/source/src/errtxt.src
@@ -0,0 +1,515 @@
+/*************************************************************************
+ *
+ * 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 <svtools/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 Internet connection to $(ARG1)." ;
+ };
+ String ERRCODE_INET_READ
+ {
+ Text [ en-US ] = "Error reading data from the Internet.\nServer error message: $(ARG1)." ;
+ };
+ String ERRCODE_INET_WRITE
+ {
+ Text [ en-US ] = "Error transferring data to the Internet.\nServer error message: $(ARG1)." ;
+ };
+ String ERRCODE_INET_GENERAL
+ {
+ Text [ en-US ] = "General Internet error has occurred." ;
+ };
+ String ERRCODE_INET_OFFLINE
+ {
+ Text [ en-US ] = "The requested Internet 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/svx/source/src/makefile.mk b/svx/source/src/makefile.mk
index fb96866ca0..c41b3e492e 100644
--- a/svx/source/src/makefile.mk
+++ b/svx/source/src/makefile.mk
@@ -39,8 +39,6 @@ TARGET=ofa
RES1FILELIST=\
$(SRS)$/app.srs \
- $(SOLARCOMMONRESDIR)$/svtools.srs \
- $(SOLARCOMMONRESDIR)$/sfx.srs \
$(SOLARCOMMONRESDIR)$/basic.srs
RESLIB1NAME=$(TARGET)
@@ -51,7 +49,8 @@ RESLIB1SRSFILES=$(RES1FILELIST)
SRS1NAME= app
SRC1FILES= \
- app.src
+ app.src \
+ errtxt.src
.INCLUDE : target.mk
diff --git a/svx/source/stbctrls/insctrl.cxx b/svx/source/stbctrls/insctrl.cxx
index 785298fee9..324c54517f 100644
--- a/svx/source/stbctrls/insctrl.cxx
+++ b/svx/source/stbctrls/insctrl.cxx
@@ -41,7 +41,7 @@
#include <svx/dialogs.hrc>
-#include "insctrl.hxx"
+#include "svx/insctrl.hxx"
#include <svx/dialmgr.hxx>
#define PAINT_OFFSET 5
diff --git a/svx/source/stbctrls/makefile.mk b/svx/source/stbctrls/makefile.mk
index 4e125adcd9..71c639cecd 100644
--- a/svx/source/stbctrls/makefile.mk
+++ b/svx/source/stbctrls/makefile.mk
@@ -61,12 +61,12 @@ HXX1TARGET=stbctrls
HXX1EXT= hxx
HXX1EXCL= -E:*include*
HXX1DEPN=\
- $(INC)$/insctrl.hxx \
- $(INC)$/zoomctrl.hxx \
- $(INC)$/pszctrl.hxx \
- $(INC)$/selctrl.hxx \
- $(INC)$/modctrl.hxx \
- $(INC)$/xmlsecctrl.hxx \
+ $(INC)$/svx/insctrl.hxx \
+ $(INC)$/svx/zoomctrl.hxx \
+ $(INC)$/svx/pszctrl.hxx \
+ $(INC)$/svx/selctrl.hxx \
+ $(INC)$/svx/modctrl.hxx \
+ $(INC)$/svx/xmlsecctrl.hxx \
$(INC)$/zoomsliderctrl.hxx \
# --- Targets -------------------------------------------------------
diff --git a/svx/source/stbctrls/modctrl.cxx b/svx/source/stbctrls/modctrl.cxx
index 9b4fbd3640..3453ac92ab 100644
--- a/svx/source/stbctrls/modctrl.cxx
+++ b/svx/source/stbctrls/modctrl.cxx
@@ -40,7 +40,7 @@
#include <svx/dialogs.hrc>
-#include "modctrl.hxx"
+#include "svx/modctrl.hxx"
#include <svx/dialmgr.hxx>
SFX_IMPL_STATUSBAR_CONTROL(SvxModifyControl, SfxBoolItem);
diff --git a/svx/source/stbctrls/pszctrl.cxx b/svx/source/stbctrls/pszctrl.cxx
index 338cab3001..ee85387298 100644
--- a/svx/source/stbctrls/pszctrl.cxx
+++ b/svx/source/stbctrls/pszctrl.cxx
@@ -45,13 +45,13 @@
#include <svl/intitem.hxx>
#define _SVX_PSZCTRL_CXX
-#include "pszctrl.hxx"
+#include "svx/pszctrl.hxx"
#define PAINT_OFFSET 5
#include <editeng/sizeitem.hxx>
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include "stbctrls.h"
#include "sfx2/module.hxx"
diff --git a/svx/source/stbctrls/selctrl.cxx b/svx/source/stbctrls/selctrl.cxx
index f210948406..3def82ce1e 100644
--- a/svx/source/stbctrls/selctrl.cxx
+++ b/svx/source/stbctrls/selctrl.cxx
@@ -39,7 +39,7 @@
#define _SVX_SELCTRL_CXX
-#include "selctrl.hxx"
+#include "svx/selctrl.hxx"
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
diff --git a/svx/source/stbctrls/xmlsecctrl.cxx b/svx/source/stbctrls/xmlsecctrl.cxx
index b268ba8ea1..1e3bfa8eef 100644
--- a/svx/source/stbctrls/xmlsecctrl.cxx
+++ b/svx/source/stbctrls/xmlsecctrl.cxx
@@ -53,14 +53,14 @@
#include <svx/dialogs.hrc>
#include <svx/dialmgr.hxx>
-#include "xmlsecctrl.hxx"
+#include "svx/xmlsecctrl.hxx"
#include <tools/urlobj.hxx>
#define PAINT_OFFSET 5
//#include <editeng/sizeitem.hxx>
//#include <svx/dialmgr.hxx>
-//#include "dlgutil.hxx"
+//#include "svx/dlgutil.hxx"
//#include "stbctrls.h"
//#include <svx/dialogs.hrc>
diff --git a/svx/source/stbctrls/zoomctrl.cxx b/svx/source/stbctrls/zoomctrl.cxx
index af990f68fe..59db093eaf 100644
--- a/svx/source/stbctrls/zoomctrl.cxx
+++ b/svx/source/stbctrls/zoomctrl.cxx
@@ -39,7 +39,7 @@
#include <svx/dialogs.hrc>
-#include "zoomctrl.hxx"
+#include "svx/zoomctrl.hxx"
//CHINA001 #include "zoom.hxx"
#include <svx/zoomitem.hxx>
#include "stbctrls.h"
diff --git a/svx/source/svdraw/ActionDescriptionProvider.cxx b/svx/source/svdraw/ActionDescriptionProvider.cxx
index d5c1745de7..fa3e5a22d5 100644
--- a/svx/source/svdraw/ActionDescriptionProvider.cxx
+++ b/svx/source/svdraw/ActionDescriptionProvider.cxx
@@ -28,9 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "ActionDescriptionProvider.hxx"
-#include "svdglob.hxx"
-#include "svdstr.hrc"
+#include "svx/ActionDescriptionProvider.hxx"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
::rtl::OUString ActionDescriptionProvider::createDescription( ActionType eActionType
, const ::rtl::OUString& rObjectName )
diff --git a/svx/source/svdraw/sdrpagewindow.cxx b/svx/source/svdraw/sdrpagewindow.cxx
index 1be2bb61e3..d11a77187c 100644
--- a/svx/source/svdraw/sdrpagewindow.cxx
+++ b/svx/source/svdraw/sdrpagewindow.cxx
@@ -39,7 +39,7 @@
#include <svx/svdpage.hxx>
#include <svx/svdview.hxx>
#include <svx/svdpagv.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdr/contact/objectcontactofpageview.hxx>
#include <svx/sdr/contact/displayinfo.hxx>
#include <vos/mutex.hxx>
@@ -192,6 +192,10 @@ void SdrPageWindow::PrePaint()
}
}
+void SdrPageWindow::PostPaint()
+{
+}
+
void SdrPageWindow::PrepareRedraw(const Region& rReg)
{
// evtl. give OC the chance to do ProcessDisplay preparations
diff --git a/svx/source/svdraw/sdrpaintwindow.cxx b/svx/source/svdraw/sdrpaintwindow.cxx
index 1b83413c7c..9bffe5c49a 100644
--- a/svx/source/svdraw/sdrpaintwindow.cxx
+++ b/svx/source/svdraw/sdrpaintwindow.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdr/overlay/overlaymanagerbuffered.hxx>
#include <svx/svdpntv.hxx>
#include <vcl/gdimtf.hxx>
diff --git a/svx/source/svdraw/svdattr.cxx b/svx/source/svdraw/svdattr.cxx
index 20af90e3ae..3071a70c80 100644
--- a/svx/source/svdraw/svdattr.cxx
+++ b/svx/source/svdraw/svdattr.cxx
@@ -54,11 +54,11 @@
#include <svx/svxids.hrc>
#include <svx/xtable.hxx> // fuer RGB_Color()
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx> // fuer DEGREE_CHAR
#include <svx/svdtrans.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc"
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc"
#include <svx/sdgcpitm.hxx>
#include <editeng/adjitem.hxx>
#include <svx/sdtfchim.hxx>
diff --git a/svx/source/svdraw/svdcrtv.cxx b/svx/source/svdraw/svdcrtv.cxx
index 2ef55c7046..e68d699027 100644
--- a/svx/source/svdraw/svdcrtv.cxx
+++ b/svx/source/svdraw/svdcrtv.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/svdcrtv.hxx>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/svdundo.hxx>
#include <svx/svdocapt.hxx> // Spezialbehandlung: Nach dem Create transparente Fuellung
#include <svx/svdoedge.hxx>
@@ -45,7 +45,7 @@
#include <svx/svdopath.hxx>
#include <svx/sdr/overlay/overlaypolypolygon.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include "fmobj.hxx"
#include <svx/svdocirc.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
diff --git a/svx/source/svdraw/svddrgmt.cxx b/svx/source/svdraw/svddrgmt.cxx
index 0710279c0f..be58efde7d 100644
--- a/svx/source/svdraw/svddrgmt.cxx
+++ b/svx/source/svdraw/svddrgmt.cxx
@@ -37,7 +37,7 @@
#include <tools/bigint.hxx>
#include <vcl/svapp.hxx>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xpoly.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdtrans.hxx>
@@ -45,8 +45,8 @@
#include <svx/svdmark.hxx>
#include <svx/svdocapt.hxx>
#include <svx/svdpagv.hxx>
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/svddrgv.hxx>
#include <svx/svdundo.hxx>
#include <svx/svdograf.hxx>
@@ -59,7 +59,7 @@
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <svx/sdr/overlay/overlayrollingrectangle.hxx>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <svx/sdr/contact/viewobjectcontact.hxx>
@@ -68,7 +68,7 @@
#include <svx/sdr/overlay/overlayprimitive2dsequenceobject.hxx>
#include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
#include <svx/sdr/contact/objectcontact.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdopath.hxx>
#include <svx/polypolygoneditor.hxx>
#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index 91c2da7dd8..03d49bb97c 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/svddrgv.hxx>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xpoly.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdtrans.hxx>
@@ -38,12 +38,12 @@
#include <svx/svdpagv.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdoedge.hxx>
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include "svddrgm1.hxx"
#include <svx/obj3d.hxx>
#include <svx/svdoashp.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
#include <svx/polypolygoneditor.hxx>
diff --git a/svx/source/svdraw/svdedtv.cxx b/svx/source/svdraw/svdedtv.cxx
index 08cf1ada74..39454e1487 100644
--- a/svx/source/svdraw/svdedtv.cxx
+++ b/svx/source/svdraw/svdedtv.cxx
@@ -40,8 +40,8 @@
#include <svx/svdpagv.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdpoev.hxx> // fuer die PolyPossiblities
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/e3dsceneupdater.hxx>
// #i13033#
diff --git a/svx/source/svdraw/svdedtv1.cxx b/svx/source/svdraw/svdedtv1.cxx
index bd0f0473d3..fe00380253 100644
--- a/svx/source/svdraw/svdedtv1.cxx
+++ b/svx/source/svdraw/svdedtv1.cxx
@@ -40,8 +40,8 @@
#include <svx/rectenum.hxx>
#include <svx/svxids.hrc> // fuer SID_ATTR_TRANSFORM_...
#include <svx/svdattr.hxx> // fuer Get/SetGeoAttr
-#include "svditext.hxx"
-#include "svditer.hxx"
+#include "svx/svditext.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdtrans.hxx>
#include <svx/svdundo.hxx>
#include <svx/svdpage.hxx>
@@ -50,8 +50,8 @@
#include <svx/svdattrx.hxx> // fuer MergeNotPersistAttr
#include <svx/svdetc.hxx> // fuer SearchOutlinerItems
#include <svx/svdopath.hxx> // fuer Crook
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <editeng/eeitem.hxx>
#include <svl/aeitem.hxx>
#include <svl/whiter.hxx>
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
index 5b49ae936f..2a370c60d6 100644
--- a/svx/source/svdraw/svdedtv2.cxx
+++ b/svx/source/svdraw/svdedtv2.cxx
@@ -36,11 +36,11 @@
#include <svx/svdopath.hxx> // fuer CombineObjects
#include <svx/svdpage.hxx>
#include <svx/svdpagv.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdograf.hxx> // fuer Possibilities
#include <svx/svdoole2.hxx> // und Mtf-Import
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include "svdfmtf.hxx"
#include <svx/svdetc.hxx>
#include <sfx2/basedlgs.hxx>
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 880c48ecfb..cbd24082d4 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -50,12 +50,12 @@
#include <editeng/editobj.hxx>
#include <editeng/outlobj.hxx>
#include <editeng/scripttypeitem.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdoutl.hxx>
#include <svx/sdtfchim.hxx>
#include <svx/svdotext.hxx>
#include <svx/svdundo.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include "svx/svdpagv.hxx"
#include "svx/svdpage.hxx"
#include "svx/svdetc.hxx" // fuer GetDraftFillColor
@@ -67,16 +67,16 @@
#include <svx/svdoutl.hxx>
#include <svx/svddrgv.hxx> // fuer SetSolidDragging()
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
-#include "globl3d.hxx"
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/globl3d.hxx"
#include <editeng/outliner.hxx>
#include <editeng/adjitem.hxx>
// #98988#
#include <svtools/colorcfg.hxx>
#include <vcl/svapp.hxx> //add CHINA001
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/svdraw/svdetc.cxx b/svx/source/svdraw/svdetc.cxx
index 921880dfe4..d0eeccf43c 100644
--- a/svx/source/svdraw/svdetc.cxx
+++ b/svx/source/svdraw/svdetc.cxx
@@ -31,12 +31,12 @@
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <com/sun/star/embed/EmbedStates.hpp>
#include <svx/svdetc.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx>
#include <svx/svdtrans.hxx>
-#include "svdglob.hxx"
-#include "svdstr.hrc"
-#include "svdviter.hxx"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdviter.hxx"
#include <svx/svdview.hxx>
#include <svx/svdoutl.hxx>
#include <vcl/bmpacc.hxx>
diff --git a/svx/source/svdraw/svdfmtf.cxx b/svx/source/svdraw/svdfmtf.cxx
index d55e21e745..e174ee0d3d 100644
--- a/svx/source/svdraw/svdfmtf.cxx
+++ b/svx/source/svdraw/svdfmtf.cxx
@@ -57,7 +57,7 @@
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdobj.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdotext.hxx>
#include <svx/svdorect.hxx>
#include <svx/svdocirc.hxx>
diff --git a/svx/source/svdraw/svdglev.cxx b/svx/source/svdraw/svdglev.cxx
index 546bb10620..4024739119 100644
--- a/svx/source/svdraw/svdglev.cxx
+++ b/svx/source/svdraw/svdglev.cxx
@@ -32,8 +32,8 @@
#include <math.h>
#include <svx/svdundo.hxx>
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/svdpagv.hxx>
#include <svx/svdglue.hxx>
#include <svx/svdtrans.hxx>
diff --git a/svx/source/svdraw/svdhdl.cxx b/svx/source/svdraw/svdhdl.cxx
index 36eba23915..e77ccbef03 100644
--- a/svx/source/svdraw/svdhdl.cxx
+++ b/svx/source/svdraw/svdhdl.cxx
@@ -41,8 +41,8 @@
#include <vcl/bmpacc.hxx>
#include <svx/sxekitm.hxx>
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include <svx/svdmodel.hxx>
#include "gradtrns.hxx"
@@ -62,7 +62,7 @@
#include <svx/sdr/overlay/overlaytriangle.hxx>
#include <svx/sdr/overlay/overlayhatchrect.hxx>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <vcl/svapp.hxx>
#include <svx/sdr/overlay/overlaypolypolygon.hxx>
#include <vcl/lazydelete.hxx>
diff --git a/svx/source/svdraw/svdibrow.cxx b/svx/source/svdraw/svdibrow.cxx
index d9fd1a9a39..5d2f5937de 100644
--- a/svx/source/svdraw/svdibrow.cxx
+++ b/svx/source/svdraw/svdibrow.cxx
@@ -36,7 +36,7 @@
#define _STDLIB_H
#endif
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <editeng/flditem.hxx>
#include <editeng/editdata.hxx>
#include <svx/svdpool.hxx>
@@ -66,7 +66,7 @@
#include <svl/rectitem.hxx>
#include <svl/rngitem.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/svdraw/svditer.cxx b/svx/source/svdraw/svditer.cxx
index c1bcc090ed..f5c87aec44 100644
--- a/svx/source/svdraw/svditer.cxx
+++ b/svx/source/svdraw/svditer.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdpage.hxx>
#include <svx/svdogrp.hxx>
#include <svx/svdobj.hxx>
diff --git a/svx/source/svdraw/svdlayer.cxx b/svx/source/svdraw/svdlayer.cxx
index b9b874f728..9ffaa9f2f1 100644
--- a/svx/source/svdraw/svdlayer.cxx
+++ b/svx/source/svdraw/svdlayer.cxx
@@ -31,8 +31,8 @@
#include <svx/svdlayer.hxx>
#include <svx/svdmodel.hxx> // fuer Broadcasting
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
////////////////////////////////////////////////////////////////////////////////////////////////////
// SetOfByte
diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx
index 89ef4c46de..c98ebaceca 100644
--- a/svx/source/svdraw/svdmark.cxx
+++ b/svx/source/svdraw/svdmark.cxx
@@ -34,13 +34,13 @@
#include <svx/svdetc.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdpagv.hxx>
#include <svx/svdopath.hxx> // zur Abschaltung
#include <svx/svdogrp.hxx> // des Cache bei
#include <svx/svdorect.hxx> // GetMarkDescription
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
////////////////////////////////////////////////////////////////////////////////////////////////////
#include <svx/obj3d.hxx>
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 1699622f6b..8cf363bff2 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -49,12 +49,12 @@
#include <svx/xflhtit.hxx>
#include <svx/xlnstit.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <editeng/editeng.hxx> // Fuer EditEngine::CreatePool()
#include <svx/xtable.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdtrans.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdlayer.hxx>
@@ -65,8 +65,8 @@
#include <svx/svdetc.hxx>
#include <svx/svdoutl.hxx>
#include <svx/svdoole2.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include "svdoutlinercache.hxx"
@@ -207,6 +207,8 @@ void SdrModel::ImpCtor(SfxItemPool* pPool, ::comphelper::IEmbeddedHelper* _pEmbe
else
nDefTextHgt = SdrEngineDefaults::GetFontHeight();
+ pItemPool->SetPoolDefaultItem( SdrTextWordWrapItem( sal_False ) );
+
SetTextDefaults();
pLayerAdmin=new SdrLayerAdmin;
pLayerAdmin->SetModel(this);
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 418a54925a..4c80ee2ba0 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -31,8 +31,8 @@
#include <svx/svdmrkv.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdoedge.hxx>
-#include "svdglob.hxx"
-#include "svditext.hxx"
+#include "svx/svdglob.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdview.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdpage.hxx>
@@ -48,14 +48,14 @@
#include "gradtrns.hxx"
#include <svx/xflftrit.hxx>
#include <svx/dialmgr.hxx>
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
#include <svx/svdundo.hxx>
#include <svx/svdopath.hxx>
#include <svx/scene3d.hxx>
#include <svx/svdovirt.hxx>
#include <svx/sdr/overlay/overlayrollingrectangle.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/sdrhittesthelper.hxx>
diff --git a/svx/source/svdraw/svdmrkv1.cxx b/svx/source/svdraw/svdmrkv1.cxx
index 382493e4eb..92b181b36e 100644
--- a/svx/source/svdraw/svdmrkv1.cxx
+++ b/svx/source/svdraw/svdmrkv1.cxx
@@ -31,7 +31,7 @@
#include <svx/svdmrkv.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdoedge.hxx>
-#include "svdglob.hxx"
+#include "svx/svdglob.hxx"
#include <svx/svdpagv.hxx>
#include <svx/svdpage.hxx>
#include "svddrgm1.hxx"
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index 6beb3dba74..bc7e2bc399 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
#include <svx/svdoashp.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/unoshape.hxx>
#include <ucbhelper/content.hxx>
#include <ucbhelper/contentbroker.hxx>
@@ -52,22 +52,22 @@
#include <svx/xpoly.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdobj.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdattrx.hxx> // NotPersistItems
#include <svx/svdoedge.hxx> // #32383# Die Verbinder nach Move nochmal anbroadcasten
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <editeng/eeitem.hxx>
#include "editeng/editstat.hxx"
#include <svx/svdoutl.hxx>
#include <editeng/outlobj.hxx>
#include <svx/sdtfchim.hxx>
-#include "../customshapes/EnhancedCustomShapeGeometry.hxx"
-#include "../customshapes/EnhancedCustomShapeTypeNames.hxx"
-#include "../customshapes/EnhancedCustomShape2d.hxx"
+#include "../svx/EnhancedCustomShapeGeometry.hxx"
+#include "../svx/EnhancedCustomShapeTypeNames.hxx"
+#include "../svx/EnhancedCustomShape2d.hxx"
#include <com/sun/star/beans/PropertyValues.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
diff --git a/svx/source/svdraw/svdoattr.cxx b/svx/source/svdraw/svdoattr.cxx
index 79148e549c..fbb0e12473 100644
--- a/svx/source/svdraw/svdoattr.cxx
+++ b/svx/source/svdraw/svdoattr.cxx
@@ -30,7 +30,7 @@
#include <svx/svdoattr.hxx>
#include <svx/xpool.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdattr.hxx>
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index ea643fe643..cf676f563e 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -47,8 +47,8 @@
#include <svx/svdpage.hxx>
#include <svx/svdovirt.hxx> // Fuer Add/Del Ref
#include <svx/svdview.hxx> // fuer Dragging (Ortho abfragen)
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include <svx/svdstr.hrc> // Objektname
#include <svx/svdogrp.hxx> // Factory
#include <svx/svdopath.hxx> // Factory
#include <svx/svdoedge.hxx> // Factory
@@ -74,7 +74,7 @@
#include <svx/xlndsit.hxx>
#include <svx/xlnclit.hxx>
#include <svx/xflclit.hxx>
-#include "svditer.hxx"
+#include <svx/svditer.hxx>
#include <svx/xlntrit.hxx>
#include <svx/xfltrit.hxx>
#include <svx/xfltrit.hxx>
diff --git a/svx/source/svdraw/svdocapt.cxx b/svx/source/svdraw/svdocapt.cxx
index 7e88f485d0..132d35ef8e 100644
--- a/svx/source/svdraw/svdocapt.cxx
+++ b/svx/source/svdraw/svdocapt.cxx
@@ -41,8 +41,8 @@
#include <svx/svddrag.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdview.hxx> // fuer RectSnap
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svdogrp.hxx>
#include <svx/svdpage.hxx>
#include <svx/xflhtit.hxx>
diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx
index 58f4c6950d..df6beaba51 100644
--- a/svx/source/svdraw/svdocirc.cxx
+++ b/svx/source/svdraw/svdocirc.cxx
@@ -47,8 +47,8 @@
#include <svx/svdpage.hxx>
#include <svx/svdopath.hxx> // fuer die Objektkonvertierung
#include <svx/svdview.hxx> // Zum Draggen (Ortho)
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <editeng/eeitem.hxx>
#include "svdoimp.hxx"
#include <svx/sdr/properties/circleproperties.hxx>
diff --git a/svx/source/svdraw/svdoedge.cxx b/svx/source/svdraw/svdoedge.cxx
index 6abb9b200b..3ee7083729 100644
--- a/svx/source/svdraw/svdoedge.cxx
+++ b/svx/source/svdraw/svdoedge.cxx
@@ -43,8 +43,8 @@
#include <svx/svdhdl.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdetc.hxx>
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <svl/style.hxx>
#include <svl/smplhint.hxx>
#include <editeng/eeitem.hxx>
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 4225d599ff..cf99dd2fdf 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -45,15 +45,16 @@
#include <vcl/svapp.hxx>
#include <sfx2/linkmgr.hxx>
+#include <sfx2/docfile.hxx>
#include <svx/svdetc.hxx>
-#include "svdglob.hxx"
-#include "svdstr.hrc"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
#include <svx/svdpool.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmrkv.hxx>
#include <svx/svdpagv.hxx>
-#include "svdviter.hxx"
+#include "svx/svdviter.hxx"
#include <svx/svdview.hxx>
#include "svtools/filter.hxx"
#include <svx/svdograf.hxx>
@@ -69,6 +70,8 @@
#include <svx/sdr/contact/viewcontactofgraphic.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
+#include <osl/thread.hxx>
+#include <vos/mutex.hxx>
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::io;
@@ -80,13 +83,48 @@ using namespace ::com::sun::star::io;
#define GRAFSTREAMPOS_INVALID 0xffffffff
#define SWAPGRAPHIC_TIMEOUT 5000
+
// ------------------
// - SdrGraphicLink -
// ------------------
+
+const Graphic ImpLoadLinkedGraphic( const String& rFileName, const String& rFilterName )
+{
+ Graphic aGraphic;
+
+ SfxMedium xMed( rFileName, STREAM_STD_READ, TRUE );
+ xMed.DownLoad();
+
+ SvStream* pInStrm = xMed.GetInStream();
+ if ( pInStrm )
+ {
+ pInStrm->Seek( STREAM_SEEK_TO_BEGIN );
+ GraphicFilter* pGF = GraphicFilter::GetGraphicFilter();
+
+ const USHORT nFilter = rFilterName.Len() && pGF->GetImportFormatCount()
+ ? pGF->GetImportFormatNumber( rFilterName )
+ : GRFILTER_FORMAT_DONTKNOW;
+
+ String aEmptyStr;
+ com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aFilterData( 1 );
+
+ // Room for improvment:
+ // As this is a linked graphic the GfxLink is not needed if saving/loading our own format.
+ // But this link is required by some filters to access the native graphic (pdf export/ms export),
+ // there we should create a new service to provide this data if needed
+ aFilterData[ 0 ].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "CreateNativeLink" ) );
+ aFilterData[ 0 ].Value = Any( sal_True );
+ pGF->ImportGraphic( aGraphic, aEmptyStr, *pInStrm, nFilter, NULL, 0, &aFilterData );
+ }
+ return aGraphic;
+}
+
+class SdrGraphicUpdater;
class SdrGraphicLink : public sfx2::SvBaseLink
{
SdrGrafObj* pGrafObj;
+ SdrGraphicUpdater* pGraphicUpdater;
public:
SdrGraphicLink(SdrGrafObj* pObj);
@@ -95,16 +133,87 @@ public:
virtual void Closed();
virtual void DataChanged( const String& rMimeType,
const ::com::sun::star::uno::Any & rValue );
+ void DataChanged( const Graphic& rGraphic );
BOOL Connect() { return 0 != GetRealObject(); }
- void UpdateSynchron();
+ void UpdateAsynchron();
+ void RemoveGraphicUpdater();
};
+class SdrGraphicUpdater : public ::osl::Thread
+{
+public:
+ SdrGraphicUpdater( const String& rFileName, const String& rFilterName, SdrGraphicLink& );
+ virtual ~SdrGraphicUpdater( void );
+
+ void SAL_CALL Terminate( void );
+
+ sal_Bool GraphicLinkChanged( const String& rFileName ){ return mrFileName != rFileName; };
+
+protected:
+
+ /** is called from the inherited create method and acts as the
+ main function of this thread.
+ */
+ virtual void SAL_CALL run(void);
+
+ /** Called after the thread is terminated via the terminate
+ method. Used to kill the thread by calling delete on this.
+ */
+ virtual void SAL_CALL onTerminated(void);
+
+private:
+
+ ::osl::Mutex maMutex;
+ const String& mrFileName;
+ const String& mrFilterName;
+ SdrGraphicLink& mrGraphicLink;
+
+ volatile bool mbIsTerminated;
+};
+
+SdrGraphicUpdater::SdrGraphicUpdater( const String& rFileName, const String& rFilterName, SdrGraphicLink& rGraphicLink )
+: mrFileName( rFileName )
+, mrFilterName( rFilterName )
+, mrGraphicLink( rGraphicLink )
+, mbIsTerminated( sal_False )
+{
+ create();
+}
+
+SdrGraphicUpdater::~SdrGraphicUpdater( void )
+{
+}
+
+void SdrGraphicUpdater::Terminate()
+{
+ ::osl::MutexGuard aGuard( maMutex );
+ mbIsTerminated = sal_True;
+}
+
+void SAL_CALL SdrGraphicUpdater::onTerminated(void)
+{
+ delete this;
+}
+
+void SAL_CALL SdrGraphicUpdater::run(void)
+{
+ Graphic aGraphic( ImpLoadLinkedGraphic( mrFileName, mrFilterName ) );
+ ::osl::MutexGuard aGuard(maMutex);
+ vos::OGuard aSolarGuard( Application::GetSolarMutex() );
+ if ( !mbIsTerminated )
+ {
+ mrGraphicLink.DataChanged( aGraphic );
+ mrGraphicLink.RemoveGraphicUpdater();
+ }
+}
+
// -----------------------------------------------------------------------------
-SdrGraphicLink::SdrGraphicLink(SdrGrafObj* pObj):
- ::sfx2::SvBaseLink( ::sfx2::LINKUPDATE_ONCALL, SOT_FORMATSTR_ID_SVXB ),
- pGrafObj(pObj)
+SdrGraphicLink::SdrGraphicLink(SdrGrafObj* pObj)
+: ::sfx2::SvBaseLink( ::sfx2::LINKUPDATE_ONCALL, SOT_FORMATSTR_ID_SVXB )
+, pGrafObj( pObj )
+, pGraphicUpdater( NULL )
{
SetSynchron( FALSE );
}
@@ -113,6 +222,22 @@ SdrGraphicLink::SdrGraphicLink(SdrGrafObj* pObj):
SdrGraphicLink::~SdrGraphicLink()
{
+ if ( pGraphicUpdater )
+ pGraphicUpdater->Terminate();
+}
+
+// -----------------------------------------------------------------------------
+
+void SdrGraphicLink::DataChanged( const Graphic& rGraphic )
+{
+ pGrafObj->ImpSetLinkedGraphic( rGraphic );
+}
+
+// -----------------------------------------------------------------------------
+
+void SdrGraphicLink::RemoveGraphicUpdater()
+{
+ pGraphicUpdater = NULL;
}
// -----------------------------------------------------------------------------
@@ -135,9 +260,8 @@ void SdrGraphicLink::DataChanged( const String& rMimeType,
}
else if( SotExchange::GetFormatIdFromMimeType( rMimeType ) != sfx2::LinkManager::RegisterStatusInfoId() )
{
- // only repaint, no objectchange
- pGrafObj->ActionChanged();
- // pGrafObj->BroadcastObjectChange();
+ // broadcasting, to update slidesorter
+ pGrafObj->BroadcastObjectChange();
}
}
}
@@ -155,14 +279,20 @@ void SdrGraphicLink::Closed()
// -----------------------------------------------------------------------------
-void SdrGraphicLink::UpdateSynchron()
+void SdrGraphicLink::UpdateAsynchron()
{
if( GetObj() )
{
- String aMimeType( SotExchange::GetFormatMimeType( GetContentType() ));
- ::com::sun::star::uno::Any aValue;
- GetObj()->GetData( aValue, aMimeType, TRUE );
- DataChanged( aMimeType, aValue );
+ if ( pGraphicUpdater )
+ {
+ if ( pGraphicUpdater->GraphicLinkChanged( pGrafObj->GetFileName() ) )
+ {
+ pGraphicUpdater->Terminate();
+ pGraphicUpdater = new SdrGraphicUpdater( pGrafObj->GetFileName(), pGrafObj->GetFilterName(), *this );
+ }
+ }
+ else
+ pGraphicUpdater = new SdrGraphicUpdater( pGrafObj->GetFileName(), pGrafObj->GetFilterName(), *this );
}
}
@@ -447,8 +577,10 @@ void SdrGrafObj::ForceSwapIn() const
const_cast< SdrGrafObj* >( this )->mbIsPreview = sal_False;
}
-
- pGraphic->FireSwapInRequest();
+ if ( pGraphicLink && pGraphic->IsSwappedOut() )
+ ImpUpdateGraphicLink( sal_False );
+ else
+ pGraphic->FireSwapInRequest();
if( pGraphic->IsSwappedOut() ||
( pGraphic->GetType() == GRAPHIC_NONE ) ||
@@ -558,24 +690,36 @@ UINT16 SdrGrafObj::GetObjIdentifier() const
// -----------------------------------------------------------------------------
-sal_Bool SdrGrafObj::ImpUpdateGraphicLink() const
+/* The graphic of the GraphicLink will be loaded. If it is called with
+ bAsynchron = true then the graphic will be set later via DataChanged
+*/
+sal_Bool SdrGrafObj::ImpUpdateGraphicLink( sal_Bool bAsynchron ) const
{
- sal_Bool bRet = sal_False;
-
+ sal_Bool bRet = sal_False;
if( pGraphicLink )
{
- const sal_Bool bIsChanged = pModel->IsChanged();
- pGraphicLink->UpdateSynchron();
- pModel->SetChanged( bIsChanged );
-
+ if ( bAsynchron )
+ pGraphicLink->UpdateAsynchron();
+ else
+ pGraphicLink->DataChanged( ImpLoadLinkedGraphic( aFileName, aFilterName ) );
bRet = sal_True;
}
-
return bRet;
}
// -----------------------------------------------------------------------------
+void SdrGrafObj::ImpSetLinkedGraphic( const Graphic& rGraphic )
+{
+ const sal_Bool bIsChanged = GetModel()->IsChanged();
+ NbcSetGraphic( rGraphic );
+ ActionChanged();
+ BroadcastObjectChange();
+ GetModel()->SetChanged( bIsChanged );
+}
+
+// -----------------------------------------------------------------------------
+
void SdrGrafObj::TakeObjNameSingul(XubString& rName) const
{
switch( pGraphic->GetType() )
@@ -1095,7 +1239,7 @@ IMPL_LINK( SdrGrafObj, ImpSwapHdl, GraphicObject*, pO )
if( ( pGraphic->HasUserData() || pGraphicLink ) &&
( nSwapMode & SDR_SWAPGRAPHICSMODE_PURGE ) )
{
- pRet = NULL;
+ pRet = GRFMGR_AUTOSWAPSTREAM_LINK;
}
else if( nSwapMode & SDR_SWAPGRAPHICSMODE_TEMP )
{
@@ -1180,7 +1324,7 @@ IMPL_LINK( SdrGrafObj, ImpSwapHdl, GraphicObject*, pO )
}
}
}
- else if( !ImpUpdateGraphicLink() )
+ else if( !ImpUpdateGraphicLink( sal_False ) )
{
pRet = GRFMGR_AUTOSWAPSTREAM_TEMP;
}
diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx
index 428ff28482..7c5ed1637d 100644
--- a/svx/source/svdraw/svdogrp.cxx
+++ b/svx/source/svdraw/svdogrp.cxx
@@ -45,14 +45,14 @@
#include <svx/svdmodel.hxx>
#include <svx/svdpage.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdobj.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdattrx.hxx> // NotPersistItems
#include <svx/svdoedge.hxx> // #32383# Die Verbinder nach Move nochmal anbroadcasten
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svxids.hrc>
#include <svl/whiter.hxx>
diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx
index 794331c9b8..a5953bf170 100644
--- a/svx/source/svdraw/svdomeas.cxx
+++ b/svx/source/svdraw/svdomeas.cxx
@@ -30,7 +30,7 @@
#include <svx/svdomeas.hxx>
#include <math.h>
-#include "svditext.hxx" //
+#include "svx/svditext.hxx" //
#include <svx/xpoly.hxx>
#include <svx/svdtrans.hxx>
#include <svx/svdhdl.hxx>
@@ -40,8 +40,8 @@
#include <svx/svdattrx.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdview.hxx>
-#include "svdglob.hxx" // StringCache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Objektname
#include <svl/style.hxx>
#include <svl/smplhint.hxx>
#include <editeng/eeitem.hxx>
diff --git a/svx/source/svdraw/svdomedia.cxx b/svx/source/svdraw/svdomedia.cxx
index 88651ed5b2..a642f6049c 100644
--- a/svx/source/svdraw/svdomedia.cxx
+++ b/svx/source/svdraw/svdomedia.cxx
@@ -31,8 +31,8 @@
#include <vcl/svapp.hxx>
#include <svx/svdomedia.hxx>
-#include "svdglob.hxx"
-#include "svdstr.hrc"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
#include <svx/sdr/contact/viewcontactofsdrmediaobj.hxx>
#include <avmedia/mediawindow.hxx>
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index 0a4aef117b..49dd0d112a 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -77,8 +77,8 @@
#include <svx/svdpagv.hxx>
#include <svx/svdmodel.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svdetc.hxx>
#include <svx/svdview.hxx>
#include "unomlstr.hxx"
diff --git a/svx/source/svdraw/svdopage.cxx b/svx/source/svdraw/svdopage.cxx
index a1a6ad8109..a1e0ddbace 100644
--- a/svx/source/svdraw/svdopage.cxx
+++ b/svx/source/svdraw/svdopage.cxx
@@ -29,8 +29,8 @@
#include "precompiled_svx.hxx"
#include <svx/svdopage.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svdtrans.hxx>
#include <svx/svdetc.hxx>
#include <svx/svdmodel.hxx>
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index a96e6c272d..6ac8bba0e9 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -41,8 +41,8 @@
#include <svx/svdpage.hxx>
#include <svx/svdhdl.hxx>
#include <svx/svdview.hxx> // fuer MovCreate bei Freihandlinien
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#ifdef _MSC_VER
#pragma optimize ("",off)
diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx
index e84b403cee..e6af868dde 100644
--- a/svx/source/svdraw/svdorect.cxx
+++ b/svx/source/svdraw/svdorect.cxx
@@ -45,8 +45,8 @@
#include <svx/svdview.hxx> // das
#include <svx/svdundo.hxx> // Macro-Beispiel
#include <svx/svdopath.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/xflclit.hxx>
#include <svx/xlnclit.hxx>
#include <svx/xlnwtit.hxx>
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index b65bde818f..c1d36afe40 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -29,15 +29,15 @@
#include "precompiled_svx.hxx"
#include <svx/svdotext.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdpagv.hxx> // fuer Abfrage im Paint, ob das
#include <svx/svdview.hxx> // Objekt gerade editiert wird
#include <svx/svdpage.hxx> // und fuer AnimationHandler (Laufschrift)
#include <svx/svdetc.hxx>
#include <svx/svdoutl.hxx>
#include <svx/svdmodel.hxx> // OutlinerDefaults
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <editeng/writingmodeitem.hxx>
#include <svx/sdtfchim.hxx>
#include <svtools/colorcfg.hxx>
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 760287af46..8f2e21e9cf 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -53,7 +53,7 @@
#include <drawinglayer/primitive2d/wrongspellprimitive2d.hxx>
#include <drawinglayer/primitive2d/graphicprimitive2d.hxx>
#include <drawinglayer/primitive2d/textlayoutdevice.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <editeng/outlobj.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
diff --git a/svx/source/svdraw/svdotextpathdecomposition.cxx b/svx/source/svdraw/svdotextpathdecomposition.cxx
index 0b3fb3a2bf..de1e48c354 100644
--- a/svx/source/svdraw/svdotextpathdecomposition.cxx
+++ b/svx/source/svdraw/svdotextpathdecomposition.cxx
@@ -64,7 +64,7 @@
#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
#include <drawinglayer/primitive2d/unifiedtransparenceprimitive2d.hxx>
#include <editeng/editstat.hxx>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <drawinglayer/geometry/viewinformation2d.hxx>
#include <svx/sdr/attribute/sdrformtextoutlineattribute.hxx>
diff --git a/svx/source/svdraw/svdotxat.cxx b/svx/source/svdraw/svdotxat.cxx
index 03d7b9ffc8..5b5e94d8ec 100644
--- a/svx/source/svdraw/svdotxat.cxx
+++ b/svx/source/svdraw/svdotxat.cxx
@@ -30,7 +30,7 @@
#include <svl/style.hxx>
#include <svx/svdotext.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx> // fuer GetMaxObjSize und GetStyleSheetPool
#include <svx/svdoutl.hxx>
#include <svx/svdorect.hxx> // fuer SetDirty bei NbcAdjustTextFrameWidthAndHeight
diff --git a/svx/source/svdraw/svdotxdr.cxx b/svx/source/svdraw/svdotxdr.cxx
index 5c73038abd..dd08c4e080 100644
--- a/svx/source/svdraw/svdotxdr.cxx
+++ b/svx/source/svdraw/svdotxdr.cxx
@@ -33,8 +33,8 @@
#include <svx/svddrag.hxx>
#include <svx/svdview.hxx>
#include <svx/svdorect.hxx> // fuer SetXPolyDirty in MovCreate bei SolidDragging
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svdoashp.hxx>
#include <tools/bigint.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx
index 2681530be2..ffe6953f57 100644
--- a/svx/source/svdraw/svdotxed.cxx
+++ b/svx/source/svdraw/svdotxed.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/svdotext.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx> // fuer GetMaxObjSize
#include <svx/svdoutl.hxx>
#include <editeng/outliner.hxx>
diff --git a/svx/source/svdraw/svdotxln.cxx b/svx/source/svdraw/svdotxln.cxx
index 786aaa1212..0a84a46d5e 100644
--- a/svx/source/svdraw/svdotxln.cxx
+++ b/svx/source/svdraw/svdotxln.cxx
@@ -34,7 +34,7 @@
#include <ucbhelper/contentbroker.hxx>
#include <unotools/datetime.hxx>
#include <svx/svdotext.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdmodel.hxx>
#include <editeng/editdata.hxx>
#include <sfx2/lnkbase.hxx>
diff --git a/svx/source/svdraw/svdotxtr.cxx b/svx/source/svdraw/svdotxtr.cxx
index 5b96e1b2dc..3f89a97821 100644
--- a/svx/source/svdraw/svdotxtr.cxx
+++ b/svx/source/svdraw/svdotxtr.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/svdotext.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdtrans.hxx>
#include <svx/svdogrp.hxx>
#include <svx/svdopath.hxx>
@@ -41,7 +41,7 @@
#include <svx/sdr/properties/properties.hxx>
#include <basegfx/polygon/b2dpolypolygontools.hxx>
#include <svl/itemset.hxx>
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
#include <drawinglayer/processor2d/textaspolygonextractor2d.hxx>
#include <svx/sdr/contact/viewcontact.hxx>
#include <svx/xflclit.hxx>
diff --git a/svx/source/svdraw/svdouno.cxx b/svx/source/svdraw/svdouno.cxx
index f48a37fcad..a28b1dba87 100644
--- a/svx/source/svdraw/svdouno.cxx
+++ b/svx/source/svdraw/svdouno.cxx
@@ -47,17 +47,17 @@
#include <svx/svdouno.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdmodel.hxx>
-#include "svdglob.hxx" // Stringcache
-#include "svdstr.hrc" // Objektname
+#include "svx/svdglob.hxx" // Stringcache
+#include "svx/svdstr.hrc" // Objektname
#include <svx/svdetc.hxx>
#include <svx/svdview.hxx>
#include <svx/svdorect.hxx>
-#include "svdviter.hxx"
+#include "svx/svdviter.hxx"
#include <rtl/ref.hxx>
#include <set>
#include <memory>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <tools/diagnose_ex.h>
#include <svx/svdograf.hxx>
diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index dcf1543adb..e687093291 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -49,7 +49,7 @@
#include <svx/svdograf.hxx> // fuer SwapInAll()
#include <svx/svdoedge.hxx> // Zum kopieren der Konnektoren
#include <svx/svdoole2.hxx> // Sonderbehandlung OLE beim SdrExchangeFormat
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdmodel.hxx>
#include <svx/svdlayer.hxx>
#include <svx/svdotext.hxx>
diff --git a/svx/source/svdraw/svdpagv.cxx b/svx/source/svdraw/svdpagv.cxx
index 1ca0b0623f..c97b202166 100644
--- a/svx/source/svdraw/svdpagv.cxx
+++ b/svx/source/svdraw/svdpagv.cxx
@@ -47,7 +47,7 @@
#include <svx/svdouno.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdview.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdogrp.hxx>
#include <svx/svdtypes.hxx>
@@ -66,7 +66,7 @@
using namespace ::rtl;
using namespace ::com::sun::star;
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
TYPEINIT1(SdrPageView, SfxListener);
DBG_NAME(SdrPageView);
@@ -358,6 +358,21 @@ void SdrPageView::PrePaint()
}
}
+void SdrPageView::PostPaint()
+{
+ const sal_uInt32 nCount(PageWindowCount());
+
+ for(sal_uInt32 a(0); a < nCount; a++)
+ {
+ SdrPageWindow* pCandidate = GetPageWindow(a);
+
+ if(pCandidate)
+ {
+ pCandidate->PostPaint();
+ }
+ }
+}
+
void SdrPageView::CompleteRedraw(SdrPaintWindow& rPaintWindow, const Region& rReg, sdr::contact::ViewObjectContactRedirector* pRedirector) const
{
if(GetPage())
diff --git a/svx/source/svdraw/svdpntv.cxx b/svx/source/svdraw/svdpntv.cxx
index 6b58e623e4..f9ab9e9a28 100755..100644
--- a/svx/source/svdraw/svdpntv.cxx
+++ b/svx/source/svdraw/svdpntv.cxx
@@ -30,7 +30,7 @@
#include <com/sun/star/awt/XWindow.hpp>
#include <svx/svdpntv.hxx>
#include <vcl/msgbox.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svtools/grfmgr.hxx>
#include <svx/svdmodel.hxx>
@@ -54,7 +54,7 @@
#include <svx/svdograf.hxx>
#include <svx/svdattrx.hxx>
#include "svdibrow.hxx"
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/svdouno.hxx>
#include <svx/sdr/overlay/overlayobjectlist.hxx>
#include <svx/sdr/overlay/overlayrollingrectangle.hxx>
@@ -733,6 +733,14 @@ void SdrPaintView::PrePaint()
}
}
+void SdrPaintView::PostPaint()
+{
+ if(mpPageView)
+ {
+ mpPageView->PostPaint();
+ }
+}
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// #define SVX_REPAINT_TIMER_TEST
diff --git a/svx/source/svdraw/svdpoev.cxx b/svx/source/svdraw/svdpoev.cxx
index a718ae5be1..e3f825dafe 100644
--- a/svx/source/svdraw/svdpoev.cxx
+++ b/svx/source/svdraw/svdpoev.cxx
@@ -34,8 +34,8 @@
#include <svx/svdpage.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdundo.hxx>
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/svdtrans.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
#include <basegfx/polygon/b2dpolygontools.hxx>
diff --git a/svx/source/svdraw/svdsnpv.cxx b/svx/source/svdraw/svdsnpv.cxx
index 0943aec425..047a358e2d 100644
--- a/svx/source/svdraw/svdsnpv.cxx
+++ b/svx/source/svdraw/svdsnpv.cxx
@@ -35,13 +35,13 @@
#include <svx/svdobj.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdpage.hxx>
-#include "svditer.hxx"
+#include "svx/svditer.hxx"
#include <svx/sdr/overlay/overlayobjectlist.hxx>
#include <svx/sdr/overlay/overlaycrosshair.hxx>
#include <svx/sdr/overlay/overlayhelpline.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
// #114409#-1 Migrate PageOrigin
diff --git a/svx/source/svdraw/svdstr.src b/svx/source/svdraw/svdstr.src
index f665501a43..6aeec1d1b5 100644
--- a/svx/source/svdraw/svdstr.src
+++ b/svx/source/svdraw/svdstr.src
@@ -26,7 +26,7 @@
************************************************************************/
/* StarView resource file */
-#include "svdstr.hrc"
+#include "svx/svdstr.hrc"
// Ab hier gecachte Strings
String STR_ObjNameSingulNONE
{
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index 2cb797ce2d..79a9c36626 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -29,15 +29,15 @@
#include "precompiled_svx.hxx"
#include <svx/svdundo.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdotext.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdlayer.hxx>
#include <svx/svdmodel.hxx>
#include <svx/svdview.hxx>
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/scene3d.hxx>
#include <editeng/outlobj.hxx>
#include <svx/svdogrp.hxx>
@@ -47,7 +47,7 @@
#include <svl/whiter.hxx>
#include <svx/e3dsceneupdater.hxx>
-#include "svdviter.hxx"
+#include "svx/svdviter.hxx"
////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index 4670b92c4b..1e1b352fbb 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -29,8 +29,8 @@
#include "precompiled_svx.hxx"
#include <editeng/eeitem.hxx>
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
#include <svx/svdpagv.hxx>
#include <svx/svdmrkv.hxx>
#include <svx/svdedxv.hxx>
@@ -55,7 +55,7 @@
#include <tools/tenccvt.hxx>
#include <svx/sdr/overlay/overlaypolypolygon.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/sdrpagewindow.hxx>
#include <svx/sdrhittesthelper.hxx>
diff --git a/svx/source/svdraw/svdviter.cxx b/svx/source/svdraw/svdviter.cxx
index b38007705f..b6260d2c8f 100644
--- a/svx/source/svdraw/svdviter.cxx
+++ b/svx/source/svdraw/svdviter.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "svdviter.hxx"
+#include "svx/svdviter.hxx"
#include <svx/svdobj.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
@@ -36,7 +36,7 @@
#include <svx/svdpagv.hxx>
#include <svx/svdsob.hxx>
#include <svl/brdcst.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/svx/source/svdraw/svdxcgv.cxx b/svx/source/svdraw/svdxcgv.cxx
index f8b3efbab2..c9ae654211 100644
--- a/svx/source/svdraw/svdxcgv.cxx
+++ b/svx/source/svdraw/svdxcgv.cxx
@@ -30,11 +30,11 @@
#include <vector>
#include <editeng/editeng.hxx>
-#include "xexch.hxx"
+#include "svx/xexch.hxx"
#include <svx/xflclit.hxx>
#include <svx/svdxcgv.hxx>
#include <svx/svdoutl.hxx>
-#include "svditext.hxx"
+#include "svx/svditext.hxx"
#include <svx/svdetc.hxx>
#include <svx/svdundo.hxx>
#include <svx/svdograf.hxx>
@@ -45,9 +45,9 @@
#include <svx/svdpage.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdtrans.hxx> // Fuer GetMapFactor zum umskalieren bei PasteModel
-#include "svdstr.hrc" // Namen aus der Resource
-#include "svdglob.hxx" // StringCache
-#include "xoutbmp.hxx"
+#include "svx/svdstr.hrc" // Namen aus der Resource
+#include "svx/svdglob.hxx" // StringCache
+#include "svx/xoutbmp.hxx"
#include <vcl/metaact.hxx>
#include <svl/poolitem.hxx>
#include <svl/itempool.hxx>
diff --git a/svx/source/table/accessiblecell.cxx b/svx/source/table/accessiblecell.cxx
index dd79040992..ff2af501d3 100644
--- a/svx/source/table/accessiblecell.cxx
+++ b/svx/source/table/accessiblecell.cxx
@@ -30,7 +30,7 @@
#include <accessiblecell.hxx>
-#include "DescriptionGenerator.hxx"
+#include "svx/DescriptionGenerator.hxx"
#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
diff --git a/svx/source/table/cellcursor.cxx b/svx/source/table/cellcursor.cxx
index f9a1e86891..d3eebb8f73 100644
--- a/svx/source/table/cellcursor.cxx
+++ b/svx/source/table/cellcursor.cxx
@@ -33,8 +33,8 @@
#include "tablelayouter.hxx"
#include "cell.hxx"
#include "svx/svdmodel.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
// -----------------------------------------------------------------------------
diff --git a/svx/source/table/celleditsource.cxx b/svx/source/table/celleditsource.cxx
index 58bd1d2b6e..f599bcd502 100644
--- a/svx/source/table/celleditsource.cxx
+++ b/svx/source/table/celleditsource.cxx
@@ -55,7 +55,7 @@
#include "svx/svdpage.hxx"
#include "editeng/editeng.hxx"
#include "editeng/unotext.hxx"
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
//------------------------------------------------------------------------
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 9dac57ead2..ed5c3849c1 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -63,8 +63,8 @@
#include "svx/framelink.hxx"
#include "svx/sdr/table/tabledesign.hxx"
#include "svx/svdundo.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include "editeng/writingmodeitem.hxx"
#include "editeng/frmdiritem.hxx"
#include "svx/xflhtit.hxx"
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
index 39e6593d13..fbfcdbc296 100644
--- a/svx/source/table/tablecontroller.cxx
+++ b/svx/source/table/tablecontroller.cxx
@@ -59,15 +59,15 @@
#include "svx/sdrpagewindow.hxx"
#include <svx/selectioncontroller.hxx>
#include <svx/svdmodel.hxx>
-#include "sdrpaintwindow.hxx"
+#include "svx/sdrpaintwindow.hxx"
#include <svx/svxdlg.hxx>
#include <editeng/boxitem.hxx>
#include "cell.hxx"
#include <editeng/borderline.hxx>
#include <editeng/colritem.hxx>
#include "editeng/bolnitem.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
#include "svx/svdpage.hxx"
#include "tableundo.hxx"
#include "tablelayouter.hxx"
diff --git a/svx/source/table/tablehandles.cxx b/svx/source/table/tablehandles.cxx
index 648f1fd6b4..26aa2fce2c 100644
--- a/svx/source/table/tablehandles.cxx
+++ b/svx/source/table/tablehandles.cxx
@@ -42,7 +42,7 @@
#include <svx/sdr/overlay/overlayobject.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <svx/sdrpagewindow.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/svdmrkv.hxx>
#include <svx/svdpagv.hxx>
#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
diff --git a/svx/source/table/tablelayouter.cxx b/svx/source/table/tablelayouter.cxx
index 7bb2122487..5a4af333b2 100644
--- a/svx/source/table/tablelayouter.cxx
+++ b/svx/source/table/tablelayouter.cxx
@@ -44,8 +44,8 @@
#include "editeng/borderline.hxx"
#include "editeng/boxitem.hxx"
#include "svx/svdmodel.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
using ::rtl::OUString;
using ::com::sun::star::awt::XLayoutConstrains;
diff --git a/svx/source/table/tablemodel.cxx b/svx/source/table/tablemodel.cxx
index 5355995347..7c02473b17 100644
--- a/svx/source/table/tablemodel.cxx
+++ b/svx/source/table/tablemodel.cxx
@@ -46,8 +46,8 @@
#include "tableundo.hxx"
#include "svx/svdotable.hxx"
#include "svx/svdmodel.hxx"
-#include "svdstr.hrc"
-#include "svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/svdglob.hxx"
//#define PLEASE_DEBUG_THE_TABLES 1
diff --git a/svx/source/tbxctrls/colrctrl.cxx b/svx/source/tbxctrls/colrctrl.cxx
index 32970273ec..f5d4d0194b 100644
--- a/svx/source/tbxctrls/colrctrl.cxx
+++ b/svx/source/tbxctrls/colrctrl.cxx
@@ -40,12 +40,12 @@
#include <svx/colrctrl.hxx>
#include <svx/svdview.hxx>
-#include "drawitem.hxx"
+#include "svx/drawitem.hxx"
#include <editeng/colritem.hxx>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/dialmgr.hxx>
-#include "xexch.hxx"
+#include "svx/xexch.hxx"
#include <vcl/svapp.hxx>
SFX_IMPL_DOCKINGWINDOW( SvxColorChildWindow, SID_COLOR_CONTROL )
diff --git a/svx/source/tbxctrls/extrusioncontrols.cxx b/svx/source/tbxctrls/extrusioncontrols.cxx
index 86efecf955..c0e630efb7 100644
--- a/svx/source/tbxctrls/extrusioncontrols.cxx
+++ b/svx/source/tbxctrls/extrusioncontrols.cxx
@@ -39,6 +39,7 @@
#include <vos/mutex.hxx>
+#include <svtools/toolbarmenu.hxx>
#include <vcl/toolbox.hxx>
#include <sfx2/app.hxx>
#include <sfx2/dispatch.hxx>
@@ -65,7 +66,7 @@
////////////
using ::rtl::OUString;
-using ::svtools::ToolbarMenu;
+//using ::svtools::ToolbarMenu;
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
diff --git a/svx/source/tbxctrls/fillctrl.cxx b/svx/source/tbxctrls/fillctrl.cxx
index c1d1e979a1..0a7b007bd4 100644
--- a/svx/source/tbxctrls/fillctrl.cxx
+++ b/svx/source/tbxctrls/fillctrl.cxx
@@ -44,8 +44,8 @@
#define TMP_STR_BEGIN '['
#define TMP_STR_END ']'
-#include "drawitem.hxx"
-#include "xattr.hxx"
+#include "svx/drawitem.hxx"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/fillctrl.hxx>
#include <svx/itemwin.hxx>
diff --git a/svx/source/tbxctrls/fontworkgallery.cxx b/svx/source/tbxctrls/fontworkgallery.cxx
index 06d36f0d95..01cb08c9cc 100644
--- a/svx/source/tbxctrls/fontworkgallery.cxx
+++ b/svx/source/tbxctrls/fontworkgallery.cxx
@@ -53,10 +53,10 @@
#include <svx/svdview.hxx>
#include <svx/svdoutl.hxx>
-#include "gallery.hxx"
-#include <dlgutil.hxx>
+#include "svx/gallery.hxx"
+#include <svx/dlgutil.hxx>
-#include "fontworkgallery.hxx"
+#include <svx/fontworkgallery.hxx>
#include "fontworkgallery.hrc"
#include <algorithm>
diff --git a/svx/source/tbxctrls/formatpaintbrushctrl.cxx b/svx/source/tbxctrls/formatpaintbrushctrl.cxx
index 7c8001f591..9f12bdd0fa 100644
--- a/svx/source/tbxctrls/formatpaintbrushctrl.cxx
+++ b/svx/source/tbxctrls/formatpaintbrushctrl.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "formatpaintbrushctrl.hxx"
+#include "svx/formatpaintbrushctrl.hxx"
// header for class SfxBoolItem
#include <svl/eitem.hxx>
diff --git a/svx/source/tbxctrls/grafctrl.cxx b/svx/source/tbxctrls/grafctrl.cxx
index 2ba5e0c732..8282eb4257 100644
--- a/svx/source/tbxctrls/grafctrl.cxx
+++ b/svx/source/tbxctrls/grafctrl.cxx
@@ -64,8 +64,8 @@
#include <svx/svdograf.hxx>
#include <svx/svdundo.hxx>
#include <svx/svdtrans.hxx>
-#include "grafctrl.hxx"
-#include "tbxcolor.hxx"
+#include "svx/grafctrl.hxx"
+#include "svx/tbxcolor.hxx"
// namespaces
using ::rtl::OUString;
diff --git a/svx/source/tbxctrls/itemwin.cxx b/svx/source/tbxctrls/itemwin.cxx
index eabe997d33..2f0ca7fc7c 100644
--- a/svx/source/tbxctrls/itemwin.cxx
+++ b/svx/source/tbxctrls/itemwin.cxx
@@ -49,11 +49,11 @@
#include <svx/xlineit0.hxx>
#include <svx/xlndsit.hxx>
#include <svx/xtable.hxx>
-#include "drawitem.hxx"
+#include "svx/drawitem.hxx"
#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/itemwin.hxx>
-#include "linectrl.hxx"
+#include "svx/linectrl.hxx"
#include <svtools/colorcfg.hxx>
#include "linectrl.hrc"
diff --git a/svx/source/tbxctrls/layctrl.cxx b/svx/source/tbxctrls/layctrl.cxx
index 0ffa7de0f3..60ed2370f0 100644
--- a/svx/source/tbxctrls/layctrl.cxx
+++ b/svx/source/tbxctrls/layctrl.cxx
@@ -40,7 +40,7 @@
#include <sfx2/app.hxx>
#include <svx/dialogs.hrc>
-#include "layctrl.hxx"
+#include "svx/layctrl.hxx"
#include <svx/dialmgr.hxx>
#include <comphelper/processfactory.hxx>
#include <svtools/colorcfg.hxx>
diff --git a/svx/source/tbxctrls/lboxctrl.cxx b/svx/source/tbxctrls/lboxctrl.cxx
index c5d7d21142..f821116c65 100644
--- a/svx/source/tbxctrls/lboxctrl.cxx
+++ b/svx/source/tbxctrls/lboxctrl.cxx
@@ -46,7 +46,7 @@
#include <svl/slstitm.hxx>
#include <svl/stritem.hxx>
#include <svx/dialmgr.hxx>
-#include <lboxctrl.hxx>
+#include <svx/lboxctrl.hxx>
#ifndef _VCL_MNEMONIC_HXX_
#include <vcl/mnemonic.hxx>
#endif
diff --git a/svx/source/tbxctrls/linectrl.cxx b/svx/source/tbxctrls/linectrl.cxx
index f3a21c1ff6..f307a7b25d 100644
--- a/svx/source/tbxctrls/linectrl.cxx
+++ b/svx/source/tbxctrls/linectrl.cxx
@@ -42,10 +42,10 @@
#include <svx/dialogs.hrc>
#include "helpid.hrc"
-#include "drawitem.hxx"
-#include "xattr.hxx"
+#include "svx/drawitem.hxx"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
-#include "linectrl.hxx"
+#include "svx/linectrl.hxx"
#include <svx/itemwin.hxx>
#include <svx/dialmgr.hxx>
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index db1c5424ef..603117048f 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -72,7 +72,7 @@
#include <svx/dialogs.hrc>
#include <svx/svxitems.hrc>
#include "helpid.hrc"
-#include "htmlmode.hxx"
+#include "svx/htmlmode.hxx"
#include <svx/xtable.hxx>
#include "editeng/fontitem.hxx"
#include <editeng/fhgtitem.hxx>
@@ -81,9 +81,9 @@
#include <editeng/colritem.hxx>
#include "editeng/flstitem.hxx"
#include "editeng/bolnitem.hxx"
-#include "drawitem.hxx"
+#include "svx/drawitem.hxx"
#include <svx/tbcontrl.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/dialmgr.hxx>
#include "colorwindow.hxx"
#include <memory>
@@ -1800,8 +1800,7 @@ struct SvxStyleToolBoxControl::Impl
static const sal_Char* aCalcStyles[] =
{
"Default",
- "Heading 1",
- "Heading 2",
+ "Heading1",
"Result",
"Result2"
};
@@ -1813,12 +1812,15 @@ struct SvxStyleToolBoxControl::Impl
{
try
{
- Reference< beans::XPropertySet > xStyle;
- xCellStyles->getByName( rtl::OUString::createFromAscii( aCalcStyles[nStyle] )) >>= xStyle;
- ::rtl::OUString sName;
- xStyle->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DisplayName")))>>= sName;
- if( sName.getLength() )
- aDefaultStyles.push_back(sName);
+ const rtl::OUString sStyleName( rtl::OUString::createFromAscii( aCalcStyles[nStyle] ) );
+ if( xCellStyles->hasByName( sStyleName ) )
+ {
+ Reference< beans::XPropertySet > xStyle( xCellStyles->getByName( sStyleName), UNO_QUERY_THROW );
+ ::rtl::OUString sName;
+ xStyle->getPropertyValue(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DisplayName"))) >>= sName;
+ if( sName.getLength() )
+ aDefaultStyles.push_back(sName);
+ }
}
catch( const uno::Exception& )
{}
diff --git a/svx/source/tbxctrls/tbxalign.cxx b/svx/source/tbxctrls/tbxalign.cxx
index a12f8096c2..7e998fd02e 100644
--- a/svx/source/tbxctrls/tbxalign.cxx
+++ b/svx/source/tbxctrls/tbxalign.cxx
@@ -32,8 +32,8 @@
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
-#include "tbxalign.hxx"
-#include "tbxdraw.hxx"
+#include "svx/tbxalign.hxx"
+#include "svx/tbxdraw.hxx"
#include "tbxdraw.hrc"
#include <tools/shl.hxx>
#ifndef _SFX_IMAGEMGR_HXX
diff --git a/svx/source/tbxctrls/tbxcolor.cxx b/svx/source/tbxctrls/tbxcolor.cxx
index 40082c4624..6a849f47ed 100644
--- a/svx/source/tbxctrls/tbxcolor.cxx
+++ b/svx/source/tbxctrls/tbxcolor.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "tbxcolor.hxx"
+#include "svx/tbxcolor.hxx"
#include <sfx2/viewfrm.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/svx/source/tbxctrls/tbxdrctl.cxx b/svx/source/tbxctrls/tbxdrctl.cxx
index 75641be026..3c626387e5 100644
--- a/svx/source/tbxctrls/tbxdrctl.cxx
+++ b/svx/source/tbxctrls/tbxdrctl.cxx
@@ -42,9 +42,9 @@
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
-#include "tbxctl.hxx"
-#include "tbxdraw.hxx"
-#include "tbxcolor.hxx"
+#include "svx/tbxctl.hxx"
+#include "svx/tbxdraw.hxx"
+#include "svx/tbxcolor.hxx"
#include "tbxdraw.hrc"
#include <com/sun/star/frame/XLayoutManager.hpp>
diff --git a/svx/source/tbxctrls/verttexttbxctrl.cxx b/svx/source/tbxctrls/verttexttbxctrl.cxx
index 57327a6b07..89d2dd532b 100644
--- a/svx/source/tbxctrls/verttexttbxctrl.cxx
+++ b/svx/source/tbxctrls/verttexttbxctrl.cxx
@@ -30,7 +30,7 @@
#include <svx/dialmgr.hxx>
#include <svx/dialogs.hrc>
-#include <verttexttbxctrl.hxx>
+#include <svx/verttexttbxctrl.hxx>
#include <svl/languageoptions.hxx>
#include <sfx2/app.hxx>
#include <svl/eitem.hxx>
diff --git a/svx/source/toolbars/extrusionbar.cxx b/svx/source/toolbars/extrusionbar.cxx
index 9b9a56dc48..126d624609 100644
--- a/svx/source/toolbars/extrusionbar.cxx
+++ b/svx/source/toolbars/extrusionbar.cxx
@@ -50,7 +50,7 @@
#endif
#include <svx/svdview.hxx>
#include <editeng/colritem.hxx>
-#include "chrtitem.hxx"
+#include "svx/chrtitem.hxx"
#include <svx/extrusionbar.hxx>
#include "extrusiondepthdialog.hxx"
diff --git a/svx/source/toolbars/fontworkbar.cxx b/svx/source/toolbars/fontworkbar.cxx
index c856eec1f6..e2457c838d 100644
--- a/svx/source/toolbars/fontworkbar.cxx
+++ b/svx/source/toolbars/fontworkbar.cxx
@@ -32,7 +32,7 @@
#include <sfx2/request.hxx>
#include <sfx2/objface.hxx>
#include <sfx2/viewsh.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <com/sun/star/drawing/XShape.hpp>
#include <com/sun/star/drawing/XEnhancedCustomShapeDefaulter.hpp>
#include <svx/dialmgr.hxx>
@@ -48,11 +48,11 @@
#include <editeng/eeitem.hxx>
#include <editeng/charscaleitem.hxx>
#include <editeng/kernitem.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
#include <svx/svxids.hrc>
#include <svx/fontworkbar.hxx>
-#include "fontworkgallery.hxx"
+#include "svx/fontworkgallery.hxx"
using ::rtl::OUString;
@@ -349,7 +349,7 @@ static void impl_execute( SdrView*, SfxRequest& rReq, SdrCustomShapeGeometryItem
}
}
-#include "gallery.hxx"
+#include "svx/gallery.hxx"
#include <svx/fmmodel.hxx>
#include <svx/fmpage.hxx>
#include <svl/itempool.hxx>
diff --git a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
index 7ccf3b4daf..309fbb6700 100644
--- a/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
+++ b/svx/source/unodialogs/textconversiondlgs/chinese_dictionarydialog.cxx
@@ -116,7 +116,7 @@ String DictionaryList::makeTabString( const DictionaryEntry& rEntry ) const
void DictionaryList::initDictionaryControl( const Reference< linguistic2::XConversionDictionary>& xDictionary
, ListBox* pPropertyTypeNameListBox )
{
- SetWindowBits( WB_VSCROLL );
+ SetStyle( WB_VSCROLL | WB_TABSTOP );
SetSelectionMode( SINGLE_SELECTION );
SetBorderStyle( WINDOW_BORDER_MONO );
SetHighlightRange();
diff --git a/svx/source/unodraw/UnoGraphicExporter.cxx b/svx/source/unodraw/UnoGraphicExporter.cxx
index 389db0454d..6d6c9fdf32 100644
--- a/svx/source/unodraw/UnoGraphicExporter.cxx
+++ b/svx/source/unodraw/UnoGraphicExporter.cxx
@@ -46,6 +46,7 @@
#include <com/sun/star/task/XInteractionHandler.hpp>
#include <com/sun/star/task/XInteractionContinuation.hpp>
+#include <comphelper/interaction.hxx>
#include <framework/interaction.hxx>
#include <com/sun/star/drawing/GraphicFilterRequest.hpp>
#include <com/sun/star/util/URL.hpp>
@@ -65,9 +66,9 @@
#include <editeng/numitem.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdograf.hxx>
-#include "xoutbmp.hxx"
+#include "svx/xoutbmp.hxx"
#include "svtools/filter.hxx"
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
#include <svx/fmview.hxx>
@@ -1066,15 +1067,13 @@ sal_Bool SAL_CALL GraphicExporter::filter( const Sequence< PropertyValue >& aDes
{
Any aInteraction;
Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > lContinuations(1);
- ::framework::ContinuationApprove* pApprove = new ::framework::ContinuationApprove();
+ ::comphelper::OInteractionApprove* pApprove = new ::comphelper::OInteractionApprove();
lContinuations[0] = Reference< XInteractionContinuation >(static_cast< XInteractionContinuation* >(pApprove), UNO_QUERY);
GraphicFilterRequest aErrorCode;
aErrorCode.ErrCode = nStatus;
aInteraction <<= aErrorCode;
- framework::InteractionRequest* pRequest = new framework::InteractionRequest( aInteraction, lContinuations );
- Reference< XInteractionRequest >xRequest( static_cast< XInteractionRequest* >(pRequest), UNO_QUERY );
- aSettings.mxInteractionHandler->handle( xRequest );
+ aSettings.mxInteractionHandler->handle( framework::InteractionRequest::CreateRequest( aInteraction, lContinuations ) );
}
return nStatus == GRFILTER_OK;
}
diff --git a/svx/source/unodraw/UnoNameItemTable.cxx b/svx/source/unodraw/UnoNameItemTable.cxx
index 3d3b594cbe..a3511edee5 100644
--- a/svx/source/unodraw/UnoNameItemTable.cxx
+++ b/svx/source/unodraw/UnoNameItemTable.cxx
@@ -39,7 +39,7 @@
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
using namespace ::com::sun::star;
using namespace ::rtl;
diff --git a/svx/source/unodraw/UnoNamespaceMap.cxx b/svx/source/unodraw/UnoNamespaceMap.cxx
index 87372cb4ae..eb48f1ea4b 100644
--- a/svx/source/unodraw/UnoNamespaceMap.cxx
+++ b/svx/source/unodraw/UnoNamespaceMap.cxx
@@ -30,7 +30,7 @@
#include <set>
-#include "UnoNamespaceMap.hxx"
+#include "svx/UnoNamespaceMap.hxx"
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
@@ -41,7 +41,7 @@
#include <osl/mutex.hxx>
#include <comphelper/stl_types.hxx>
#include <svl/itempool.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include "editeng/xmlcnitm.hxx"
diff --git a/svx/source/unodraw/XPropertyTable.cxx b/svx/source/unodraw/XPropertyTable.cxx
index 91bd768f35..cd5ce824ff 100644
--- a/svx/source/unodraw/XPropertyTable.cxx
+++ b/svx/source/unodraw/XPropertyTable.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_svx.hxx"
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
#include <com/sun/star/drawing/LineDash.hpp>
#include <com/sun/star/awt/Gradient.hpp>
@@ -42,7 +42,7 @@
#include "unopolyhelper.hxx"
#include <svx/xdef.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <editeng/unoprnms.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
diff --git a/svx/source/unodraw/unobtabl.cxx b/svx/source/unodraw/unobtabl.cxx
index a35f825f9a..a0a033dea6 100644
--- a/svx/source/unodraw/unobtabl.cxx
+++ b/svx/source/unodraw/unobtabl.cxx
@@ -36,10 +36,10 @@
#include <svx/xbtmpit.hxx>
#include <svx/svdmodel.hxx>
#include <svx/xflhtit.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/unomid.hxx>
#include <editeng/unoprnms.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
#include <editeng/memberids.hrc>
using namespace ::com::sun::star;
diff --git a/svx/source/unodraw/unoctabl.cxx b/svx/source/unodraw/unoctabl.cxx
index 44b63a88a0..9358fa47c2 100644
--- a/svx/source/unodraw/unoctabl.cxx
+++ b/svx/source/unodraw/unoctabl.cxx
@@ -35,9 +35,9 @@
#include "../customshapes/EnhancedCustomShapeEngine.hxx"
#include <svx/xtable.hxx>
-#include "unoshcol.hxx"
+#include "svx/unoshcol.hxx"
#include "recoveryui.hxx"
-#include "xmlgrhlp.hxx"
+#include "svx/xmlgrhlp.hxx"
#include "tbunocontroller.hxx"
#include "tbunosearchcontrollers.hxx"
diff --git a/svx/source/unodraw/unodtabl.cxx b/svx/source/unodraw/unodtabl.cxx
index 4779bc357a..fca8e0f936 100644
--- a/svx/source/unodraw/unodtabl.cxx
+++ b/svx/source/unodraw/unodtabl.cxx
@@ -38,7 +38,7 @@
#include <svx/xdash.hxx>
#include <svx/svdmodel.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
using namespace ::com::sun::star;
using namespace ::rtl;
diff --git a/svx/source/unodraw/unogtabl.cxx b/svx/source/unodraw/unogtabl.cxx
index 0791954d40..242f675d27 100644
--- a/svx/source/unodraw/unogtabl.cxx
+++ b/svx/source/unodraw/unogtabl.cxx
@@ -36,7 +36,7 @@
#include <svx/svdmodel.hxx>
#include <svx/xdef.hxx>
#include <svx/xflgrit.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
#include <svx/unomid.hxx>
using namespace ::com::sun::star;
diff --git a/svx/source/unodraw/unohtabl.cxx b/svx/source/unodraw/unohtabl.cxx
index 38c9c585a5..4d68c31d3f 100644
--- a/svx/source/unodraw/unohtabl.cxx
+++ b/svx/source/unodraw/unohtabl.cxx
@@ -37,7 +37,7 @@
#include <svx/xdef.hxx>
#include <svx/xflhtit.hxx>
#include <svx/unomid.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
using namespace ::com::sun::star;
using namespace ::rtl;
diff --git a/svx/source/unodraw/unomod.cxx b/svx/source/unodraw/unomod.cxx
index 97adf442eb..b0035e5f04 100644
--- a/svx/source/unodraw/unomod.cxx
+++ b/svx/source/unodraw/unomod.cxx
@@ -41,17 +41,17 @@
#include <comphelper/serviceinfohelper.hxx>
#include <cppuhelper/implbase2.hxx>
-#include <unofill.hxx>
+#include <svx/unofill.hxx>
#include <editeng/unonrule.hxx>
#include <svtools/unoimap.hxx>
#include <svx/fmdpage.hxx>
#include <svx/fmmodel.hxx>
#include <svx/fmpage.hxx>
#include <sfx2/sfx.hrc>
-#include <unoapi.hxx>
+#include <svx/unoapi.hxx>
#include <svx/svdmodel.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/svdtypes.hxx>
#include <svx/unoprov.hxx>
#include <svx/unopage.hxx>
diff --git a/svx/source/unodraw/unomtabl.cxx b/svx/source/unodraw/unomtabl.cxx
index f2dadb69f4..fb72806b32 100644
--- a/svx/source/unodraw/unomtabl.cxx
+++ b/svx/source/unodraw/unomtabl.cxx
@@ -50,9 +50,9 @@
#include <vcl/svapp.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
using namespace ::com::sun::star;
using namespace ::rtl;
diff --git a/svx/source/unodraw/unopage.cxx b/svx/source/unodraw/unopage.cxx
index e62f770eb4..b2f4d44434 100644
--- a/svx/source/unodraw/unopage.cxx
+++ b/svx/source/unodraw/unopage.cxx
@@ -49,11 +49,11 @@
#include <svx/svdpagv.hxx>
#include <svx/unopage.hxx>
#include "shapeimpl.hxx"
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/polysc3d.hxx>
#include <svx/unoprov.hxx>
#include <svx/svdopath.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/svdomeas.hxx>
#include <svx/extrud3d.hxx>
#include <svx/lathe3d.hxx>
diff --git a/svx/source/unodraw/unopool.cxx b/svx/source/unodraw/unopool.cxx
index dc6575af02..585a9d604d 100644
--- a/svx/source/unodraw/unopool.cxx
+++ b/svx/source/unodraw/unopool.cxx
@@ -36,7 +36,7 @@
#include <rtl/uuid.h>
#include <vos/mutex.hxx>
#include <vcl/svapp.hxx>
-#include "unopool.hxx"
+#include "svx/unopool.hxx"
#include <svx/svdmodel.hxx>
#include <svx/svdpool.hxx>
#include <svx/unoprov.hxx>
@@ -48,7 +48,7 @@
#include <svx/svdetc.hxx>
#include <editeng/editeng.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <memory>
using namespace ::com::sun::star;
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
index fd442018d4..aaaf16d481 100644
--- a/svx/source/unodraw/unoprov.cxx
+++ b/svx/source/unodraw/unoprov.cxx
@@ -45,11 +45,11 @@
#include <vcl/svapp.hxx>
#include <comphelper/propertysetinfo.hxx>
#include <svx/dialmgr.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <editeng/unotext.hxx>
#include <svx/unoshprp.hxx>
#include <editeng/editeng.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/dialogs.hrc>
#include <svx/svdpool.hxx>
#include <svx/svdobj.hxx>
diff --git a/svx/source/unodraw/unoshap2.cxx b/svx/source/unodraw/unoshap2.cxx
index cd70bddc3a..5725f5bd2a 100644
--- a/svx/source/unodraw/unoshap2.cxx
+++ b/svx/source/unodraw/unoshap2.cxx
@@ -65,7 +65,7 @@
#include "unopolyhelper.hxx"
// #i29181#
-#include "svdviter.hxx"
+#include "svx/svdviter.hxx"
#include <svx/svdview.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/polygon/b2dpolygon.hxx>
diff --git a/svx/source/unodraw/unoshap3.cxx b/svx/source/unodraw/unoshap3.cxx
index 10b31c06c2..439458eabc 100644
--- a/svx/source/unodraw/unoshap3.cxx
+++ b/svx/source/unodraw/unoshap3.cxx
@@ -45,7 +45,7 @@
#include <svx/unopage.hxx>
#include <editeng/unoprnms.hxx>
#include <svx/polysc3d.hxx>
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include <svx/cube3d.hxx>
#include <svx/sphere3d.hxx>
#include <svx/lathe3d.hxx>
@@ -324,7 +324,7 @@ static void ConvertObjectToHomogenMatric( E3dObject* pObject, Any& rValue )
}
//----------------------------------------------------------------------
-#include <svditer.hxx>
+#include <svx/svditer.hxx>
struct ImpRememberTransAndRect
{
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 533943ae37..39652b74ef 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -60,11 +60,11 @@
#include <svx/unoshprp.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include "svx/svdpagv.hxx"
#include "svx/svdview.hxx"
-#include "svdglob.hxx"
-#include "svdstr.hrc"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
///////////////////////////////////////////////////////////////////////
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 7790aa6a81..6e97a82b34 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -61,7 +61,7 @@
#include "svx/svdogrp.hxx"
#include "svx/scene3d.hxx"
#include "svx/svdmodel.hxx"
-#include "globl3d.hxx"
+#include "svx/globl3d.hxx"
#include "svx/fmglob.hxx"
#include "svx/unopage.hxx"
#include "svx/view3d.hxx"
@@ -72,7 +72,7 @@
#include "svx/unoshprp.hxx"
#include "svx/sxciaitm.hxx" // todo: remove
#include "svx/svdograf.hxx"
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include "svx/svdomeas.hxx"
#include "svx/svdpagv.hxx"
#include "svx/svdpool.hxx"
@@ -90,9 +90,9 @@
#include "svx/xlnedit.hxx"
#include "svx/xlnstit.hxx"
#include "svx/xlndsit.hxx"
-#include "svdglob.hxx"
-#include "svdstr.hrc"
-#include "unomaster.hxx"
+#include "svx/svdglob.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/unomaster.hxx"
#include <editeng/outlobj.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
diff --git a/svx/source/unodraw/unoshcol.cxx b/svx/source/unodraw/unoshcol.cxx
index 8f2fd4495f..1000952486 100644
--- a/svx/source/unodraw/unoshcol.cxx
+++ b/svx/source/unodraw/unoshcol.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <com/sun/star/document/EventObject.hpp>
-#include "unoshcol.hxx"
+#include "svx/unoshcol.hxx"
#include <svx/unoprov.hxx>
#include <comphelper/serviceinfohelper.hxx>
diff --git a/svx/source/unodraw/unoshtxt.cxx b/svx/source/unodraw/unoshtxt.cxx
index 7aa72bf0dd..387f5509a1 100644
--- a/svx/source/unodraw/unoshtxt.cxx
+++ b/svx/source/unodraw/unoshtxt.cxx
@@ -55,7 +55,7 @@
#include <com/sun/star/linguistic2/XLinguServiceManager.hpp>
#include <comphelper/processfactory.hxx>
#include <vos/mutex.hxx>
-#include <sdrpaintwindow.hxx>
+#include <svx/sdrpaintwindow.hxx>
using namespace ::osl;
using namespace ::vos;
diff --git a/svx/source/unodraw/unottabl.cxx b/svx/source/unodraw/unottabl.cxx
index 5d09dea4f6..a14862693a 100644
--- a/svx/source/unodraw/unottabl.cxx
+++ b/svx/source/unodraw/unottabl.cxx
@@ -35,7 +35,7 @@
#include <svx/svdmodel.hxx>
#include <svx/xflhtit.hxx>
-#include "unofill.hxx"
+#include "svx/unofill.hxx"
#include <svx/unomid.hxx>
#include "UnoNameItemTable.hxx"
diff --git a/svx/source/unogallery/unogalitem.cxx b/svx/source/unogallery/unogalitem.cxx
index fe01e01449..f35250a9d6 100644
--- a/svx/source/unogallery/unogalitem.cxx
+++ b/svx/source/unogallery/unogalitem.cxx
@@ -30,7 +30,7 @@
#include "unogalitem.hxx"
#include "unogaltheme.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/galmisc.hxx"
#include <svx/fmmodel.hxx>
#include <rtl/uuid.h>
diff --git a/svx/source/unogallery/unogaltheme.cxx b/svx/source/unogallery/unogaltheme.cxx
index b461d0db85..26d4b19490 100644
--- a/svx/source/unogallery/unogaltheme.cxx
+++ b/svx/source/unogallery/unogaltheme.cxx
@@ -32,7 +32,7 @@
#include "unogaltheme.hxx"
#include "unogalitem.hxx"
-#include "galtheme.hxx"
+#include "svx/galtheme.hxx"
#include "svx/gallery1.hxx"
#include "svx/galmisc.hxx"
#include <svx/fmmodel.hxx>
diff --git a/svx/source/xml/xmleohlp.cxx b/svx/source/xml/xmleohlp.cxx
index a45583f3a6..d3863f70ae 100644
--- a/svx/source/xml/xmleohlp.cxx
+++ b/svx/source/xml/xmleohlp.cxx
@@ -56,7 +56,7 @@
#include <sot/clsids.hxx>
#endif
#include <map>
-#include "xmleohlp.hxx"
+#include "svx/xmleohlp.hxx"
// -----------
// - Defines -
diff --git a/svx/source/xml/xmlexport.cxx b/svx/source/xml/xmlexport.cxx
index 25577a3fed..a90338c9bd 100644
--- a/svx/source/xml/xmlexport.cxx
+++ b/svx/source/xml/xmlexport.cxx
@@ -44,8 +44,8 @@
#include <unotools/streamwrap.hxx>
#include <sot/storage.hxx>
#include <svx/svdmodel.hxx>
-#include <xmleohlp.hxx>
-#include <xmlgrhlp.hxx>
+#include <svx/xmleohlp.hxx>
+#include <svx/xmlgrhlp.hxx>
#include <svx/unomodel.hxx>
diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx
index 76d63e9f35..84cb1135e1 100644
--- a/svx/source/xml/xmlgrhlp.cxx
+++ b/svx/source/xml/xmlgrhlp.cxx
@@ -47,7 +47,7 @@
#include <tools/zcodec.hxx>
#include "svtools/filter.hxx"
-#include "xmlgrhlp.hxx"
+#include "svx/xmlgrhlp.hxx"
#include <algorithm>
@@ -707,8 +707,8 @@ void SvXMLGraphicHelper::ImplInsertGraphicURL( const ::rtl::OUString& rURLStr, s
else
{
const String aGraphicObjectId( aPictureStreamName );
- const GraphicObject aGrfObject( ByteString( aGraphicObjectId, RTL_TEXTENCODING_ASCII_US ) );
-
+ const ByteString aAsciiObjectID( aGraphicObjectId, RTL_TEXTENCODING_ASCII_US );
+ const GraphicObject aGrfObject( aAsciiObjectID );
if( aGrfObject.GetType() != GRAPHIC_NONE )
{
String aStreamName( aGraphicObjectId );
@@ -782,6 +782,15 @@ void SvXMLGraphicHelper::ImplInsertGraphicURL( const ::rtl::OUString& rURLStr, s
rURLPair.second = sPictures;
rURLPair.second += aStreamName;
}
+#if OSL_DEBUG_LEVEL > 0
+ else
+ {
+ ByteString sMessage = "graphic object with ID '";
+ sMessage += aAsciiObjectID;
+ sMessage += "' has an unknown type";
+ OSL_ENSURE( false, sMessage.GetBuffer() );
+ }
+#endif
}
maURLSet.insert( aURLString );
diff --git a/svx/source/xml/xmlxtexp.cxx b/svx/source/xml/xmlxtexp.cxx
index b20083cb32..b7fbea30f6 100644
--- a/svx/source/xml/xmlxtexp.cxx
+++ b/svx/source/xml/xmlxtexp.cxx
@@ -54,7 +54,7 @@
#include <com/sun/star/embed/XTransactedObject.hpp>
#include <comphelper/processfactory.hxx>
#include <unotools/streamwrap.hxx>
-#include "xmlgrhlp.hxx"
+#include "svx/xmlgrhlp.hxx"
#include "xmlxtexp.hxx"
diff --git a/svx/source/xml/xmlxtimp.cxx b/svx/source/xml/xmlxtimp.cxx
index e09093d09e..2e407b5674 100644
--- a/svx/source/xml/xmlxtimp.cxx
+++ b/svx/source/xml/xmlxtimp.cxx
@@ -60,7 +60,7 @@
#include "xmloff/ImageStyle.hxx"
#include "xmloff/MarkerStyle.hxx"
#include <xmloff/xmlictxt.hxx>
-#include "xmlgrhlp.hxx"
+#include "svx/xmlgrhlp.hxx"
#include "xmloff/attrlist.hxx"
#include "xmlxtimp.hxx"
diff --git a/svx/source/xoutdev/_xoutbmp.cxx b/svx/source/xoutdev/_xoutbmp.cxx
index 8d65c5bbba..6862f33fb7 100644
--- a/svx/source/xoutdev/_xoutbmp.cxx
+++ b/svx/source/xoutdev/_xoutbmp.cxx
@@ -38,7 +38,7 @@
#include <svl/solar.hrc>
#include <sfx2/docfile.hxx>
#include <sfx2/app.hxx>
-#include "xoutbmp.hxx"
+#include "svx/xoutbmp.hxx"
#include <svtools/FilterConfigItem.hxx>
#include <svtools/filter.hxx>
diff --git a/svx/source/xoutdev/xattr.cxx b/svx/source/xoutdev/xattr.cxx
index f69f6fd38d..c8629bc834 100644
--- a/svx/source/xoutdev/xattr.cxx
+++ b/svx/source/xoutdev/xattr.cxx
@@ -44,15 +44,15 @@
#include <editeng/memberids.hrc>
#include <tools/stream.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svl/style.hxx>
#include "unopolyhelper.hxx"
#include <tools/bigint.hxx>
#include <svl/itemset.hxx>
#include <svx/dialogs.hrc>
-#include "svdstr.hrc"
-#include "xattr.hxx"
+#include "svx/svdstr.hrc"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/dialmgr.hxx>
#include <editeng/itemtype.hxx>
diff --git a/svx/source/xoutdev/xattr2.cxx b/svx/source/xoutdev/xattr2.cxx
index d00606f4d2..36c42ee191 100644
--- a/svx/source/xoutdev/xattr2.cxx
+++ b/svx/source/xoutdev/xattr2.cxx
@@ -35,7 +35,7 @@
#include <com/sun/star/uno/Any.hxx>
#include <svx/dialogs.hrc>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/dialmgr.hxx>
#include <editeng/itemtype.hxx>
diff --git a/svx/source/xoutdev/xattrbmp.cxx b/svx/source/xoutdev/xattrbmp.cxx
index d4456fbd43..a075419bda 100644
--- a/svx/source/xoutdev/xattrbmp.cxx
+++ b/svx/source/xoutdev/xattrbmp.cxx
@@ -38,13 +38,13 @@
#include <editeng/memberids.hrc>
#include <svx/dialogs.hrc>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xtable.hxx>
#include <svx/xdef.hxx>
#include <svx/unomid.hxx>
#include <editeng/unoprnms.hxx>
-#include "unoapi.hxx"
+#include "svx/unoapi.hxx"
#include <svx/svdmodel.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
diff --git a/svx/source/xoutdev/xexch.cxx b/svx/source/xoutdev/xexch.cxx
index 6acaa4a2ca..37864850c7 100644
--- a/svx/source/xoutdev/xexch.cxx
+++ b/svx/source/xoutdev/xexch.cxx
@@ -43,7 +43,7 @@
#endif
#include <svl/itemset.hxx>
#include <svx/xdef.hxx>
-#include "xexch.hxx"
+#include "svx/xexch.hxx"
TYPEINIT1_AUTOFACTORY( XFillExchangeData, SvDataCopyStream );
diff --git a/svx/source/xoutdev/xpool.cxx b/svx/source/xoutdev/xpool.cxx
index 3c71725a72..4a2c70813d 100644
--- a/svx/source/xoutdev/xpool.cxx
+++ b/svx/source/xoutdev/xpool.cxx
@@ -29,7 +29,7 @@
#include "precompiled_svx.hxx"
#include <svx/xtable.hxx>
-#include "xattr.hxx"
+#include "svx/xattr.hxx"
#include <svx/xpool.hxx>
#include <svx/svdattr.hxx>
#include <svx/svxids.hrc>
diff --git a/svx/source/xoutdev/xtabbtmp.cxx b/svx/source/xoutdev/xtabbtmp.cxx
index efd1c2e6e1..fb82ea168b 100644
--- a/svx/source/xoutdev/xtabbtmp.cxx
+++ b/svx/source/xoutdev/xtabbtmp.cxx
@@ -31,7 +31,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include "xmlxtexp.hxx"
diff --git a/svx/source/xoutdev/xtabcolr.cxx b/svx/source/xoutdev/xtabcolr.cxx
index bcf0611bf3..3f3ccc1ccb 100644
--- a/svx/source/xoutdev/xtabcolr.cxx
+++ b/svx/source/xoutdev/xtabcolr.cxx
@@ -31,7 +31,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/pathoptions.hxx>
diff --git a/svx/source/xoutdev/xtabdash.cxx b/svx/source/xoutdev/xtabdash.cxx
index af2c095ec2..0099dd948c 100644
--- a/svx/source/xoutdev/xtabdash.cxx
+++ b/svx/source/xoutdev/xtabdash.cxx
@@ -33,7 +33,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include "xmlxtexp.hxx"
diff --git a/svx/source/xoutdev/xtabgrdt.cxx b/svx/source/xoutdev/xtabgrdt.cxx
index afe584d706..00d0a75779 100644
--- a/svx/source/xoutdev/xtabgrdt.cxx
+++ b/svx/source/xoutdev/xtabgrdt.cxx
@@ -33,7 +33,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include "xmlxtexp.hxx"
diff --git a/svx/source/xoutdev/xtabhtch.cxx b/svx/source/xoutdev/xtabhtch.cxx
index 7b65c0896f..8d1ddcf59a 100644
--- a/svx/source/xoutdev/xtabhtch.cxx
+++ b/svx/source/xoutdev/xtabhtch.cxx
@@ -33,7 +33,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include <vcl/svapp.hxx>
@@ -50,7 +50,7 @@
#include <svx/dialmgr.hxx>
#include <svx/xtable.hxx>
#include <svx/xpool.hxx>
-#include "dlgutil.hxx"
+#include "svx/dlgutil.hxx"
#include <svx/xflhtit.hxx>
#include <svx/xflclit.hxx>
#include <svx/xfillit0.hxx>
diff --git a/svx/source/xoutdev/xtablend.cxx b/svx/source/xoutdev/xtablend.cxx
index ad699750e1..f2f21efb08 100644
--- a/svx/source/xoutdev/xtablend.cxx
+++ b/svx/source/xoutdev/xtablend.cxx
@@ -33,7 +33,7 @@
#ifndef SVX_LIGHT
#include <com/sun/star/container/XNameContainer.hpp>
-#include "XPropertyTable.hxx"
+#include "svx/XPropertyTable.hxx"
#include <unotools/ucbstreamhelper.hxx>
#include "xmlxtexp.hxx"
diff --git a/svx/util/cui.dxp b/svx/util/cui.dxp
deleted file mode 100644
index cfee3729bf..0000000000
--- a/svx/util/cui.dxp
+++ /dev/null
@@ -1 +0,0 @@
-CreateDialogFactory
diff --git a/svx/util/cui.flt b/svx/util/cui.flt
deleted file mode 100644
index 8ab7afd3bf..0000000000
--- a/svx/util/cui.flt
+++ /dev/null
@@ -1,139 +0,0 @@
-lcl
-+getImplementation
-Impl
-IMPL
-START
-CharAttribList
-CharPosArray
-ContentAttribs
-ContentAttribsInfo
-ContentInfo
-ContentNode
-DeletedNodeInfo
-EditAttrib
-EditCharAttrib
-EditDbg
-EditDoc
-EditEngineItemPool
-EditHTMLParser
-EditLine
-EditNodeIdx
-EditPaM
-EditPosition
-EditRTFParser
-EditSel
-EditSpellWrapper
-EditStyleSheet
-EditUndoConnectParas
-EditUndoDelContent
-EditUndoInsertChars
-EditUndoInsertFeature
-EditUndoManager
-EditUndoMoveParagraphs
-EditUndoRemoveChars
-EditUndoRemoveFeature
-EditUndoSetAttribs
-EditUndoSetParaAttribs
-EditUndoSetStyleSheet
-EditUndoSplitPara
-GlobalEditData
-IdleFormattter
-ImpEditEngine
-ImpEditView
-InternalEditStatus
-ParaPortion
-ParagraphList
-RTFPardAttrMapIds
-RTFPlainAttrMapIds
-SelRange
-SortedPositions_SAR
-SvxACorrChars
-SvxColorList
-SvxFontTable
-SvxRTFStyleType
-SvxTabStopArr_SAR
-TextPortionList
-XEditAttrib
-XParaPortionList
-BinTextObject
-DialogsResMgr
-E3dDragMethod
-E3dTriangle
-GetImp
-ImpA
-ImpB
-ImpBrw
-ImpC
-ImpCheck
-ImpColor
-ImpD
-ImpDrag
-ImpEdCtrl
-ImpEdit
-ImpF
-+ImpGetResStr
-ImpGet
-ImpH
-ImpHide
-ImpI
-ImpItem
-ImpJ
-ImpL
-ImpList
-ImpM
-ImpMulti
-ImportInfo
-ImpP
-ImpPaint
-ImpPast
-ImpRecalc
-ImpReset
-ImpRemove
-ImpRef
-ImpReset
-ImpS
-ImpScroll
-ImpSdrGDIMetaFileImport
-ImpSet
-ImpShow
-ImpT
-ImpX
-OLUndoAttr
-OLUndoDepth
-OLUndoExpand
-OLUndoHeight
-OutlinerEditEng
-SdrGraphicLink
-SdrItemBrowser
-SdrOleLink
-SpellCache
-SvFileObject
-WrongList
-WrongRanges
-XIOCompat
-_SdrItemBrowserControl
-_SdrItemBrowserWindow
-+FmXGridControl
-+FmXGridPeer
-FmX
-FmExp
-ODatabaseForm
-WEP
-LIBMAIN
-LibMain
-??_5
-??_7
-??_8
-??_9
-??_C
-??_E
-??_F
-??_G
-??_H
-??_I
-___CT
-_alloc
-_CT
-exception::exception
-_TI2
-___CT
diff --git a/svx/util/dl.flt b/svx/util/dl.flt
deleted file mode 100644
index 8ab7afd3bf..0000000000
--- a/svx/util/dl.flt
+++ /dev/null
@@ -1,139 +0,0 @@
-lcl
-+getImplementation
-Impl
-IMPL
-START
-CharAttribList
-CharPosArray
-ContentAttribs
-ContentAttribsInfo
-ContentInfo
-ContentNode
-DeletedNodeInfo
-EditAttrib
-EditCharAttrib
-EditDbg
-EditDoc
-EditEngineItemPool
-EditHTMLParser
-EditLine
-EditNodeIdx
-EditPaM
-EditPosition
-EditRTFParser
-EditSel
-EditSpellWrapper
-EditStyleSheet
-EditUndoConnectParas
-EditUndoDelContent
-EditUndoInsertChars
-EditUndoInsertFeature
-EditUndoManager
-EditUndoMoveParagraphs
-EditUndoRemoveChars
-EditUndoRemoveFeature
-EditUndoSetAttribs
-EditUndoSetParaAttribs
-EditUndoSetStyleSheet
-EditUndoSplitPara
-GlobalEditData
-IdleFormattter
-ImpEditEngine
-ImpEditView
-InternalEditStatus
-ParaPortion
-ParagraphList
-RTFPardAttrMapIds
-RTFPlainAttrMapIds
-SelRange
-SortedPositions_SAR
-SvxACorrChars
-SvxColorList
-SvxFontTable
-SvxRTFStyleType
-SvxTabStopArr_SAR
-TextPortionList
-XEditAttrib
-XParaPortionList
-BinTextObject
-DialogsResMgr
-E3dDragMethod
-E3dTriangle
-GetImp
-ImpA
-ImpB
-ImpBrw
-ImpC
-ImpCheck
-ImpColor
-ImpD
-ImpDrag
-ImpEdCtrl
-ImpEdit
-ImpF
-+ImpGetResStr
-ImpGet
-ImpH
-ImpHide
-ImpI
-ImpItem
-ImpJ
-ImpL
-ImpList
-ImpM
-ImpMulti
-ImportInfo
-ImpP
-ImpPaint
-ImpPast
-ImpRecalc
-ImpReset
-ImpRemove
-ImpRef
-ImpReset
-ImpS
-ImpScroll
-ImpSdrGDIMetaFileImport
-ImpSet
-ImpShow
-ImpT
-ImpX
-OLUndoAttr
-OLUndoDepth
-OLUndoExpand
-OLUndoHeight
-OutlinerEditEng
-SdrGraphicLink
-SdrItemBrowser
-SdrOleLink
-SpellCache
-SvFileObject
-WrongList
-WrongRanges
-XIOCompat
-_SdrItemBrowserControl
-_SdrItemBrowserWindow
-+FmXGridControl
-+FmXGridPeer
-FmX
-FmExp
-ODatabaseForm
-WEP
-LIBMAIN
-LibMain
-??_5
-??_7
-??_8
-??_9
-??_C
-??_E
-??_F
-??_G
-??_H
-??_I
-___CT
-_alloc
-_CT
-exception::exception
-_TI2
-___CT
diff --git a/svx/util/makefile.mk b/svx/util/makefile.mk
index 18f52487e4..277581a4a7 100644
--- a/svx/util/makefile.mk
+++ b/svx/util/makefile.mk
@@ -75,30 +75,33 @@ SHL1LIBS= \
SHL1STDLIBS= \
- $(EDITENGLIB) \
- $(AVMEDIALIB) \
- $(SFX2LIB) \
- $(XMLOFFLIB) \
- $(BASEGFXLIB) \
- $(DRAWINGLAYERLIB) \
- $(LNGLIB) \
- $(BASICLIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SOTLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(I18NPAPERLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SALLIB) \
- $(ICUUCLIB)
+ $(AVMEDIALIB) \
+ $(BASEGFXLIB) \
+ $(BASICLIB) \
+ $(COMPHELPERLIB) \
+ $(CPPUHELPERLIB) \
+ $(CPPULIB) \
+ $(DRAWINGLAYERLIB) \
+ $(EDITENGLIB) \
+ $(FWELIB) \
+ $(GOODIESLIB) \
+ $(I18NISOLANGLIB) \
+ $(I18NPAPERLIB) \
+ $(ICUUCLIB) \
+ $(LNGLIB) \
+ $(SALLIB) \
+ $(SFX2LIB) \
+ $(SOTLIB) \
+ $(SVLLIB) \
+ $(SVTOOLLIB) \
+ $(TKLIB) \
+ $(TOOLSLIB) \
+ $(UCBHELPERLIB) \
+ $(UNOTOOLSLIB) \
+ $(VCLLIB) \
+ $(VOSLIB) \
+ $(XMLOFFLIB) \
+
SHL1DEF= $(MISC)$/$(SHL1TARGET).def
DEF1NAME= $(SHL1TARGET)
@@ -132,29 +135,31 @@ SHL2LIBS+=$(SLB)$/ibrwimp.lib
.ENDIF # (WIN)
SHL2STDLIBS= \
- $(EDITENGLIB) \
- $(SVXCORELIB) \
- $(SFX2LIB) \
- $(XMLOFFLIB) \
- $(BASEGFXLIB) \
- $(DRAWINGLAYERLIB) \
- $(BASICLIB) \
- $(SVTOOLLIB) \
- $(TKLIB) \
- $(VCLLIB) \
- $(SVLLIB) \
- $(SOTLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(XMLSCRIPTLIB) \
- $(COMPHELPERLIB) \
- $(UCBHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(VOSLIB) \
- $(SALLIB) \
- $(ICUUCLIB)
+ $(BASEGFXLIB) \
+ $(BASICLIB) \
+ $(COMPHELPERLIB) \
+ $(CPPUHELPERLIB) \
+ $(CPPULIB) \
+ $(DRAWINGLAYERLIB) \
+ $(EDITENGLIB) \
+ $(GOODIESLIB) \
+ $(I18NISOLANGLIB) \
+ $(ICUUCLIB) \
+ $(SALLIB) \
+ $(SFX2LIB) \
+ $(SOTLIB) \
+ $(SVLLIB) \
+ $(SVTOOLLIB) \
+ $(SVXCORELIB) \
+ $(TKLIB) \
+ $(TOOLSLIB) \
+ $(UCBHELPERLIB) \
+ $(UNOTOOLSLIB) \
+ $(VCLLIB) \
+ $(VOSLIB) \
+ $(XMLOFFLIB) \
+ $(XMLSCRIPTLIB) \
+
.IF "$(GUI)"=="WNT"
SHL2STDLIBS+=$(SHELLLIB)
@@ -185,8 +190,7 @@ SRSFILELIST=\
$(SRS)$/unodraw.srs \
$(SRS)$/accessibility.srs \
$(SRS)$/table.srs \
- $(SRS)$/toolbars.srs \
- $(SOLARCOMMONRESDIR)$/sfx.srs
+ $(SRS)$/toolbars.srs
RESLIB1NAME=svx
RESLIB1IMAGES=$(PRJ)$/res $(PRJ)$/source/svdraw
diff --git a/svx/util/svx.flt b/svx/util/svx.flt
deleted file mode 100644
index 26520493b8..0000000000
--- a/svx/util/svx.flt
+++ /dev/null
@@ -1,134 +0,0 @@
-lcl
-+getImplementation
-Impl
-IMPL
-START
-CharAttribList
-CharPosArray
-ContentAttribs
-ContentAttribsInfo
-ContentInfo
-ContentNode
-DeletedNodeInfo
-EditAttrib
-EditCharAttrib
-EditDbg
-EditDoc
-EditEngineItemPool
-EditHTMLParser
-EditLine
-EditNodeIdx
-EditPaM
-EditPosition
-EditRTFParser
-EditSel
-EditSpellWrapper
-EditStyleSheet
-EditUndoConnectParas
-EditUndoDelContent
-EditUndoInsertChars
-EditUndoInsertFeature
-EditUndoManager
-EditUndoMoveParagraphs
-EditUndoRemoveChars
-EditUndoRemoveFeature
-EditUndoSetAttribs
-EditUndoSetParaAttribs
-EditUndoSetStyleSheet
-EditUndoSplitPara
-GlobalEditData
-IdleFormattter
-ImpEditEngine
-ImpEditView
-InternalEditStatus
-ParaPortion
-ParagraphList
-RTFPardAttrMapIds
-RTFPlainAttrMapIds
-SelRange
-SortedPositions_SAR
-SvxACorrChars
-SvxColorList
-SvxFontTable
-SvxRTFStyleType
-SvxTabStopArr_SAR
-TextPortionList
-XEditAttrib
-XParaPortionList
-BinTextObject
-E3dDragMethod
-E3dTriangle
-GetImp
-ImpA
-ImpB
-ImpBrw
-ImpC
-ImpCheck
-ImpColor
-ImpD
-ImpDrag
-ImpEdCtrl
-ImpEdit
-ImpF
-ImpGet
-ImpH
-ImpHide
-ImpI
-ImpItem
-ImpJ
-ImpL
-ImpList
-ImpM
-ImpMulti
-ImportInfo
-ImpP
-ImpPaint
-ImpPast
-ImpRecalc
-ImpReset
-ImpRemove
-ImpRef
-ImpReset
-ImpS
-ImpScroll
-ImpSdrGDIMetaFileImport
-ImpSet
-ImpShow
-ImpT
-ImpX
-OLUndoAttr
-OLUndoDepth
-OLUndoExpand
-OLUndoHeight
-OutlinerEditEng
-SdrGraphicLink
-SdrItemBrowser
-SdrOleLink
-SpellCache
-SvFileObject
-WrongList
-WrongRanges
-XIOCompat
-_SdrItemBrowserControl
-_SdrItemBrowserWindow
-+FmXGridPeer
-+FmXGridControl
-FmX
-FmExp
-ODatabaseForm
-WEP
-LIBMAIN
-LibMain
-??_5
-??_7
-??_8
-??_9
-??_C
-??_E
-??_F
-??_G
-??_H
-??_I
-__CT
-union_impl
-alternative
diff --git a/sysui/desktop/macosx/makefile.mk b/sysui/desktop/macosx/makefile.mk
index 059b3b87bb..654ac5579d 100644
--- a/sysui/desktop/macosx/makefile.mk
+++ b/sysui/desktop/macosx/makefile.mk
@@ -64,8 +64,11 @@ ULFDIR:=..$/share
.INCLUDE : target.mk
+.IF "$(ZIP1TARGETN)"!=""
ZIP1TARGETN : Info.plist extract_icons_names.pl
+.ENDIF # "$(ZIP1TARGETN)"!=""
+
ALLTAR : $(COMMONMISC)$/{PkgInfo Info.plist} $(COMMONBIN)$/InfoPlist_{$(alllangiso)}.zip
$(COMMONMISC)$/PkgInfo :
diff --git a/ucb/prj/build.lst b/ucb/prj/build.lst
index 8d8c87f3ae..6f2d146aab 100644
--- a/ucb/prj/build.lst
+++ b/ucb/prj/build.lst
@@ -1,4 +1,4 @@
-uc ucb : cppuhelper CURL:curl OPENSSL:openssl NEON:neon LIBXML2:libxml2 offapi sal salhelper ucbhelper udkapi comphelper tools NULL
+uc ucb : cppuhelper CURL:curl OPENSSL:openssl NEON:neon LIBXML2:libxml2 LIBXSLT:libxslt offapi sal salhelper ucbhelper udkapi comphelper tools NULL
uc ucb usr1 - all uc_mkout NULL
uc ucb\inc nmake - all uc_inc NULL
uc ucb\source\regexp nmake - all uc_regexp uc_inc NULL
diff --git a/ucb/source/ucp/file/shell.cxx b/ucb/source/ucp/file/shell.cxx
index c0ce3bebad..52f88a4807 100644
--- a/ucb/source/ucp/file/shell.cxx
+++ b/ucb/source/ucp/file/shell.cxx
@@ -1805,14 +1805,26 @@ shell::write( sal_Int32 CommandId,
{
aFile.close();
err = aFile.open( OpenFlag_Write );
- }
- if( err != osl::FileBase::E_None )
- {
- installError( CommandId,
- TASKHANDLING_NO_OPEN_FILE_FOR_OVERWRITE,
- err );
- return sal_False;
+ if( err != osl::FileBase::E_None )
+ {
+ installError( CommandId,
+ TASKHANDLING_NO_OPEN_FILE_FOR_OVERWRITE,
+ err );
+ return sal_False;
+ }
+
+ // the existing file was just opened and should be overwritten now,
+ // truncate it first
+
+ err = aFile.setSize( 0 );
+ if( err != osl::FileBase::E_None )
+ {
+ installError( CommandId,
+ TASKHANDLING_FILESIZE_FOR_WRITE,
+ err );
+ return sal_False;
+ }
}
}
else
@@ -1844,7 +1856,6 @@ shell::write( sal_Int32 CommandId,
sal_Bool bSuccess = sal_True;
- sal_uInt64 nTotalNumberOfBytes = 0;
sal_uInt64 nWrittenBytes;
sal_Int32 nReadBytes = 0, nRequestedBytes = 32768 /*32k*/;
uno::Sequence< sal_Int8 > seq( nRequestedBytes );
@@ -1901,20 +1912,9 @@ shell::write( sal_Int32 CommandId,
bSuccess = sal_False;
break;
}
-
- nTotalNumberOfBytes += nWrittenBytes;
}
} while( nReadBytes == nRequestedBytes );
- err = aFile.setSize( nTotalNumberOfBytes );
- if( err != osl::FileBase::E_None )
- {
- installError( CommandId,
- TASKHANDLING_FILESIZE_FOR_WRITE,
- err );
- bSuccess = sal_False;
- }
-
err = aFile.close();
if( err != osl::FileBase::E_None )
{
diff --git a/ucb/source/ucp/webdav/LinkSequence.cxx b/ucb/source/ucp/webdav/LinkSequence.cxx
index 1d33216b4d..31ec14ba0a 100644
--- a/ucb/source/ucp/webdav/LinkSequence.cxx
+++ b/ucb/source/ucp/webdav/LinkSequence.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -168,11 +168,7 @@ bool LinkSequence::createFromXML( const rtl::OString & rInData,
rInData.getStr() + nStart,
nEnd - nStart + TOKEN_LENGTH );
-#if NEON_VERSION >= 0x0250
success = !ne_xml_failed( parser );
-#else
- success = !!ne_xml_valid( parser );
-#endif
ne_xml_destroy( parser );
diff --git a/ucb/source/ucp/webdav/LockEntrySequence.cxx b/ucb/source/ucp/webdav/LockEntrySequence.cxx
index 8ed838d720..1e577a4798 100644
--- a/ucb/source/ucp/webdav/LockEntrySequence.cxx
+++ b/ucb/source/ucp/webdav/LockEntrySequence.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -215,11 +215,7 @@ bool LockEntrySequence::createFromXML( const rtl::OString & rInData,
rInData.getStr() + nStart,
nEnd - nStart + TOKEN_LENGTH );
-#if NEON_VERSION >= 0x0250
success = !ne_xml_failed( parser );
-#else
- success = !!ne_xml_valid( parser );
-#endif
ne_xml_destroy( parser );
diff --git a/ucb/source/ucp/webdav/LockSequence.cxx b/ucb/source/ucp/webdav/LockSequence.cxx
index 2c51d5ce1f..f95badaf19 100644
--- a/ucb/source/ucp/webdav/LockSequence.cxx
+++ b/ucb/source/ucp/webdav/LockSequence.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -35,6 +35,8 @@
using namespace webdav_ucp;
using namespace com::sun::star;
+#define BEEHIVE_BUGS_WORKAROUND
+
//////////////////////////////////////////////////////////////////////////
struct LockSequenceParseContext
@@ -128,7 +130,11 @@ extern "C" int LockSequence_startelement_callback(
extern "C" int LockSequence_chardata_callback(
void *userdata,
int state,
+#ifdef BEEHIVE_BUGS_WORKAROUND
+ const char *buf1,
+#else
const char *buf,
+#endif
size_t len )
{
LockSequenceParseContext * pCtx
@@ -136,6 +142,15 @@ extern "C" int LockSequence_chardata_callback(
if ( !pCtx->pLock )
pCtx->pLock = new ucb::Lock;
+#ifdef BEEHIVE_BUGS_WORKAROUND
+ // Beehive sends XML values containing trailing newlines.
+ if ( buf1[ len - 1 ] == 0x0a )
+ len--;
+
+ char * buf = new char[ len + 1 ]();
+ strncpy( buf, buf1, len );
+#endif
+
switch ( state )
{
case STATE_DEPTH:
@@ -207,7 +222,7 @@ extern "C" int LockSequence_chardata_callback(
pCtx->pLock->Timeout = sal_Int64( -1 );
pCtx->hasTimeout = true;
OSL_ENSURE( sal_False,
- "LockSequence_chardata_callback - Unknown timeout!" );
+ "LockSequence_chardata_callback - Unknown timeout!" );
}
break;
@@ -223,6 +238,11 @@ extern "C" int LockSequence_chardata_callback(
}
}
+
+#ifdef BEEHIVE_BUGS_WORKAROUND
+ delete [] buf;
+#endif
+
return 0; // zero to continue, non-zero to abort parsing
}
@@ -323,11 +343,7 @@ bool LockSequence::createFromXML( const rtl::OString & rInData,
rInData.getStr() + nStart,
nEnd - nStart + TOKEN_LENGTH );
-#if NEON_VERSION >= 0x0250
success = !ne_xml_failed( parser );
-#else
- success = !!ne_xml_valid( parser );
-#endif
ne_xml_destroy( parser );
diff --git a/ucb/source/ucp/webdav/NeonHeadRequest.cxx b/ucb/source/ucp/webdav/NeonHeadRequest.cxx
index 4b29afae5a..1e5294882a 100644
--- a/ucb/source/ucp/webdav/NeonHeadRequest.cxx
+++ b/ucb/source/ucp/webdav/NeonHeadRequest.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -37,16 +37,15 @@ using namespace com::sun::star;
namespace {
-#if NEON_VERSION >= 0x0250
-void process_headers(ne_request *req,
- DAVResource &rResource,
- const std::vector< ::rtl::OUString > &rHeaderNames)
+void process_headers( ne_request * req,
+ DAVResource & rResource,
+ const std::vector< ::rtl::OUString > & rHeaderNames )
{
- void *cursor = NULL;
- const char *name, *value;
+ void * cursor = NULL;
+ const char * name, *value;
- while ((cursor = ne_response_header_iterate(req, cursor,
- &name, &value)) != NULL) {
+ while ( ( cursor = ne_response_header_iterate( req, cursor,
+ &name, &value ) ) != NULL ) {
rtl::OUString aHeaderName( rtl::OUString::createFromAscii( name ) );
rtl::OUString aHeaderValue( rtl::OUString::createFromAscii( value ) );
@@ -86,69 +85,6 @@ void process_headers(ne_request *req,
}
}
}
-#else
-struct NeonHeadRequestContext
-{
- DAVResource * pResource;
- const std::vector< ::rtl::OUString > * pHeaderNames;
-
- NeonHeadRequestContext( DAVResource * p,
- const std::vector< ::rtl::OUString > * pHeaders )
- : pResource( p ), pHeaderNames( pHeaders ) {}
-};
-
-extern "C" void NHR_ResponseHeaderCatcher( void * userdata,
- const char * value )
-{
- rtl::OUString aHeader( rtl::OUString::createFromAscii( value ) );
- sal_Int32 nPos = aHeader.indexOf( ':' );
-
- if ( nPos != -1 )
- {
- rtl::OUString aHeaderName( aHeader.copy( 0, nPos ) );
-
- NeonHeadRequestContext * pCtx
- = static_cast< NeonHeadRequestContext * >( userdata );
-
- // Note: Empty vector means that all headers are requested.
- bool bIncludeIt = ( pCtx->pHeaderNames->size() == 0 );
-
- if ( !bIncludeIt )
- {
- // Check whether this header was requested.
- std::vector< ::rtl::OUString >::const_iterator it(
- pCtx->pHeaderNames->begin() );
- const std::vector< ::rtl::OUString >::const_iterator end(
- pCtx->pHeaderNames->end() );
-
- while ( it != end )
- {
- if ( (*it) == aHeaderName )
- break;
-
- ++it;
- }
-
- if ( it != end )
- bIncludeIt = true;
- }
-
- if ( bIncludeIt )
- {
- // Create & set the PropertyValue
- DAVPropertyValue thePropertyValue;
- thePropertyValue.Name = aHeaderName;
- thePropertyValue.IsCaseSensitive = false;
-
- if ( nPos < aHeader.getLength() )
- thePropertyValue.Value <<= aHeader.copy( nPos + 1 ).trim();
-
- // Add the newly created PropertyValue
- pCtx->pResource->properties.push_back( thePropertyValue );
- }
- }
-}
-#endif
} // namespace
@@ -156,7 +92,7 @@ extern "C" void NHR_ResponseHeaderCatcher( void * userdata,
// Constructor
// -------------------------------------------------------------------
-NeonHeadRequest::NeonHeadRequest( HttpSession* inSession,
+NeonHeadRequest::NeonHeadRequest( HttpSession * inSession,
const rtl::OUString & inPath,
const std::vector< ::rtl::OUString > &
inHeaderNames,
@@ -174,16 +110,9 @@ NeonHeadRequest::NeonHeadRequest( HttpSession* inSession,
inPath,
RTL_TEXTENCODING_UTF8 ) );
-#if NEON_VERSION < 0x0250
- NeonHeadRequestContext aCtx( &ioResource, &inHeaderNames );
- ne_add_response_header_catcher( req, NHR_ResponseHeaderCatcher, &aCtx );
-#endif
-
nError = ne_request_dispatch( req );
-#if NEON_VERSION >= 0x0250
- process_headers(req, ioResource, inHeaderNames);
-#endif
+ process_headers( req, ioResource, inHeaderNames );
if ( nError == NE_OK && ne_get_status( req )->klass != 2 )
nError = NE_ERROR;
diff --git a/ucb/source/ucp/webdav/NeonPropFindRequest.cxx b/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
index 172e43511b..f794516d20 100644
--- a/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
+++ b/ucb/source/ucp/webdav/NeonPropFindRequest.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -191,22 +191,13 @@ extern "C" int NPFR_propfind_iter( void* userdata,
// -------------------------------------------------------------------
extern "C" void NPFR_propfind_results( void* userdata,
-#if NEON_VERSION >= 0x0260
const ne_uri* uri,
-#else
- const char* href,
-#endif
const NeonPropFindResultSet* set )
{
// @@@ href is not the uri! DAVResource ctor wants uri!
-#if NEON_VERSION >= 0x0260
DAVResource theResource(
OStringToOUString( uri->path, RTL_TEXTENCODING_UTF8 ) );
-#else
- DAVResource theResource(
- OStringToOUString( href, RTL_TEXTENCODING_UTF8 ) );
-#endif
ne_propset_iterate( set, NPFR_propfind_iter, &theResource );
@@ -233,22 +224,13 @@ extern "C" int NPFR_propnames_iter( void* userdata,
// -------------------------------------------------------------------
extern "C" void NPFR_propnames_results( void* userdata,
-#if NEON_VERSION >= 0x0260
const ne_uri* uri,
-#else
- const char* href,
-#endif
const NeonPropFindResultSet* results )
{
// @@@ href is not the uri! DAVResourceInfo ctor wants uri!
// Create entry for the resource.
-#if NEON_VERSION >= 0x0260
DAVResourceInfo theResource(
OStringToOUString( uri->path, RTL_TEXTENCODING_UTF8 ) );
-#else
- DAVResourceInfo theResource(
- OStringToOUString( href, RTL_TEXTENCODING_UTF8 ) );
-#endif
// Fill entry.
ne_propset_iterate( results, NPFR_propnames_iter, &theResource );
diff --git a/ucb/source/ucp/webdav/NeonSession.cxx b/ucb/source/ucp/webdav/NeonSession.cxx
index 254fae5469..dca92a040a 100644
--- a/ucb/source/ucp/webdav/NeonSession.cxx
+++ b/ucb/source/ucp/webdav/NeonSession.cxx
@@ -184,11 +184,7 @@ struct NeonRequestContext
// A simple Neon response_block_reader for use with an XInputStream
// -------------------------------------------------------------------
-#if NEON_VERSION >= 0x0250
extern "C" int NeonSession_ResponseBlockReader(void * inUserData,
-#else
-extern "C" void NeonSession_ResponseBlockReader(void * inUserData,
-#endif
const char * inBuf,
size_t inLen )
{
@@ -204,9 +200,7 @@ extern "C" void NeonSession_ResponseBlockReader(void * inUserData,
if ( xInputStream.is() )
xInputStream->AddToStream( inBuf, inLen );
}
-#if NEON_VERSION >= 0x0250
return 0;
-#endif
}
// -------------------------------------------------------------------
@@ -214,11 +208,7 @@ extern "C" void NeonSession_ResponseBlockReader(void * inUserData,
// A simple Neon response_block_reader for use with an XOutputStream
// -------------------------------------------------------------------
-#if NEON_VERSION >= 0x0250
extern "C" int NeonSession_ResponseBlockWriter( void * inUserData,
-#else
-extern "C" void NeonSession_ResponseBlockWriter( void * inUserData,
-#endif
const char * inBuf,
size_t inLen )
{
@@ -236,9 +226,7 @@ extern "C" void NeonSession_ResponseBlockWriter( void * inUserData,
xOutputStream->writeBytes( aSeq );
}
}
-#if NEON_VERSION >= 0x0250
return 0;
-#endif
}
// -------------------------------------------------------------------
@@ -1926,17 +1914,11 @@ int NeonSession::GET( ne_session * sess,
void *cursor = NULL;
const char *name, *value;
-#if NEON_VERSION < 0x0250
- if ( getheaders )
- ne_add_response_header_catcher(
- req, runResponseHeaderHandler, userdata );
-#endif
ne_decompress * dc
= ne_decompress_reader( req, ne_accept_2xx, reader, userdata );
ret = ne_request_dispatch( req );
-#if NEON_VERSION >= 0x0250
if ( getheaders )
{
while ( ( cursor = ne_response_header_iterate(
@@ -1948,7 +1930,7 @@ int NeonSession::GET( ne_session * sess,
runResponseHeaderHandler(userdata, buffer);
}
}
-#endif
+
if ( ret == NE_OK && ne_get_status( req )->klass != 2 )
ret = NE_ERROR;
diff --git a/ucb/source/ucp/webdav/NeonUri.cxx b/ucb/source/ucp/webdav/NeonUri.cxx
index 85b9d1fbfe..27f24c6311 100644
--- a/ucb/source/ucp/webdav/NeonUri.cxx
+++ b/ucb/source/ucp/webdav/NeonUri.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -59,36 +59,24 @@ using namespace webdav_ucp;
namespace {
const ne_uri g_sUriDefaultsHTTP = { "http",
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
DEFAULT_HTTP_PORT,
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
NULL };
const ne_uri g_sUriDefaultsHTTPS = { "https",
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
DEFAULT_HTTPS_PORT,
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
NULL };
const ne_uri g_sUriDefaultsFTP = { "ftp",
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
DEFAULT_FTP_PORT,
-#if NEON_VERSION >= 0x0260
NULL,
-#endif
NULL,
NULL };
} // namespace
@@ -174,11 +162,7 @@ void NeonUri::init( const rtl::OString & rUri, const ne_uri * pUri )
pUri->scheme ? pUri->scheme : pUriDefs->scheme,
RTL_TEXTENCODING_UTF8 );
mUserInfo = rtl::OStringToOUString(
-#if NEON_VERSION >= 0x0260
pUri->userinfo ? pUri->userinfo : pUriDefs->userinfo,
-#else
- pUri->authinfo ? pUri->authinfo : pUriDefs->authinfo,
-#endif
RTL_TEXTENCODING_UTF8 );
mHostName = rtl::OStringToOUString(
pUri->host ? pUri->host : pUriDefs->host,
@@ -188,7 +172,6 @@ void NeonUri::init( const rtl::OString & rUri, const ne_uri * pUri )
pUri->path ? pUri->path : pUriDefs->path,
RTL_TEXTENCODING_UTF8 );
-#if NEON_VERSION >= 0x0260
if ( pUri->query )
{
mPath += rtl::OUString::createFromAscii( "?" );
@@ -202,7 +185,6 @@ void NeonUri::init( const rtl::OString & rUri, const ne_uri * pUri )
mPath += rtl::OStringToOUString(
pUri->fragment, RTL_TEXTENCODING_UTF8 );
}
-#endif
}
// -------------------------------------------------------------------
diff --git a/ucb/source/ucp/webdav/UCBDeadPropertyValue.cxx b/ucb/source/ucp/webdav/UCBDeadPropertyValue.cxx
index f9a36d3113..42f30c665b 100644
--- a/ucb/source/ucp/webdav/UCBDeadPropertyValue.cxx
+++ b/ucb/source/ucp/webdav/UCBDeadPropertyValue.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -373,11 +373,7 @@ bool UCBDeadPropertyValue::createFromXML( const rtl::OString & rInData,
ne_xml_parse( parser, rInData.getStr(), rInData.getLength() );
-#if NEON_VERSION >= 0x0250
success = !ne_xml_failed( parser );
-#else
- success = !!ne_xml_valid( parser );
-#endif
ne_xml_destroy( parser );
diff --git a/ucb/source/ucp/webdav/webdavcontent.cxx b/ucb/source/ucp/webdav/webdavcontent.cxx
index c4aab34aa2..c58ba20719 100644
--- a/ucb/source/ucp/webdav/webdavcontent.cxx
+++ b/ucb/source/ucp/webdav/webdavcontent.cxx
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -1183,7 +1183,7 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
std::auto_ptr< ContentProperties > xProps;
std::auto_ptr< ContentProperties > xCachedProps;
std::auto_ptr< DAVResourceAccess > xResAccess;
- rtl::OUString aEscapedTitle;
+ rtl::OUString aUnescapedTitle;
bool bHasAll = false;
uno::Reference< lang::XMultiServiceFactory > xSMgr;
uno::Reference< ucb::XContentIdentifier > xIdentifier;
@@ -1192,7 +1192,7 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
{
osl::Guard< osl::Mutex > aGuard( m_aMutex );
- aEscapedTitle = NeonUri::unescape( m_aEscapedTitle );
+ aUnescapedTitle = NeonUri::unescape( m_aEscapedTitle );
xSMgr.set( m_xSMgr );
xIdentifier.set( m_xIdentifier );
xProvider.set( m_xProvider.get() );
@@ -1365,7 +1365,7 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
if ( m_eResourceType == NON_DAV )
xProps->addProperties( aMissingProps,
ContentProperties(
- aEscapedTitle,
+ aUnescapedTitle,
false ) );
}
catch ( DAVException const & e )
@@ -1386,32 +1386,33 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
// might trigger HTTP redirect.
// Therefore, title must be updated here.
NeonUri aUri( xResAccess->getURL() );
- aEscapedTitle = aUri.GetPathBaseName();
+ aUnescapedTitle = aUri.GetPathBaseNameUnescaped();
- if ( UNKNOWN == rType )
+ if ( rType == UNKNOWN )
{
- xProps.reset( new ContentProperties( aEscapedTitle ) );
+ xProps.reset( new ContentProperties( aUnescapedTitle ) );
}
// For DAV resources we only know the Title, for non-DAV
// resources we additionally know that it is a document.
- if ( DAV == rType )
+
+ if ( rType == DAV )
{
//xProps.reset(
- // new ContentProperties( aEscapedTitle ) );
+ // new ContentProperties( aUnescapedTitle ) );
xProps->addProperty(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
- uno::makeAny( aEscapedTitle ),
+ uno::makeAny( aUnescapedTitle ),
true );
}
else
{
if ( !xProps.get() )
- xProps.reset( new ContentProperties( aEscapedTitle, false ) );
+ xProps.reset( new ContentProperties( aUnescapedTitle, false ) );
else
xProps->addProperty(
rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
- uno::makeAny( aEscapedTitle ),
+ uno::makeAny( aUnescapedTitle ),
true );
xProps->addProperty(
@@ -1429,7 +1430,7 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
// No server access for just created (not yet committed) objects.
// Only a minimal set of properties supported at this stage.
if (m_bTransient)
- xProps.reset( new ContentProperties( aEscapedTitle,
+ xProps.reset( new ContentProperties( aUnescapedTitle,
m_bCollection ) );
}
@@ -1480,7 +1481,7 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
m_xCachedProps->addProperties( *xProps.get() );
m_xResAccess.reset( new DAVResourceAccess( *xResAccess.get() ) );
- m_aEscapedTitle = aEscapedTitle;
+ m_aEscapedTitle = NeonUri::escapeSegment( aUnescapedTitle );
}
return xResultRow;
@@ -2947,6 +2948,20 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
// Map DAVException...
uno::Any aException;
+ rtl::OUString aURL;
+ if ( m_bTransient )
+ {
+ aURL = getParentURL();
+ if ( aURL.lastIndexOf( '/' ) != ( aURL.getLength() - 1 ) )
+ aURL += rtl::OUString::createFromAscii( "/" );
+
+ aURL += m_aEscapedTitle;
+ }
+ else
+ {
+ aURL = m_xIdentifier->getContentIdentifier();
+ }
+
switch ( e.getStatus() )
{
case SC_NOT_FOUND:
@@ -2954,7 +2969,7 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
uno::Sequence< uno::Any > aArgs( 1 );
aArgs[ 0 ] <<= beans::PropertyValue(
rtl::OUString::createFromAscii("Uri"), -1,
- uno::makeAny(m_xIdentifier->getContentIdentifier()),
+ uno::makeAny(aURL),
beans::PropertyState_DIRECT_VALUE);
aException <<=
@@ -3044,14 +3059,14 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
rtl::OUString::createFromAscii( "Locked!" ),
static_cast< cppu::OWeakObject * >( this ),
task::InteractionClassification_ERROR,
- m_xIdentifier->getContentIdentifier(),
- sal_True );
+ aURL,
+ sal_False ); // not SelfOwned
#else
{
uno::Sequence< uno::Any > aArgs( 1 );
aArgs[ 0 ] <<= beans::PropertyValue(
rtl::OUString::createFromAscii("Uri"), -1,
- uno::makeAny(m_xIdentifier->getContentIdentifier()),
+ uno::makeAny(aURL),
beans::PropertyState_DIRECT_VALUE);
aException <<=
@@ -3071,8 +3086,8 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
rtl::OUString::createFromAscii( "Locked (self)!" ),
static_cast< cppu::OWeakObject * >( this ),
task::InteractionClassification_ERROR,
- m_xIdentifier->getContentIdentifier(),
- sal_True );
+ aURL,
+ sal_True ); // SelfOwned
break;
case DAVException::DAV_NOT_LOCKED:
@@ -3081,7 +3096,7 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
rtl::OUString::createFromAscii( "Not locked!" ),
static_cast< cppu::OWeakObject * >( this ),
task::InteractionClassification_ERROR,
- m_xIdentifier->getContentIdentifier() );
+ aURL );
break;
case DAVException::DAV_LOCK_EXPIRED:
@@ -3090,7 +3105,7 @@ uno::Any Content::MapDAVException( const DAVException & e, sal_Bool bWrite )
rtl::OUString::createFromAscii( "Lock expired!" ),
static_cast< cppu::OWeakObject * >( this ),
task::InteractionClassification_ERROR,
- m_xIdentifier->getContentIdentifier() );
+ aURL );
break;
default:
diff --git a/uui/prj/build.lst b/uui/prj/build.lst
index dbe31cb1b5..6816f8416b 100644
--- a/uui/prj/build.lst
+++ b/uui/prj/build.lst
@@ -1,4 +1,4 @@
-uu uui : l10n vcl svtools NULL
+uu uui : l10n vcl svtools LIBXSLT:libxslt NULL
uu uui usr1 - all uu_mkout NULL
uu uui\source nmake - all uu_source NULL
uu uui\util nmake - all uu_util uu_source NULL
diff --git a/uui/source/filechanged.src b/uui/source/filechanged.src
index b566f6344b..d538d6c445 100644
--- a/uui/source/filechanged.src
+++ b/uui/source/filechanged.src
@@ -33,7 +33,7 @@
String STR_FILECHANGED_TITLE
{
- Text = "Document Has Been Changed by Others";
+ Text [ en-US ] = "Document Has Been Changed by Others";
};
String STR_FILECHANGED_MSG
{
diff --git a/uui/source/sslwarndlg.src b/uui/source/sslwarndlg.src
index 934a35faca..cbcdeef3a8 100644
--- a/uui/source/sslwarndlg.src
+++ b/uui/source/sslwarndlg.src
@@ -1,7 +1,7 @@
/*************************************************************************
*
* 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
@@ -41,7 +41,6 @@ ModalDialog DLG_UUI_SSLWARN
Moveable = TRUE ;
OutputSize = TRUE ;
SVLook = TRUE ;
- Pos = MAP_APPFONT( 221, 158 );
Size = MAP_APPFONT( DLG_WIDTH, DLG_HEIGHT );
Text [ en-US ] = "Security Warning: ";
@@ -90,15 +89,15 @@ ModalDialog DLG_UUI_SSLWARN
{
Pos = MAP_APPFONT( RSC_SP_DLG_INNERBORDER_LEFT, RSC_SP_DLG_INNERBORDER_TOP );
Size = MAP_APPFONT( DLG_WARMIMG_WIDTH , DLG_WARMIMG_HEIGHT );
-
+
Fixed = Image
{
/* ImageBitmap = Bitmap { File = "certificate_40x56.png"; }; */
MaskColor = Color{Red=0xffff;Green=0x0000;Blue=0xffff;};
};
-
+
};
-
+
FixedLine FL_LINE
{
Pos = MAP_APPFONT( 0, DLG_CTLBTN_START_Y - RSC_SP_FLGR_INNERBORDER_TOP - RSC_CD_FIXEDLINE_HEIGHT );
diff --git a/vbahelper/inc/vbahelper/vbadocumentsbase.hxx b/vbahelper/inc/vbahelper/vbadocumentsbase.hxx
index 82f9ead18d..3a5c0f48f0 100644
--- a/vbahelper/inc/vbahelper/vbadocumentsbase.hxx
+++ b/vbahelper/inc/vbahelper/vbadocumentsbase.hxx
@@ -57,10 +57,10 @@ public:
// VbaDocumentsBase_BASE
virtual css::uno::Any createCollectionObject( const css::uno::Any& aSource ) = 0;
- // XDocumentsBase
- virtual css::uno::Any SAL_CALL Add() throw (css::uno::RuntimeException);
- virtual void SAL_CALL Close( ) throw (css::uno::RuntimeException);
- virtual css::uno::Any SAL_CALL Open( const ::rtl::OUString& Filename, const css::uno::Any& ReadOnly, const css::uno::Sequence< css::beans::PropertyValue >& rProps ) throw (css::uno::RuntimeException);
+protected:
+ css::uno::Any createDocument() throw (css::uno::RuntimeException);
+ void closeDocuments() throw (css::uno::RuntimeException);
+ css::uno::Any openDocument( const ::rtl::OUString& Filename, const css::uno::Any& ReadOnly, const css::uno::Sequence< css::beans::PropertyValue >& rProps ) throw (css::uno::RuntimeException);
};
#endif /* SC_VBA_WORKBOOKS_HXX */
diff --git a/vbahelper/inc/vbahelper/vbaeventshelperbase.hxx b/vbahelper/inc/vbahelper/vbaeventshelperbase.hxx
index b0dd184c1a..c328e316ff 100755
--- a/vbahelper/inc/vbahelper/vbaeventshelperbase.hxx
+++ b/vbahelper/inc/vbahelper/vbaeventshelperbase.hxx
@@ -58,6 +58,17 @@ public:
// XEventListener
virtual void SAL_CALL disposing( const css::lang::EventObject& aSource ) throw (css::uno::RuntimeException);
+ // little helpers ---------------------------------------------------------
+
+ /** Throws, if the passed sequence does not contain a value at the specified index. */
+ static inline void checkArgument( const css::uno::Sequence< css::uno::Any >& rArgs, sal_Int32 nIndex ) throw (css::lang::IllegalArgumentException)
+ { if( (nIndex < 0) || (nIndex >= rArgs.getLength()) ) throw css::lang::IllegalArgumentException(); }
+
+ /** Throws, if the passed sequence does not contain a value of a specific at the specified index. */
+ template< typename Type >
+ static inline void checkArgumentType( const css::uno::Sequence< css::uno::Any >& rArgs, sal_Int32 nIndex ) throw (css::lang::IllegalArgumentException)
+ { checkArgument( rArgs, nIndex ); if( !rArgs[ nIndex ].has< Type >() ) throw css::lang::IllegalArgumentException(); }
+
protected:
// ------------------------------------------------------------------------
@@ -73,7 +84,7 @@ protected:
/** Registers a supported event handler.
- @param nEventId Event identifier from com.sun.star.script.vba.EventIdentifier.
+ @param nEventId Event identifier from com.sun.star.script.vba.VBAEventId.
@param pcMacroName Name of the associated VBA event handler macro.
@param eType Document event or global event.
@param nCancelIndex 0-based index of Cancel parameter, or -1.
@@ -85,15 +96,6 @@ protected:
sal_Int32 nCancelIndex = -1,
const css::uno::Any& rUserData = css::uno::Any() );
- /** Throws, if the passed sequence does not contain a value at the specified index. */
- static inline void checkArgument( const css::uno::Sequence< css::uno::Any >& rArgs, sal_Int32 nIndex ) throw (css::lang::IllegalArgumentException)
- { if( rArgs.getLength() <= nIndex ) throw css::lang::IllegalArgumentException(); }
-
- /** Throws, if the passed sequence does not contain a value of a specific at the specified index. */
- template< typename Type >
- static inline void checkArgumentType( const css::uno::Sequence< css::uno::Any >& rArgs, sal_Int32 nIndex ) throw (css::lang::IllegalArgumentException)
- { if( (rArgs.getLength() <= nIndex) || !rArgs[ nIndex ].has< Type >() ) throw css::lang::IllegalArgumentException(); }
-
// ------------------------------------------------------------------------
struct EventQueueEntry
@@ -105,10 +107,6 @@ protected:
};
typedef ::std::deque< EventQueueEntry > EventQueue;
- /** Derived classes return whether event processing is enabled. Throws if
- the instance is in an invalid state. */
- virtual bool implEventsEnabled() throw (css::uno::RuntimeException) = 0;
-
/** Derived classes do additional prpeparations and return whether the
event handler has to be called. */
virtual bool implPrepareEvent(
diff --git a/vbahelper/inc/vbahelper/vbahelper.hxx b/vbahelper/inc/vbahelper/vbahelper.hxx
index 77c5338442..4a73ec2e03 100644
--- a/vbahelper/inc/vbahelper/vbahelper.hxx
+++ b/vbahelper/inc/vbahelper/vbahelper.hxx
@@ -194,11 +194,8 @@ public:
#define VBA_WIDTH "Width"
class VBAHELPER_DLLPUBLIC UserFormGeometryHelper : public AbstractGeometryAttributes
{
- css::uno::Reference< css::awt::XUnitConversion > mxControlUnits;
- css::uno::Reference< css::beans::XPropertySet > mxModel;
-
- sal_Int32 ConvertLogicToPixel( sal_Int32 nValue, sal_Bool bIsPoint, sal_Bool bIsX, sal_Int16 nSourceUnit );
- sal_Int32 ConvertPixelToLogic( sal_Int32 nValue, sal_Bool bIsPoint, sal_Bool bIsX, sal_Int16 nTargetUnit );
+ css::uno::Reference< css::awt::XWindow > mxWindow;
+ sal_Bool mbDialog;
public:
UserFormGeometryHelper( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::awt::XControl >& xControl );
diff --git a/vbahelper/prj/build.lst b/vbahelper/prj/build.lst
index 20001db859..0fadb0c946 100644
--- a/vbahelper/prj/build.lst
+++ b/vbahelper/prj/build.lst
@@ -1,4 +1,4 @@
-vba vbahelper : oovbaapi basic sfx2 svx filter cppuhelper vcl comphelper svtools tools sal NULL
+vba vbahelper : oovbaapi offuh basic sfx2 svx filter cppuhelper vcl comphelper svtools tools sal LIBXSLT:libxslt NULL
vba vbahelper usr1 - all vba_mkout NULL
#vba vbahelper\inc nmake - all vba_inc NULL
vba vbahelper\source\vbahelper nmake - all vba_vbahelper NULL
diff --git a/vbahelper/source/msforms/makefile.mk b/vbahelper/source/msforms/makefile.mk
index 5fce64649d..40a6b8350f 100644
--- a/vbahelper/source/msforms/makefile.mk
+++ b/vbahelper/source/msforms/makefile.mk
@@ -70,12 +70,3 @@ SLOFILES=\
.INCLUDE : target.mk
-ALLTAR : \
- $(MISC)$/$(TARGET).don \
-
-$(SLOFILES) : $(MISC)$/$(TARGET).don
-
-$(MISC)$/$(TARGET).don : $(SOLARBINDIR)$/oovbaapi.rdb
- +$(CPPUMAKER) -O$(INCCOM)$/$(TARGET) -BUCR $(SOLARBINDIR)$/oovbaapi.rdb -X$(SOLARBINDIR)$/types.rdb && echo > $@
- echo $@
-
diff --git a/vbahelper/source/msforms/vbacontrol.cxx b/vbahelper/source/msforms/vbacontrol.cxx
index 7485073321..28f6d7f61c 100644
--- a/vbahelper/source/msforms/vbacontrol.cxx
+++ b/vbahelper/source/msforms/vbacontrol.cxx
@@ -227,7 +227,6 @@ void SAL_CALL
ScVbaControl::setLeft( double _left ) throw (uno::RuntimeException)
{
mpGeometryHelper->setLeft( _left );
-
}
double SAL_CALL
diff --git a/vbahelper/source/msforms/vbauserform.cxx b/vbahelper/source/msforms/vbauserform.cxx
index 33e357b00c..3db05ee747 100644
--- a/vbahelper/source/msforms/vbauserform.cxx
+++ b/vbahelper/source/msforms/vbauserform.cxx
@@ -28,7 +28,9 @@
#include "vbauserform.hxx"
#include <com/sun/star/awt/XControl.hpp>
#include <com/sun/star/awt/XControlContainer.hpp>
+#include <com/sun/star/awt/PosSize.hpp>
#include <com/sun/star/beans/PropertyConcept.hpp>
+#include <com/sun/star/util/MeasureUnit.hpp>
#include <basic/sbx.hxx>
#include <basic/sbstar.hxx>
#include <basic/sbmeth.hxx>
@@ -64,9 +66,28 @@ ScVbaUserForm::Show( ) throw (uno::RuntimeException)
{
OSL_TRACE("ScVbaUserForm::Show( )");
short aRet = 0;
- mbDispose = true;
+ mbDispose = true;
+
if ( m_xDialog.is() )
+ {
+ // try to center dialog on model window
+ if( m_xModel.is() ) try
+ {
+ uno::Reference< frame::XController > xController( m_xModel->getCurrentController(), uno::UNO_SET_THROW );
+ uno::Reference< frame::XFrame > xFrame( xController->getFrame(), uno::UNO_SET_THROW );
+ uno::Reference< awt::XWindow > xWindow( xFrame->getContainerWindow(), uno::UNO_SET_THROW );
+ awt::Rectangle aPosSize = xWindow->getPosSize(); // already in pixel
+
+ uno::Reference< awt::XControl > xControl( m_xDialog, uno::UNO_QUERY_THROW );
+ uno::Reference< awt::XWindow > xControlWindow( xControl->getPeer(), uno::UNO_QUERY_THROW );
+ xControlWindow->setPosSize( (aPosSize.Width - getWidth()) / 2.0, (aPosSize.Height - getHeight()) / 2.0, 0, 0, awt::PosSize::POS );
+ }
+ catch( uno::Exception& )
+ {
+ }
+
aRet = m_xDialog->execute();
+ }
OSL_TRACE("ScVbaUserForm::Show() execute returned %d", aRet);
if ( mbDispose )
{
@@ -180,11 +201,14 @@ ScVbaUserForm::getValue( const ::rtl::OUString& aPropertyName ) throw (beans::Un
uno::Reference< awt::XControl > xDialogControl( m_xDialog, uno::UNO_QUERY_THROW );
uno::Reference< awt::XControlContainer > xContainer( m_xDialog, uno::UNO_QUERY_THROW );
uno::Reference< awt::XControl > xControl = xContainer->getControl( aPropertyName );
- ScVbaControlFactory aFac( mxContext, xControl, m_xModel );
- uno::Reference< msforms::XControl > xVBAControl( aFac.createControl( xDialogControl->getModel() ) );
- ScVbaControl* pControl = dynamic_cast< ScVbaControl* >( xVBAControl.get() );
- pControl->setGeometryHelper( new UserFormGeometryHelper( mxContext, xControl ) );
- aResult = uno::makeAny( xVBAControl );
+ if ( xControl.is() )
+ {
+ ScVbaControlFactory aFac( mxContext, xControl, m_xModel );
+ uno::Reference< msforms::XControl > xVBAControl( aFac.createControl( xDialogControl->getModel() ) );
+ ScVbaControl* pControl = dynamic_cast< ScVbaControl* >( xVBAControl.get() );
+ pControl->setGeometryHelper( new UserFormGeometryHelper( mxContext, xControl ) );
+ aResult = uno::makeAny( xVBAControl );
+ }
}
return aResult;
diff --git a/vbahelper/source/vbahelper/makefile.mk b/vbahelper/source/vbahelper/makefile.mk
index 22ed40a3ad..51fa5b449d 100644
--- a/vbahelper/source/vbahelper/makefile.mk
+++ b/vbahelper/source/vbahelper/makefile.mk
@@ -71,12 +71,4 @@ SLOFILES=\
.INCLUDE : target.mk
-ALLTAR : \
- $(MISC)$/$(TARGET).don \
-
-$(SLOFILES) : $(MISC)$/$(TARGET).don
-
-$(MISC)$/$(TARGET).don : $(SOLARBINDIR)$/oovbaapi.rdb
- +$(CPPUMAKER) -O$(INCCOM)$/$(TARGET) -BUCR $(SOLARBINDIR)$/oovbaapi.rdb -X$(SOLARBINDIR)$/types.rdb && echo > $@
- echo $@
diff --git a/vbahelper/source/vbahelper/vbaapplicationbase.cxx b/vbahelper/source/vbahelper/vbaapplicationbase.cxx
index 57e303893e..36ef6c7b23 100644
--- a/vbahelper/source/vbahelper/vbaapplicationbase.cxx
+++ b/vbahelper/source/vbahelper/vbaapplicationbase.cxx
@@ -295,54 +295,23 @@ VbaApplicationBase::getVersion() throw (uno::RuntimeException)
void SAL_CALL VbaApplicationBase::Run( const ::rtl::OUString& MacroName, const uno::Any& varg1, const uno::Any& varg2, const uno::Any& varg3, const uno::Any& varg4, const uno::Any& varg5, const uno::Any& varg6, const uno::Any& varg7, const uno::Any& varg8, const uno::Any& varg9, const uno::Any& varg10, const uno::Any& varg11, const uno::Any& varg12, const uno::Any& varg13, const uno::Any& varg14, const uno::Any& varg15, const uno::Any& varg16, const uno::Any& varg17, const uno::Any& varg18, const uno::Any& varg19, const uno::Any& varg20, const uno::Any& varg21, const uno::Any& varg22, const uno::Any& varg23, const uno::Any& varg24, const uno::Any& varg25, const uno::Any& varg26, const uno::Any& varg27, const uno::Any& varg28, const uno::Any& varg29, const uno::Any& varg30 ) throw (uno::RuntimeException)
{
- ::rtl::OUString sSeparator = ::rtl::OUString::createFromAscii("/");
- ::rtl::OUString sMacroSeparator = ::rtl::OUString::createFromAscii("!");
- ::rtl::OUString sMacro_only_Name;
- sal_Int32 Position_MacroSeparator = MacroName.indexOf(sMacroSeparator);
+ ::rtl::OUString aMacroName = MacroName.trim();
+ if (0 == aMacroName.indexOf('!'))
+ aMacroName = aMacroName.copy(1).trim();
- uno::Reference< frame::XModel > aMacroDocumentModel;
- if (-1 != Position_MacroSeparator)
- {
- uno::Reference< container::XEnumerationAccess > xComponentEnumAccess;
- uno::Reference< lang::XMultiComponentFactory > xServiceManager = mxContext->getServiceManager();
- try
- {
- uno::Reference< frame::XDesktop > xDesktop (xServiceManager->createInstanceWithContext( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" )),mxContext ), uno::UNO_QUERY_THROW );
- xComponentEnumAccess = xDesktop->getComponents();
- }
- catch(uno::Exception&)
- {
- }
-
- //rem look for the name of the document in the cmpoonents collection
- uno::Reference < container::XEnumeration > xEnum = xComponentEnumAccess->createEnumeration();
-
- // iterate through the collection by name
- while (xEnum->hasMoreElements())
- {
- // get the next element as a UNO Any
- uno::Any aComponentHelper = xEnum->nextElement();
- uno::Reference <frame::XModel> xDocModel( aComponentHelper, uno::UNO_QUERY_THROW );
-
- // get the name of the sheet from its XNamed interface
- ::rtl::OUString aName = xDocModel->getURL();
-
-
- if (aName.match(MacroName.copy(0,Position_MacroSeparator-1),aName.lastIndexOf(sSeparator)+1))
- {
- aMacroDocumentModel = xDocModel;
- sMacro_only_Name = MacroName.copy(Position_MacroSeparator+1);
- }
- }
- }
- else
+ uno::Reference< frame::XModel > xModel;
+ SbMethod* pMeth = StarBASIC::GetActiveMethod();
+ if ( pMeth )
{
- aMacroDocumentModel = getCurrentDocument();
- sMacro_only_Name = MacroName.copy(0);
+ SbModule* pMod = dynamic_cast< SbModule* >( pMeth->GetParent() );
+ if ( pMod )
+ xModel = StarBASIC::GetModelFromBasic( pMod );
}
-
- VBAMacroResolvedInfo aMacroInfo = resolveVBAMacro( getSfxObjShell( aMacroDocumentModel ), sMacro_only_Name );
+ if ( !xModel.is() )
+ xModel = getCurrentDocument();
+
+ VBAMacroResolvedInfo aMacroInfo = resolveVBAMacro( getSfxObjShell( xModel ), aMacroName );
if( aMacroInfo.IsResolved() )
{
// handle the arguments
diff --git a/vbahelper/source/vbahelper/vbacommandbarcontrol.cxx b/vbahelper/source/vbahelper/vbacommandbarcontrol.cxx
index 1b2d01367d..309d1b878c 100644
--- a/vbahelper/source/vbahelper/vbacommandbarcontrol.cxx
+++ b/vbahelper/source/vbahelper/vbacommandbarcontrol.cxx
@@ -91,27 +91,33 @@ ScVbaCommandBarControl::setOnAction( const ::rtl::OUString& _onaction ) throw (u
::sal_Bool SAL_CALL
ScVbaCommandBarControl::getVisible() throw (uno::RuntimeException)
{
- sal_Bool bVisible = sal_True;
+ /*sal_Bool bVisible = sal_True;
uno::Any aValue = getPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("IsVisible") );
if( aValue.hasValue() )
aValue >>= bVisible;
- return bVisible;
+ return bVisible;*/
+ return getEnabled();
+
}
void SAL_CALL
ScVbaCommandBarControl::setVisible( ::sal_Bool _visible ) throw (uno::RuntimeException)
{
- uno::Any aValue = getPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("IsVisible") );
+ /*uno::Any aValue = getPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("IsVisible") );
if( aValue.hasValue() )
{
setPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("IsVisible"), uno::makeAny( _visible ) );
ApplyChange();
- }
+ }*/
+ setEnabled( _visible);
}
::sal_Bool SAL_CALL
ScVbaCommandBarControl::getEnabled() throw (uno::RuntimeException)
{
sal_Bool bEnabled = sal_True;
+ rtl::OUString aCommandURLappendix = rtl::OUString::createFromAscii("___");
+ rtl::OUString aCommandURL ;
+
if( m_xParentMenu.is() )
{
// currently only the menu in the MenuBat support Enable/Disable
@@ -121,7 +127,14 @@ ScVbaCommandBarControl::getEnabled() throw (uno::RuntimeException)
else
{
// emulated with Visible
- bEnabled = getVisible();
+ //bEnabled = getVisible();
+ uno::Any aValue = getPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("CommandURL") );
+ if (aValue >>= aCommandURL){
+ if (0 == aCommandURL.indexOf(aCommandURLappendix)){
+ bEnabled = sal_False;
+ }
+ }
+
}
return bEnabled;
}
@@ -129,6 +142,9 @@ ScVbaCommandBarControl::getEnabled() throw (uno::RuntimeException)
void SAL_CALL
ScVbaCommandBarControl::setEnabled( sal_Bool _enabled ) throw (uno::RuntimeException)
{
+ rtl::OUString aCommandURL ;
+ rtl::OUString aCommandURLappendix = rtl::OUString::createFromAscii("___");
+ rtl::OUStringBuffer aCommandURLSringBuffer;
if( m_xParentMenu.is() )
{
// currently only the menu in the MenuBat support Enable/Disable
@@ -136,8 +152,20 @@ ScVbaCommandBarControl::setEnabled( sal_Bool _enabled ) throw (uno::RuntimeExcep
}
else
{
+ uno::Any aValue = getPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("CommandURL") );
+ if (aValue >>= aCommandURL){
+ if (0 == aCommandURL.indexOf(aCommandURLappendix)){
+ aCommandURL = aCommandURL.copy(3);
+ }
+ if (false == _enabled){
+ aCommandURLSringBuffer = aCommandURLappendix;
+ }
+ aCommandURLSringBuffer.append(aCommandURL);
+ setPropertyValue( m_aPropertyValues, rtl::OUString::createFromAscii("CommandURL"), uno::makeAny( aCommandURLSringBuffer.makeStringAndClear()) );
+ ApplyChange();
+ }
// emulated with Visible
- setVisible( _enabled );
+ //setVisible( _enabled );
}
}
diff --git a/vbahelper/source/vbahelper/vbadocumentbase.cxx b/vbahelper/source/vbahelper/vbadocumentbase.cxx
index 0eba699a07..caa2a37db2 100644
--- a/vbahelper/source/vbahelper/vbadocumentbase.cxx
+++ b/vbahelper/source/vbahelper/vbadocumentbase.cxx
@@ -28,14 +28,18 @@
#include "vbahelper/vbadocumentbase.hxx"
#include "vbahelper/helperdecl.hxx"
+#include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
#include <com/sun/star/util/XModifiable.hpp>
#include <com/sun/star/util/XProtectable.hpp>
#include <com/sun/star/util/XCloseable.hpp>
+#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/document/XEmbeddedScripts.hpp> //Michael E. Bohn
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <cppuhelper/exc_hlp.hxx>
#include <comphelper/unwrapargs.hxx>
#include <tools/urlobj.hxx>
#include <osl/file.hxx>
@@ -74,7 +78,8 @@ VbaDocumentBase::getName() throw (uno::RuntimeException)
uno::Reference< beans::XPropertySet > xProps( xFrame, uno::UNO_QUERY_THROW );
xProps->getPropertyValue(sTitle ) >>= sName;
sal_Int32 pos = 0;
- sName = sName.getToken(0,' ',pos);
+ sName = sName.getToken(0,'-',pos);
+ sName = sName.trim();
}
return sName;
}
@@ -92,8 +97,8 @@ VbaDocumentBase::getPath() throw (uno::RuntimeException)
::rtl::OUString
VbaDocumentBase::getFullName() throw (uno::RuntimeException)
{
- rtl::OUString sPath;
- ::osl::File::getSystemPathFromFileURL( getModel()->getURL(), sPath );
+ rtl::OUString sPath = getName();
+ //::osl::File::getSystemPathFromFileURL( getModel()->getURL(), sPath );
return sPath;
}
@@ -127,23 +132,56 @@ VbaDocumentBase::Close( const uno::Any &rSaveArg, const uno::Any &rFileArg,
else
xModifiable->setModified( false );
- uno::Reference< util::XCloseable > xCloseable( getModel(), uno::UNO_QUERY );
-
- if( xCloseable.is() )
- // use close(boolean DeliverOwnership)
-
- // The boolean parameter DeliverOwnership tells objects vetoing the close process that they may
- // assume ownership if they object the closure by throwing a CloseVetoException
- // Here we give up ownership. To be on the safe side, catch possible veto exception anyway.
- xCloseable->close(sal_True);
- // If close is not supported by this model - try to dispose it.
- // But if the model disagree with a reset request for the modify state
- // we shouldn't do so. Otherwhise some strange things can happen.
- else
+ // first try to close the document using UI dispatch functionality
+ sal_Bool bUIClose = sal_False;
+ try
+ {
+ uno::Reference< frame::XController > xController( getModel()->getCurrentController(), uno::UNO_SET_THROW );
+ uno::Reference< frame::XDispatchProvider > xDispatchProvider( xController->getFrame(), uno::UNO_QUERY_THROW );
+
+ uno::Reference< lang::XMultiComponentFactory > xServiceManager( mxContext->getServiceManager(), uno::UNO_SET_THROW );
+ uno::Reference< util::XURLTransformer > xURLTransformer(
+ xServiceManager->createInstanceWithContext(
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.URLTransformer" ) ),
+ mxContext ),
+ uno::UNO_QUERY_THROW );
+
+ util::URL aURL;
+ aURL.Complete = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:CloseDoc" ) );
+ xURLTransformer->parseStrict( aURL );
+
+ uno::Reference< css::frame::XDispatch > xDispatch(
+ xDispatchProvider->queryDispatch( aURL, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "_self" ) ), 0 ),
+ uno::UNO_SET_THROW );
+ xDispatch->dispatch( aURL, uno::Sequence< beans::PropertyValue >() );
+ bUIClose = sal_True;
+ }
+ catch( uno::Exception& )
+ {
+ }
+
+ if ( !bUIClose )
{
- uno::Reference< lang::XComponent > xDisposable ( getModel(), uno::UNO_QUERY );
- if ( xDisposable.is() )
- xDisposable->dispose();
+ // if it is not possible to use UI dispatch, try to close the model directly
+ uno::Reference< util::XCloseable > xCloseable( getModel(), uno::UNO_QUERY );
+ if( xCloseable.is() )
+ {
+ // use close(boolean DeliverOwnership)
+
+ // The boolean parameter DeliverOwnership tells objects vetoing the close process that they may
+ // assume ownership if they object the closure by throwing a CloseVetoException
+ // Here we give up ownership. To be on the safe side, catch possible veto exception anyway.
+ xCloseable->close(sal_True);
+ }
+ else
+ {
+ // If close is not supported by this model - try to dispose it.
+ // But if the model disagree with a reset request for the modify state
+ // we shouldn't do so. Otherwhise some strange things can happen.
+ uno::Reference< lang::XComponent > xDisposable ( getModel(), uno::UNO_QUERY );
+ if ( xDisposable.is() )
+ xDisposable->dispose();
+ }
}
}
@@ -181,7 +219,22 @@ void
VbaDocumentBase::setSaved( sal_Bool bSave ) throw (uno::RuntimeException)
{
uno::Reference< util::XModifiable > xModifiable( getModel(), uno::UNO_QUERY_THROW );
- xModifiable->setModified( !bSave );
+ try
+ {
+ xModifiable->setModified( !bSave );
+ }
+ catch ( lang::DisposedException& )
+ {
+ // impossibility to set the modified state on disposed document should not trigger an error
+ }
+ catch ( beans::PropertyVetoException& )
+ {
+ uno::Any aCaught( ::cppu::getCaughtException() );
+ throw lang::WrappedTargetRuntimeException(
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can't change modified state of model!" ) ),
+ uno::Reference< uno::XInterface >(),
+ aCaught );
+ }
}
sal_Bool
@@ -213,7 +266,7 @@ VbaDocumentBase::getVBProject() throw (uno::RuntimeException)
{
uno::Sequence< uno::Any > aArgs( 2 );
aArgs[ 0 ] <<= uno::Reference< XHelperInterface >( this );
- aArgs[ 1 ] <<= mxModel;
+ aArgs[ 1 ] <<= getModel();
uno::Reference< lang::XMultiComponentFactory > xServiceManager( mxContext->getServiceManager(), uno::UNO_SET_THROW );
uno::Reference< uno::XInterface > xVBProjects = xServiceManager->createInstanceWithArgumentsAndContext(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.VBProject" ) ), aArgs, mxContext );
diff --git a/vbahelper/source/vbahelper/vbadocumentsbase.cxx b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
index 61cdb52ca3..911cfdef40 100644
--- a/vbahelper/source/vbahelper/vbadocumentsbase.cxx
+++ b/vbahelper/source/vbahelper/vbadocumentsbase.cxx
@@ -25,6 +25,7 @@
*
************************************************************************/
#include <vbahelper/vbadocumentsbase.hxx>
+#include <comphelper/mediadescriptor.hxx>
#include <comphelper/processfactory.hxx>
#include <cppuhelper/implbase1.hxx>
#include <cppuhelper/implbase3.hxx>
@@ -212,10 +213,9 @@ VbaDocumentsBase::VbaDocumentsBase( const uno::Reference< XHelperInterface >& xP
{
}
-uno::Any SAL_CALL
-VbaDocumentsBase::Add() throw (uno::RuntimeException)
+uno::Any VbaDocumentsBase::createDocument() throw (uno::RuntimeException)
{
- uno::Reference< lang::XMultiComponentFactory > xSMgr(
+ uno::Reference< lang::XMultiComponentFactory > xSMgr(
mxContext->getServiceManager(), uno::UNO_QUERY_THROW );
uno::Reference< frame::XComponentLoader > xLoader(
@@ -229,15 +229,21 @@ VbaDocumentsBase::Add() throw (uno::RuntimeException)
sURL = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("private:factory/scalc") );
else
throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Not implemented") ), uno::Reference< uno::XInterface >() );
+
+ // prepare the media descriptor
+ ::comphelper::MediaDescriptor aMediaDesc;
+ aMediaDesc[ ::comphelper::MediaDescriptor::PROP_MACROEXECUTIONMODE() ] <<= document::MacroExecMode::USE_CONFIG;
+ aMediaDesc.setComponentDataEntry( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ApplyFormDesignMode" ) ), uno::Any( false ) );
+
+ // craete the new document
uno::Reference< lang::XComponent > xComponent = xLoader->loadComponentFromURL(
sURL ,
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("_blank") ), 0,
- uno::Sequence< beans::PropertyValue >(0) );
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("_blank") ), 0,
+ aMediaDesc.getAsConstPropertyValueList() );
return uno::makeAny( xComponent );
}
-void
-VbaDocumentsBase::Close() throw (uno::RuntimeException)
+void VbaDocumentsBase::closeDocuments() throw (uno::RuntimeException)
{
// #FIXME this *MUST* be wrong documents::close surely closes ALL documents
// in the collection, use of getCurrentDocument here is totally wrong
@@ -251,8 +257,7 @@ VbaDocumentsBase::Close() throw (uno::RuntimeException)
}
// #TODO# #FIXME# can any of the unused params below be used?
-uno::Any
-VbaDocumentsBase::Open( const rtl::OUString& rFileName, const uno::Any& ReadOnly, const uno::Sequence< beans::PropertyValue >& rProps ) throw (uno::RuntimeException)
+uno::Any VbaDocumentsBase::openDocument( const rtl::OUString& rFileName, const uno::Any& ReadOnly, const uno::Sequence< beans::PropertyValue >& rProps ) throw (uno::RuntimeException)
{
// we need to detect if this is a URL, if not then assume its a file path
rtl::OUString aURL;
diff --git a/vbahelper/source/vbahelper/vbaeventshelperbase.cxx b/vbahelper/source/vbahelper/vbaeventshelperbase.cxx
index ee6eccbdd6..7c64e7fa3d 100755
--- a/vbahelper/source/vbahelper/vbaeventshelperbase.cxx
+++ b/vbahelper/source/vbahelper/vbaeventshelperbase.cxx
@@ -74,10 +74,6 @@ void SAL_CALL VbaEventsHelperBase::processVbaEvent( sal_Int32 nEventId, const un
EventQueue aEventQueue;
aEventQueue.push_back( EventQueueEntry( nEventId, rArgs ) );
- /* bEnabled will track if event processing is enabled. Every event handler
- may disable handling of other events. */
- bool bEnabled = true;
-
/* bCancel will contain the current Cancel value. It is possible that
multiple events will try to modify the Cancel value. Every event
handler receives the Cancel value of the previous event handler. */
@@ -87,10 +83,10 @@ void SAL_CALL VbaEventsHelperBase::processVbaEvent( sal_Int32 nEventId, const un
executed successfully. */
bool bSuccess = false;
- /* Loop as long as there are more events to be processed, and as event
- handling is still enabled. Derived classes may add new events to be
- processed in the virtual implPrepareEvent() function. */
- while( bEnabled && !aEventQueue.empty() )
+ /* Loop as long as there are more events to be processed. Derived classes
+ may add new events to be processed in the virtual implPrepareEvent()
+ function. */
+ while( !aEventQueue.empty() )
{
/* Check that all class members are available, and that we are not
disposed (this may have happened at any time during execution of
@@ -103,14 +99,14 @@ void SAL_CALL VbaEventsHelperBase::processVbaEvent( sal_Int32 nEventId, const un
uno::Sequence< uno::Any > aEventArgs = aEventQueue.front().maArgs;
aEventQueue.pop_front();
- // let derived classes decide whether event processing is still enabled
- bEnabled = implEventsEnabled();
- // let derived classes prepare the event, they may add new events for next iteration
- if( bEnabled && implPrepareEvent( aEventQueue, rInfo, aEventArgs ) )
+ /* Let derived classes prepare the event, they may add new events for
+ next iteration. If false is returned, the event handler must not be
+ called. */
+ bool bEventSuccess = false;
+ if( implPrepareEvent( aEventQueue, rInfo, aEventArgs ) )
{
// search the event handler macro in the document
::rtl::OUString aMacroPath = getEventHandlerPath( rInfo, aEventArgs );
- bool bEventSuccess = false;
if( aMacroPath.getLength() > 0 )
{
// build the argument list
@@ -139,11 +135,11 @@ void SAL_CALL VbaEventsHelperBase::processVbaEvent( sal_Int32 nEventId, const un
bCancel = nNewCancel != 0;
}
}
- // post processing (also, if event handler does not exist, or on error
- implPostProcessEvent( aEventQueue, rInfo, bEventSuccess, bCancel );
// global success, if at least one event handler succeeded
bSuccess |= bEventSuccess;
}
+ // post processing (also, if event handler does not exist, or disabled, or on error
+ implPostProcessEvent( aEventQueue, rInfo, bEventSuccess, bCancel );
}
// if event handlers want to cancel the event, do so regardless of any errors
@@ -200,7 +196,8 @@ const VbaEventsHelperBase::EventHandlerInfo& VbaEventsHelperBase::getEventHandle
append( sal_Unicode( '.' ) ).append( rInfo.maMacroName ).makeStringAndClear();
break;
}
- return resolveVBAMacro( mpShell, aMacroName ).ResolvedMacro();
+ VBAMacroResolvedInfo aMacroInfo = resolveVBAMacro( mpShell, aMacroName, false );
+ return aMacroInfo.IsResolved() ? ::rtl::OUString( aMacroInfo.ResolvedMacro() ) : ::rtl::OUString();
}
void VbaEventsHelperBase::stopListening()
diff --git a/vbahelper/source/vbahelper/vbahelper.cxx b/vbahelper/source/vbahelper/vbahelper.cxx
index cf1981fa8f..542667b37e 100644
--- a/vbahelper/source/vbahelper/vbahelper.cxx
+++ b/vbahelper/source/vbahelper/vbahelper.cxx
@@ -39,6 +39,9 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XIntrospection.hpp>
#include <com/sun/star/util/MeasureUnit.hpp>
+#include <com/sun/star/awt/XWindow.hpp>
+#include <com/sun/star/awt/XDialog.hpp>
+#include <com/sun/star/awt/PosSize.hpp>
#include <ooo/vba/msforms/XShape.hpp>
@@ -989,277 +992,122 @@ sal_Bool setPropertyValue( uno::Sequence< beans::PropertyValue >& aProp, const r
// ====UserFormGeomentryHelper====
//---------------------------------------------
UserFormGeometryHelper::UserFormGeometryHelper( const uno::Reference< uno::XComponentContext >& /*xContext*/, const uno::Reference< awt::XControl >& xControl )
+: mbDialog( uno::Reference< awt::XDialog >( xControl, uno::UNO_QUERY ).is() )
{
if ( !xControl.is() )
- throw uno::RuntimeException();
-
- mxControlUnits.set( xControl->getPeer(), uno::UNO_QUERY_THROW );
- mxModel.set( xControl->getModel(), uno::UNO_QUERY_THROW );
-}
-
-//---------------------------------------------
-sal_Int32 UserFormGeometryHelper::ConvertPixelToLogic( sal_Int32 nValue, sal_Bool bIsPoint, sal_Bool bIsX, sal_Int16 nTargetUnit )
-{
- sal_Int32 nResult = 0;
- if ( bIsPoint )
- {
- // conversion for a point
- awt::Point aPixelPoint( 0, 0 );
- ( bIsX ? aPixelPoint.X : aPixelPoint.Y ) = nValue;
- awt::Point aTargetPoint( 0, 0 );
- aTargetPoint = mxControlUnits->convertPointToLogic( aPixelPoint, nTargetUnit );
-
- nResult = bIsX ? aTargetPoint.X : aTargetPoint.Y;
- }
- else
- {
- // conversion for a size
- awt::Size aPixelSize( 0, 0 );
- ( bIsX ? aPixelSize.Width : aPixelSize.Height ) = nValue;
- awt::Size aTargetSize( 0, 0 );
- aTargetSize = mxControlUnits->convertSizeToLogic( aPixelSize, nTargetUnit );
-
- nResult = bIsX ? aTargetSize.Width : aTargetSize.Height;
- }
+ throw uno::RuntimeException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "No control is provided!" ) ),
+ uno::Reference< uno::XInterface >() );
- return nResult;
+ mxWindow.set( xControl->getPeer(), uno::UNO_QUERY_THROW );
}
//---------------------------------------------
-sal_Int32 UserFormGeometryHelper::ConvertLogicToPixel( sal_Int32 nValue, sal_Bool bIsPoint, sal_Bool bIsX, sal_Int16 nSourceUnit )
-{
- sal_Int32 nResult = 0;
- if ( bIsPoint )
- {
- // conversion for a point
- awt::Point aSourcePoint( 0, 0 );
- ( bIsX ? aSourcePoint.X : aSourcePoint.Y ) = nValue;
-
- awt::Point aPixelPoint( 0, 0 );
- aPixelPoint = mxControlUnits->convertPointToPixel( aSourcePoint, nSourceUnit );
-
- nResult = bIsX ? aPixelPoint.X : aPixelPoint.Y;
- }
- else
- {
- // conversion for a size
- awt::Size aSourceSize( 0, 0 );
- ( bIsX ? aSourceSize.Width : aSourceSize.Height ) = nValue;
-
- awt::Size aPixelSize( 0, 0 );
- aPixelSize = mxControlUnits->convertSizeToPixel( aSourceSize, nSourceUnit );
-
- nResult = bIsX ? aPixelSize.Width : aPixelSize.Height;
- }
-
- return nResult;
-}
-//---------------------------------------------
double UserFormGeometryHelper::getLeft()
{
- double nResult = 0;
-
- try
- {
- sal_Int32 nLeft = 0;
- mxModel->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_LEFT ) ) ) >>= nLeft;
- nResult = ConvertLogicToPixel( nLeft,
- sal_True, // Point
- sal_True, // X
- util::MeasureUnit::APPFONT );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not get position X!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
- }
-
- return nResult;
+ return mxWindow->getPosSize().X;
}
//---------------------------------------------
void UserFormGeometryHelper::setLeft( double nLeft )
{
- try
- {
- mxModel->setPropertyValue(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_LEFT ) ),
- uno::makeAny( ConvertPixelToLogic( nLeft,
- sal_True, // Point
- sal_True, // X
- util::MeasureUnit::APPFONT ) ) );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not set position X!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
- }
+ mxWindow->setPosSize( nLeft, mxWindow->getPosSize().Y, 0, 0, awt::PosSize::POS );
}
//---------------------------------------------
double UserFormGeometryHelper::getTop()
{
- double nResult = 0;
-
- try
- {
- sal_Int32 nTop = 0;
- mxModel->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_TOP ) ) ) >>= nTop;
- nResult = ConvertLogicToPixel( nTop,
- sal_True, // Point
- sal_False, // Y
- util::MeasureUnit::APPFONT );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not get position Y!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
- }
-
- return nResult;
+ return mxWindow->getPosSize().Y;
}
//---------------------------------------------
void UserFormGeometryHelper::setTop( double nTop )
{
- try
- {
- mxModel->setPropertyValue(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_TOP ) ),
- uno::makeAny( ConvertPixelToLogic( nTop,
- sal_True, // Point
- sal_False, // Y
- util::MeasureUnit::APPFONT ) ) );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not set position X!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
- }
+ mxWindow->setPosSize( mxWindow->getPosSize().X, nTop, 0, 0, awt::PosSize::POS );
}
//---------------------------------------------
double UserFormGeometryHelper::getWidth()
{
- double nResult = 0;
-
- try
+ if ( mbDialog )
{
- sal_Int32 nWidth = 0;
- mxModel->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_WIDTH ) ) ) >>= nWidth;
- nResult = ConvertLogicToPixel( nWidth,
- sal_False, // Size
- sal_True, // X
- util::MeasureUnit::APPFONT );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not get width!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
+ const Window* pWindow = VCLUnoHelper::GetWindow( mxWindow );
+ if ( pWindow )
+ {
+ // get the size with decoration
+ Rectangle aResult = pWindow->GetWindowExtentsRelative( NULL );
+ return aResult.getWidth();
+ }
}
- return nResult;
+ return mxWindow->getPosSize().Width;
}
//---------------------------------------------
-void UserFormGeometryHelper::setWidth( double nWidth)
+void UserFormGeometryHelper::setWidth( double nWidth )
{
- try
- {
- mxModel->setPropertyValue(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_WIDTH ) ),
- uno::makeAny( ConvertPixelToLogic( nWidth,
- sal_False, // Size
- sal_True, // X
- util::MeasureUnit::APPFONT ) ) );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
+ sal_Int64 nNewWidth = nWidth;
+
+ if ( mbDialog )
{
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not set width!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
+ const Window* pWindow = VCLUnoHelper::GetWindow( mxWindow );
+ if ( pWindow )
+ {
+ // set the size with decoration
+ Rectangle aRDecor = pWindow->GetWindowExtentsRelative( NULL );
+ if ( !aRDecor.IsEmpty() )
+ {
+ sal_Int64 nDecor = aRDecor.getWidth();
+ sal_Int64 nUnDecor = mxWindow->getPosSize().Width;
+ if ( nWidth < nDecor - nUnDecor )
+ nUnDecor = nDecor - nWidth; // avoid negative size
+ nNewWidth = nWidth + nUnDecor - nDecor;
+ }
+ }
}
+
+ mxWindow->setPosSize( 0, 0, nNewWidth, 0, awt::PosSize::WIDTH );
}
//---------------------------------------------
double UserFormGeometryHelper::getHeight()
{
- double nResult = 0;
-
- try
+ if ( mbDialog )
{
- sal_Int32 nHeight = 0;
- mxModel->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_HEIGHT ) ) ) >>= nHeight;
- nResult = ConvertLogicToPixel( nHeight,
- sal_False, // Size
- sal_False, // Y
- util::MeasureUnit::APPFONT );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
- {
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not get height!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
+ const Window* pWindow = VCLUnoHelper::GetWindow( mxWindow );
+ if ( pWindow )
+ {
+ // get the size with decoration
+ Rectangle aResult = pWindow->GetWindowExtentsRelative( NULL );
+ return aResult.getHeight();
+ }
}
- return nResult;
+ return mxWindow->getPosSize().Height;
}
//---------------------------------------------
void UserFormGeometryHelper::setHeight( double nHeight )
{
- try
- {
- mxModel->setPropertyValue(
- rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( VBA_HEIGHT ) ),
- uno::makeAny( ConvertPixelToLogic( nHeight,
- sal_False, // Size
- sal_False, // Y
- util::MeasureUnit::APPFONT ) ) );
- }
- catch ( uno::RuntimeException& )
- {
- throw;
- }
- catch ( uno::Exception& e )
+ sal_Int64 nNewHeight = nHeight;
+ if ( mbDialog )
{
- throw lang::WrappedTargetException( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can not set height!" ) ),
- uno::Reference< uno::XInterface >(),
- uno::makeAny( e ) );
+ const Window* pWindow = VCLUnoHelper::GetWindow( mxWindow );
+ if ( pWindow )
+ {
+ // set the size with decoration
+ Rectangle aRDecor = pWindow->GetWindowExtentsRelative( NULL );
+ if ( !aRDecor.IsEmpty() )
+ {
+ sal_Int64 nDecor = aRDecor.getHeight();
+ sal_Int64 nUnDecor = mxWindow->getPosSize().Height;
+ if ( nHeight < nDecor - nUnDecor )
+ nUnDecor = nDecor - nHeight; // avoid negative size
+ nNewHeight = nHeight + nUnDecor - nDecor;
+ }
+ }
}
+
+ mxWindow->setPosSize( 0, 0, 0, nNewHeight, awt::PosSize::HEIGHT );
}
// ============
diff --git a/xmloff/Library_xo.mk b/xmloff/Library_xo.mk
new file mode 100644
index 0000000000..2e335b4175
--- /dev/null
+++ b/xmloff/Library_xo.mk
@@ -0,0 +1,401 @@
+#*************************************************************************
+#
+# 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,xo))
+
+$(eval $(call gb_Library_set_componentfile,xo,xmloff/util/xo))
+
+$(eval $(call gb_Library_add_package_headers,xo,xmloff_inc))
+
+$(eval $(call gb_Library_add_precompiled_header,xo,$(SRCDIR)/xmloff/inc/pch/precompiled_xmloff))
+
+$(eval $(call gb_Library_set_include,xo,\
+ $$(SOLARINC) \
+ -I. \
+ -I$(WORKDIR)/inc/ \
+ -I$(SRCDIR)/xmloff/inc \
+ -I$(SRCDIR)/xmloff/source/inc \
+ -I$(SRCDIR)/xmloff/inc/pch \
+ -I$(OUTDIR)/inc/offuh \
+ -I$(OUTDIR)/inc \
+))
+
+$(eval $(call gb_Library_set_defs,xo,\
+ $$(DEFS) \
+ -DXMLOFF_DLLIMPLEMENTATION \
+))
+
+$(eval $(call gb_Library_add_linked_libs,xo,\
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ i18nisolang1 \
+ sal \
+ stl \
+ svl \
+ tl \
+ utl \
+ vos3 \
+))
+
+$(eval $(call gb_Library_add_exception_objects,xo,\
+ xmloff/source/chart/ColorPropertySet \
+ xmloff/source/chart/PropertyMaps \
+ xmloff/source/chart/SchXMLAutoStylePoolP \
+ xmloff/source/chart/SchXMLCalculationSettingsContext \
+ xmloff/source/chart/SchXMLChartContext \
+ xmloff/source/chart/SchXMLExport \
+ xmloff/source/chart/SchXMLImport \
+ xmloff/source/chart/SchXMLParagraphContext \
+ xmloff/source/chart/SchXMLPlotAreaContext \
+ xmloff/source/chart/SchXMLSeries2Context \
+ xmloff/source/chart/SchXMLSeriesHelper \
+ xmloff/source/chart/SchXMLTableContext \
+ xmloff/source/chart/SchXMLTextListContext \
+ xmloff/source/chart/SchXMLTools \
+ xmloff/source/chart/XMLAxisPositionPropertyHdl \
+ xmloff/source/chart/XMLChartPropertyContext \
+ xmloff/source/chart/XMLChartStyleContext \
+ xmloff/source/chart/XMLErrorBarStylePropertyHdl \
+ xmloff/source/chart/XMLErrorIndicatorPropertyHdl \
+ xmloff/source/chart/XMLLabelSeparatorContext \
+ xmloff/source/chart/XMLSymbolImageContext \
+ xmloff/source/chart/XMLSymbolTypePropertyHdl \
+ xmloff/source/chart/XMLTextOrientationHdl \
+ xmloff/source/chart/contexts \
+ xmloff/source/chart/transporttypes \
+ xmloff/source/core/DocumentSettingsContext \
+ xmloff/source/core/DomBuilderContext \
+ xmloff/source/core/DomExport \
+ xmloff/source/core/ProgressBarHelper \
+ xmloff/source/core/PropertySetMerger \
+ xmloff/source/core/RDFaExportHelper \
+ xmloff/source/core/RDFaImportHelper \
+ xmloff/source/core/SettingsExportHelper \
+ xmloff/source/core/XMLBase64Export \
+ xmloff/source/core/XMLBase64ImportContext \
+ xmloff/source/core/XMLBasicExportFilter \
+ xmloff/source/core/XMLEmbeddedObjectExportFilter \
+ xmloff/source/core/XMLEmbeddedObjectImportContext \
+ xmloff/source/core/attrlist \
+ xmloff/source/core/facreg \
+ xmloff/source/core/i18nmap \
+ xmloff/source/core/nmspmap \
+ xmloff/source/core/unoatrcn \
+ xmloff/source/core/unointerfacetouniqueidentifiermapper \
+ xmloff/source/core/xmlcnitm \
+ xmloff/source/core/xmlehelp \
+ xmloff/source/core/xmlerror \
+ xmloff/source/core/xmlexp \
+ xmloff/source/core/xmlictxt \
+ xmloff/source/core/xmlimp \
+ xmloff/source/core/xmltkmap \
+ xmloff/source/core/xmltoken \
+ xmloff/source/core/xmluconv \
+ xmloff/source/draw/EnhancedCustomShapeToken \
+ xmloff/source/draw/XMLGraphicsDefaultStyle \
+ xmloff/source/draw/XMLImageMapContext \
+ xmloff/source/draw/XMLImageMapExport \
+ xmloff/source/draw/XMLNumberStyles \
+ xmloff/source/draw/XMLReplacementImageContext \
+ xmloff/source/draw/XMLShapePropertySetContext \
+ xmloff/source/draw/XMLShapeStyleContext \
+ xmloff/source/draw/animationexport \
+ xmloff/source/draw/animationimport \
+ xmloff/source/draw/animexp \
+ xmloff/source/draw/animimp \
+ xmloff/source/draw/descriptionimp \
+ xmloff/source/draw/eventimp \
+ xmloff/source/draw/layerexp \
+ xmloff/source/draw/layerimp \
+ xmloff/source/draw/numithdl \
+ xmloff/source/draw/propimp0 \
+ xmloff/source/draw/sdpropls \
+ xmloff/source/draw/sdxmlexp \
+ xmloff/source/draw/sdxmlimp \
+ xmloff/source/draw/shapeexport \
+ xmloff/source/draw/shapeexport2 \
+ xmloff/source/draw/shapeexport3 \
+ xmloff/source/draw/shapeexport4 \
+ xmloff/source/draw/shapeimport \
+ xmloff/source/draw/viewcontext \
+ xmloff/source/draw/xexptran \
+ xmloff/source/draw/ximp3dobject \
+ xmloff/source/draw/ximp3dscene \
+ xmloff/source/draw/ximpbody \
+ xmloff/source/draw/ximpcustomshape \
+ xmloff/source/draw/ximpgrp \
+ xmloff/source/draw/ximplink \
+ xmloff/source/draw/ximpnote \
+ xmloff/source/draw/ximppage \
+ xmloff/source/draw/ximpshap \
+ xmloff/source/draw/ximpshow \
+ xmloff/source/draw/ximpstyl \
+ xmloff/source/forms/attriblistmerge \
+ xmloff/source/forms/controlelement \
+ xmloff/source/forms/controlpropertyhdl \
+ xmloff/source/forms/controlpropertymap \
+ xmloff/source/forms/elementexport \
+ xmloff/source/forms/elementimport \
+ xmloff/source/forms/eventexport \
+ xmloff/source/forms/eventimport \
+ xmloff/source/forms/formattributes \
+ xmloff/source/forms/formcellbinding \
+ xmloff/source/forms/formenums \
+ xmloff/source/forms/formevents \
+ xmloff/source/forms/formlayerexport \
+ xmloff/source/forms/formlayerimport \
+ xmloff/source/forms/formsimp \
+ xmloff/source/forms/formstyles \
+ xmloff/source/forms/gridcolumnproptranslator \
+ xmloff/source/forms/layerexport \
+ xmloff/source/forms/layerimport \
+ xmloff/source/forms/logging \
+ xmloff/source/forms/officeforms \
+ xmloff/source/forms/propertyexport \
+ xmloff/source/forms/propertyimport \
+ xmloff/source/forms/property_meta_data \
+ xmloff/source/forms/strings \
+ xmloff/source/forms/valueproperties \
+ xmloff/source/forms/handler/form_handler_factory \
+ xmloff/source/forms/handler/property_handler_base \
+ xmloff/source/forms/handler/vcl_date_handler \
+ xmloff/source/forms/handler/vcl_time_handler \
+ xmloff/source/meta/MetaExportComponent \
+ xmloff/source/meta/MetaImportComponent \
+ xmloff/source/meta/xmlmetae \
+ xmloff/source/meta/xmlmetai \
+ xmloff/source/meta/xmlversion \
+ xmloff/source/script/XMLEventExport \
+ xmloff/source/script/XMLEventImportHelper \
+ xmloff/source/script/XMLEventsImportContext \
+ xmloff/source/script/XMLScriptContextFactory \
+ xmloff/source/script/XMLScriptExportHandler \
+ xmloff/source/script/XMLStarBasicContextFactory \
+ xmloff/source/script/XMLStarBasicExportHandler \
+ xmloff/source/script/xmlbasici \
+ xmloff/source/script/xmlscripti \
+ xmloff/source/style/AttributeContainerHandler \
+ xmloff/source/style/DashStyle \
+ xmloff/source/style/DrawAspectHdl \
+ xmloff/source/style/EnumPropertyHdl \
+ xmloff/source/style/FillStyleContext \
+ xmloff/source/style/GradientStyle \
+ xmloff/source/style/HatchStyle \
+ xmloff/source/style/ImageStyle \
+ xmloff/source/style/MarkerStyle \
+ xmloff/source/style/MultiPropertySetHelper \
+ xmloff/source/style/NamedBoolPropertyHdl \
+ xmloff/source/style/PageHeaderFooterContext \
+ xmloff/source/style/PageMasterExportPropMapper \
+ xmloff/source/style/PageMasterImportContext \
+ xmloff/source/style/PageMasterImportPropMapper \
+ xmloff/source/style/PageMasterPropHdl \
+ xmloff/source/style/PageMasterPropHdlFactory \
+ xmloff/source/style/PageMasterPropMapper \
+ xmloff/source/style/PageMasterStyleMap \
+ xmloff/source/style/PagePropertySetContext \
+ xmloff/source/style/SinglePropertySetInfoCache \
+ xmloff/source/style/StyleMap \
+ xmloff/source/style/TransGradientStyle \
+ xmloff/source/style/VisAreaContext \
+ xmloff/source/style/VisAreaExport \
+ xmloff/source/style/WordWrapPropertyHdl \
+ xmloff/source/style/XMLBackgroundImageContext \
+ xmloff/source/style/XMLBackgroundImageExport \
+ xmloff/source/style/XMLBitmapLogicalSizePropertyHandler \
+ xmloff/source/style/XMLBitmapRepeatOffsetPropertyHandler \
+ xmloff/source/style/XMLClipPropertyHandler \
+ xmloff/source/style/XMLConstantsPropertyHandler \
+ xmloff/source/style/XMLElementPropertyContext \
+ xmloff/source/style/XMLFillBitmapSizePropertyHandler \
+ xmloff/source/style/XMLFontAutoStylePool \
+ xmloff/source/style/XMLFontStylesContext \
+ xmloff/source/style/XMLFootnoteSeparatorExport \
+ xmloff/source/style/XMLFootnoteSeparatorImport \
+ xmloff/source/style/XMLIsPercentagePropertyHandler \
+ xmloff/source/style/XMLPageExport \
+ xmloff/source/style/XMLPercentOrMeasurePropertyHandler \
+ xmloff/source/style/XMLRectangleMembersHandler \
+ xmloff/source/style/adjushdl \
+ xmloff/source/style/backhdl \
+ xmloff/source/style/bordrhdl \
+ xmloff/source/style/breakhdl \
+ xmloff/source/style/cdouthdl \
+ xmloff/source/style/chrhghdl \
+ xmloff/source/style/chrlohdl \
+ xmloff/source/style/csmaphdl \
+ xmloff/source/style/durationhdl \
+ xmloff/source/style/escphdl \
+ xmloff/source/style/fonthdl \
+ xmloff/source/style/impastp1 \
+ xmloff/source/style/impastp2 \
+ xmloff/source/style/impastp3 \
+ xmloff/source/style/impastp4 \
+ xmloff/source/style/kernihdl \
+ xmloff/source/style/lspachdl \
+ xmloff/source/style/numehelp \
+ xmloff/source/style/opaquhdl \
+ xmloff/source/style/postuhdl \
+ xmloff/source/style/prhdlfac \
+ xmloff/source/style/prstylei \
+ xmloff/source/style/shadwhdl \
+ xmloff/source/style/shdwdhdl \
+ xmloff/source/style/styleexp \
+ xmloff/source/style/tabsthdl \
+ xmloff/source/style/undlihdl \
+ xmloff/source/style/uniref \
+ xmloff/source/style/weighhdl \
+ xmloff/source/style/xmlaustp \
+ xmloff/source/style/xmlbahdl \
+ xmloff/source/style/xmlexppr \
+ xmloff/source/style/xmlimppr \
+ xmloff/source/style/xmlnume \
+ xmloff/source/style/xmlnumfe \
+ xmloff/source/style/xmlnumfi \
+ xmloff/source/style/xmlnumi \
+ xmloff/source/style/xmlprcon \
+ xmloff/source/style/xmlprhdl \
+ xmloff/source/style/xmlprmap \
+ xmloff/source/style/xmlstyle \
+ xmloff/source/style/xmltabe \
+ xmloff/source/style/xmltabi \
+ xmloff/source/table/XMLTableExport \
+ xmloff/source/table/XMLTableImport \
+ xmloff/source/text/XMLAutoMarkFileContext \
+ xmloff/source/text/XMLAutoTextContainerEventImport \
+ xmloff/source/text/XMLAutoTextEventExport \
+ xmloff/source/text/XMLAutoTextEventImport \
+ xmloff/source/text/XMLCalculationSettingsContext \
+ xmloff/source/text/XMLChangeElementImportContext \
+ xmloff/source/text/XMLChangeImportContext \
+ xmloff/source/text/XMLChangeInfoContext \
+ xmloff/source/text/XMLChangedRegionImportContext \
+ xmloff/source/text/XMLFootnoteBodyImportContext \
+ xmloff/source/text/XMLFootnoteConfigurationImportContext \
+ xmloff/source/text/XMLFootnoteImportContext \
+ xmloff/source/text/XMLIndexAlphabeticalSourceContext \
+ xmloff/source/text/XMLIndexBibliographyConfigurationContext \
+ xmloff/source/text/XMLIndexBibliographyEntryContext \
+ xmloff/source/text/XMLIndexBibliographySourceContext \
+ xmloff/source/text/XMLIndexBodyContext \
+ xmloff/source/text/XMLIndexChapterInfoEntryContext \
+ xmloff/source/text/XMLIndexIllustrationSourceContext \
+ xmloff/source/text/XMLIndexMarkExport \
+ xmloff/source/text/XMLIndexObjectSourceContext \
+ xmloff/source/text/XMLIndexSimpleEntryContext \
+ xmloff/source/text/XMLIndexSourceBaseContext \
+ xmloff/source/text/XMLIndexSpanEntryContext \
+ xmloff/source/text/XMLIndexTOCContext \
+ xmloff/source/text/XMLIndexTOCSourceContext \
+ xmloff/source/text/XMLIndexTOCStylesContext \
+ xmloff/source/text/XMLIndexTabStopEntryContext \
+ xmloff/source/text/XMLIndexTableSourceContext \
+ xmloff/source/text/XMLIndexTemplateContext \
+ xmloff/source/text/XMLIndexTitleTemplateContext \
+ xmloff/source/text/XMLIndexUserSourceContext \
+ xmloff/source/text/XMLLineNumberingExport \
+ xmloff/source/text/XMLLineNumberingImportContext \
+ xmloff/source/text/XMLLineNumberingSeparatorImportContext \
+ xmloff/source/text/XMLPropertyBackpatcher \
+ xmloff/source/text/XMLRedlineExport \
+ xmloff/source/text/XMLSectionExport \
+ xmloff/source/text/XMLSectionFootnoteConfigExport \
+ xmloff/source/text/XMLSectionFootnoteConfigImport \
+ xmloff/source/text/XMLSectionImportContext \
+ xmloff/source/text/XMLSectionSourceDDEImportContext \
+ xmloff/source/text/XMLSectionSourceImportContext \
+ xmloff/source/text/XMLStringBufferImportContext \
+ xmloff/source/text/XMLTextCharStyleNamesElementExport \
+ xmloff/source/text/XMLTextColumnsContext \
+ xmloff/source/text/XMLTextColumnsExport \
+ xmloff/source/text/XMLTextFrameContext \
+ xmloff/source/text/XMLTextFrameHyperlinkContext \
+ xmloff/source/text/XMLTextHeaderFooterContext \
+ xmloff/source/text/XMLTextListAutoStylePool \
+ xmloff/source/text/XMLTextListBlockContext \
+ xmloff/source/text/XMLTextListItemContext \
+ xmloff/source/text/XMLTextMarkImportContext \
+ xmloff/source/text/XMLTextMasterPageContext \
+ xmloff/source/text/XMLTextMasterPageExport \
+ xmloff/source/text/XMLTextMasterStylesContext \
+ xmloff/source/text/XMLTextNumRuleInfo \
+ xmloff/source/text/XMLTextPropertySetContext \
+ xmloff/source/text/XMLTextShapeImportHelper \
+ xmloff/source/text/XMLTextShapeStyleContext \
+ xmloff/source/text/XMLTextTableContext \
+ xmloff/source/text/XMLTrackedChangesImportContext \
+ xmloff/source/text/txtdrope \
+ xmloff/source/text/txtdropi \
+ xmloff/source/text/txtexppr \
+ xmloff/source/text/txtflde \
+ xmloff/source/text/txtfldi \
+ xmloff/source/text/txtftne \
+ xmloff/source/text/txtimp \
+ xmloff/source/text/txtimppr \
+ xmloff/source/text/txtlists \
+ xmloff/source/text/txtparae \
+ xmloff/source/text/txtparai \
+ xmloff/source/text/txtprhdl \
+ xmloff/source/text/txtprmap \
+ xmloff/source/text/txtsecte \
+ xmloff/source/text/txtstyle \
+ xmloff/source/text/txtstyli \
+ xmloff/source/text/txtvfldi \
+ xmloff/source/xforms/SchemaContext \
+ xmloff/source/xforms/SchemaRestrictionContext \
+ xmloff/source/xforms/SchemaSimpleTypeContext \
+ xmloff/source/xforms/TokenContext \
+ xmloff/source/xforms/XFormsBindContext \
+ xmloff/source/xforms/XFormsInstanceContext \
+ xmloff/source/xforms/XFormsModelContext \
+ xmloff/source/xforms/XFormsSubmissionContext \
+ xmloff/source/xforms/xformsapi \
+ xmloff/source/xforms/xformsexport \
+ xmloff/source/xforms/xformsimport \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,xo,\
+ dl \
+ icuuc \
+ m \
+ pthread \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,xo,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet ts=4 sw=4:
diff --git a/xmloff/Library_xof.mk b/xmloff/Library_xof.mk
new file mode 100644
index 0000000000..6880eb1a1f
--- /dev/null
+++ b/xmloff/Library_xof.mk
@@ -0,0 +1,112 @@
+#*************************************************************************
+#
+# 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,xof))
+
+$(eval $(call gb_Library_set_componentfile,xof,xmloff/source/transform/xof))
+
+$(eval $(call gb_Library_set_include,xof,\
+ -I$(SRCDIR)/xmloff/inc/pch \
+ -I$(SRCDIR)/xmloff/inc \
+ -I$(SRCDIR)/xmloff/source/inc \
+ -I$(WORKDIR)/inc/ \
+ $$(INCLUDE) \
+ -I$(OUTDIR)/inc \
+ -I$(OUTDIR)/inc/offuh \
+))
+
+$(eval $(call gb_Library_add_linked_libs,xof,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ salhelper \
+ stl \
+ xo \
+))
+
+$(eval $(call gb_Library_add_exception_objects,xof,\
+ xmloff/source/transform/ChartOASISTContext \
+ xmloff/source/transform/ChartOOoTContext \
+ xmloff/source/transform/ChartPlotAreaOASISTContext \
+ xmloff/source/transform/ChartPlotAreaOOoTContext \
+ xmloff/source/transform/ControlOASISTContext \
+ xmloff/source/transform/ControlOOoTContext \
+ xmloff/source/transform/CreateElemTContext \
+ xmloff/source/transform/DeepTContext \
+ xmloff/source/transform/DlgOASISTContext \
+ xmloff/source/transform/DocumentTContext \
+ xmloff/source/transform/EventMap \
+ xmloff/source/transform/EventOASISTContext \
+ xmloff/source/transform/EventOOoTContext \
+ xmloff/source/transform/FlatTContext \
+ xmloff/source/transform/FormPropOASISTContext \
+ xmloff/source/transform/FormPropOOoTContext \
+ xmloff/source/transform/FrameOASISTContext \
+ xmloff/source/transform/FrameOOoTContext \
+ xmloff/source/transform/IgnoreTContext \
+ xmloff/source/transform/MergeElemTContext \
+ xmloff/source/transform/MetaTContext \
+ xmloff/source/transform/MutableAttrList \
+ xmloff/source/transform/NotesTContext \
+ xmloff/source/transform/OOo2Oasis \
+ xmloff/source/transform/Oasis2OOo \
+ xmloff/source/transform/PersAttrListTContext \
+ xmloff/source/transform/PersMixedContentTContext \
+ xmloff/source/transform/ProcAddAttrTContext \
+ xmloff/source/transform/ProcAttrTContext \
+ xmloff/source/transform/PropertyActionsOASIS \
+ xmloff/source/transform/PropertyActionsOOo \
+ xmloff/source/transform/RenameElemTContext \
+ xmloff/source/transform/StyleOASISTContext \
+ xmloff/source/transform/StyleOOoTContext \
+ xmloff/source/transform/TransformerActions \
+ xmloff/source/transform/TransformerBase \
+ xmloff/source/transform/TransformerContext \
+ xmloff/source/transform/TransformerTokenMap \
+ xmloff/source/transform/XMLFilterRegistration \
+))
+
+ifeq ($(OS),LINUX)
+$(eval $(call gb_Library_add_linked_libs,xof,\
+ icuuc \
+ dl \
+ m \
+ pthread \
+))
+endif
+
+ifeq ($(OS),WNT)
+$(eval $(call gb_Library_add_linked_libs,xof,\
+ kernel32 \
+ msvcrt \
+ oldnames \
+ user32 \
+ uwinapi \
+))
+endif
+# vim: set noet ts=4 sw=4:
diff --git a/xmloff/Makefile b/xmloff/Makefile
new file mode 100644
index 0000000000..a79aff8310
--- /dev/null
+++ b/xmloff/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/xmloff/Module_xmloff.mk b/xmloff/Module_xmloff.mk
new file mode 100644
index 0000000000..eacc83068d
--- /dev/null
+++ b/xmloff/Module_xmloff.mk
@@ -0,0 +1,40 @@
+#*************************************************************************
+#
+# 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,xmloff))
+
+$(eval $(call gb_Module_add_targets,xmloff,\
+ Library_xo \
+ Library_xof \
+ Package_dtd \
+ Package_inc \
+))
+
+#todo: map file
+#todo: xmlkywd.lib - built, but never used?!
+
+# vim: set noet ts=4 sw=4:
diff --git a/xmloff/Package_dtd.mk b/xmloff/Package_dtd.mk
new file mode 100644
index 0000000000..fbfbe4a140
--- /dev/null
+++ b/xmloff/Package_dtd.mk
@@ -0,0 +1,45 @@
+#*************************************************************************
+#
+# 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,xmloff_dtd,$(SRCDIR)/xmloff/dtd))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/Blocklist.dtd,Blocklist.dtd))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/chart.mod,chart.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/datastyl.mod,datastyl.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/defs.mod,defs.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/drawing.mod,drawing.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/dtypes.mod,dtypes.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/form.mod,form.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/meta.mod,meta.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/nmspace.mod,nmspace.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/office.dtd,office.dtd))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/office.mod,office.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/openoffice-2.0-schema.rng,openoffice-2.0-schema.rng))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/script.mod,script.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/settings.mod,settings.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/style.mod,style.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/table.mod,table.mod))
+$(eval $(call gb_Package_add_file,xmloff_dtd,bin/text.mod,text.mod))
diff --git a/xmloff/Package_inc.mk b/xmloff/Package_inc.mk
new file mode 100644
index 0000000000..ca2d0abe62
--- /dev/null
+++ b/xmloff/Package_inc.mk
@@ -0,0 +1,131 @@
+#*************************************************************************
+#
+# 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,xmloff_inc,$(SRCDIR)/xmloff/inc))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/DashStyle.hxx,xmloff/DashStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/DocumentSettingsContext.hxx,xmloff/DocumentSettingsContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/EnumPropertyHdl.hxx,xmloff/EnumPropertyHdl.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/GradientStyle.hxx,xmloff/GradientStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/HatchStyle.hxx,xmloff/HatchStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/ImageStyle.hxx,xmloff/ImageStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/MarkerStyle.hxx,xmloff/MarkerStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/NamedBoolPropertyHdl.hxx,xmloff/NamedBoolPropertyHdl.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/PageMasterStyleMap.hxx,xmloff/PageMasterStyleMap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/ProgressBarHelper.hxx,xmloff/ProgressBarHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/PropertySetInfoHash.hxx,xmloff/PropertySetInfoHash.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/PropertySetInfoKey.hxx,xmloff/PropertySetInfoKey.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/SchXMLExportHelper.hxx,xmloff/SchXMLExportHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/SchXMLImportHelper.hxx,xmloff/SchXMLImportHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/SettingsExportHelper.hxx,xmloff/SettingsExportHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/SinglePropertySetInfoCache.hxx,xmloff/SinglePropertySetInfoCache.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/VisAreaContext.hxx,xmloff/VisAreaContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/VisAreaExport.hxx,xmloff/VisAreaExport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/WordWrapPropertyHdl.hxx,xmloff/WordWrapPropertyHdl.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLBase64ImportContext.hxx,xmloff/XMLBase64ImportContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLCharContext.hxx,xmloff/XMLCharContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLConstantsPropertyHandler.hxx,xmloff/XMLConstantsPropertyHandler.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLEmbeddedObjectExportFilter.hxx,xmloff/XMLEmbeddedObjectExportFilter.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLEventExport.hxx,xmloff/XMLEventExport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLEventsImportContext.hxx,xmloff/XMLEventsImportContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLFilterServiceNames.h,xmloff/XMLFilterServiceNames.h))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLFontAutoStylePool.hxx,xmloff/XMLFontAutoStylePool.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLFontStylesContext.hxx,xmloff/XMLFontStylesContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLGraphicsDefaultStyle.hxx,xmloff/XMLGraphicsDefaultStyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLPageExport.hxx,xmloff/XMLPageExport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLSettingsExportContext.hxx,xmloff/XMLSettingsExportContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLShapeStyleContext.hxx,xmloff/XMLShapeStyleContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLStringVector.hxx,xmloff/XMLStringVector.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextListAutoStylePool.hxx,xmloff/XMLTextListAutoStylePool.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextMasterPageContext.hxx,xmloff/XMLTextMasterPageContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextMasterPageExport.hxx,xmloff/XMLTextMasterPageExport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextMasterStylesContext.hxx,xmloff/XMLTextMasterStylesContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextShapeImportHelper.hxx,xmloff/XMLTextShapeImportHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextShapeImportHelper.hxx,xmloff/XMLTextShapeImportHelper.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextShapeStyleContext.hxx,xmloff/XMLTextShapeStyleContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/XMLTextTableContext.hxx,xmloff/XMLTextTableContext.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/animexp.hxx,xmloff/animexp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/attrlist.hxx,xmloff/attrlist.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/contextid.hxx,xmloff/contextid.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/controlpropertyhdl.hxx,xmloff/controlpropertyhdl.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/dllapi.h,xmloff/dllapi.h))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/families.hxx,xmloff/families.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/formlayerexport.hxx,xmloff/formlayerexport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/formlayerimport.hxx,xmloff/formlayerimport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/formsimp.hxx,xmloff/formsimp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/functional.hxx,xmloff/functional.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/i18nmap.hxx,xmloff/i18nmap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/maptype.hxx,xmloff/maptype.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/nmspmap.hxx,xmloff/nmspmap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/numehelp.hxx,xmloff/numehelp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/odffields.hxx,xmloff/odffields.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/prhdlfac.hxx,xmloff/prhdlfac.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/prstylei.hxx,xmloff/prstylei.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/shapeexport.hxx,xmloff/shapeexport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/shapeimport.hxx,xmloff/shapeimport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/styleexp.hxx,xmloff/styleexp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/table/XMLTableExport.hxx,xmloff/table/XMLTableExport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/table/XMLTableImport.hxx,xmloff/table/XMLTableImport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtimp.hxx,xmloff/txtimp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtimppr.hxx,xmloff/txtimppr.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtparae.hxx,xmloff/txtparae.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtprmap.hxx,xmloff/txtprmap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtstyle.hxx,xmloff/txtstyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/txtstyli.hxx,xmloff/txtstyli.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/uniref.hxx,xmloff/uniref.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/unoatrcn.hxx,xmloff/unoatrcn.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xformsexport.hxx,xmloff/xformsexport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xformsimport.hxx,xmloff/xformsimport.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlaustp.hxx,xmloff/xmlaustp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlcnimp.hxx,xmloff/xmlcnimp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlcnitm.hxx,xmloff/xmlcnitm.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlement.hxx,xmloff/xmlement.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlerror.hxx,xmloff/xmlerror.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlevent.hxx,xmloff/xmlevent.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlexp.hxx,xmloff/xmlexp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlexppr.hxx,xmloff/xmlexppr.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlictxt.hxx,xmloff/xmlictxt.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlimp.hxx,xmloff/xmlimp.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlimppr.hxx,xmloff/xmlimppr.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlkywd.hxx,xmloff/xmlkywd.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlmetae.hxx,xmloff/xmlmetae.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlmetai.hxx,xmloff/xmlmetai.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlnmspe.hxx,xmloff/xmlnmspe.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlnume.hxx,xmloff/xmlnume.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlnumfe.hxx,xmloff/xmlnumfe.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlnumfi.hxx,xmloff/xmlnumfi.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlnumi.hxx,xmloff/xmlnumi.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlprcon.hxx,xmloff/xmlprcon.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlprhdl.hxx,xmloff/xmlprhdl.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlprmap.hxx,xmloff/xmlprmap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlreg.hxx,xmloff/xmlreg.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlscripti.hxx,xmloff/xmlscripti.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmlstyle.hxx,xmloff/xmlstyle.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmltabe.hxx,xmloff/xmltabe.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmltkmap.hxx,xmloff/xmltkmap.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmltoken.hxx,xmloff/xmltoken.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmltypes.hxx,xmloff/xmltypes.hxx))
+$(eval $(call gb_Package_add_file,xmloff_inc,inc/xmloff/xmluconv.hxx,xmloff/xmluconv.hxx))
diff --git a/xmloff/inc/forms/form_handler_factory.hxx b/xmloff/inc/forms/form_handler_factory.hxx
new file mode 100755
index 0000000000..8752b8384f
--- /dev/null
+++ b/xmloff/inc/forms/form_handler_factory.hxx
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * 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 XMLOFF_FORM_HANDLER_FACTORY_HXX
+#define XMLOFF_FORM_HANDLER_FACTORY_HXX
+
+#include "forms/property_handler.hxx"
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= FormHandlerFactory
+ //==================================================================================================================
+ class FormHandlerFactory
+ {
+ public:
+ static PPropertyHandler getFormPropertyHandler( const PropertyId i_propertyId );
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_FORM_HANDLER_FACTORY_HXX
diff --git a/xmloff/inc/forms/property_handler.hxx b/xmloff/inc/forms/property_handler.hxx
new file mode 100755
index 0000000000..d2675ba58a
--- /dev/null
+++ b/xmloff/inc/forms/property_handler.hxx
@@ -0,0 +1,84 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_HANDLER_HXX
+#define XMLOFF_PROPERTY_HANDLER_HXX
+
+#include "forms/property_ids.hxx"
+
+#include <com/sun/star/uno/Any.hxx>
+
+#include <rtl/ref.hxx>
+
+#include <map>
+#include <vector>
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ typedef ::std::map< PropertyId, ::com::sun::star::uno::Any > PropertyValues;
+
+ //==================================================================================================================
+ //= IPropertyHandler
+ //==================================================================================================================
+ class IPropertyHandler : public ::rtl::IReference
+ {
+ public:
+ /** retrieves the XML attribute value for the given property values
+ */
+ virtual ::rtl::OUString
+ getAttributeValue( const PropertyValues& i_propertyValues ) const = 0;
+
+ /** is a convenience method for XML attributes whose value comprises of only one UNO API property
+ */
+ virtual ::rtl::OUString
+ getAttributeValue( const ::com::sun::star::uno::Any& i_propertyValue ) const = 0;
+
+ /** retrieves the values of the properties controlled by an XML attributed, described by a given attribute value
+ */
+ virtual bool
+ getPropertyValues( const ::rtl::OUString i_attributeValue, PropertyValues& o_propertyValues ) const = 0;
+
+ virtual ~IPropertyHandler() { }
+ };
+
+ //==================================================================================================================
+ //= PPropertyHandler
+ //==================================================================================================================
+ typedef ::rtl::Reference< IPropertyHandler > PPropertyHandler;
+
+ //==================================================================================================================
+ //= PropertyHandlerFactory
+ //==================================================================================================================
+ typedef PPropertyHandler (*PropertyHandlerFactory)( const PropertyId i_propertyId );
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_HANDLER_HXX
diff --git a/xmloff/inc/forms/property_ids.hxx b/xmloff/inc/forms/property_ids.hxx
new file mode 100755
index 0000000000..31004f2d9f
--- /dev/null
+++ b/xmloff/inc/forms/property_ids.hxx
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_IDS_HXX
+#define XMLOFF_PROPERTY_IDS_HXX
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PropertyId
+ //==================================================================================================================
+ enum PropertyId
+ {
+ PID_DATE_MIN,
+ PID_DATE_MAX,
+ PID_DEFAULT_DATE,
+ PID_DATE,
+ PID_TIME_MIN,
+ PID_TIME_MAX,
+ PID_DEFAULT_TIME,
+ PID_TIME,
+
+ PID_INVALID
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_IDS_HXX
diff --git a/xmloff/inc/functional.hxx b/xmloff/inc/functional.hxx
deleted file mode 100644
index 1842a7139a..0000000000
--- a/xmloff/inc/functional.hxx
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _XMLOFF_FUNCTIONAL_HXX
-#define _XMLOFF_FUNCTIONAL_HXX
-
-#include <rtl/ustring.hxx>
-
-/* THIS HEADER IS DEPRECATED. USE comphelper/stl_types.hxx INSTEAD!!! */
-
-/** @#file
- *
- * re-implement STL functors as needed
- *
- * The standard comparison operators from the STL cause warnings with
- * several compilers about our sal_Bool (=unsigned char) being
- * converted to bool (C++ bool). We wish to avoid that.
- */
-
-struct less_functor
-{
- bool operator()(const ::rtl::OUString& x,
- const ::rtl::OUString& y) const
- {
- return 0 != (x<y);
- }
-};
-
-
-#endif
diff --git a/xmloff/inc/makefile.mk b/xmloff/inc/makefile.mk
deleted file mode 100644
index db706e2930..0000000000
--- a/xmloff/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=xmloff
-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/xmloff/inc/txtflde.hxx b/xmloff/inc/txtflde.hxx
index bc67656582..59244c9057 100644
--- a/xmloff/inc/txtflde.hxx
+++ b/xmloff/inc/txtflde.hxx
@@ -33,7 +33,7 @@
#define _XMLOFF_TXTFLDE_HXX
#include <com/sun/star/uno/Reference.h>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <rtl/ustring.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/inc/DashStyle.hxx b/xmloff/inc/xmloff/DashStyle.hxx
index 5001ce1816..5001ce1816 100644
--- a/xmloff/inc/DashStyle.hxx
+++ b/xmloff/inc/xmloff/DashStyle.hxx
diff --git a/xmloff/inc/GradientStyle.hxx b/xmloff/inc/xmloff/GradientStyle.hxx
index 31b3dc08e1..31b3dc08e1 100644
--- a/xmloff/inc/GradientStyle.hxx
+++ b/xmloff/inc/xmloff/GradientStyle.hxx
diff --git a/xmloff/inc/HatchStyle.hxx b/xmloff/inc/xmloff/HatchStyle.hxx
index ffb5fd54a9..ffb5fd54a9 100644
--- a/xmloff/inc/HatchStyle.hxx
+++ b/xmloff/inc/xmloff/HatchStyle.hxx
diff --git a/xmloff/inc/ImageStyle.hxx b/xmloff/inc/xmloff/ImageStyle.hxx
index 18a90671d9..18a90671d9 100644
--- a/xmloff/inc/ImageStyle.hxx
+++ b/xmloff/inc/xmloff/ImageStyle.hxx
diff --git a/xmloff/inc/MarkerStyle.hxx b/xmloff/inc/xmloff/MarkerStyle.hxx
index 77d1b46d7e..77d1b46d7e 100644
--- a/xmloff/inc/MarkerStyle.hxx
+++ b/xmloff/inc/xmloff/MarkerStyle.hxx
diff --git a/xmloff/inc/VisAreaContext.hxx b/xmloff/inc/xmloff/VisAreaContext.hxx
index 05e30459a6..05e30459a6 100644
--- a/xmloff/inc/VisAreaContext.hxx
+++ b/xmloff/inc/xmloff/VisAreaContext.hxx
diff --git a/xmloff/inc/VisAreaExport.hxx b/xmloff/inc/xmloff/VisAreaExport.hxx
index 8b908c2f29..8b908c2f29 100644
--- a/xmloff/inc/VisAreaExport.hxx
+++ b/xmloff/inc/xmloff/VisAreaExport.hxx
diff --git a/xmloff/inc/XMLEmbeddedObjectExportFilter.hxx b/xmloff/inc/xmloff/XMLEmbeddedObjectExportFilter.hxx
index 79ded6cae5..79ded6cae5 100644
--- a/xmloff/inc/XMLEmbeddedObjectExportFilter.hxx
+++ b/xmloff/inc/xmloff/XMLEmbeddedObjectExportFilter.hxx
diff --git a/xmloff/inc/XMLFilterServiceNames.h b/xmloff/inc/xmloff/XMLFilterServiceNames.h
index 8c044ceac4..8c044ceac4 100644
--- a/xmloff/inc/XMLFilterServiceNames.h
+++ b/xmloff/inc/xmloff/XMLFilterServiceNames.h
diff --git a/xmloff/inc/XMLTextListAutoStylePool.hxx b/xmloff/inc/xmloff/XMLTextListAutoStylePool.hxx
index 3551638d50..3551638d50 100644
--- a/xmloff/inc/XMLTextListAutoStylePool.hxx
+++ b/xmloff/inc/xmloff/XMLTextListAutoStylePool.hxx
diff --git a/xmloff/source/text/XMLTextShapeImportHelper.hxx b/xmloff/inc/xmloff/XMLTextShapeImportHelper.hxx
index 569a084bfc..569a084bfc 100644
--- a/xmloff/source/text/XMLTextShapeImportHelper.hxx
+++ b/xmloff/inc/xmloff/XMLTextShapeImportHelper.hxx
diff --git a/xmloff/inc/xmloff/functional.hxx b/xmloff/inc/xmloff/functional.hxx
new file mode 100644
index 0000000000..f1c3aa3201
--- /dev/null
+++ b/xmloff/inc/xmloff/functional.hxx
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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 _XMLOFF_FUNCTIONAL_HXX
+#define _XMLOFF_FUNCTIONAL_HXX
+
+#include <rtl/ustring.hxx>
+
+/* THIS HEADER IS DEPRECATED. USE comphelper/stl_types.hxx INSTEAD!!! */
+
+/** @#file
+ *
+ * re-implement STL functors as needed
+ *
+ * The standard comparison operators from the STL cause warnings with
+ * several compilers about our sal_Bool (=unsigned char) being
+ * converted to bool (C++ bool). We wish to avoid that.
+ */
+
+struct less_functor
+{
+ bool operator()(const ::rtl::OUString& x,
+ const ::rtl::OUString& y) const
+ {
+ return 0 != (x<y);
+ }
+};
+
+
+#endif
diff --git a/xmloff/inc/i18nmap.hxx b/xmloff/inc/xmloff/i18nmap.hxx
index ed46b973ef..ed46b973ef 100644
--- a/xmloff/inc/i18nmap.hxx
+++ b/xmloff/inc/xmloff/i18nmap.hxx
diff --git a/xmloff/inc/numehelp.hxx b/xmloff/inc/xmloff/numehelp.hxx
index 881f85f771..881f85f771 100644
--- a/xmloff/inc/numehelp.hxx
+++ b/xmloff/inc/xmloff/numehelp.hxx
diff --git a/xmloff/inc/xmloff/txtimp.hxx b/xmloff/inc/xmloff/txtimp.hxx
index b6570356b3..a5088cf2d5 100644
--- a/xmloff/inc/xmloff/txtimp.hxx
+++ b/xmloff/inc/xmloff/txtimp.hxx
@@ -40,7 +40,7 @@
#include <tools/list.hxx>
#include <xmloff/xmltkmap.hxx>
-// functional.hxx is obsolete and should be replaced by its comphelper
+// xmloff/functional.hxx is obsolete and should be replaced by its comphelper
// counterpart
#include <comphelper/stl_types.hxx>
#include <xmloff/uniref.hxx>
diff --git a/xmloff/inc/txtimppr.hxx b/xmloff/inc/xmloff/txtimppr.hxx
index 1277bcf5ed..1277bcf5ed 100644
--- a/xmloff/inc/txtimppr.hxx
+++ b/xmloff/inc/xmloff/txtimppr.hxx
diff --git a/xmloff/inc/unoatrcn.hxx b/xmloff/inc/xmloff/unoatrcn.hxx
index a1d2493fc1..a1d2493fc1 100644
--- a/xmloff/inc/unoatrcn.hxx
+++ b/xmloff/inc/xmloff/unoatrcn.hxx
diff --git a/xmloff/inc/xformsexport.hxx b/xmloff/inc/xmloff/xformsexport.hxx
index dd9b59149d..dd9b59149d 100644
--- a/xmloff/inc/xformsexport.hxx
+++ b/xmloff/inc/xmloff/xformsexport.hxx
diff --git a/xmloff/inc/xformsimport.hxx b/xmloff/inc/xmloff/xformsimport.hxx
index bfb2f1949f..bfb2f1949f 100644
--- a/xmloff/inc/xformsimport.hxx
+++ b/xmloff/inc/xmloff/xformsimport.hxx
diff --git a/xmloff/inc/xmlcnitm.hxx b/xmloff/inc/xmloff/xmlcnitm.hxx
index 3496996edd..3496996edd 100644
--- a/xmloff/inc/xmlcnitm.hxx
+++ b/xmloff/inc/xmloff/xmlcnitm.hxx
diff --git a/xmloff/inc/xmlerror.hxx b/xmloff/inc/xmloff/xmlerror.hxx
index bcf996bca5..bcf996bca5 100644
--- a/xmloff/inc/xmlerror.hxx
+++ b/xmloff/inc/xmloff/xmlerror.hxx
diff --git a/xmloff/inc/xmloff/xmlkywd.hxx b/xmloff/inc/xmloff/xmlkywd.hxx
new file mode 100644
index 0000000000..ff40e7daab
--- /dev/null
+++ b/xmloff/inc/xmloff/xmlkywd.hxx
@@ -0,0 +1,1998 @@
+/*************************************************************************
+ *
+ * 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 _XMLOFF_XMLKYWD_HXX
+#define _XMLOFF_XMLKYWD_HXX
+
+#include <tools/string.hxx>
+
+/*
+ * THIS FILE IS DEPRECATED. IT IS SUPERSEDED BY XMLTOKEN.HXX.
+ *
+ * Please use xmltoken.hxx / xmltoken.cxx from now on.
+ */
+
+
+/* if XML_DEFINE_KEYWORDS is defined the variables are
+ defined rather than declared. So this file MUST be included
+ WITHOUT this define.
+
+ (Except the xmlkywd.cxx file that actually defines the
+ variables which sets this define.)
+ */
+
+#ifndef XML_DEFINE_KEYWORDS
+#define XML_CONSTASCII_ACTION( n, s ) extern sal_Char __FAR_DATA n[sizeof(s)]
+#else
+#define XML_CONSTASCII_ACTION( n, s ) sal_Char __FAR_DATA n[sizeof(s)] = s
+#endif
+
+// common XML
+XML_CONSTASCII_ACTION( sXML_CDATA, "CDATA" );
+XML_CONSTASCII_ACTION( sXML_WS, " " );
+XML_CONSTASCII_ACTION( sXML_xml, "xml" );
+XML_CONSTASCII_ACTION( sXML_xmlns, "xmlns" );
+XML_CONSTASCII_ACTION( sXML_xml_pi, "version=\"1.0\" encoding=\"UTF-8\"" );
+XML_CONSTASCII_ACTION( sXML_xml_doctype_prefix, "<!DOCTYPE " );
+XML_CONSTASCII_ACTION( sXML_xml_doctype_suffix, " PUBLIC \"-//OpenOffice.org//DTD OfficeDocument 1.0//EN\" \"office.dtd\">" );
+
+// namespace prefixes and names
+XML_CONSTASCII_ACTION( sXML_np_office, "office" );
+XML_CONSTASCII_ACTION( sXML_n_office, "http://openoffice.org/2000/office" );
+XML_CONSTASCII_ACTION( sXML_n_office_old, "http://sun.com/xmlns/staroffice/office" );
+XML_CONSTASCII_ACTION( sXML_np_meta, "meta" );
+XML_CONSTASCII_ACTION( sXML_n_meta, "http://openoffice.org/2000/meta" );
+XML_CONSTASCII_ACTION( sXML_n_meta_old, "http://sun.com/xmlns/staroffice/meta" );
+XML_CONSTASCII_ACTION( sXML_np_style, "style" );
+XML_CONSTASCII_ACTION( sXML_n_style, "http://openoffice.org/2000/style" );
+XML_CONSTASCII_ACTION( sXML_n_style_old, "http://sun.com/xmlns/staroffice/style" );
+XML_CONSTASCII_ACTION( sXML_np_number, "number" );
+XML_CONSTASCII_ACTION( sXML_n_number, "http://openoffice.org/2000/datastyle" );
+XML_CONSTASCII_ACTION( sXML_n_number_old, "http://sun.com/xmlns/staroffice/number" );
+XML_CONSTASCII_ACTION( sXML_np_text, "text" );
+XML_CONSTASCII_ACTION( sXML_n_text, "http://openoffice.org/2000/text" );
+XML_CONSTASCII_ACTION( sXML_n_text_old, "http://sun.com/xmlns/staroffice/text" );
+XML_CONSTASCII_ACTION( sXML_np_table, "table" );
+XML_CONSTASCII_ACTION( sXML_n_table, "http://openoffice.org/2000/table" );
+XML_CONSTASCII_ACTION( sXML_n_table_old, "http://sun.com/xmlns/staroffice/table" );
+XML_CONSTASCII_ACTION( sXML_np_draw, "draw" );
+XML_CONSTASCII_ACTION( sXML_n_draw, "http://openoffice.org/2000/drawing" );
+XML_CONSTASCII_ACTION( sXML_np_dr3d, "dr3d" );
+XML_CONSTASCII_ACTION( sXML_n_dr3d, "http://openoffice.org/2000/dr3d" );
+XML_CONSTASCII_ACTION( sXML_n_draw_old, "http://sun.com/xmlns/staroffice/draw" );
+XML_CONSTASCII_ACTION( sXML_np_presentation, "presentation" );
+XML_CONSTASCII_ACTION( sXML_n_presentation, "http://openoffice.org/2000/presentation" );
+XML_CONSTASCII_ACTION( sXML_n_presentation_old, "http://sun.com/xmlns/staroffice/presentation" );
+XML_CONSTASCII_ACTION( sXML_np_chart, "chart" );
+XML_CONSTASCII_ACTION( sXML_n_chart, "http://openoffice.org/2000/chart" );
+XML_CONSTASCII_ACTION( sXML_np_config, "config" );
+XML_CONSTASCII_ACTION( sXML_n_config, "http://openoffice.org/2001/config" );
+XML_CONSTASCII_ACTION( sXML_n_chart_old, "http://sun.com/xmlns/staroffice/chart" );
+XML_CONSTASCII_ACTION( sXML_np_fo, "fo" );
+XML_CONSTASCII_ACTION( sXML_n_fo_old, "http://www.w3.org/1999/XSL/Format/" );
+XML_CONSTASCII_ACTION( sXML_n_fo, "http://www.w3.org/1999/XSL/Format" );
+XML_CONSTASCII_ACTION( sXML_np_xlink, "xlink" );
+XML_CONSTASCII_ACTION( sXML_n_xlink, "http://www.w3.org/1999/xlink" );
+XML_CONSTASCII_ACTION( sXML_n_xlink_old, "http://www.w3.org/1999/xlink/namespace" );
+XML_CONSTASCII_ACTION( sXML_np_dc, "dc" );
+XML_CONSTASCII_ACTION( sXML_n_dc, "http://purl.org/dc/elements/1.1/" );
+XML_CONSTASCII_ACTION( sXML_np_svg, "svg" );
+XML_CONSTASCII_ACTION( sXML_n_svg, "http://www.w3.org/2000/svg" );
+XML_CONSTASCII_ACTION( sXML_namespace_form, "form" );
+XML_CONSTASCII_ACTION( sXML_url_form, "http://openoffice.org/2000/form" );
+XML_CONSTASCII_ACTION( sXML_namespace_script, "script" );
+XML_CONSTASCII_ACTION( sXML_url_script, "http://openoffice.org/2000/script" );
+
+XML_CONSTASCII_ACTION( sXML_np_block_list, "block-list");
+XML_CONSTASCII_ACTION( sXML_n_block_list, "http://openoffice.org/2001/block-list" );
+
+XML_CONSTASCII_ACTION( sXML_np_math, "math");
+XML_CONSTASCII_ACTION( sXML_n_math, "http://www.w3.org/1998/Math/MathML" );
+
+XML_CONSTASCII_ACTION( sXML_np_versions_list, "VL");
+XML_CONSTASCII_ACTION( sXML_n_versions_list, "http://openoffice.org/2001/versions-list" );
+
+// units
+XML_CONSTASCII_ACTION( sXML_unit_mm, "mm" );
+XML_CONSTASCII_ACTION( sXML_unit_m, "m" );
+XML_CONSTASCII_ACTION( sXML_unit_km, "km" );
+XML_CONSTASCII_ACTION( sXML_unit_cm, "cm" );
+XML_CONSTASCII_ACTION( sXML_unit_pt, "pt" );
+XML_CONSTASCII_ACTION( sXML_unit_pc, "pc" );
+XML_CONSTASCII_ACTION( sXML_unit_foot, "ft" );
+XML_CONSTASCII_ACTION( sXML_unit_miles, "mi" );
+XML_CONSTASCII_ACTION( sXML_unit_inch, "inch" );
+
+// any other
+XML_CONSTASCII_ACTION( sXML_1, "1" );
+XML_CONSTASCII_ACTION( sXML_10, "10" );
+XML_CONSTASCII_ACTION( sXML_2, "2" );
+XML_CONSTASCII_ACTION( sXML_3, "3" );
+XML_CONSTASCII_ACTION( sXML_4, "4" );
+XML_CONSTASCII_ACTION( sXML_5, "5" );
+XML_CONSTASCII_ACTION( sXML_6, "6" );
+XML_CONSTASCII_ACTION( sXML_7, "7" );
+XML_CONSTASCII_ACTION( sXML_8, "8" );
+XML_CONSTASCII_ACTION( sXML_9, "9" );
+XML_CONSTASCII_ACTION( sXML_A, "A" );
+XML_CONSTASCII_ACTION( sXML_I, "I" );
+XML_CONSTASCII_ACTION( sXML_IBM437, "IBM437" );
+XML_CONSTASCII_ACTION( sXML_IBM850, "IBM850" );
+XML_CONSTASCII_ACTION( sXML_IBM860, "IBM860" );
+XML_CONSTASCII_ACTION( sXML_IBM861, "IBM861" );
+XML_CONSTASCII_ACTION( sXML_IBM863, "IBM863" );
+XML_CONSTASCII_ACTION( sXML_IBM865, "IBM865" );
+XML_CONSTASCII_ACTION( sXML_ISO_8859_1, "ISO-8859-1" );
+XML_CONSTASCII_ACTION( sXML_OLE2, "ole2" );
+XML_CONSTASCII_ACTION( sXML__colon, ":" );
+XML_CONSTASCII_ACTION( sXML__empty, "" );
+XML_CONSTASCII_ACTION( sXML__unknown_, "_unknown_" );
+XML_CONSTASCII_ACTION( sXML_a, "a" );
+XML_CONSTASCII_ACTION( sXML_abbreviated_name, "abbreviated-name" );
+XML_CONSTASCII_ACTION( sXML_above, "above" );
+XML_CONSTASCII_ACTION( sXML_abs, "abs" );
+XML_CONSTASCII_ACTION( sXML_accent, "accent" );
+XML_CONSTASCII_ACTION( sXML_accentunder, "accentunder" );
+XML_CONSTASCII_ACTION( sXML_acceptance_state, "acceptance-state" );
+XML_CONSTASCII_ACTION( sXML_accepted, "accepted" );
+XML_CONSTASCII_ACTION( sXML_action, "action" );
+XML_CONSTASCII_ACTION( sXML_active, "active" );
+XML_CONSTASCII_ACTION( sXML_active_split_range, "active-split-range" );
+XML_CONSTASCII_ACTION( sXML_active_table, "active-table" );
+XML_CONSTASCII_ACTION( sXML_actuate, "actuate" );
+XML_CONSTASCII_ACTION( sXML_add_in, "add-in" );
+XML_CONSTASCII_ACTION( sXML_add_in_name, "add-in-name" );
+XML_CONSTASCII_ACTION( sXML_address, "address" );
+XML_CONSTASCII_ACTION( sXML_adjustment, "adjustment" );
+XML_CONSTASCII_ACTION( sXML_algorithm, "algorithm" );
+XML_CONSTASCII_ACTION( sXML_align, "align" );
+XML_CONSTASCII_ACTION( sXML_all, "all" );
+XML_CONSTASCII_ACTION( sXML_allow_empty_cell, "allow-empty-cell" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index, "alphabetical-index" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_auto_mark_file, "alphabetical-index-auto-mark-file" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_entry_template, "alphabetical-index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_mark, "alphabetical-index-mark" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_mark_end, "alphabetical-index-mark-end" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_mark_start, "alphabetical-index-mark-start" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_index_source, "alphabetical-index-source" );
+XML_CONSTASCII_ACTION( sXML_alphabetical_separators, "alphabetical-separators" );
+XML_CONSTASCII_ACTION( sXML_alternate, "alternate" );
+XML_CONSTASCII_ACTION( sXML_am_pm, "am-pm" );
+XML_CONSTASCII_ACTION( sXML_ambient_color, "ambient-color");
+XML_CONSTASCII_ACTION( sXML_anchor_page_number, "anchor-page-number" );
+XML_CONSTASCII_ACTION( sXML_anchor_type, "anchor-type" );
+XML_CONSTASCII_ACTION( sXML_and, "and" );
+XML_CONSTASCII_ACTION( sXML_animation, "animation" );
+XML_CONSTASCII_ACTION( sXML_animation_direction, "animation-direction" );
+XML_CONSTASCII_ACTION( sXML_animation_start_inside, "animation-start-inside" );
+XML_CONSTASCII_ACTION( sXML_animation_stop_inside, "animation-stop-inside" );
+XML_CONSTASCII_ACTION( sXML_animation_repeat, "animation-repeat" );
+XML_CONSTASCII_ACTION( sXML_animation_delay, "animation-delay" );
+XML_CONSTASCII_ACTION( sXML_animation_steps, "animation-steps" );
+XML_CONSTASCII_ACTION( sXML_annotation, "annotation" );
+XML_CONSTASCII_ACTION( sXML_annotations, "annotations" );
+XML_CONSTASCII_ACTION( sXML_annote, "annote" );
+XML_CONSTASCII_ACTION( sXML_applet, "applet");
+XML_CONSTASCII_ACTION( sXML_applet_name, "applet-name");
+XML_CONSTASCII_ACTION( sXML_application_data, "application-data");
+XML_CONSTASCII_ACTION( sXML_application_xml, "application-xml");
+XML_CONSTASCII_ACTION( sXML_apply, "apply" );
+XML_CONSTASCII_ACTION( sXML_apply_style_name, "apply-style-name" );
+XML_CONSTASCII_ACTION( sXML_aqua, "aqua" );
+XML_CONSTASCII_ACTION( sXML_arccos, "arccos" );
+XML_CONSTASCII_ACTION( sXML_archive, "archive" );
+XML_CONSTASCII_ACTION( sXML_arcsin, "arcsin" );
+XML_CONSTASCII_ACTION( sXML_arctan, "arctan" );
+XML_CONSTASCII_ACTION( sXML_area, "area" );
+XML_CONSTASCII_ACTION( sXML_area_circle, "area-circle" );
+XML_CONSTASCII_ACTION( sXML_area_polygon, "area-polygon" );
+XML_CONSTASCII_ACTION( sXML_area_rectangle, "area-rectangle" );
+XML_CONSTASCII_ACTION( sXML_article, "article" );
+XML_CONSTASCII_ACTION( sXML_as_char, "as-char" );
+XML_CONSTASCII_ACTION( sXML_ascending, "ascending");
+XML_CONSTASCII_ACTION( sXML_attached_axis, "attached-axis" );
+XML_CONSTASCII_ACTION( sXML_attractive, "attractive");
+XML_CONSTASCII_ACTION( sXML_author, "author" );
+XML_CONSTASCII_ACTION( sXML_author_initials, "author-initials" );
+XML_CONSTASCII_ACTION( sXML_author_name, "author-name" );
+XML_CONSTASCII_ACTION( sXML_auto, "auto" );
+XML_CONSTASCII_ACTION( sXML_auto_grow_height, "auto-grow-height" );
+XML_CONSTASCII_ACTION( sXML_auto_grow_width, "auto-grow-width" );
+XML_CONSTASCII_ACTION( sXML_auto_reload, "auto-reload" );
+XML_CONSTASCII_ACTION( sXML_auto_text, "auto-text" );
+XML_CONSTASCII_ACTION( sXML_auto_text_events, "auto-text-events" );
+XML_CONSTASCII_ACTION( sXML_auto_text_group, "auto-text-group" );
+XML_CONSTASCII_ACTION( sXML_auto_text_indent, "auto-text-indent" );
+XML_CONSTASCII_ACTION( sXML_up, "up" );
+XML_CONSTASCII_ACTION( sXML_auto_update, "auto-update" );
+XML_CONSTASCII_ACTION( sXML_automatic, "automatic");
+XML_CONSTASCII_ACTION( sXML_automatic_find_labels, "automatic-find-labels" );
+XML_CONSTASCII_ACTION( sXML_automatic_order, "automatic-order" );
+XML_CONSTASCII_ACTION( sXML_automatic_styles, "automatic-styles" );
+XML_CONSTASCII_ACTION( sXML_automatic_update, "automatic-update" );
+XML_CONSTASCII_ACTION( sXML_average, "average" );
+XML_CONSTASCII_ACTION( sXML_axis, "axis" );
+XML_CONSTASCII_ACTION( sXML_back_scale, "back-scale" );
+XML_CONSTASCII_ACTION( sXML_backface_culling, "backface-culling" );
+XML_CONSTASCII_ACTION( sXML_background, "background" );
+XML_CONSTASCII_ACTION( sXML_background_color, "background-color" );
+XML_CONSTASCII_ACTION( sXML_background_image, "background-image" );
+XML_CONSTASCII_ACTION( sXML_background_no_repeat, "no-repeat" );
+XML_CONSTASCII_ACTION( sXML_background_objects_visible, "background-objects-visible" );
+XML_CONSTASCII_ACTION( sXML_background_repeat, "repeat" );
+XML_CONSTASCII_ACTION( sXML_background_stretch, "stretch" );
+XML_CONSTASCII_ACTION( sXML_background_visible, "background-visible" );
+XML_CONSTASCII_ACTION( sXML_bar, "bar" );
+XML_CONSTASCII_ACTION( sXML_base64Binary, "base64Binary");
+XML_CONSTASCII_ACTION( sXML_base_cell_address, "base-cell-address");
+XML_CONSTASCII_ACTION( sXML_baseline, "baseline" );
+XML_CONSTASCII_ACTION( sXML_before_date_time, "before-date-time" );
+XML_CONSTASCII_ACTION( sXML_below , "below" );
+XML_CONSTASCII_ACTION( sXML_between_date_times, "between-date-times" );
+XML_CONSTASCII_ACTION( sXML_bevel , "bevel" );
+XML_CONSTASCII_ACTION( sXML_bibiliographic_type, "bibiliographic-type" );
+XML_CONSTASCII_ACTION( sXML_bibliography, "bibliography" );
+XML_CONSTASCII_ACTION( sXML_bibliography_configuration, "bibliography-configuration" );
+XML_CONSTASCII_ACTION( sXML_bibliography_data_field, "bibliography-data-field" );
+XML_CONSTASCII_ACTION( sXML_bibliography_entry_template, "bibliography-entry-template" );
+XML_CONSTASCII_ACTION( sXML_bibliography_mark, "bibliography-mark" );
+XML_CONSTASCII_ACTION( sXML_bibliography_source, "bibliography-source" );
+XML_CONSTASCII_ACTION( sXML_bibliography_type, "bibliography-type" );
+XML_CONSTASCII_ACTION( sXML_bind_styles_to_content, "bind-styles-to-content");
+XML_CONSTASCII_ACTION( sXML_bitmap , "bitmap" );
+XML_CONSTASCII_ACTION( sXML_black, "black" );
+XML_CONSTASCII_ACTION( sXML_blend, "blend" );
+XML_CONSTASCII_ACTION( sXML_blinking, "blinking" );
+XML_CONSTASCII_ACTION( sXML_block, "block" );
+XML_CONSTASCII_ACTION( sXML_block_list, "block-list" );
+XML_CONSTASCII_ACTION( sXML_blue , "blue" );
+XML_CONSTASCII_ACTION( sXML_body, "body" );
+XML_CONSTASCII_ACTION( sXML_bold, "bold" );
+XML_CONSTASCII_ACTION( sXML_book, "book" );
+XML_CONSTASCII_ACTION( sXML_booklet, "booklet" );
+XML_CONSTASCII_ACTION( sXML_bookmark, "bookmark" );
+XML_CONSTASCII_ACTION( sXML_bookmark_end, "bookmark-end" );
+XML_CONSTASCII_ACTION( sXML_bookmark_ref, "bookmark-ref" );
+XML_CONSTASCII_ACTION( sXML_bookmark_start, "bookmark-start" );
+XML_CONSTASCII_ACTION( sXML_booktitle, "booktitle" );
+XML_CONSTASCII_ACTION( sXML_boolean, "boolean");
+XML_CONSTASCII_ACTION( sXML_boolean_style, "boolean-style" );
+XML_CONSTASCII_ACTION( sXML_boolean_value, "boolean-value");
+XML_CONSTASCII_ACTION( sXML_border, "border" );
+XML_CONSTASCII_ACTION( sXML_border_bottom, "border-bottom" );
+XML_CONSTASCII_ACTION( sXML_border_color, "border-color" );
+XML_CONSTASCII_ACTION( sXML_border_left, "border-left" );
+XML_CONSTASCII_ACTION( sXML_border_line_width, "border-line-width" );
+XML_CONSTASCII_ACTION( sXML_border_line_width_bottom, "border-line-width-bottom" );
+XML_CONSTASCII_ACTION( sXML_border_line_width_left, "border-line-width-left" );
+XML_CONSTASCII_ACTION( sXML_border_line_width_right, "border-line-width-right" );
+XML_CONSTASCII_ACTION( sXML_border_line_width_top, "border-line-width-top" );
+XML_CONSTASCII_ACTION( sXML_border_right, "border-right" );
+XML_CONSTASCII_ACTION( sXML_border_top, "border-top" );
+XML_CONSTASCII_ACTION( sXML_both, "both");
+XML_CONSTASCII_ACTION( sXML_bottom, "bottom" );
+XML_CONSTASCII_ACTION( sXML_bottom_percent, "bottom percent");
+XML_CONSTASCII_ACTION( sXML_bottom_values, "bottom values");
+XML_CONSTASCII_ACTION( sXML_break_after, "break-after" );
+XML_CONSTASCII_ACTION( sXML_break_before, "break-before" );
+XML_CONSTASCII_ACTION( sXML_break_inside, "break-inside" );
+XML_CONSTASCII_ACTION( sXML_bubble, "bubble" );
+XML_CONSTASCII_ACTION( sXML_bullet_char, "bullet-char" );
+XML_CONSTASCII_ACTION( sXML_bullet_relative_size, "bullet-relative-size" );
+XML_CONSTASCII_ACTION( sXML_buttons, "buttons");
+XML_CONSTASCII_ACTION( sXML_bvar, "bvar");
+XML_CONSTASCII_ACTION( sXML_c, "c" );
+XML_CONSTASCII_ACTION( sXML_cm, "cm" );
+XML_CONSTASCII_ACTION( sXML_calculation_settings, "calculation-settings" );
+XML_CONSTASCII_ACTION( sXML_calendar, "calendar" );
+XML_CONSTASCII_ACTION( sXML_capitalize_entries, "capitalize-entries" );
+XML_CONSTASCII_ACTION( sXML_caption, "caption" );
+XML_CONSTASCII_ACTION( sXML_caption_point_x, "caption-point-x" );
+XML_CONSTASCII_ACTION( sXML_caption_point_y, "caption-point-y" );
+XML_CONSTASCII_ACTION( sXML_caption_sequence_format, "caption-sequence-format" );
+XML_CONSTASCII_ACTION( sXML_caption_sequence_name, "caption-sequence-name" );
+XML_CONSTASCII_ACTION( sXML_case_sensitive, "case-sensitive");
+XML_CONSTASCII_ACTION( sXML_casemap_capitalize, "capitalize" );
+XML_CONSTASCII_ACTION( sXML_casemap_lowercase, "lowercase" );
+XML_CONSTASCII_ACTION( sXML_casemap_normal, "normal" );
+XML_CONSTASCII_ACTION( sXML_casemap_small_caps, "small-caps" );
+XML_CONSTASCII_ACTION( sXML_casemap_uppercase, "uppercase" );
+XML_CONSTASCII_ACTION( sXML_categories, "categories" );
+XML_CONSTASCII_ACTION( sXML_category, "category" );
+XML_CONSTASCII_ACTION( sXML_category_and_value, "category-and-value" );
+XML_CONSTASCII_ACTION( sXML_cell_address, "cell-address");
+XML_CONSTASCII_ACTION( sXML_cell_content_change, "cell-content-change");
+XML_CONSTASCII_ACTION( sXML_cell_content_deletion, "cell-content-deletion");
+XML_CONSTASCII_ACTION( sXML_cell_count, "cell-count");
+XML_CONSTASCII_ACTION( sXML_cell_protect, "cell-protect");
+XML_CONSTASCII_ACTION( sXML_cell_range_address, "cell-range-address");
+XML_CONSTASCII_ACTION( sXML_cell_range_address_list, "cell-range-address-list");
+XML_CONSTASCII_ACTION( sXML_cell_range_source, "cell-range-source");
+XML_CONSTASCII_ACTION( sXML_center, "center" );
+XML_CONSTASCII_ACTION( sXML_chain_next_name, "chain-next-name" );
+XML_CONSTASCII_ACTION( sXML_change, "change" );
+XML_CONSTASCII_ACTION( sXML_change_deletion, "change-deletion" );
+XML_CONSTASCII_ACTION( sXML_change_end, "change-end" );
+XML_CONSTASCII_ACTION( sXML_change_id, "change-id" );
+XML_CONSTASCII_ACTION( sXML_change_info, "change-info" );
+XML_CONSTASCII_ACTION( sXML_change_start, "change-start" );
+XML_CONSTASCII_ACTION( sXML_change_track_table_cell, "change-track-table-cell" );
+XML_CONSTASCII_ACTION( sXML_change_view_conditions, "change-view-conditions" );
+XML_CONSTASCII_ACTION( sXML_change_view_settings, "change-view-settings" );
+XML_CONSTASCII_ACTION( sXML_changed_region, "changed-region" );
+XML_CONSTASCII_ACTION( sXML_chapter, "chapter");
+XML_CONSTASCII_ACTION( sXML_char, "char" );
+XML_CONSTASCII_ACTION( sXML_character_count, "character-count" );
+XML_CONSTASCII_ACTION( sXML_chart, "chart" );
+XML_CONSTASCII_ACTION( sXML_charts, "charts" );
+XML_CONSTASCII_ACTION( sXML_chg_author, "chg-author" );
+XML_CONSTASCII_ACTION( sXML_chg_comment, "chg-comment" );
+XML_CONSTASCII_ACTION( sXML_chg_date_time, "chg-date-time" );
+XML_CONSTASCII_ACTION( sXML_ci, "ci" );
+XML_CONSTASCII_ACTION( sXML_circle, "circle" );
+XML_CONSTASCII_ACTION( sXML_citation_body_style_name, "citation-body-style-name" );
+XML_CONSTASCII_ACTION( sXML_citation_style_name, "citation-style-name" );
+XML_CONSTASCII_ACTION( sXML_class, "class" );
+XML_CONSTASCII_ACTION( sXML_class_id, "class-id" );
+XML_CONSTASCII_ACTION( sXML_clip, "clip" );
+XML_CONSTASCII_ACTION( sXML_clockwise, "clockwise" );
+XML_CONSTASCII_ACTION( sXML_close, "close" );
+XML_CONSTASCII_ACTION( sXML_close_horizontal, "close-horizontal" );
+XML_CONSTASCII_ACTION( sXML_close_vertical, "close-vertical" );
+XML_CONSTASCII_ACTION( sXML_cn, "cn" );
+XML_CONSTASCII_ACTION( sXML_code, "code" );
+XML_CONSTASCII_ACTION( sXML_codebase, "codebase" );
+XML_CONSTASCII_ACTION( sXML_collapse, "collapse" );
+XML_CONSTASCII_ACTION( sXML_color, "color" );
+XML_CONSTASCII_ACTION( sXML_color_inversion , "color-inversion" );
+XML_CONSTASCII_ACTION( sXML_color_mode , "color-mode" );
+XML_CONSTASCII_ACTION( sXML_column, "column" );
+XML_CONSTASCII_ACTION( sXML_column_count, "column-count" );
+XML_CONSTASCII_ACTION( sXML_column_gap, "column-gap" );
+XML_CONSTASCII_ACTION( sXML_column_name, "column-name" );
+XML_CONSTASCII_ACTION( sXML_column_sep, "column-sep" );
+XML_CONSTASCII_ACTION( sXML_column_width, "column-width" );
+XML_CONSTASCII_ACTION( sXML_columns, "columns" );
+XML_CONSTASCII_ACTION( sXML_columnsplit_auto, "auto" );
+XML_CONSTASCII_ACTION( sXML_columnsplit_avoid, "avoid" );
+XML_CONSTASCII_ACTION( sXML_combine_entries, "combine-entries" );
+XML_CONSTASCII_ACTION( sXML_combine_entries_with_dash, "combine-entries-with-dash" );
+XML_CONSTASCII_ACTION( sXML_combine_entries_with_pp, "combine-entries-with-pp" );
+XML_CONSTASCII_ACTION( sXML_comma_separated, "comma-separated" );
+XML_CONSTASCII_ACTION( sXML_command, "command" );
+XML_CONSTASCII_ACTION( sXML_comment, "comment" );
+XML_CONSTASCII_ACTION( sXML_compose, "compose" );
+XML_CONSTASCII_ACTION( sXML_cond_style_name, "cond-style-name" );
+XML_CONSTASCII_ACTION( sXML_condition, "condition" );
+XML_CONSTASCII_ACTION( sXML_condition_source, "condition-source");
+XML_CONSTASCII_ACTION( sXML_condition_source_range_address, "condition-source-range-address");
+XML_CONSTASCII_ACTION( sXML_conditional_text, "conditional-text" );
+XML_CONSTASCII_ACTION( sXML_cone, "cone" );
+XML_CONSTASCII_ACTION( sXML_conference, "conference" );
+XML_CONSTASCII_ACTION( sXML_config_item, "config-item" );
+XML_CONSTASCII_ACTION( sXML_config_item_map_indexed, "config-item-map-indexed" );
+XML_CONSTASCII_ACTION( sXML_config_item_map_named, "config-item-map-named" );
+XML_CONSTASCII_ACTION( sXML_config_item_map_entry, "config-item-map-entry" );
+XML_CONSTASCII_ACTION( sXML_config_item_set, "config-item-set" );
+XML_CONSTASCII_ACTION( sXML_configuration_settings, "configuration-settings" );
+XML_CONSTASCII_ACTION( sXML_conjugate, "conjugate" );
+XML_CONSTASCII_ACTION( sXML_connect_bars, "connect-bars" );
+XML_CONSTASCII_ACTION( sXML_connection_name, "connection-name" );
+XML_CONSTASCII_ACTION( sXML_connector, "connector" );
+XML_CONSTASCII_ACTION( sXML_consecutive_numbering, "consecutive-numbering" );
+XML_CONSTASCII_ACTION( sXML_consolidation, "consolidation" );
+XML_CONSTASCII_ACTION( sXML_constant, "constant" );
+XML_CONSTASCII_ACTION( sXML_contains_error, "contains-error");
+XML_CONSTASCII_ACTION( sXML_contains_header, "contains-header");
+XML_CONSTASCII_ACTION( sXML_content, "content" );
+XML_CONSTASCII_ACTION( sXML_content_validation, "content-validation");
+XML_CONSTASCII_ACTION( sXML_content_validation_name, "validation-name");
+XML_CONSTASCII_ACTION( sXML_content_validations, "content-validations");
+XML_CONSTASCII_ACTION( sXML_continue, "continue" );
+XML_CONSTASCII_ACTION( sXML_continue_numbering, "continue-numbering" );
+XML_CONSTASCII_ACTION( sXML_contour_path, "contour-path" );
+XML_CONSTASCII_ACTION( sXML_contour_polygon, "contour-polygon" );
+XML_CONSTASCII_ACTION( sXML_contrast , "contrast" );
+XML_CONSTASCII_ACTION( sXML_control, "control" );
+XML_CONSTASCII_ACTION( sXML_conversion_mode, "conversion-mode" );
+XML_CONSTASCII_ACTION( sXML_copy_back, "copy-back" );
+XML_CONSTASCII_ACTION( sXML_copy_formulas, "copy-formulas" );
+XML_CONSTASCII_ACTION( sXML_copy_outline_levels, "copy-outline-levels" );
+XML_CONSTASCII_ACTION( sXML_copy_results_only, "copy-results-only" );
+XML_CONSTASCII_ACTION( sXML_copy_styles, "copy-styles" );
+XML_CONSTASCII_ACTION( sXML_corner_radius , "corner-radius" );
+XML_CONSTASCII_ACTION( sXML_correct, "correct");
+XML_CONSTASCII_ACTION( sXML_cos, "cos" );
+XML_CONSTASCII_ACTION( sXML_cosh, "cosh" );
+XML_CONSTASCII_ACTION( sXML_cot, "cot" );
+XML_CONSTASCII_ACTION( sXML_coth, "coth" );
+XML_CONSTASCII_ACTION( sXML_count, "count" );
+XML_CONSTASCII_ACTION( sXML_count_empty_lines, "count-empty-lines" );
+XML_CONSTASCII_ACTION( sXML_count_in_floating_frames, "count-in-floating-frames" );
+XML_CONSTASCII_ACTION( sXML_counterclockwise, "counterclockwise" );
+XML_CONSTASCII_ACTION( sXML_countnums, "countnums" );
+XML_CONSTASCII_ACTION( sXML_country, "country" );
+XML_CONSTASCII_ACTION( sXML_country_asian, "country-asian" );
+XML_CONSTASCII_ACTION( sXML_country_complex, "country-complex" );
+XML_CONSTASCII_ACTION( sXML_covered_table_cell, "covered-table-cell" );
+XML_CONSTASCII_ACTION( sXML_create_date, "create-date" );
+XML_CONSTASCII_ACTION( sXML_create_date_string, "create-date-string" );
+XML_CONSTASCII_ACTION( sXML_creation_date, "creation-date" );
+XML_CONSTASCII_ACTION( sXML_creation_time, "creation-time" );
+XML_CONSTASCII_ACTION( sXML_creator, "creator" );
+XML_CONSTASCII_ACTION( sXML_crossedout_cross, "X" );
+XML_CONSTASCII_ACTION( sXML_crossedout_double, "double-line" );
+XML_CONSTASCII_ACTION( sXML_crossedout_none, "none" );
+XML_CONSTASCII_ACTION( sXML_crossedout_single, "single-line" );
+XML_CONSTASCII_ACTION( sXML_crossedout_slash, "slash" );
+XML_CONSTASCII_ACTION( sXML_crossedout_thick, "thick-line" );
+XML_CONSTASCII_ACTION( sXML_csc, "csc" );
+XML_CONSTASCII_ACTION( sXML_csch, "csch" );
+XML_CONSTASCII_ACTION( sXML_cube, "cube" );
+XML_CONSTASCII_ACTION( sXML_cuboid, "cuboid" );
+XML_CONSTASCII_ACTION( sXML_currency, "currency");
+XML_CONSTASCII_ACTION( sXML_currency_style, "currency-style" );
+XML_CONSTASCII_ACTION( sXML_currency_symbol, "currency-symbol" );
+XML_CONSTASCII_ACTION( sXML_current, "current" );
+XML_CONSTASCII_ACTION( sXML_current_value, "current-value" );
+XML_CONSTASCII_ACTION( sXML_cursor_position, "cursor-position" );
+XML_CONSTASCII_ACTION( sXML_cursor_position_x, "cursor-position-x" );
+XML_CONSTASCII_ACTION( sXML_cursor_position_y, "cursor-position-y" );
+XML_CONSTASCII_ACTION( sXML_custom1, "custom1" );
+XML_CONSTASCII_ACTION( sXML_custom2, "custom2" );
+XML_CONSTASCII_ACTION( sXML_custom3, "custom3" );
+XML_CONSTASCII_ACTION( sXML_custom4, "custom4" );
+XML_CONSTASCII_ACTION( sXML_custom5, "custom5" );
+XML_CONSTASCII_ACTION( sXML_cut_offs, "cut_offs" );
+XML_CONSTASCII_ACTION( sXML_cx, "cx" );
+XML_CONSTASCII_ACTION( sXML_cy, "cy" );
+XML_CONSTASCII_ACTION( sXML_cylinder, "cylinder" );
+XML_CONSTASCII_ACTION( sXML_d, "d" );
+XML_CONSTASCII_ACTION( sXML_dash, "dash" );
+XML_CONSTASCII_ACTION( sXML_dashed, "dashed" );
+XML_CONSTASCII_ACTION( sXML_data, "data");
+XML_CONSTASCII_ACTION( sXML_data_cell_range_address, "data-cell-range-address" );
+XML_CONSTASCII_ACTION( sXML_data_label_number, "data-label-number" );
+XML_CONSTASCII_ACTION( sXML_data_label_symbol, "data-label-symbol" );
+XML_CONSTASCII_ACTION( sXML_data_label_text, "data-label-text" );
+XML_CONSTASCII_ACTION( sXML_data_pilot_field, "data-pilot-field");
+XML_CONSTASCII_ACTION( sXML_data_pilot_level, "data-pilot-level");
+XML_CONSTASCII_ACTION( sXML_data_pilot_member, "data-pilot-member");
+XML_CONSTASCII_ACTION( sXML_data_pilot_members, "data-pilot-members");
+XML_CONSTASCII_ACTION( sXML_data_pilot_subtotal, "data-pilot-subtotal");
+XML_CONSTASCII_ACTION( sXML_data_pilot_subtotals, "data-pilot-subtotals");
+XML_CONSTASCII_ACTION( sXML_data_pilot_table, "data-pilot-table");
+XML_CONSTASCII_ACTION( sXML_data_pilot_tables, "data-pilot-tables");
+XML_CONSTASCII_ACTION( sXML_data_point, "data-point" );
+XML_CONSTASCII_ACTION( sXML_data_style, "data-style" );
+XML_CONSTASCII_ACTION( sXML_data_style_name, "data-style-name" );
+XML_CONSTASCII_ACTION( sXML_data_type, "data-type");
+XML_CONSTASCII_ACTION( sXML_database_display, "database-display" );
+XML_CONSTASCII_ACTION( sXML_database_name, "database-name");
+XML_CONSTASCII_ACTION( sXML_database_next, "database-next" );
+XML_CONSTASCII_ACTION( sXML_database_range, "database-range");
+XML_CONSTASCII_ACTION( sXML_database_ranges, "database-ranges");
+XML_CONSTASCII_ACTION( sXML_database_row_number, "database-row-number" );
+XML_CONSTASCII_ACTION( sXML_database_select, "database-select" );
+XML_CONSTASCII_ACTION( sXML_database_source_query, "database-source-query");
+XML_CONSTASCII_ACTION( sXML_database_source_sql, "database-source-sql");
+XML_CONSTASCII_ACTION( sXML_database_source_table, "database-source-table");
+XML_CONSTASCII_ACTION( sXML_date, "date" );
+XML_CONSTASCII_ACTION( sXML_datetime, "datetime" );
+XML_CONSTASCII_ACTION( sXML_date_adjust, "date-adjust" );
+XML_CONSTASCII_ACTION( sXML_date_style, "date-style" );
+XML_CONSTASCII_ACTION( sXML_date_time, "date-time" );
+XML_CONSTASCII_ACTION( sXML_date_value, "date-value");
+XML_CONSTASCII_ACTION( sXML_day, "day" );
+XML_CONSTASCII_ACTION( sXML_day_of_week, "day-of-week" );
+XML_CONSTASCII_ACTION( sXML_dde_application, "dde-application" );
+XML_CONSTASCII_ACTION( sXML_dde_connection, "dde-connection" );
+XML_CONSTASCII_ACTION( sXML_dde_connection_decl, "dde-connection-decl" );
+XML_CONSTASCII_ACTION( sXML_dde_connection_decls, "dde-connection-decls" );
+XML_CONSTASCII_ACTION( sXML_dde_item, "dde-item" );
+XML_CONSTASCII_ACTION( sXML_dde_link, "dde-link" );
+XML_CONSTASCII_ACTION( sXML_dde_links, "dde-links" );
+XML_CONSTASCII_ACTION( sXML_dde_source, "dde-source" );
+XML_CONSTASCII_ACTION( sXML_dde_topic, "dde-topic" );
+XML_CONSTASCII_ACTION( sXML_decimal_places, "decimal-places" );
+XML_CONSTASCII_ACTION( sXML_decimal_replacement, "decimal-replacement" );
+XML_CONSTASCII_ACTION( sXML_declare, "declare" );
+XML_CONSTASCII_ACTION( sXML_decorate_words_only, "decorate-words-only" );
+XML_CONSTASCII_ACTION( sXML_decorative, "decorative" );
+XML_CONSTASCII_ACTION( sXML_deep, "deep" );
+XML_CONSTASCII_ACTION( sXML_default, "default" );
+XML_CONSTASCII_ACTION( sXML_default_cell_style_name, "default-cell-style-name" );
+XML_CONSTASCII_ACTION( sXML_default_style, "default-style" );
+XML_CONSTASCII_ACTION( sXML_default_style_name, "default-style-name" );
+XML_CONSTASCII_ACTION( sXML_degree, "degree" );
+XML_CONSTASCII_ACTION( sXML_delay, "delay" );
+XML_CONSTASCII_ACTION( sXML_deletion, "deletion" );
+XML_CONSTASCII_ACTION( sXML_deletions, "deletions" );
+XML_CONSTASCII_ACTION( sXML_depth, "depth" );
+XML_CONSTASCII_ACTION( sXML_desc, "desc" );
+XML_CONSTASCII_ACTION( sXML_descending, "descending");
+XML_CONSTASCII_ACTION( sXML_description, "description" );
+XML_CONSTASCII_ACTION( sXML_detective, "detective" );
+XML_CONSTASCII_ACTION( sXML_determinant, "determinant" );
+XML_CONSTASCII_ACTION( sXML_diff, "diff");
+XML_CONSTASCII_ACTION( sXML_diffuse_color, "diffuse-color" );
+XML_CONSTASCII_ACTION( sXML_dependences, "dependences");
+XML_CONSTASCII_ACTION( sXML_dependence, "dependence");
+XML_CONSTASCII_ACTION( sXML_direction, "direction");
+XML_CONSTASCII_ACTION( sXML_disabled, "disabled" );
+XML_CONSTASCII_ACTION( sXML_disc, "disc" );
+XML_CONSTASCII_ACTION( sXML_display, "display" );
+XML_CONSTASCII_ACTION( sXML_display_border, "display-border");
+XML_CONSTASCII_ACTION( sXML_display_details, "display-details");
+XML_CONSTASCII_ACTION( sXML_display_duplicates, "display-duplicates");
+XML_CONSTASCII_ACTION( sXML_display_empty, "display-empty");
+XML_CONSTASCII_ACTION( sXML_display_filter_buttons, "display-filter-buttons");
+XML_CONSTASCII_ACTION( sXML_display_formula, "display-formula" );
+XML_CONSTASCII_ACTION( sXML_display_label, "display-label" );
+XML_CONSTASCII_ACTION( sXML_display_levels, "display-levels" );
+XML_CONSTASCII_ACTION( sXML_display_name, "display-name" );
+XML_CONSTASCII_ACTION( sXML_display_outline_level, "display-outline-level" );
+XML_CONSTASCII_ACTION( sXML_dissolve, "dissolve" );
+XML_CONSTASCII_ACTION( sXML_distance, "distance" );
+XML_CONSTASCII_ACTION( sXML_distribute_letter, "distribute-letter" );
+XML_CONSTASCII_ACTION( sXML_distribute_space, "distribute-space" );
+XML_CONSTASCII_ACTION( sXML_divide, "divide" );
+XML_CONSTASCII_ACTION( sXML_document, "document" );
+XML_CONSTASCII_ACTION( sXML_document_content, "document-content" );
+XML_CONSTASCII_ACTION( sXML_document_meta, "document-meta" );
+XML_CONSTASCII_ACTION( sXML_document_settings, "document-settings" );
+XML_CONSTASCII_ACTION( sXML_document_styles, "document-styles" );
+XML_CONSTASCII_ACTION( sXML_document_statistic, "document-statistic" );
+XML_CONSTASCII_ACTION( sXML_domain, "domain" );
+XML_CONSTASCII_ACTION( sXML_dot, "dot" );
+XML_CONSTASCII_ACTION( sXML_dotted, "dotted" );
+XML_CONSTASCII_ACTION( sXML_double, "double" );
+XML_CONSTASCII_ACTION( sXML_double_sided, "double-sided" );
+XML_CONSTASCII_ACTION( sXML_down, "down" );
+XML_CONSTASCII_ACTION( sXML_draft, "draft");
+XML_CONSTASCII_ACTION( sXML_draw, "draw" );
+XML_CONSTASCII_ACTION( sXML_draw_aspect, "ole-draw-aspect" );
+XML_CONSTASCII_ACTION( sXML_drawing, "drawing" );
+XML_CONSTASCII_ACTION( sXML_drawings, "drawings" );
+XML_CONSTASCII_ACTION( sXML_drawpool , "drawpool" );
+XML_CONSTASCII_ACTION( sXML_drop_cap, "drop-cap" );
+XML_CONSTASCII_ACTION( sXML_dynamic, "dynamic" );
+XML_CONSTASCII_ACTION( sXML_edge_rounding, "edge-rounding" );
+XML_CONSTASCII_ACTION( sXML_editable, "editable" );
+XML_CONSTASCII_ACTION( sXML_editing_cycles, "editing-cycles" );
+XML_CONSTASCII_ACTION( sXML_editing_duration, "editing-duration" );
+XML_CONSTASCII_ACTION( sXML_edition, "edition" );
+XML_CONSTASCII_ACTION( sXML_editor, "editor" );
+XML_CONSTASCII_ACTION( sXML_ellipse , "ellipse" );
+XML_CONSTASCII_ACTION( sXML_email, "email" );
+XML_CONSTASCII_ACTION( sXML_embed, "embed" );
+XML_CONSTASCII_ACTION( sXML_embedded_visible_area, "embedded-visible-area" );
+XML_CONSTASCII_ACTION( sXML_embossed, "embossed" );
+XML_CONSTASCII_ACTION( sXML_emissive_color, "emissive-color" );
+XML_CONSTASCII_ACTION( sXML_empty, "empty");
+XML_CONSTASCII_ACTION( sXML_enabled, "enabled" );
+XML_CONSTASCII_ACTION( sXML_encoding, "encoding" );
+XML_CONSTASCII_ACTION( sXML_end, "end" );
+XML_CONSTASCII_ACTION( sXML_end_angle, "end-angle" );
+XML_CONSTASCII_ACTION( sXML_end_cell_address, "end-cell-address" );
+XML_CONSTASCII_ACTION( sXML_end_color, "end-color" );
+XML_CONSTASCII_ACTION( sXML_end_column, "end-column" );
+XML_CONSTASCII_ACTION( sXML_end_intensity, "end-intensity" );
+XML_CONSTASCII_ACTION( sXML_end_position, "end-position" );
+XML_CONSTASCII_ACTION( sXML_end_row, "end-row" );
+XML_CONSTASCII_ACTION( sXML_end_table, "end-table" );
+XML_CONSTASCII_ACTION( sXML_end_x, "end-x" );
+XML_CONSTASCII_ACTION( sXML_end_y, "end-y" );
+XML_CONSTASCII_ACTION( sXML_endless, "endless" );
+XML_CONSTASCII_ACTION( sXML_endnote, "endnote" );
+XML_CONSTASCII_ACTION( sXML_endnote_body, "endnote-body" );
+XML_CONSTASCII_ACTION( sXML_endnote_citation, "endnote-citation" );
+XML_CONSTASCII_ACTION( sXML_endnote_ref, "endnote-ref" );
+XML_CONSTASCII_ACTION( sXML_endnotes_configuration, "endnotes-configuration");
+XML_CONSTASCII_ACTION( sXML_engraved, "engraved" );
+XML_CONSTASCII_ACTION( sXML_eq, "eq");
+XML_CONSTASCII_ACTION( sXML_equal_author, "equal-author");
+XML_CONSTASCII_ACTION( sXML_equal_comment, "equal-comment");
+XML_CONSTASCII_ACTION( sXML_equal_date, "equal-date");
+XML_CONSTASCII_ACTION( sXML_era, "era" );
+XML_CONSTASCII_ACTION( sXML_ergo_sum, "ergo-sum" );
+XML_CONSTASCII_ACTION( sXML_error_category, "error-category" );
+XML_CONSTASCII_ACTION( sXML_error_lower_indicator, "error-lower-indicator" );
+XML_CONSTASCII_ACTION( sXML_error_lower_limit, "error-lower-limit" );
+XML_CONSTASCII_ACTION( sXML_error_macro, "error-macro" );
+XML_CONSTASCII_ACTION( sXML_error_margin, "error-margin" );
+XML_CONSTASCII_ACTION( sXML_error_message, "error-message" );
+XML_CONSTASCII_ACTION( sXML_error_percentage, "error-percentage" );
+XML_CONSTASCII_ACTION( sXML_error_upper_indicator, "error-upper-indicator" );
+XML_CONSTASCII_ACTION( sXML_error_upper_limit, "error-upper-limit" );
+XML_CONSTASCII_ACTION( sXML_escapement_sub, "sub" );
+XML_CONSTASCII_ACTION( sXML_escapement_super, "super" );
+XML_CONSTASCII_ACTION( sXML_even_page, "even-page" );
+XML_CONSTASCII_ACTION( sXML_event, "event" );
+XML_CONSTASCII_ACTION( sXML_event_name, "event-name" );
+XML_CONSTASCII_ACTION( sXML_events, "events" );
+XML_CONSTASCII_ACTION( sXML_execute, "execute" );
+XML_CONSTASCII_ACTION( sXML_execute_macro, "execute-macro" );
+XML_CONSTASCII_ACTION( sXML_exists, "exists" );
+XML_CONSTASCII_ACTION( sXML_exp, "exp" );
+XML_CONSTASCII_ACTION( sXML_exponential, "exponential" );
+XML_CONSTASCII_ACTION( sXML_expression, "expression");
+XML_CONSTASCII_ACTION( sXML_extra, "extra");
+XML_CONSTASCII_ACTION( sXML_extrude, "extrude" );
+XML_CONSTASCII_ACTION( sXML_factorial, "factorial" );
+XML_CONSTASCII_ACTION( sXML_fade_from_bottom, "fade-from-bottom" );
+XML_CONSTASCII_ACTION( sXML_fade_from_center, "fade-from-center" );
+XML_CONSTASCII_ACTION( sXML_fade_from_left, "fade-from-left" );
+XML_CONSTASCII_ACTION( sXML_fade_from_lowerleft, "fade-from-lowerleft" );
+XML_CONSTASCII_ACTION( sXML_fade_from_lowerright, "fade-from-lowerright" );
+XML_CONSTASCII_ACTION( sXML_fade_from_right, "fade-from-right" );
+XML_CONSTASCII_ACTION( sXML_fade_from_top, "fade-from-top" );
+XML_CONSTASCII_ACTION( sXML_fade_from_upperleft, "fade-from-upperleft" );
+XML_CONSTASCII_ACTION( sXML_fade_from_upperright, "fade-from-upperright" );
+XML_CONSTASCII_ACTION( sXML_fade_to_center, "fade-to-center" );
+XML_CONSTASCII_ACTION( sXML_fade_out, "fade-out" );
+XML_CONSTASCII_ACTION( sXML_false, "false" );
+XML_CONSTASCII_ACTION( sXML_family, "family" );
+XML_CONSTASCII_ACTION( sXML_fast, "fast" );
+XML_CONSTASCII_ACTION( sXML_field_number, "field-number");
+XML_CONSTASCII_ACTION( sXML_file_name, "file-name" );
+XML_CONSTASCII_ACTION( sXML_fill, "fill" );
+XML_CONSTASCII_ACTION( sXML_fill_color , "fill-color" );
+XML_CONSTASCII_ACTION( sXML_fill_gradient_name, "fill-gradient-name" );
+XML_CONSTASCII_ACTION( sXML_fill_hatch_name, "fill-hatch-name" );
+XML_CONSTASCII_ACTION( sXML_fill_hatch_solid, "fill-hatch-solid" );
+XML_CONSTASCII_ACTION( sXML_fill_image, "fill-image" );
+XML_CONSTASCII_ACTION( sXML_fill_image_height, "fill-image-height" );
+XML_CONSTASCII_ACTION( sXML_fill_image_name, "fill-image-name" );
+XML_CONSTASCII_ACTION( sXML_fill_image_width, "fill-image-width" );
+XML_CONSTASCII_ACTION( sXML_filter, "filter");
+XML_CONSTASCII_ACTION( sXML_filter_and, "filter-and");
+XML_CONSTASCII_ACTION( sXML_filter_condition, "filter-condition");
+XML_CONSTASCII_ACTION( sXML_filter_name, "filter-name" );
+XML_CONSTASCII_ACTION( sXML_filter_options, "filter-options" );
+XML_CONSTASCII_ACTION( sXML_filter_or, "filter-or");
+XML_CONSTASCII_ACTION( sXML_first_date_time, "first-date-time");
+XML_CONSTASCII_ACTION( sXML_first_page, "first-page");
+XML_CONSTASCII_ACTION( sXML_first_page_number, "first-page-number");
+XML_CONSTASCII_ACTION( sXML_fit_to_contour, "fit-to-contour");
+XML_CONSTASCII_ACTION( sXML_fit_to_size, "fit-to-size" );
+XML_CONSTASCII_ACTION( sXML_fix, "fix" );
+XML_CONSTASCII_ACTION( sXML_fixed, "fixed" );
+XML_CONSTASCII_ACTION( sXML_flat, "flat" );
+XML_CONSTASCII_ACTION( sXML_float, "float");
+XML_CONSTASCII_ACTION( sXML_floating_frame, "floating-frame");
+XML_CONSTASCII_ACTION( sXML_floor, "floor" );
+XML_CONSTASCII_ACTION( sXML_fn, "fn" );
+XML_CONSTASCII_ACTION( sXML_focal_length, "focal-length");
+XML_CONSTASCII_ACTION( sXML_font_char_width, "font-char-width" );
+XML_CONSTASCII_ACTION( sXML_font_charset, "font-charset" );
+XML_CONSTASCII_ACTION( sXML_font_charset_asian, "font-charset-asian" );
+XML_CONSTASCII_ACTION( sXML_font_charset_complex, "font-charset-complex" );
+XML_CONSTASCII_ACTION( sXML_font_color, "font-color" );
+XML_CONSTASCII_ACTION( sXML_font_decl, "font-decl" );
+XML_CONSTASCII_ACTION( sXML_font_decls, "font-decls" );
+XML_CONSTASCII_ACTION( sXML_font_family, "font-family" );
+XML_CONSTASCII_ACTION( sXML_font_family_asian, "font-family-asian" );
+XML_CONSTASCII_ACTION( sXML_font_family_complex, "font-family-complex" );
+XML_CONSTASCII_ACTION( sXML_font_family_generic, "font-family-generic" );
+XML_CONSTASCII_ACTION( sXML_font_family_generic_asian, "font-family-generic-asian" );
+XML_CONSTASCII_ACTION( sXML_font_family_generic_complex, "font-family-generic-complex" );
+XML_CONSTASCII_ACTION( sXML_font_kerning, "font-kerning" );
+XML_CONSTASCII_ACTION( sXML_font_name, "font-name" );
+XML_CONSTASCII_ACTION( sXML_font_name_asian, "font-name-asian" );
+XML_CONSTASCII_ACTION( sXML_font_name_complex, "font-name-complex" );
+XML_CONSTASCII_ACTION( sXML_font_pitch, "font-pitch" );
+XML_CONSTASCII_ACTION( sXML_font_pitch_asian, "font-pitch-asian" );
+XML_CONSTASCII_ACTION( sXML_font_pitch_complex, "font-pitch-complex" );
+XML_CONSTASCII_ACTION( sXML_font_relief, "font-relief" );
+XML_CONSTASCII_ACTION( sXML_font_size, "font-size" );
+XML_CONSTASCII_ACTION( sXML_font_size_asian, "font-size-asian" );
+XML_CONSTASCII_ACTION( sXML_font_size_complex, "font-size-complex" );
+XML_CONSTASCII_ACTION( sXML_font_size_rel, "font-size-rel" );
+XML_CONSTASCII_ACTION( sXML_font_size_rel_asian, "font-size-rel-asian" );
+XML_CONSTASCII_ACTION( sXML_font_size_rel_complex, "font-size-rel-complex" );
+XML_CONSTASCII_ACTION( sXML_font_style, "font-style" );
+XML_CONSTASCII_ACTION( sXML_font_style_asian, "font-style-asian" );
+XML_CONSTASCII_ACTION( sXML_font_style_complex, "font-style-complex" );
+XML_CONSTASCII_ACTION( sXML_font_style_name, "font-style-name" );
+XML_CONSTASCII_ACTION( sXML_font_style_name_asian, "font-style-name-asian" );
+XML_CONSTASCII_ACTION( sXML_font_style_name_complex, "font-style-name-complex" );
+XML_CONSTASCII_ACTION( sXML_font_variant, "font-variant" );
+XML_CONSTASCII_ACTION( sXML_font_weight, "font-weight" );
+XML_CONSTASCII_ACTION( sXML_font_weight_asian, "font-weight-asian" );
+XML_CONSTASCII_ACTION( sXML_font_weight_complex, "font-weight-complex" );
+XML_CONSTASCII_ACTION( sXML_font_width, "font-width" );
+XML_CONSTASCII_ACTION( sXML_font_word_line_mode, "font-word-line-mode" );
+XML_CONSTASCII_ACTION( sXML_fontfamily, "fontfamily" );
+XML_CONSTASCII_ACTION( sXML_fontsize, "fontsize" );
+XML_CONSTASCII_ACTION( sXML_fontstyle, "fontstyle" );
+XML_CONSTASCII_ACTION( sXML_fontweight, "fontweight" );
+XML_CONSTASCII_ACTION( sXML_fontwork_adjust, "fontwork-adjust" );
+XML_CONSTASCII_ACTION( sXML_fontwork_distance, "fontwork-distance" );
+XML_CONSTASCII_ACTION( sXML_fontwork_form, "fontwork-form" );
+XML_CONSTASCII_ACTION( sXML_fontwork_hide_form, "fontwork-hide-form" );
+XML_CONSTASCII_ACTION( sXML_fontwork_mirror, "fontwork-mirror" );
+XML_CONSTASCII_ACTION( sXML_fontwork_outline, "fontwork-outline" );
+XML_CONSTASCII_ACTION( sXML_fontwork_shadow, "fontwork-shadow" );
+XML_CONSTASCII_ACTION( sXML_fontwork_shadow_color, "fontwork-shadow-color" );
+XML_CONSTASCII_ACTION( sXML_fontwork_shadow_offset_x, "fontwork-shadow-offset-x" );
+XML_CONSTASCII_ACTION( sXML_fontwork_shadow_offset_y, "fontwork-shadow-offset-y" );
+XML_CONSTASCII_ACTION( sXML_fontwork_shadow_transparence, "fontwork-shadow-transparence" );
+XML_CONSTASCII_ACTION( sXML_fontwork_start, "fontwork-start" );
+XML_CONSTASCII_ACTION( sXML_fontwork_style, "fontwork-style" );
+XML_CONSTASCII_ACTION( sXML_footer, "footer" );
+XML_CONSTASCII_ACTION( sXML_footer_left, "footer-left" );
+XML_CONSTASCII_ACTION( sXML_footer_style, "footer-style" );
+XML_CONSTASCII_ACTION( sXML_footnote, "footnote" );
+XML_CONSTASCII_ACTION( sXML_footnote_body, "footnote-body" );
+XML_CONSTASCII_ACTION( sXML_footnote_citation, "footnote-citation" );
+XML_CONSTASCII_ACTION( sXML_footnote_continuation_notice_backward, "footnote-continuation-notice-backward" );
+XML_CONSTASCII_ACTION( sXML_footnote_continuation_notice_forward, "footnote-continuation-notice-forward" );
+XML_CONSTASCII_ACTION( sXML_footnote_max_height, "footnote-max-height" );
+XML_CONSTASCII_ACTION( sXML_distance_after_sep, "distance-after-sep" );
+XML_CONSTASCII_ACTION( sXML_distance_before_sep, "distance-before-sep" );
+XML_CONSTASCII_ACTION( sXML_footnote_ref, "footnote-ref" );
+XML_CONSTASCII_ACTION( sXML_footnote_sep, "footnote-sep" );
+XML_CONSTASCII_ACTION( sXML_footnotes_configuration, "footnotes-configuration");
+XML_CONSTASCII_ACTION( sXML_footnotes_position, "footnotes-position" );
+XML_CONSTASCII_ACTION( sXML_forall, "forall" );
+XML_CONSTASCII_ACTION( sXML_force_manual, "force-manual" );
+XML_CONSTASCII_ACTION( sXML_foreground, "foreground" );
+XML_CONSTASCII_ACTION( sXML_foreign_object, "foreign-object" );
+XML_CONSTASCII_ACTION( sXML_format_change, "format-change" );
+XML_CONSTASCII_ACTION( sXML_format_source, "format-source" );
+XML_CONSTASCII_ACTION( sXML_forms, "forms" );
+XML_CONSTASCII_ACTION( sXML_formula, "formula");
+XML_CONSTASCII_ACTION( sXML_formula_hidden, "formula-hidden");
+XML_CONSTASCII_ACTION( sXML_formulas, "formulas");
+XML_CONSTASCII_ACTION( sXML_fraction, "fraction" );
+XML_CONSTASCII_ACTION( sXML_frame, "frame" );
+XML_CONSTASCII_ACTION( sXML_frame_content, "frame-content" );
+XML_CONSTASCII_ACTION( sXML_frame_display_scrollbar, "frame-display-scrollbar" );
+XML_CONSTASCII_ACTION( sXML_frame_display_border, "frame-display-border" );
+XML_CONSTASCII_ACTION( sXML_frame_margin_horizontal, "frame-margin-horizontal" );
+XML_CONSTASCII_ACTION( sXML_frame_margin_vertical, "frame-margin-vertical" );
+XML_CONSTASCII_ACTION( sXML_frame_end_margin, "frame-end-margin" );
+XML_CONSTASCII_ACTION( sXML_frame_name, "frame-name" );
+XML_CONSTASCII_ACTION( sXML_frame_start_margin, "frame-start-margin" );
+XML_CONSTASCII_ACTION( sXML_freeze, "freeze" );
+XML_CONSTASCII_ACTION( sXML_freeze_position, "freeze-position" );
+XML_CONSTASCII_ACTION( sXML_from_another_table, "from-another-table" );
+XML_CONSTASCII_ACTION( sXML_from_inside, "from-inside" );
+XML_CONSTASCII_ACTION( sXML_from_left, "from-left" );
+XML_CONSTASCII_ACTION( sXML_from_same_table, "from-same-table" );
+XML_CONSTASCII_ACTION( sXML_from_top, "from-top" );
+XML_CONSTASCII_ACTION( sXML_fuchsia, "fuchsia");
+XML_CONSTASCII_ACTION( sXML_full, "full" );
+XML_CONSTASCII_ACTION( sXML_full_screen, "full-screen" );
+XML_CONSTASCII_ACTION( sXML_function, "function");
+XML_CONSTASCII_ACTION( sXML_g , "g" );
+XML_CONSTASCII_ACTION( sXML_gamma , "gamma" );
+XML_CONSTASCII_ACTION( sXML_gap, "gap" );
+XML_CONSTASCII_ACTION( sXML_gap_width, "gap-width" );
+XML_CONSTASCII_ACTION( sXML_gcd, "gcd" );
+XML_CONSTASCII_ACTION( sXML_generator, "generator" );
+XML_CONSTASCII_ACTION( sXML_geq, "geq" );
+XML_CONSTASCII_ACTION( sXML_gouraud, "gouraud");
+XML_CONSTASCII_ACTION( sXML_gradient , "gradient" );
+XML_CONSTASCII_ACTION( sXML_gradient_angle, "angle" );
+XML_CONSTASCII_ACTION( sXML_gradient_border, "border" );
+XML_CONSTASCII_ACTION( sXML_gradient_step_count , "gradient-step-count" );
+XML_CONSTASCII_ACTION( sXML_gradient_style, "gradient-style" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_axial, "axial" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_ellipsoid, "ellipsoid" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_linear, "linear" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_radial, "radial" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_rectangular, "rectangular" );
+XML_CONSTASCII_ACTION( sXML_gradientstyle_square, "square" );
+XML_CONSTASCII_ACTION( sXML_grand_total, "grand-total");
+XML_CONSTASCII_ACTION( sXML_graphic , "graphic" );
+XML_CONSTASCII_ACTION( sXML_gray, "gray" );
+XML_CONSTASCII_ACTION( sXML_green , "green" );
+XML_CONSTASCII_ACTION( sXML_greyscale, "greyscale" );
+XML_CONSTASCII_ACTION( sXML_grid, "grid" );
+XML_CONSTASCII_ACTION( sXML_groove, "groove" );
+XML_CONSTASCII_ACTION( sXML_group_by_field_number, "group-by-field-number");
+XML_CONSTASCII_ACTION( sXML_group_name, "group-name" );
+XML_CONSTASCII_ACTION( sXML_grouping, "grouping" );
+XML_CONSTASCII_ACTION( sXML_gt, "gt" );
+XML_CONSTASCII_ACTION( sXML_h, "h" );
+XML_CONSTASCII_ACTION( sXML_hanging, "hanging" );
+XML_CONSTASCII_ACTION( sXML_has_persistent_data, "has-persistent-data");
+XML_CONSTASCII_ACTION( sXML_hatch , "hatch" );
+XML_CONSTASCII_ACTION( sXML_hatch_distance, "distance" );
+XML_CONSTASCII_ACTION( sXML_hatch_style, "style" );
+XML_CONSTASCII_ACTION( sXML_hatchstyle_double, "double" );
+XML_CONSTASCII_ACTION( sXML_hatchstyle_single, "single" );
+XML_CONSTASCII_ACTION( sXML_hatchstyle_triple, "triple" );
+XML_CONSTASCII_ACTION( sXML_header, "header" );
+XML_CONSTASCII_ACTION( sXML_header_left, "header-left" );
+XML_CONSTASCII_ACTION( sXML_header_style, "header-style" );
+XML_CONSTASCII_ACTION( sXML_headers, "headers" );
+XML_CONSTASCII_ACTION( sXML_height, "height" );
+XML_CONSTASCII_ACTION( sXML_help_file_name, "help-file-name" );
+XML_CONSTASCII_ACTION( sXML_help_id, "help-id" );
+XML_CONSTASCII_ACTION( sXML_help_message, "help-message" );
+XML_CONSTASCII_ACTION( sXML_hidden, "hidden" );
+XML_CONSTASCII_ACTION( sXML_hidden_and_protected, "hidden-and-protected");
+XML_CONSTASCII_ACTION( sXML_hidden_paragraph, "hidden-paragraph" );
+XML_CONSTASCII_ACTION( sXML_hidden_text, "hidden-text" );
+XML_CONSTASCII_ACTION( sXML_highlighted_range, "highlighted-range" );
+XML_CONSTASCII_ACTION( sXML_horizontal, "horizontal" );
+XML_CONSTASCII_ACTION( sXML_horizontal_lines, "horizontal-lines" );
+XML_CONSTASCII_ACTION( sXML_horizontal_on_left_pages, "horizontal-on-left-pages" );
+XML_CONSTASCII_ACTION( sXML_horizontal_on_right_pages, "horizontal-on-right-pages" );
+XML_CONSTASCII_ACTION( sXML_horizontal_pos, "horizontal-pos" );
+XML_CONSTASCII_ACTION( sXML_horizontal_rel, "horizontal-rel" );
+XML_CONSTASCII_ACTION( sXML_horizontal_scrollbar_width, "horizontal-scrollbar-width" );
+XML_CONSTASCII_ACTION( sXML_horizontal_segments, "horizontal-segments" );
+XML_CONSTASCII_ACTION( sXML_horizontal_split_mode, "horizontal-split-mode" );
+XML_CONSTASCII_ACTION( sXML_horizontal_split_position, "horizontal-split-position" );
+XML_CONSTASCII_ACTION( sXML_horizontal_stripes, "horizontal-stripes" );
+XML_CONSTASCII_ACTION( sXML_hours, "hours" );
+XML_CONSTASCII_ACTION( sXML_howpublished, "howpublished" );
+XML_CONSTASCII_ACTION( sXML_href, "href" );
+XML_CONSTASCII_ACTION( sXML_html, "html");
+XML_CONSTASCII_ACTION( sXML_hyperlink_behaviour, "hyperlink-behaviour" );
+XML_CONSTASCII_ACTION( sXML_hyphenate, "hyphenate" );
+XML_CONSTASCII_ACTION( sXML_hyphenation_keep, "hyphenation-keep" );
+XML_CONSTASCII_ACTION( sXML_hyphenation_ladder_count, "hyphenation-ladder-count" );
+XML_CONSTASCII_ACTION( sXML_hyphenation_push_char_count, "hyphenation-push-char-count" );
+XML_CONSTASCII_ACTION( sXML_hyphenation_remain_char_count, "hyphenation-remain-char-count" );
+XML_CONSTASCII_ACTION( sXML_i, "i" );
+XML_CONSTASCII_ACTION( sXML_icon, "icon" );
+XML_CONSTASCII_ACTION( sXML_id, "id" );
+XML_CONSTASCII_ACTION( sXML_ident, "ident");
+XML_CONSTASCII_ACTION( sXML_identifier, "identifier" );
+XML_CONSTASCII_ACTION( sXML_identify_categories, "identify-categories");
+XML_CONSTASCII_ACTION( sXML_ideograph_alpha, "ideograph-alpha");
+XML_CONSTASCII_ACTION( sXML_ignore_case, "ignore-case" );
+XML_CONSTASCII_ACTION( sXML_ignore_empty_rows, "ignore-empty-rows");
+XML_CONSTASCII_ACTION( sXML_illustration_index, "illustration-index" );
+XML_CONSTASCII_ACTION( sXML_illustration_index_entry_template, "illustration-index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_illustration_index_source, "illustration-index-source" );
+XML_CONSTASCII_ACTION( sXML_image, "image" );
+XML_CONSTASCII_ACTION( sXML_image_count, "image-count" );
+XML_CONSTASCII_ACTION( sXML_image_map, "image-map" );
+XML_CONSTASCII_ACTION( sXML_implies, "implies" );
+XML_CONSTASCII_ACTION( sXML_in, "in");
+XML_CONSTASCII_ACTION( sXML_in_range, "in-range");
+XML_CONSTASCII_ACTION( sXML_inbook, "inbook" );
+XML_CONSTASCII_ACTION( sXML_incollection, "incollection" );
+XML_CONSTASCII_ACTION( sXML_increment, "increment" );
+XML_CONSTASCII_ACTION( sXML_index, "index");
+XML_CONSTASCII_ACTION( sXML_index_body, "index-body");
+XML_CONSTASCII_ACTION( sXML_index_entry_bibliography, "index-entry-bibliography" );
+XML_CONSTASCII_ACTION( sXML_index_entry_chapter, "index-entry-chapter" );
+XML_CONSTASCII_ACTION( sXML_index_entry_chapter_number, "index-entry-chapter-number" );
+XML_CONSTASCII_ACTION( sXML_index_entry_link_end, "index-entry-link-end" );
+XML_CONSTASCII_ACTION( sXML_index_entry_link_start, "index-entry-link-start" );
+XML_CONSTASCII_ACTION( sXML_index_entry_page_number, "index-entry-page-number" );
+XML_CONSTASCII_ACTION( sXML_index_entry_span, "index-entry-span" );
+XML_CONSTASCII_ACTION( sXML_index_entry_tab_stop, "index-entry-tab-stop" );
+XML_CONSTASCII_ACTION( sXML_index_entry_template, "index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_index_entry_text, "index-entry-text" );
+XML_CONSTASCII_ACTION( sXML_index_name, "index-name" );
+XML_CONSTASCII_ACTION( sXML_index_scope, "index-scope" );
+XML_CONSTASCII_ACTION( sXML_index_source_style, "index-source-style" );
+XML_CONSTASCII_ACTION( sXML_index_source_styles, "index-source-styles" );
+XML_CONSTASCII_ACTION( sXML_index_title, "index-title" );
+XML_CONSTASCII_ACTION( sXML_index_title_template, "index-title-template" );
+XML_CONSTASCII_ACTION( sXML_information, "information" );
+XML_CONSTASCII_ACTION( sXML_initial_creator, "initial-creator" );
+XML_CONSTASCII_ACTION( sXML_inproceedings, "inproceedings" );
+XML_CONSTASCII_ACTION( sXML_insertion, "insertion" );
+XML_CONSTASCII_ACTION( sXML_insertion_cut_off, "insertion-cut-off" );
+XML_CONSTASCII_ACTION( sXML_inset, "inset" );
+XML_CONSTASCII_ACTION( sXML_inside, "inside" );
+XML_CONSTASCII_ACTION( sXML_institution, "institution" );
+XML_CONSTASCII_ACTION( sXML_int, "int" );
+XML_CONSTASCII_ACTION( sXML_intensity, "intensity" );
+XML_CONSTASCII_ACTION( sXML_intersect, "intersect" );
+XML_CONSTASCII_ACTION( sXML_interval, "interval" );
+XML_CONSTASCII_ACTION( sXML_interval_major, "interval-major" );
+XML_CONSTASCII_ACTION( sXML_interval_minor, "interval-minor" );
+XML_CONSTASCII_ACTION( sXML_into_english_number, "into-english-number" );
+XML_CONSTASCII_ACTION( sXML_inverse, "inverse" );
+XML_CONSTASCII_ACTION( sXML_is_active, "is-active");
+XML_CONSTASCII_ACTION( sXML_is_data_layout_field, "is-data-layout-field");
+XML_CONSTASCII_ACTION( sXML_is_hidden, "is-hidden" );
+XML_CONSTASCII_ACTION( sXML_is_selection, "is-selection");
+XML_CONSTASCII_ACTION( sXML_isbn, "isbn" );
+XML_CONSTASCII_ACTION( sXML_italic, "italic" );
+XML_CONSTASCII_ACTION( sXML_iteration, "iteration" );
+XML_CONSTASCII_ACTION( sXML_journal, "journal" );
+XML_CONSTASCII_ACTION( sXML_justified, "justified" );
+XML_CONSTASCII_ACTION( sXML_justify, "justify" );
+XML_CONSTASCII_ACTION( sXML_justify_single_word, "justify-single-word" );
+XML_CONSTASCII_ACTION( sXML_keep_with_next, "keep-with-next" );
+XML_CONSTASCII_ACTION( sXML_kerning_normal, "normal" );
+XML_CONSTASCII_ACTION( sXML_key, "key" );
+XML_CONSTASCII_ACTION( sXML_key1, "key1" );
+XML_CONSTASCII_ACTION( sXML_key2, "key2" );
+XML_CONSTASCII_ACTION( sXML_keyword, "keyword" );
+XML_CONSTASCII_ACTION( sXML_keywords, "keywords" );
+XML_CONSTASCII_ACTION( sXML_km, "km" );
+XML_CONSTASCII_ACTION( sXML_label, "label" );
+XML_CONSTASCII_ACTION( sXML_label_arrangement, "label-arrangement" );
+XML_CONSTASCII_ACTION( sXML_label_cell_address, "label-cell-address" );
+XML_CONSTASCII_ACTION( sXML_label_cell_range_address, "label-cell-range-address" );
+XML_CONSTASCII_ACTION( sXML_label_range, "label-range" );
+XML_CONSTASCII_ACTION( sXML_label_ranges, "label-ranges" );
+XML_CONSTASCII_ACTION( sXML_layer, "layer" );
+XML_CONSTASCII_ACTION( sXML_layer_set, "layer-set" );
+XML_CONSTASCII_ACTION( sXML_lambda, "lambda" );
+XML_CONSTASCII_ACTION( sXML_landscape, "landscape" );
+XML_CONSTASCII_ACTION( sXML_language, "language" );
+XML_CONSTASCII_ACTION( sXML_language_asian, "language-asian" );
+XML_CONSTASCII_ACTION( sXML_language_complex, "language-complex" );
+XML_CONSTASCII_ACTION( sXML_last_column_spanned, "last-column-spanned" );
+XML_CONSTASCII_ACTION( sXML_last_page, "last-page" );
+XML_CONSTASCII_ACTION( sXML_last_row_spanned, "last-row-spanned" );
+XML_CONSTASCII_ACTION( sXML_leader_char, "leader-char" );
+XML_CONSTASCII_ACTION( sXML_left, "left" );
+XML_CONSTASCII_ACTION( sXML_left_outside, "left-outside" );
+XML_CONSTASCII_ACTION( sXML_left_top_position, "left-top-position" );
+XML_CONSTASCII_ACTION( sXML_legend, "legend" );
+XML_CONSTASCII_ACTION( sXML_legend_position, "legend-position" );
+XML_CONSTASCII_ACTION( sXML_length, "length" );
+XML_CONSTASCII_ACTION( sXML_leq, "leq" );
+XML_CONSTASCII_ACTION( sXML_let_text, "let-text" );
+XML_CONSTASCII_ACTION( sXML_letter_kerning, "letter-kerning" );
+XML_CONSTASCII_ACTION( sXML_letter_spacing, "letter-spacing" );
+XML_CONSTASCII_ACTION( sXML_letters, "letters" );
+XML_CONSTASCII_ACTION( sXML_level, "level" );
+XML_CONSTASCII_ACTION( sXML_library, "library" );
+XML_CONSTASCII_ACTION( sXML_library_embedded, "library-embedded" );
+XML_CONSTASCII_ACTION( sXML_library_linked, "library-linked" );
+XML_CONSTASCII_ACTION( sXML_light, "light");
+XML_CONSTASCII_ACTION( sXML_lighting_mode, "lighting-mode");
+XML_CONSTASCII_ACTION( sXML_lime, "lime" );
+XML_CONSTASCII_ACTION( sXML_limit, "limit" );
+XML_CONSTASCII_ACTION( sXML_line, "line" );
+XML_CONSTASCII_ACTION( sXML_line_break, "line-break" );
+XML_CONSTASCII_ACTION( sXML_line_height, "line-height" );
+XML_CONSTASCII_ACTION( sXML_line_height_at_least, "line-height-at-least" );
+XML_CONSTASCII_ACTION( sXML_line_spacing, "line-spacing" );
+XML_CONSTASCII_ACTION( sXML_linear, "linear" );
+XML_CONSTASCII_ACTION( sXML_linenumbering_configuration, "linenumbering-configuration" );
+XML_CONSTASCII_ACTION( sXML_linenumbering_separator, "linenumbering-separator" );
+XML_CONSTASCII_ACTION( sXML_lines, "lines" );
+XML_CONSTASCII_ACTION( sXML_lines_used, "lines-used" );
+XML_CONSTASCII_ACTION( sXML_link_data_style_to_source, "link-data-style-to-source" );
+XML_CONSTASCII_ACTION( sXML_link_to_source_data, "link-to-source-data" );
+XML_CONSTASCII_ACTION( sXML_list, "list");
+XML_CONSTASCII_ACTION( sXML_list_block, "list-block" );
+XML_CONSTASCII_ACTION( sXML_list_header, "list-header" );
+XML_CONSTASCII_ACTION( sXML_list_info, "list-info" );
+XML_CONSTASCII_ACTION( sXML_list_item, "list-item" );
+XML_CONSTASCII_ACTION( sXML_list_level, "list-level" );
+XML_CONSTASCII_ACTION( sXML_list_level_style_bullet, "list-level-style-bullet" );
+XML_CONSTASCII_ACTION( sXML_list_level_style_image, "list-level-style-image" );
+XML_CONSTASCII_ACTION( sXML_list_level_style_number, "list-level-style-number" );
+XML_CONSTASCII_ACTION( sXML_list_name, "list-name" );
+XML_CONSTASCII_ACTION( sXML_list_style, "list-style" );
+XML_CONSTASCII_ACTION( sXML_list_style_name, "list-style-name" );
+XML_CONSTASCII_ACTION( sXML_ln, "ln" );
+XML_CONSTASCII_ACTION( sXML_locked, "locked" );
+XML_CONSTASCII_ACTION( sXML_log, "log" );
+XML_CONSTASCII_ACTION( sXML_logarithmic, "logarithmic" );
+XML_CONSTASCII_ACTION( sXML_logbase, "logbase" );
+XML_CONSTASCII_ACTION( sXML_long, "long" );
+XML_CONSTASCII_ACTION( sXML_lowlimit, "lowlimit" );
+XML_CONSTASCII_ACTION( sXML_lr_tb, "lr-tb" );
+XML_CONSTASCII_ACTION( sXML_lt, "lt");
+XML_CONSTASCII_ACTION( sXML_ltr, "ltr");
+XML_CONSTASCII_ACTION( sXML_luminance , "luminance" );
+XML_CONSTASCII_ACTION( sXML_macro_name, "macro-name");
+XML_CONSTASCII_ACTION( sXML_maction, "maction");
+XML_CONSTASCII_ACTION( sXML_main_entry_style_name, "main-entry-style-name" );
+XML_CONSTASCII_ACTION( sXML_major, "major" );
+XML_CONSTASCII_ACTION( sXML_maligngroup, "maligngroup");
+XML_CONSTASCII_ACTION( sXML_malignmark, "malignmark");
+XML_CONSTASCII_ACTION( sXML_manual, "manual" );
+XML_CONSTASCII_ACTION( sXML_map, "map" );
+XML_CONSTASCII_ACTION( sXML_margin_bottom, "margin-bottom" );
+XML_CONSTASCII_ACTION( sXML_margin_left, "margin-left" );
+XML_CONSTASCII_ACTION( sXML_margin_right, "margin-right" );
+XML_CONSTASCII_ACTION( sXML_margin_top, "margin-top" );
+XML_CONSTASCII_ACTION( sXML_margins, "margins" );
+XML_CONSTASCII_ACTION( sXML_marker, "marker" );
+XML_CONSTASCII_ACTION( sXML_marker_end , "marker-end" );
+XML_CONSTASCII_ACTION( sXML_marker_end_center , "marker-end-center" );
+XML_CONSTASCII_ACTION( sXML_marker_end_width , "marker-end-width" );
+XML_CONSTASCII_ACTION( sXML_marker_start , "marker-start" );
+XML_CONSTASCII_ACTION( sXML_marker_start_center , "marker-start-center" );
+XML_CONSTASCII_ACTION( sXML_marker_start_width , "marker-start-width" );
+XML_CONSTASCII_ACTION( sXML_maroon, "maroon" );
+XML_CONSTASCII_ACTION( sXML_master_page, "master-page" );
+XML_CONSTASCII_ACTION( sXML_master_page_name , "master-page-name" );
+XML_CONSTASCII_ACTION( sXML_master_styles, "master-styles" );
+XML_CONSTASCII_ACTION( sXML_mastersthesis, "mastersthesis" );
+XML_CONSTASCII_ACTION( sXML_match, "match");
+XML_CONSTASCII_ACTION( sXML_math, "math");
+XML_CONSTASCII_ACTION( sXML_matrix, "matrix");
+XML_CONSTASCII_ACTION( sXML_matrix_covered, "matrix-covered");
+XML_CONSTASCII_ACTION( sXML_matrixrow, "matrixrow");
+XML_CONSTASCII_ACTION( sXML_max, "max" );
+XML_CONSTASCII_ACTION( sXML_max_edge, "max-edge");
+XML_CONSTASCII_ACTION( sXML_max_height, "max-height");
+XML_CONSTASCII_ACTION( sXML_max_width, "max-width");
+XML_CONSTASCII_ACTION( sXML_maximum, "maximum" );
+XML_CONSTASCII_ACTION( sXML_maximum_difference, "maximum-difference" );
+XML_CONSTASCII_ACTION( sXML_may_break_between_rows, "may-break-between-rows" );
+XML_CONSTASCII_ACTION( sXML_may_script, "may-script" );
+XML_CONSTASCII_ACTION( sXML_mean, "mean" );
+XML_CONSTASCII_ACTION( sXML_mean_value, "mean-value" );
+XML_CONSTASCII_ACTION( sXML_measure, "measure" );
+XML_CONSTASCII_ACTION( sXML_measure_align, "measure-align" );
+XML_CONSTASCII_ACTION( sXML_measure_vertical_align, "measure-vertical-align" );
+XML_CONSTASCII_ACTION( sXML_median, "median" );
+XML_CONSTASCII_ACTION( sXML_medium, "medium" );
+XML_CONSTASCII_ACTION( sXML_merror, "merror" );
+XML_CONSTASCII_ACTION( sXML_message_type, "message-type" );
+XML_CONSTASCII_ACTION( sXML_meta, "meta" );
+XML_CONSTASCII_ACTION( sXML_mfenced, "mfenced" );
+XML_CONSTASCII_ACTION( sXML_mfrac, "mfrac" );
+XML_CONSTASCII_ACTION( sXML_mi, "mi" ); //MathML Math Identifier
+XML_CONSTASCII_ACTION( sXML_middle, "middle" );
+XML_CONSTASCII_ACTION( sXML_mime_type, "mime-type" );
+XML_CONSTASCII_ACTION( sXML_min, "min" );
+XML_CONSTASCII_ACTION( sXML_min_denominator_digits, "min-denominator-digits" );
+XML_CONSTASCII_ACTION( sXML_min_edge, "min-edge");
+XML_CONSTASCII_ACTION( sXML_min_exponent_digits, "min-exponent-digits" );
+XML_CONSTASCII_ACTION( sXML_min_height, "min-height" );
+XML_CONSTASCII_ACTION( sXML_min_width, "min-width" );
+XML_CONSTASCII_ACTION( sXML_min_integer_digits, "min-integer-digits" );
+XML_CONSTASCII_ACTION( sXML_min_label_distance, "min-label-distance" );
+XML_CONSTASCII_ACTION( sXML_min_label_width, "min-label-width" );
+XML_CONSTASCII_ACTION( sXML_min_line_height, "min-line-height" );
+XML_CONSTASCII_ACTION( sXML_min_numerator_digits, "min-numerator-digits" );
+XML_CONSTASCII_ACTION( sXML_min_row_height, "min-row-height" );
+XML_CONSTASCII_ACTION( sXML_minimum, "minimum" );
+XML_CONSTASCII_ACTION( sXML_minor, "minor" );
+XML_CONSTASCII_ACTION( sXML_minus, "minus" );
+XML_CONSTASCII_ACTION( sXML_minutes, "minutes" );
+XML_CONSTASCII_ACTION( sXML_mirror, "mirror" );
+XML_CONSTASCII_ACTION( sXML_mirrored, "mirrored" );
+XML_CONSTASCII_ACTION( sXML_misc, "misc" );
+XML_CONSTASCII_ACTION( sXML_miter , "miter" );
+XML_CONSTASCII_ACTION( sXML_mmultiscripts, "mmultiscripts" );
+XML_CONSTASCII_ACTION( sXML_mm, "mm" );
+XML_CONSTASCII_ACTION( sXML_mn, "mn" );
+XML_CONSTASCII_ACTION( sXML_mo, "mo" );
+XML_CONSTASCII_ACTION( sXML_mode, "mode" );
+XML_CONSTASCII_ACTION( sXML_modern, "modern" );
+XML_CONSTASCII_ACTION( sXML_modification_date, "modification-date" );
+XML_CONSTASCII_ACTION( sXML_modification_time, "modification-time" );
+XML_CONSTASCII_ACTION( sXML_modulate, "modulate" );
+XML_CONSTASCII_ACTION( sXML_module, "module" );
+XML_CONSTASCII_ACTION( sXML_moment, "moment" );
+XML_CONSTASCII_ACTION( sXML_mono, "mono" );
+XML_CONSTASCII_ACTION( sXML_month, "month" );
+XML_CONSTASCII_ACTION( sXML_move_from_bottom, "move-from-bottom" );
+XML_CONSTASCII_ACTION( sXML_move_from_left, "move-from-left" );
+XML_CONSTASCII_ACTION( sXML_move_from_right, "move-from-right" );
+XML_CONSTASCII_ACTION( sXML_move_from_top, "move-from-top" );
+XML_CONSTASCII_ACTION( sXML_move_protect, "move-protect" );
+XML_CONSTASCII_ACTION( sXML_mover, "mover" );
+XML_CONSTASCII_ACTION( sXML_movement, "movement" );
+XML_CONSTASCII_ACTION( sXML_movement_cut_off, "movement-cut-off" );
+XML_CONSTASCII_ACTION( sXML_mouse_as_pen, "mouse-as-pen" );
+XML_CONSTASCII_ACTION( sXML_mouse_visible, "mouse-visible" );
+XML_CONSTASCII_ACTION( sXML_mpadded, "mpadded");
+XML_CONSTASCII_ACTION( sXML_mphantom, "mphantom");
+XML_CONSTASCII_ACTION( sXML_mprescripts, "mprescripts");
+XML_CONSTASCII_ACTION( sXML_mroot, "mroot");
+XML_CONSTASCII_ACTION( sXML_mrow, "mrow");
+XML_CONSTASCII_ACTION( sXML_ms, "ms");
+XML_CONSTASCII_ACTION( sXML_mspace, "mspace");
+XML_CONSTASCII_ACTION( sXML_msqrt, "msqrt");
+XML_CONSTASCII_ACTION( sXML_mstyle, "mstyle");
+XML_CONSTASCII_ACTION( sXML_msub, "msub");
+XML_CONSTASCII_ACTION( sXML_msubsup, "msubsup");
+XML_CONSTASCII_ACTION( sXML_msup, "msup");
+XML_CONSTASCII_ACTION( sXML_mtable, "mtable");
+XML_CONSTASCII_ACTION( sXML_mtd, "mtd");
+XML_CONSTASCII_ACTION( sXML_mtext, "mtext");
+XML_CONSTASCII_ACTION( sXML_mtr, "mtr");
+XML_CONSTASCII_ACTION( sXML_multi_deletion_spanned, "multi-deletion-spanned");
+XML_CONSTASCII_ACTION( sXML_munder, "munder");
+XML_CONSTASCII_ACTION( sXML_munderover, "munderover");
+XML_CONSTASCII_ACTION( sXML_name, "name" );
+XML_CONSTASCII_ACTION( sXML_name_and_extension, "name-and-extension" );
+XML_CONSTASCII_ACTION( sXML_named_expression, "named-expression");
+XML_CONSTASCII_ACTION( sXML_named_expressions, "named-expressions");
+XML_CONSTASCII_ACTION( sXML_named_range, "named-range");
+XML_CONSTASCII_ACTION( sXML_navy, "navy");
+XML_CONSTASCII_ACTION( sXML_neq, "neq" );
+XML_CONSTASCII_ACTION( sXML_new, "new" );
+XML_CONSTASCII_ACTION( sXML_next, "next" );
+XML_CONSTASCII_ACTION( sXML_next_page, "next-page" );
+XML_CONSTASCII_ACTION( sXML_next_style_name, "next-style-name" );
+XML_CONSTASCII_ACTION( sXML_nohref, "nohref" );
+XML_CONSTASCII_ACTION( sXML_no_limit, "no-limit" );
+XML_CONSTASCII_ACTION( sXML_no_wrap, "no-wrap" );
+XML_CONSTASCII_ACTION( sXML_noempty, "!empty");
+XML_CONSTASCII_ACTION( sXML_nomatch, "!match");
+XML_CONSTASCII_ACTION( sXML_none, "none" );
+XML_CONSTASCII_ACTION( sXML_noprtsubset, "notprsubset" );
+XML_CONSTASCII_ACTION( sXML_normal, "normal" );
+XML_CONSTASCII_ACTION( sXML_normals_direction, "normals-direction" );
+XML_CONSTASCII_ACTION( sXML_normals_kind, "normals-kind" );
+XML_CONSTASCII_ACTION( sXML_not, "not" );
+XML_CONSTASCII_ACTION( sXML_not_equal_date, "not-equal-date" );
+XML_CONSTASCII_ACTION( sXML_note, "note" );
+XML_CONSTASCII_ACTION( sXML_notes, "notes" );
+XML_CONSTASCII_ACTION( sXML_notin, "notin" );
+XML_CONSTASCII_ACTION( sXML_notsubset, "notsubset" );
+XML_CONSTASCII_ACTION( sXML_null_date, "null-date" );
+XML_CONSTASCII_ACTION( sXML_null_year, "null-year" );
+XML_CONSTASCII_ACTION( sXML_num_format, "num-format" );
+XML_CONSTASCII_ACTION( sXML_num_letter_sync, "num-letter-sync" );
+XML_CONSTASCII_ACTION( sXML_num_prefix, "num-prefix" );
+XML_CONSTASCII_ACTION( sXML_num_suffix, "num-suffix" );
+XML_CONSTASCII_ACTION( sXML_number, "number" );
+XML_CONSTASCII_ACTION( sXML_number_and_name, "number-and-name" );
+XML_CONSTASCII_ACTION( sXML_number_columns_repeated, "number-columns-repeated" );
+XML_CONSTASCII_ACTION( sXML_number_columns_spanned, "number-columns-spanned" );
+XML_CONSTASCII_ACTION( sXML_number_lines, "number-lines" );
+XML_CONSTASCII_ACTION( sXML_number_matrix_columns_spanned, "number-matrix-columns-spanned" );
+XML_CONSTASCII_ACTION( sXML_number_matrix_rows_spanned, "number-matrix-rows-spanned" );
+XML_CONSTASCII_ACTION( sXML_number_position, "number-position" );
+XML_CONSTASCII_ACTION( sXML_number_rows_repeated, "number-rows-repeated" );
+XML_CONSTASCII_ACTION( sXML_number_rows_spanned, "number-rows-spanned" );
+XML_CONSTASCII_ACTION( sXML_number_style, "number-style" );
+XML_CONSTASCII_ACTION( sXML_number_wrapped_paragraphs, "number-wrapped-paragraphs" );
+XML_CONSTASCII_ACTION( sXML_numbered_entries, "numbered-entries" );
+XML_CONSTASCII_ACTION( sXML_object, "object" );
+XML_CONSTASCII_ACTION( sXML_object_count, "object-count" );
+XML_CONSTASCII_ACTION( sXML_object_index, "object-index" );
+XML_CONSTASCII_ACTION( sXML_object_index_entry_template, "object-index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_object_index_source, "object-index-source" );
+XML_CONSTASCII_ACTION( sXML_object_name, "object-name");
+XML_CONSTASCII_ACTION( sXML_object_ole, "object-ole" );
+XML_CONSTASCII_ACTION( sXML_objects, "objects" );
+XML_CONSTASCII_ACTION( sXML_odd_page, "odd-page" );
+XML_CONSTASCII_ACTION( sXML_offset, "offset" );
+XML_CONSTASCII_ACTION( sXML_olive, "olive" );
+XML_CONSTASCII_ACTION( sXML_online, "online" );
+XML_CONSTASCII_ACTION( sXML_online_text, "online-text" );
+XML_CONSTASCII_ACTION( sXML_onLoad, "onLoad" );
+XML_CONSTASCII_ACTION( sXML_onRequest, "onRequest" );
+XML_CONSTASCII_ACTION( sXML_on_update_keep_size, "on-update-keep-size");
+XML_CONSTASCII_ACTION( sXML_on_update_keep_styles, "on-update-keep-styles");
+XML_CONSTASCII_ACTION( sXML_opaque_background, "background" );
+XML_CONSTASCII_ACTION( sXML_opaque_foreground, "foreground" );
+XML_CONSTASCII_ACTION( sXML_open, "open" );
+XML_CONSTASCII_ACTION( sXML_open_horizontal, "open-horizontal" );
+XML_CONSTASCII_ACTION( sXML_open_vertical, "open-vertical" );
+XML_CONSTASCII_ACTION( sXML_operation, "operation");
+XML_CONSTASCII_ACTION( sXML_operator, "operator");
+XML_CONSTASCII_ACTION( sXML_optimal, "optimal");
+XML_CONSTASCII_ACTION( sXML_or, "or");
+XML_CONSTASCII_ACTION( sXML_order, "order");
+XML_CONSTASCII_ACTION( sXML_ordered_list, "ordered-list" );
+XML_CONSTASCII_ACTION( sXML_organizations, "organizations" );
+XML_CONSTASCII_ACTION( sXML_orientation, "orientation");
+XML_CONSTASCII_ACTION( sXML_orientation_landscape, "orientation-landscape" );
+XML_CONSTASCII_ACTION( sXML_orientation_portrait, "orientation-portrait" );
+XML_CONSTASCII_ACTION( sXML_origin, "origin" );
+XML_CONSTASCII_ACTION( sXML_orphans, "orphans" );
+XML_CONSTASCII_ACTION( sXML_outline_level, "outline-level" );
+XML_CONSTASCII_ACTION( sXML_outline_level_style, "outline-level-style" );
+XML_CONSTASCII_ACTION( sXML_outline_style, "outline-style" );
+XML_CONSTASCII_ACTION( sXML_outset, "outset" );
+XML_CONSTASCII_ACTION( sXML_outside, "outside" );
+XML_CONSTASCII_ACTION( sXML_overlap, "overlap" );
+XML_CONSTASCII_ACTION( sXML_p, "p" );
+XML_CONSTASCII_ACTION( sXML_package_name, "package-name" );
+XML_CONSTASCII_ACTION( sXML_padding, "padding" );
+XML_CONSTASCII_ACTION( sXML_padding_bottom, "padding-bottom" );
+XML_CONSTASCII_ACTION( sXML_padding_left, "padding-left" );
+XML_CONSTASCII_ACTION( sXML_padding_right, "padding-right" );
+XML_CONSTASCII_ACTION( sXML_padding_top, "padding-top" );
+XML_CONSTASCII_ACTION( sXML_page, "page" );
+XML_CONSTASCII_ACTION( sXML_page_adjust, "page-adjust" );
+XML_CONSTASCII_ACTION( sXML_page_breaks_on_group_change, "page-breaks-on-group-change");
+XML_CONSTASCII_ACTION( sXML_page_content, "page-content" );
+XML_CONSTASCII_ACTION( sXML_page_continuation_string, "page-continuation-string" );
+XML_CONSTASCII_ACTION( sXML_page_count, "page-count" );
+XML_CONSTASCII_ACTION( sXML_page_end_margin, "page-end-margin" );
+XML_CONSTASCII_ACTION( sXML_page_height, "page-height" );
+XML_CONSTASCII_ACTION( sXML_page_master, "page-master" );
+XML_CONSTASCII_ACTION( sXML_page_master_name, "page-master-name" );
+XML_CONSTASCII_ACTION( sXML_page_number, "page-number" );
+XML_CONSTASCII_ACTION( sXML_page_start_margin, "page-start-margin" );
+XML_CONSTASCII_ACTION( sXML_page_style_name, "page-style-name" );
+XML_CONSTASCII_ACTION( sXML_page_thumbnail, "page-thumbnail" );
+XML_CONSTASCII_ACTION( sXML_page_usage, "page-usage" );
+XML_CONSTASCII_ACTION( sXML_page_variable_get, "page-variable-get" );
+XML_CONSTASCII_ACTION( sXML_page_variable_set, "page-variable-set" );
+XML_CONSTASCII_ACTION( sXML_page_view_zoom_value, "page-view-zoom-value" );
+XML_CONSTASCII_ACTION( sXML_page_width, "page-width" );
+XML_CONSTASCII_ACTION( sXML_pages, "pages" );
+XML_CONSTASCII_ACTION( sXML_paper_tray_number, "paper-tray-number" );
+XML_CONSTASCII_ACTION( sXML_paragraph, "paragraph" );
+XML_CONSTASCII_ACTION( sXML_paragraph_content, "paragraph-content" );
+XML_CONSTASCII_ACTION( sXML_paragraph_count, "paragraph-count" );
+XML_CONSTASCII_ACTION( sXML_paragraph_end_margin, "paragraph-end-margin" );
+XML_CONSTASCII_ACTION( sXML_paragraph_start_margin, "paragraph-start-margin" );
+XML_CONSTASCII_ACTION( sXML_param, "param" );
+XML_CONSTASCII_ACTION( sXML_parallel, "parallel" );
+XML_CONSTASCII_ACTION( sXML_parent_style_name, "parent-style-name" );
+XML_CONSTASCII_ACTION( sXML_parse_sql_statement, "parse-sql-statement");
+XML_CONSTASCII_ACTION( sXML_parsed, "parsed" );
+XML_CONSTASCII_ACTION( sXML_pause, "pause" );
+XML_CONSTASCII_ACTION( sXML_partialdiff, "partialdiff");
+XML_CONSTASCII_ACTION( sXML_password, "password");
+XML_CONSTASCII_ACTION( sXML_passwort, "passwort");
+XML_CONSTASCII_ACTION( sXML_path , "path" );
+XML_CONSTASCII_ACTION( sXML_pending , "pending" );
+XML_CONSTASCII_ACTION( sXML_percentage, "percentage");
+XML_CONSTASCII_ACTION( sXML_percentage_style, "percentage-style" );
+XML_CONSTASCII_ACTION( sXML_perspective, "perspective");
+XML_CONSTASCII_ACTION( sXML_phdthesis, "phdthesis" );
+XML_CONSTASCII_ACTION( sXML_phong, "phong");
+XML_CONSTASCII_ACTION( sXML_pie_offset, "pie-offset" );
+XML_CONSTASCII_ACTION( sXML_placeholder, "placeholder" );
+XML_CONSTASCII_ACTION( sXML_placeholder_type, "placeholder-type" );
+XML_CONSTASCII_ACTION( sXML_placing, "placing" );
+XML_CONSTASCII_ACTION( sXML_plain_number, "plain-number" );
+XML_CONSTASCII_ACTION( sXML_plain_number_and_name, "plain-number-and-name" );
+XML_CONSTASCII_ACTION( sXML_plot_area, "plot-area" );
+XML_CONSTASCII_ACTION( sXML_plugin, "plugin" );
+XML_CONSTASCII_ACTION( sXML_plus, "plus" );
+XML_CONSTASCII_ACTION( sXML_points, "points" );
+XML_CONSTASCII_ACTION( sXML_polygon , "polygon" );
+XML_CONSTASCII_ACTION( sXML_polyline , "polyline" );
+XML_CONSTASCII_ACTION( sXML_polynomial, "polynomial" );
+XML_CONSTASCII_ACTION( sXML_pool_id, "pool-id" );
+XML_CONSTASCII_ACTION( sXML_portrait, "portrait" );
+XML_CONSTASCII_ACTION( sXML_position, "position" );
+XML_CONSTASCII_ACTION( sXML_position_bottom, "position-bottom" );
+XML_CONSTASCII_ACTION( sXML_position_left, "position-left" );
+XML_CONSTASCII_ACTION( sXML_position_right, "position-right" );
+XML_CONSTASCII_ACTION( sXML_position_top, "position-top" );
+XML_CONSTASCII_ACTION( sXML_posture_italic, "italic" );
+XML_CONSTASCII_ACTION( sXML_posture_normal, "normal" );
+XML_CONSTASCII_ACTION( sXML_posture_oblique, "oblique" );
+XML_CONSTASCII_ACTION( sXML_power, "power" );
+XML_CONSTASCII_ACTION( sXML_precision_as_shown, "precision-as-shown" );
+XML_CONSTASCII_ACTION( sXML_prefix, "prefix" );
+XML_CONSTASCII_ACTION( sXML_presentation, "presentation" );
+XML_CONSTASCII_ACTION( sXML_presentation_chart , "chart" );
+XML_CONSTASCII_ACTION( sXML_presentation_graphic , "graphic" );
+XML_CONSTASCII_ACTION( sXML_presentation_notes , "notes" );
+XML_CONSTASCII_ACTION( sXML_presentation_object , "object" );
+XML_CONSTASCII_ACTION( sXML_presentation_orgchart , "orgchart" );
+XML_CONSTASCII_ACTION( sXML_presentation_outline , "outline" );
+XML_CONSTASCII_ACTION( sXML_presentation_page , "page" );
+XML_CONSTASCII_ACTION( sXML_presentation_page_layout, "presentation-page-layout" );
+XML_CONSTASCII_ACTION( sXML_presentation_page_layout_name, "presentation-page-layout-name" );
+XML_CONSTASCII_ACTION( sXML_presentation_subtitle , "subtitle" );
+XML_CONSTASCII_ACTION( sXML_presentation_table , "table" );
+XML_CONSTASCII_ACTION( sXML_presentation_title , "title" );
+XML_CONSTASCII_ACTION( sXML_previous, "previous" );
+XML_CONSTASCII_ACTION( sXML_previous_page, "previous-page" );
+XML_CONSTASCII_ACTION( sXML_print, "print" );
+XML_CONSTASCII_ACTION( sXML_printable, "printable" );
+XML_CONSTASCII_ACTION( sXML_print_content, "print-content");
+XML_CONSTASCII_ACTION( sXML_print_date, "print-date" );
+XML_CONSTASCII_ACTION( sXML_print_orientation, "print-orientation");
+XML_CONSTASCII_ACTION( sXML_print_page_order, "print-page-order");
+XML_CONSTASCII_ACTION( sXML_print_range, "print-range");
+XML_CONSTASCII_ACTION( sXML_print_ranges, "print-ranges");
+XML_CONSTASCII_ACTION( sXML_print_time, "print-time" );
+XML_CONSTASCII_ACTION( sXML_printed_by, "printed-by" );
+XML_CONSTASCII_ACTION( sXML_proceedings, "proceedings" );
+XML_CONSTASCII_ACTION( sXML_product, "product" );
+XML_CONSTASCII_ACTION( sXML_projection, "projection");
+XML_CONSTASCII_ACTION( sXML_properties, "properties" );
+XML_CONSTASCII_ACTION( sXML_protect, "protect" );
+XML_CONSTASCII_ACTION( sXML_protect_content, "content" );
+XML_CONSTASCII_ACTION( sXML_protect_position, "position" );
+XML_CONSTASCII_ACTION( sXML_protect_size, "size" );
+XML_CONSTASCII_ACTION( sXML_protected, "protected" );
+XML_CONSTASCII_ACTION( sXML_protection_key, "protection-key" );
+XML_CONSTASCII_ACTION( sXML_prsubset, "prsubset" );
+XML_CONSTASCII_ACTION( sXML_publisher, "publisher" );
+XML_CONSTASCII_ACTION( sXML_punctuation_wrap, "punctuation-wrap" );
+XML_CONSTASCII_ACTION( sXML_purple, "purple" );
+XML_CONSTASCII_ACTION( sXML_pyramid, "pyramid" );
+XML_CONSTASCII_ACTION( sXML_quarter, "quarter" );
+XML_CONSTASCII_ACTION( sXML_query_name, "query-name");
+XML_CONSTASCII_ACTION( sXML_quo_vadis, "quo-vadis" );
+XML_CONSTASCII_ACTION( sXML_quotient, "quotient" );
+XML_CONSTASCII_ACTION( sXML_r, "r" );
+XML_CONSTASCII_ACTION( sXML_radar, "radar" );
+XML_CONSTASCII_ACTION( sXML_random, "random" );
+XML_CONSTASCII_ACTION( sXML_range_address, "range-address");
+XML_CONSTASCII_ACTION( sXML_range_usable_as, "range-usable-as");
+XML_CONSTASCII_ACTION( sXML_recreate_on_edit , "recreate-on-edit" );
+XML_CONSTASCII_ACTION( sXML_rect , "rect" );
+XML_CONSTASCII_ACTION( sXML_red , "red" );
+XML_CONSTASCII_ACTION( sXML_ref_name, "ref-name" );
+XML_CONSTASCII_ACTION( sXML_reference, "reference" );
+XML_CONSTASCII_ACTION( sXML_reference_end, "reference-end" );
+XML_CONSTASCII_ACTION( sXML_reference_format, "reference-format" );
+XML_CONSTASCII_ACTION( sXML_reference_mark, "reference-mark" );
+XML_CONSTASCII_ACTION( sXML_reference_mark_end, "reference-mark-end" );
+XML_CONSTASCII_ACTION( sXML_reference_mark_start, "reference-mark-start" );
+XML_CONSTASCII_ACTION( sXML_reference_ref, "reference-ref" );
+XML_CONSTASCII_ACTION( sXML_reference_start, "reference-start" );
+XML_CONSTASCII_ACTION( sXML_reference_type, "reference-type" );
+XML_CONSTASCII_ACTION( sXML_refresh_delay, "refresh-delay" );
+XML_CONSTASCII_ACTION( sXML_region_center, "region-center" );
+XML_CONSTASCII_ACTION( sXML_region_left, "region-left" );
+XML_CONSTASCII_ACTION( sXML_region_right, "region-right" );
+XML_CONSTASCII_ACTION( sXML_register_true, "register-true" );
+XML_CONSTASCII_ACTION( sXML_register_truth_ref_style_name, "register-truth-ref-style-name" );
+XML_CONSTASCII_ACTION( sXML_regression_type, "regression-type" );
+XML_CONSTASCII_ACTION( sXML_rejected, "rejected" );
+XML_CONSTASCII_ACTION( sXML_rejecting_change_id, "rejecting-change-id" );
+XML_CONSTASCII_ACTION( sXML_rejection, "rejection" );
+XML_CONSTASCII_ACTION( sXML_rel_column_width, "rel-column-width" );
+XML_CONSTASCII_ACTION( sXML_rel_height, "rel-height" );
+XML_CONSTASCII_ACTION( sXML_rel_width, "rel-width" );
+XML_CONSTASCII_ACTION( sXML_relative, "relative" ) ;
+XML_CONSTASCII_ACTION( sXML_relative_tab_stop_position, "relative-tab-stop-position" );
+XML_CONSTASCII_ACTION( sXML_reln, "reln" ) ;
+XML_CONSTASCII_ACTION( sXML_rem, "rem" ) ;
+XML_CONSTASCII_ACTION( sXML_remove_dependents, "remove-dependents" );
+XML_CONSTASCII_ACTION( sXML_remove_precedents, "remove-precedents" );
+XML_CONSTASCII_ACTION( sXML_repeat, "repeat" );
+XML_CONSTASCII_ACTION( sXML_repeat_column, "repeat-column");
+XML_CONSTASCII_ACTION( sXML_repeat_row, "repeat-row");
+XML_CONSTASCII_ACTION( sXML_repeated, "repeated" );
+XML_CONSTASCII_ACTION( sXML_replace, "replace" );
+XML_CONSTASCII_ACTION( sXML_report_type, "report-type" );
+XML_CONSTASCII_ACTION( sXML_restart_on_page, "restart-on-page" );
+XML_CONSTASCII_ACTION( sXML_revision, "revision" );
+XML_CONSTASCII_ACTION( sXML_ridge, "ridge" );
+XML_CONSTASCII_ACTION( sXML_right, "right" );
+XML_CONSTASCII_ACTION( sXML_right_outside, "right-outside" );
+XML_CONSTASCII_ACTION( sXML_ring, "ring" );
+XML_CONSTASCII_ACTION( sXML_role, "role" );
+XML_CONSTASCII_ACTION( sXML_roll_from_bottom, "roll-from-bottom" );
+XML_CONSTASCII_ACTION( sXML_roll_from_left, "roll-from-left" );
+XML_CONSTASCII_ACTION( sXML_roll_from_right, "roll-from-right" );
+XML_CONSTASCII_ACTION( sXML_roman, "roman" );
+XML_CONSTASCII_ACTION( sXML_root, "root" );
+XML_CONSTASCII_ACTION( sXML_rotate, "rotate" );
+XML_CONSTASCII_ACTION( sXML_rotation, "rotation" );
+XML_CONSTASCII_ACTION( sXML_rotation_align, "rotation-align" );
+XML_CONSTASCII_ACTION( sXML_rotation_angle, "rotation-angle" );
+XML_CONSTASCII_ACTION( sXML_round , "round" );
+XML_CONSTASCII_ACTION( sXML_row, "row");
+XML_CONSTASCII_ACTION( sXML_rows, "rows");
+XML_CONSTASCII_ACTION( sXML_row_height, "row-height" );
+XML_CONSTASCII_ACTION( sXML_row_number, "row-number" );
+XML_CONSTASCII_ACTION( sXML_ruby, "ruby" );
+XML_CONSTASCII_ACTION( sXML_ruby_align, "ruby-align" );
+XML_CONSTASCII_ACTION( sXML_ruby_base, "ruby-base" );
+XML_CONSTASCII_ACTION( sXML_ruby_position, "ruby-position" );
+XML_CONSTASCII_ACTION( sXML_ruby_text, "ruby-text" );
+XML_CONSTASCII_ACTION( sXML_run_through, "run-through" );
+XML_CONSTASCII_ACTION( sXML_rx, "rx" );
+XML_CONSTASCII_ACTION( sXML_ry, "ry" );
+XML_CONSTASCII_ACTION( sXML_s, "s" );
+XML_CONSTASCII_ACTION( sXML_scale, "scale" );
+XML_CONSTASCII_ACTION( sXML_scale_min, "scale-min" );
+XML_CONSTASCII_ACTION( sXML_scale_text, "scale-text" );
+XML_CONSTASCII_ACTION( sXML_scale_to, "scale-to" );
+XML_CONSTASCII_ACTION( sXML_scale_to_pages, "scale-to-pages" );
+XML_CONSTASCII_ACTION( sXML_scatter, "scatter" );
+XML_CONSTASCII_ACTION( sXML_scenario, "scenario" );
+XML_CONSTASCII_ACTION( sXML_scenario_ranges, "scenario-ranges" );
+XML_CONSTASCII_ACTION( sXML_scene, "scene");
+XML_CONSTASCII_ACTION( sXML_school, "school" );
+XML_CONSTASCII_ACTION( sXML_scientific_number, "scientific-number" );
+XML_CONSTASCII_ACTION( sXML_score_spaces, "score-spaces" );
+XML_CONSTASCII_ACTION( sXML_script, "script" );
+XML_CONSTASCII_ACTION( sXML_scroll, "scroll" );
+XML_CONSTASCII_ACTION( sXML_sdev, "sdev" );
+XML_CONSTASCII_ACTION( sXML_search_criteria_must_apply_to_whole_cell, "search-criteria-must-apply-to-whole-cell" );
+XML_CONSTASCII_ACTION( sXML_sec, "sec" );
+XML_CONSTASCII_ACTION( sXML_sech, "sech" );
+XML_CONSTASCII_ACTION( sXML_second_date_time, "second-date-time" );
+XML_CONSTASCII_ACTION( sXML_seconds, "seconds" );
+XML_CONSTASCII_ACTION( sXML_section, "section" );
+XML_CONSTASCII_ACTION( sXML_section_desc, "section-desc" );
+XML_CONSTASCII_ACTION( sXML_section_name, "section-name" );
+XML_CONSTASCII_ACTION( sXML_section_source, "section-source" );
+XML_CONSTASCII_ACTION( sXML_select_page, "select-page" );
+XML_CONSTASCII_ACTION( sXML_selector, "selector" );
+XML_CONSTASCII_ACTION( sXML_semantics, "semantics" );
+XML_CONSTASCII_ACTION( sXML_semi_automatic, "semi-automatic" );
+XML_CONSTASCII_ACTION( sXML_sender_city, "sender-city" );
+XML_CONSTASCII_ACTION( sXML_sender_company, "sender-company" );
+XML_CONSTASCII_ACTION( sXML_sender_country, "sender-country" );
+XML_CONSTASCII_ACTION( sXML_sender_email, "sender-email" );
+XML_CONSTASCII_ACTION( sXML_sender_fax, "sender-fax" );
+XML_CONSTASCII_ACTION( sXML_sender_firstname, "sender-firstname" );
+XML_CONSTASCII_ACTION( sXML_sender_initials, "sender-initials" );
+XML_CONSTASCII_ACTION( sXML_sender_lastname, "sender-lastname" );
+XML_CONSTASCII_ACTION( sXML_sender_phone_private, "sender-phone-private" );
+XML_CONSTASCII_ACTION( sXML_sender_phone_work, "sender-phone-work" );
+XML_CONSTASCII_ACTION( sXML_sender_position, "sender-position" );
+XML_CONSTASCII_ACTION( sXML_sender_postal_code, "sender-postal-code" );
+XML_CONSTASCII_ACTION( sXML_sender_state_or_province, "sender-state-or-province" );
+XML_CONSTASCII_ACTION( sXML_sender_street, "sender-street" );
+XML_CONSTASCII_ACTION( sXML_sender_title, "sender-title" );
+XML_CONSTASCII_ACTION( sXML_sep, "sep" );
+XML_CONSTASCII_ACTION( sXML_separation_character, "separation-character" );
+XML_CONSTASCII_ACTION( sXML_separator, "separator" );
+XML_CONSTASCII_ACTION( sXML_sequence, "sequence" );
+XML_CONSTASCII_ACTION( sXML_sequence_decl, "sequence-decl" );
+XML_CONSTASCII_ACTION( sXML_sequence_decls, "sequence-decls" );
+XML_CONSTASCII_ACTION( sXML_sequence_ref, "sequence-ref" );
+XML_CONSTASCII_ACTION( sXML_series, "series" );
+XML_CONSTASCII_ACTION( sXML_series_source, "series-source" );
+XML_CONSTASCII_ACTION( sXML_server_map, "server-map" );
+XML_CONSTASCII_ACTION( sXML_set, "set" );
+XML_CONSTASCII_ACTION( sXML_setdiff, "setdiff" );
+XML_CONSTASCII_ACTION( sXML_settings, "settings" );
+XML_CONSTASCII_ACTION( sXML_shade_mode, "shade-mode");
+XML_CONSTASCII_ACTION( sXML_shadow, "shadow" );
+XML_CONSTASCII_ACTION( sXML_shadow_color , "shadow-color" );
+XML_CONSTASCII_ACTION( sXML_shadow_offset_x , "shadow-offset-x" );
+XML_CONSTASCII_ACTION( sXML_shadow_offset_y , "shadow-offset-y" );
+XML_CONSTASCII_ACTION( sXML_shadow_slant, "shadow-slant");
+XML_CONSTASCII_ACTION( sXML_shadow_transparency , "shadow-transparency" );
+XML_CONSTASCII_ACTION( sXML_shape, "shape" );
+XML_CONSTASCII_ACTION( sXML_shapes, "shapes" );
+XML_CONSTASCII_ACTION( sXML_sheet_name, "sheet-name" );
+XML_CONSTASCII_ACTION( sXML_shininess, "shininess" );
+XML_CONSTASCII_ACTION( sXML_short, "short" );
+XML_CONSTASCII_ACTION( sXML_show, "show" );
+XML_CONSTASCII_ACTION( sXML_show_accepted_changes, "show-accepted-changes" );
+XML_CONSTASCII_ACTION( sXML_show_rejected_changes, "show-rejected-changes" );
+XML_CONSTASCII_ACTION( sXML_show_changes, "show-changes" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_author, "show-changes-by-author" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_author_name, "show-changes-by-author-name" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_comment, "show-changes-by-comment" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_comment_text, "show-changes-by-comment-text" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_datetime, "show-changes-by-datetime" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_datetime_mode, "show-changes-by-datetime-mode" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_datetime_first_datetime, "show-changes-by-datetime-first-datetime" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_datetime_second_datetime, "show-changes-by-datetime-second-datetime" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_ranges, "show-changes-by-ranges" );
+XML_CONSTASCII_ACTION( sXML_show_changes_by_ranges_list, "show-changes-by-ranges-list" );
+XML_CONSTASCII_ACTION( sXML_show_logo, "show-logo" );
+XML_CONSTASCII_ACTION( sXML_show_unit, "show-unit" );
+XML_CONSTASCII_ACTION( sXML_shows, "shows" );
+XML_CONSTASCII_ACTION( sXML_side_by_side, "side-by-side" );
+XML_CONSTASCII_ACTION( sXML_silver, "silver" );
+XML_CONSTASCII_ACTION( sXML_simple, "simple" );
+XML_CONSTASCII_ACTION( sXML_sin, "sin" );
+XML_CONSTASCII_ACTION( sXML_since_date_time, "since-date-time" );
+XML_CONSTASCII_ACTION( sXML_since_save, "since-save" );
+XML_CONSTASCII_ACTION( sXML_sinh, "sinh" );
+XML_CONSTASCII_ACTION( sXML_size, "size" );
+XML_CONSTASCII_ACTION( sXML_size_protect, "size-protect" );
+XML_CONSTASCII_ACTION( sXML_slide, "slide" );
+XML_CONSTASCII_ACTION( sXML_slow, "slow" );
+XML_CONSTASCII_ACTION( sXML_soft_page_break, "soft-page-break" );
+XML_CONSTASCII_ACTION( sXML_solid, "solid" );
+XML_CONSTASCII_ACTION( sXML_solid_type, "solid-type" );
+XML_CONSTASCII_ACTION( sXML_sort, "sort");
+XML_CONSTASCII_ACTION( sXML_sort_ascending, "sort-ascending" );
+XML_CONSTASCII_ACTION( sXML_sort_by, "sort-by");
+XML_CONSTASCII_ACTION( sXML_sort_by_position, "sort-by-position" );
+XML_CONSTASCII_ACTION( sXML_sort_groups, "sort-groups");
+XML_CONSTASCII_ACTION( sXML_sort_key, "sort-key");
+XML_CONSTASCII_ACTION( sXML_sort_by_x_values, "sort-by-x-values" );
+XML_CONSTASCII_ACTION( sXML_source_cell_range, "source-cell-range");
+XML_CONSTASCII_ACTION( sXML_source_cell_range_addresses, "source-cell-range-addresses");
+XML_CONSTASCII_ACTION( sXML_source_field_name, "source-field-name");
+XML_CONSTASCII_ACTION( sXML_source_name, "source-name");
+XML_CONSTASCII_ACTION( sXML_source_range_address, "source-range-address");
+XML_CONSTASCII_ACTION( sXML_source_service, "source-service");
+XML_CONSTASCII_ACTION( sXML_space_before, "space-before" );
+XML_CONSTASCII_ACTION( sXML_span, "span" );
+XML_CONSTASCII_ACTION( sXML_specular, "specular");
+XML_CONSTASCII_ACTION( sXML_specular_color, "specular-color" );
+XML_CONSTASCII_ACTION( sXML_sphere, "sphere" );
+XML_CONSTASCII_ACTION( sXML_spiralin_left, "spiralin-left" );
+XML_CONSTASCII_ACTION( sXML_spiralin_right, "spiralin-right" );
+XML_CONSTASCII_ACTION( sXML_spiralout_left, "spiralout-left" );
+XML_CONSTASCII_ACTION( sXML_spiralout_right, "spiralout-right" );
+XML_CONSTASCII_ACTION( sXML_splines, "splines" );
+XML_CONSTASCII_ACTION( sXML_split, "split" );
+XML_CONSTASCII_ACTION( sXML_split_column, "split-column" );
+XML_CONSTASCII_ACTION( sXML_split_position, "split-position" );
+XML_CONSTASCII_ACTION( sXML_split_row, "split-row" );
+XML_CONSTASCII_ACTION( sXML_spreadsheet , "spreadsheet" );
+XML_CONSTASCII_ACTION( sXML_sql_statement, "sql-statement");
+XML_CONSTASCII_ACTION( sXML_stacked, "stacked" );
+XML_CONSTASCII_ACTION( sXML_stagger_even, "stagger-even" );
+XML_CONSTASCII_ACTION( sXML_stagger_odd, "stagger-odd" );
+XML_CONSTASCII_ACTION( sXML_standard, "standard" );
+XML_CONSTASCII_ACTION( sXML_standard_deviation, "standard-deviation" );
+XML_CONSTASCII_ACTION( sXML_starbasic, "starbasic" );
+XML_CONSTASCII_ACTION( sXML_start, "start" );
+XML_CONSTASCII_ACTION( sXML_start_color, "start-color" );
+XML_CONSTASCII_ACTION( sXML_start_column, "start-column" );
+XML_CONSTASCII_ACTION( sXML_start_intensity, "start-intensity" );
+XML_CONSTASCII_ACTION( sXML_start_numbering_at, "start-numbering-at" );
+XML_CONSTASCII_ACTION( sXML_start_page, "start-page" );
+XML_CONSTASCII_ACTION( sXML_start_position, "start-position" );
+XML_CONSTASCII_ACTION( sXML_start_row, "start-row" );
+XML_CONSTASCII_ACTION( sXML_start_table, "start-table" );
+XML_CONSTASCII_ACTION( sXML_start_value, "start-value" );
+XML_CONSTASCII_ACTION( sXML_start_with_navigator, "start-with-navigator" );
+XML_CONSTASCII_ACTION( sXML_statistics, "statistics" );
+XML_CONSTASCII_ACTION( sXML_status, "status" );
+XML_CONSTASCII_ACTION( sXML_stay_on_top, "stay-on-top" );
+XML_CONSTASCII_ACTION( sXML_stdev, "stdev" );
+XML_CONSTASCII_ACTION( sXML_stdevp, "stdevp" );
+XML_CONSTASCII_ACTION( sXML_steps, "steps" );
+XML_CONSTASCII_ACTION( sXML_stock, "stock" );
+XML_CONSTASCII_ACTION( sXML_stock_updown_bars, "stock-updown-bars" );
+XML_CONSTASCII_ACTION( sXML_stock_with_volume, "stock-with-volume" );
+XML_CONSTASCII_ACTION( sXML_stop, "stop" );
+XML_CONSTASCII_ACTION( sXML_stretch_from_bottom, "stretch-from-bottom" );
+XML_CONSTASCII_ACTION( sXML_stretch_from_left, "stretch-from-left" );
+XML_CONSTASCII_ACTION( sXML_stretch_from_right, "stretch-from-right" );
+XML_CONSTASCII_ACTION( sXML_stretch_from_top, "stretch-from-top" );
+XML_CONSTASCII_ACTION( sXML_stretchy, "stretchy" );
+XML_CONSTASCII_ACTION( sXML_strict , "strict" );
+XML_CONSTASCII_ACTION( sXML_string, "string");
+XML_CONSTASCII_ACTION( sXML_string_value, "string-value");
+XML_CONSTASCII_ACTION( sXML_string_value_if_false, "string-value-if-false" );
+XML_CONSTASCII_ACTION( sXML_string_value_if_true, "string-value-if-true" );
+XML_CONSTASCII_ACTION( sXML_stroke , "stroke" );
+XML_CONSTASCII_ACTION( sXML_stroke_color , "stroke-color" );
+XML_CONSTASCII_ACTION( sXML_stroke_dash , "stroke-dash" );
+XML_CONSTASCII_ACTION( sXML_stroke_linejoin , "stroke-linejoin" );
+XML_CONSTASCII_ACTION( sXML_stroke_opacity, "stroke-opacity" );
+XML_CONSTASCII_ACTION( sXML_stroke_width, "stroke-width" );
+XML_CONSTASCII_ACTION( sXML_structure_protected, "structure-protected" );
+XML_CONSTASCII_ACTION( sXML_style, "style" );
+XML_CONSTASCII_ACTION( sXML_style_name, "style-name" );
+XML_CONSTASCII_ACTION( sXML_styles, "styles" );
+XML_CONSTASCII_ACTION( sXML_stylesheet, "stylesheet" );
+XML_CONSTASCII_ACTION( sXML_sub_table, "sub-table" );
+XML_CONSTASCII_ACTION( sXML_subject, "subject" );
+XML_CONSTASCII_ACTION( sXML_subset, "subset" );
+XML_CONSTASCII_ACTION( sXML_subtitle, "subtitle" );
+XML_CONSTASCII_ACTION( sXML_subtotal_field, "subtotal-field");
+XML_CONSTASCII_ACTION( sXML_subtotal_rule, "subtotal-rule");
+XML_CONSTASCII_ACTION( sXML_subtotal_rules, "subtotal-rules");
+XML_CONSTASCII_ACTION( sXML_suffix, "suffix" );
+XML_CONSTASCII_ACTION( sXML_sum, "sum" );
+XML_CONSTASCII_ACTION( sXML_swiss, "swiss" );
+XML_CONSTASCII_ACTION( sXML_symbol, "symbol" );
+XML_CONSTASCII_ACTION( sXML_symbol_height, "symbol-height" );
+XML_CONSTASCII_ACTION( sXML_symbol_image_name, "symbol-image-name" );
+XML_CONSTASCII_ACTION( sXML_symbol_width, "symbol-width" );
+XML_CONSTASCII_ACTION( sXML_system, "system" );
+XML_CONSTASCII_ACTION( sXML_tab_stop, "tab-stop" );
+XML_CONSTASCII_ACTION( sXML_tab_stops, "tab-stops" );
+XML_CONSTASCII_ACTION( sXML_table, "table" );
+XML_CONSTASCII_ACTION( sXML_tables, "tables" );
+XML_CONSTASCII_ACTION( sXML_table_background, "table-background" );
+XML_CONSTASCII_ACTION( sXML_table_cell, "table-cell" );
+XML_CONSTASCII_ACTION( sXML_table_centering, "table-centering" );
+XML_CONSTASCII_ACTION( sXML_table_column, "table-column" );
+XML_CONSTASCII_ACTION( sXML_table_column_group, "table-column-group" );
+XML_CONSTASCII_ACTION( sXML_table_columns, "table-columns" );
+XML_CONSTASCII_ACTION( sXML_table_count, "table-count" );
+XML_CONSTASCII_ACTION( sXML_table_header, "table-header" );
+XML_CONSTASCII_ACTION( sXML_table_header_columns, "table-header-columns" );
+XML_CONSTASCII_ACTION( sXML_table_header_rows, "table-header-rows" );
+XML_CONSTASCII_ACTION( sXML_table_index, "table-index" );
+XML_CONSTASCII_ACTION( sXML_table_index_entry_template, "table-index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_table_index_source, "table-index-source" );
+XML_CONSTASCII_ACTION( sXML_table_name, "table-name");
+XML_CONSTASCII_ACTION( sXML_table_number_list, "table-number-list");
+XML_CONSTASCII_ACTION( sXML_table_of_content, "table-of-content" );
+XML_CONSTASCII_ACTION( sXML_table_of_content_entry_template, "table-of-content-entry-template" );
+XML_CONSTASCII_ACTION( sXML_table_of_content_source, "table-of-content-source" );
+XML_CONSTASCII_ACTION( sXML_table_page, "table-page" );
+XML_CONSTASCII_ACTION( sXML_table_row, "table-row" );
+XML_CONSTASCII_ACTION( sXML_table_row_group, "table-row-group" );
+XML_CONSTASCII_ACTION( sXML_table_rows, "table-rows" );
+XML_CONSTASCII_ACTION( sXML_table_source, "table-source" );
+XML_CONSTASCII_ACTION( sXML_table_view, "table-view" );
+XML_CONSTASCII_ACTION( sXML_tab_stop_distance, "tab-stop-distance" );
+XML_CONSTASCII_ACTION( sXML_tan, "tan" );
+XML_CONSTASCII_ACTION( sXML_tanh, "tanh" );
+XML_CONSTASCII_ACTION( sXML_target_cell_address, "target-cell-address");
+XML_CONSTASCII_ACTION( sXML_target_frame_name, "target-frame-name" );
+XML_CONSTASCII_ACTION( sXML_target_range_address, "target-range-address");
+XML_CONSTASCII_ACTION( sXML_tb_rl, "tb-rl" );
+XML_CONSTASCII_ACTION( sXML_teal, "teal" );
+XML_CONSTASCII_ACTION( sXML_techreport, "techreport" );
+XML_CONSTASCII_ACTION( sXML_template, "template" );
+XML_CONSTASCII_ACTION( sXML_template_name, "template-name" );
+XML_CONSTASCII_ACTION( sXML_tendsto, "tendsto" );
+XML_CONSTASCII_ACTION( sXML_tex_filter, "texture-filter" );
+XML_CONSTASCII_ACTION( sXML_tex_generation_mode_x, "texture-generation-mode-x" );
+XML_CONSTASCII_ACTION( sXML_tex_generation_mode_y, "texture-generation-mode-y" );
+XML_CONSTASCII_ACTION( sXML_tex_kind, "texture-kind" );
+XML_CONSTASCII_ACTION( sXML_tex_mode, "texture-mode" );
+XML_CONSTASCII_ACTION( sXML_text, "text" );
+XML_CONSTASCII_ACTION( sXML_text_align, "text-align" );
+XML_CONSTASCII_ACTION( sXML_text_align_last, "text-align-last" );
+XML_CONSTASCII_ACTION( sXML_text_align_source, "text-align-source" );
+XML_CONSTASCII_ACTION( sXML_text_autospace, "text-autospace" );
+XML_CONSTASCII_ACTION( sXML_text_background_color, "text-background-color" );
+XML_CONSTASCII_ACTION( sXML_text_blinking, "text-blinking" );
+XML_CONSTASCII_ACTION( sXML_text_box, "text-box" );
+XML_CONSTASCII_ACTION( sXML_text_combine, "text-combine" );
+XML_CONSTASCII_ACTION( sXML_text_combine_end_char, "text-combine-end-char" );
+XML_CONSTASCII_ACTION( sXML_text_combine_start_char, "text-combine-start-char" );
+XML_CONSTASCII_ACTION( sXML_text_content, "text-content" );
+XML_CONSTASCII_ACTION( sXML_text_crossing_out, "text-crossing-out" );
+XML_CONSTASCII_ACTION( sXML_text_emphasize, "text-emphasize" );
+XML_CONSTASCII_ACTION( sXML_text_global, "text-global" );
+XML_CONSTASCII_ACTION( sXML_text_indent, "text-indent" );
+XML_CONSTASCII_ACTION( sXML_text_input, "text-input" );
+XML_CONSTASCII_ACTION( sXML_text_outline, "text-outline" );
+XML_CONSTASCII_ACTION( sXML_text_position, "text-position" );
+XML_CONSTASCII_ACTION( sXML_text_rotation_angle, "text-rotation-angle" );
+XML_CONSTASCII_ACTION( sXML_text_rotation_scale, "text-rotation-scale" );
+XML_CONSTASCII_ACTION( sXML_text_scale, "text-scale" );
+XML_CONSTASCII_ACTION( sXML_text_shadow, "text-shadow" );
+XML_CONSTASCII_ACTION( sXML_text_style, "text-style" );
+XML_CONSTASCII_ACTION( sXML_text_transform, "text-transform" );
+XML_CONSTASCII_ACTION( sXML_text_underline, "text-underline" );
+XML_CONSTASCII_ACTION( sXML_text_underline_color, "text-underline-color" );
+XML_CONSTASCII_ACTION( sXML_textarea_horizontal_align, "textarea-horizontal-align" );
+XML_CONSTASCII_ACTION( sXML_textarea_vertical_align, "textarea-vertical-align" );
+XML_CONSTASCII_ACTION( sXML_textual, "textual" );
+XML_CONSTASCII_ACTION( sXML_thick, "thick" );
+XML_CONSTASCII_ACTION( sXML_thin, "thin" );
+XML_CONSTASCII_ACTION( sXML_three_dimensional, "three-dimensional" );
+XML_CONSTASCII_ACTION( sXML_thumbnail, "thumbnail" );
+XML_CONSTASCII_ACTION( sXML_tick_marks_major_inner, "tick-marks-major-inner" );
+XML_CONSTASCII_ACTION( sXML_tick_marks_major_outer, "tick-marks-major-outer" );
+XML_CONSTASCII_ACTION( sXML_tick_marks_minor_inner, "tick-marks-minor-inner" );
+XML_CONSTASCII_ACTION( sXML_tick_marks_minor_outer, "tick-marks-minor-outer" );
+XML_CONSTASCII_ACTION( sXML_tile_repeat_offset, "tile-repeat-offset" );
+XML_CONSTASCII_ACTION( sXML_time, "time");
+XML_CONSTASCII_ACTION( sXML_time_adjust, "time-adjust" );
+XML_CONSTASCII_ACTION( sXML_time_style, "time-style" );
+XML_CONSTASCII_ACTION( sXML_time_value, "time-value");
+XML_CONSTASCII_ACTION( sXML_times, "times");
+XML_CONSTASCII_ACTION( sXML_title, "title" );
+XML_CONSTASCII_ACTION( sXML_to_another_table, "to-another-table" );
+XML_CONSTASCII_ACTION( sXML_toc_mark, "toc-mark" );
+XML_CONSTASCII_ACTION( sXML_toc_mark_end, "toc-mark-end" );
+XML_CONSTASCII_ACTION( sXML_toc_mark_start, "toc-mark-start" );
+XML_CONSTASCII_ACTION( sXML_top, "top" );
+XML_CONSTASCII_ACTION( sXML_top_percent, "top percent");
+XML_CONSTASCII_ACTION( sXML_top_values, "top values");
+XML_CONSTASCII_ACTION( sXML_trace_dependents, "trace-dependents" );
+XML_CONSTASCII_ACTION( sXML_trace_errors, "trace-errors" );
+XML_CONSTASCII_ACTION( sXML_trace_precedents, "trace-precedents" );
+XML_CONSTASCII_ACTION( sXML_track_changes, "track-changes" );
+XML_CONSTASCII_ACTION( sXML_tracked_changes, "tracked-changes" );
+XML_CONSTASCII_ACTION( sXML_tracked_changes_view_settings, "tracked-changes-view-settings" );
+XML_CONSTASCII_ACTION( sXML_transform , "transform" );
+XML_CONSTASCII_ACTION( sXML_transition_on_click, "transition-on-click" );
+XML_CONSTASCII_ACTION( sXML_transparency, "transparency" );
+XML_CONSTASCII_ACTION( sXML_transparency_name, "transparency-name" );
+XML_CONSTASCII_ACTION( sXML_transparent, "transparent" );
+XML_CONSTASCII_ACTION( sXML_transpose, "transpose" );
+XML_CONSTASCII_ACTION( sXML_true, "true" );
+XML_CONSTASCII_ACTION( sXML_truncate_on_overflow, "truncate-on-overflow" );
+XML_CONSTASCII_ACTION( sXML_ttb, "ttb");
+XML_CONSTASCII_ACTION( sXML_type, "type" );
+XML_CONSTASCII_ACTION( sXML_underline_bold, "bold" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_dash, "bold-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_dot_dash, "bold-dot-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_dot_dot_dash, "bold-dot-dot-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_dotted, "bold-dotted" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_long_dash, "bold-long-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_bold_wave, "bold-wave" );
+XML_CONSTASCII_ACTION( sXML_underline_dash, "dash" );
+XML_CONSTASCII_ACTION( sXML_underline_dot_dash, "dot-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_dot_dot_dash, "dot-dot-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_dotted, "dotted" );
+XML_CONSTASCII_ACTION( sXML_underline_double, "double" );
+XML_CONSTASCII_ACTION( sXML_underline_double_wave, "double-wave" );
+XML_CONSTASCII_ACTION( sXML_underline_long_dash, "long-dash" );
+XML_CONSTASCII_ACTION( sXML_underline_none, "none" );
+XML_CONSTASCII_ACTION( sXML_underline_single, "single" );
+XML_CONSTASCII_ACTION( sXML_underline_small_wave, "small-wave" );
+XML_CONSTASCII_ACTION( sXML_underline_wave, "wave" );
+XML_CONSTASCII_ACTION( sXML_unformatted_text, "unformatted-text" );
+XML_CONSTASCII_ACTION( sXML_union, "union" );
+XML_CONSTASCII_ACTION( sXML_unit, "unit" );
+XML_CONSTASCII_ACTION( sXML_unordered_list, "unordered-list" );
+XML_CONSTASCII_ACTION( sXML_unpublished, "unpublished" );
+XML_CONSTASCII_ACTION( sXML_uplimit, "uplimit" );
+XML_CONSTASCII_ACTION( sXML_url, "url" );
+XML_CONSTASCII_ACTION( sXML_use_caption, "use-caption" );
+XML_CONSTASCII_ACTION( sXML_use_cell_protection, "use-cell-protection" );
+XML_CONSTASCII_ACTION( sXML_use_chart_objects, "use-chart-objects" );
+XML_CONSTASCII_ACTION( sXML_use_condition, "use-condition" );
+XML_CONSTASCII_ACTION( sXML_use_draw_objects, "use-draw-objects" );
+XML_CONSTASCII_ACTION( sXML_use_floating_frames, "use-floating-frames" );
+XML_CONSTASCII_ACTION( sXML_use_graphics, "use-graphics" );
+XML_CONSTASCII_ACTION( sXML_use_image_objects, "use-image-objects" );
+XML_CONSTASCII_ACTION( sXML_use_index_marks, "use-index-marks" );
+XML_CONSTASCII_ACTION( sXML_use_index_source_styles, "use-index-source-styles" );
+XML_CONSTASCII_ACTION( sXML_use_keys_as_entries, "use-keys-as-entries" );
+XML_CONSTASCII_ACTION( sXML_use_label, "use-label" );
+XML_CONSTASCII_ACTION( sXML_use_math_objects, "use-math-objects" );
+XML_CONSTASCII_ACTION( sXML_use_objects, "use-objects" );
+XML_CONSTASCII_ACTION( sXML_use_optimal_column_width, "use-optimal-column-width");
+XML_CONSTASCII_ACTION( sXML_use_optimal_row_height, "use-optimal-row-height");
+XML_CONSTASCII_ACTION( sXML_use_other_objects, "use-other-objects" );
+XML_CONSTASCII_ACTION( sXML_use_soft_page_breaks, "use-soft-page-breaks" );
+XML_CONSTASCII_ACTION( sXML_use_spreadsheet_objects, "use-spreadsheet-objects" );
+XML_CONSTASCII_ACTION( sXML_use_styles, "use-styles" );
+XML_CONSTASCII_ACTION( sXML_use_tables, "use-tables" );
+XML_CONSTASCII_ACTION( sXML_use_window_font_color, "use-window-font-color" );
+XML_CONSTASCII_ACTION( sXML_used_hierarchy, "used-hierarchy");
+XML_CONSTASCII_ACTION( sXML_user_defined, "user-defined" );
+XML_CONSTASCII_ACTION( sXML_user_field_decl, "user-field-decl" );
+XML_CONSTASCII_ACTION( sXML_user_field_decls, "user-field-decls" );
+XML_CONSTASCII_ACTION( sXML_user_field_get, "user-field-get" );
+XML_CONSTASCII_ACTION( sXML_user_field_input, "user-field-input" );
+XML_CONSTASCII_ACTION( sXML_user_index, "user-index" );
+XML_CONSTASCII_ACTION( sXML_user_index_entry_template, "user-index-entry-template" );
+XML_CONSTASCII_ACTION( sXML_user_index_mark, "user-index-mark" );
+XML_CONSTASCII_ACTION( sXML_user_index_mark_end, "user-index-mark-end" );
+XML_CONSTASCII_ACTION( sXML_user_index_mark_start, "user-index-mark-start" );
+XML_CONSTASCII_ACTION( sXML_user_index_source, "user-index-source" );
+XML_CONSTASCII_ACTION( sXML_user_transformed, "user-transformed" );
+XML_CONSTASCII_ACTION( sXML_username, "username");
+XML_CONSTASCII_ACTION( sXML_value, "value");
+XML_CONSTASCII_ACTION( sXML_value_type, "value-type");
+XML_CONSTASCII_ACTION( sXML_values_cell_range_address, "values-cell-range-address" );
+XML_CONSTASCII_ACTION( sXML_var, "var" );
+XML_CONSTASCII_ACTION( sXML_variable, "variable" );
+XML_CONSTASCII_ACTION( sXML_variable_decl, "variable-decl" );
+XML_CONSTASCII_ACTION( sXML_variable_decls, "variable-decls" );
+XML_CONSTASCII_ACTION( sXML_variable_get, "variable-get" );
+XML_CONSTASCII_ACTION( sXML_variable_input, "variable-input" );
+XML_CONSTASCII_ACTION( sXML_variable_set, "variable-set" );
+XML_CONSTASCII_ACTION( sXML_variance, "variance" );
+XML_CONSTASCII_ACTION( sXML_varp, "varp" );
+XML_CONSTASCII_ACTION( sXML_vector, "vector" );
+XML_CONSTASCII_ACTION( sXML_verb, "verb" );
+XML_CONSTASCII_ACTION( sXML_version, "version" );
+XML_CONSTASCII_ACTION( sXML_version_entry, "version-entry" );
+XML_CONSTASCII_ACTION( sXML_version_list, "version-list" );
+XML_CONSTASCII_ACTION( sXML_vertical, "vertical" );
+XML_CONSTASCII_ACTION( sXML_vertical_align, "vertical-align" );
+XML_CONSTASCII_ACTION( sXML_vertical_lines, "vertical-lines" );
+XML_CONSTASCII_ACTION( sXML_vertical_pos, "vertical-pos" );
+XML_CONSTASCII_ACTION( sXML_vertical_rel, "vertical-rel" );
+XML_CONSTASCII_ACTION( sXML_vertical_segments, "vertical-segments" );
+XML_CONSTASCII_ACTION( sXML_vertical_split_mode, "vertical-split-mode" );
+XML_CONSTASCII_ACTION( sXML_vertical_split_position, "vertical-split-position" );
+XML_CONSTASCII_ACTION( sXML_vertical_stripes, "vertical-stripes" );
+XML_CONSTASCII_ACTION( sXML_view, "view" );
+XML_CONSTASCII_ACTION( sXML_viewBox, "viewBox" );
+XML_CONSTASCII_ACTION( sXML_view_id, "view-id" );
+XML_CONSTASCII_ACTION( sXML_view_settings, "view-settings" );
+XML_CONSTASCII_ACTION( sXML_visibility, "visibility" );
+XML_CONSTASCII_ACTION( sXML_visible, "visible" );
+XML_CONSTASCII_ACTION( sXML_visible_area, "visible-area" );
+XML_CONSTASCII_ACTION( sXML_visible_area_height, "visible-area-height" );
+XML_CONSTASCII_ACTION( sXML_visible_area_left, "visible-area-left" );
+XML_CONSTASCII_ACTION( sXML_visible_area_top, "visible-area-top" );
+XML_CONSTASCII_ACTION( sXML_visible_area_width, "visible-area-width" );
+XML_CONSTASCII_ACTION( sXML_visited_style_name, "visited-style-name" );
+XML_CONSTASCII_ACTION( sXML_volatile, "volatile" );
+XML_CONSTASCII_ACTION( sXML_volume, "volume" );
+XML_CONSTASCII_ACTION( sXML_vpn, "vpn");
+XML_CONSTASCII_ACTION( sXML_vrp, "vrp");
+XML_CONSTASCII_ACTION( sXML_vup, "vup");
+XML_CONSTASCII_ACTION( sXML_wall, "wall" );
+XML_CONSTASCII_ACTION( sXML_warning, "warning" );
+XML_CONSTASCII_ACTION( sXML_watermark, "watermark" );
+XML_CONSTASCII_ACTION( sXML_wavyline_from_bottom, "wavyline-from-bottom" );
+XML_CONSTASCII_ACTION( sXML_wavyline_from_left, "wavyline-from-left" );
+XML_CONSTASCII_ACTION( sXML_wavyline_from_right, "wavyline-from-right" );
+XML_CONSTASCII_ACTION( sXML_wavyline_from_top, "wavyline-from-top" );
+XML_CONSTASCII_ACTION( sXML_week_of_year, "week-of-year" );
+XML_CONSTASCII_ACTION( sXML_weight_bold, "bold" );
+XML_CONSTASCII_ACTION( sXML_weight_normal, "normal" );
+XML_CONSTASCII_ACTION( sXML_white, "white" );
+XML_CONSTASCII_ACTION( sXML_whole_page, "whole-page" );
+XML_CONSTASCII_ACTION( sXML_widows, "widows" );
+XML_CONSTASCII_ACTION( sXML_width, "width" );
+XML_CONSTASCII_ACTION( sXML_word, "word" );
+XML_CONSTASCII_ACTION( sXML_word_count, "word-count" );
+XML_CONSTASCII_ACTION( sXML_wrap, "wrap" );
+XML_CONSTASCII_ACTION( sXML_wrap_contour, "wrap-contour" );
+XML_CONSTASCII_ACTION( sXML_wrap_contour_mode, "wrap-contour-mode" );
+XML_CONSTASCII_ACTION( sXML_wrap_option, "wrap-option" );
+XML_CONSTASCII_ACTION( sXML_writing_mode, "writing-mode" );
+XML_CONSTASCII_ACTION( sXML_www, "www" );
+XML_CONSTASCII_ACTION( sXML_x, "x" );
+XML_CONSTASCII_ACTION( sXML_x1, "x1" );
+XML_CONSTASCII_ACTION( sXML_x2, "x2" );
+XML_CONSTASCII_ACTION( sXML_x_mac_roman, "x-mac-roman" );
+XML_CONSTASCII_ACTION( sXML_x_symbol, "x-symbol" );
+XML_CONSTASCII_ACTION( sXML_x_system, "x-system" );
+XML_CONSTASCII_ACTION( sXML_xor, "xor" );
+XML_CONSTASCII_ACTION( sXML_y, "y" );
+XML_CONSTASCII_ACTION( sXML_y1, "y1" );
+XML_CONSTASCII_ACTION( sXML_y2, "y2" );
+XML_CONSTASCII_ACTION( sXML_year, "year" );
+XML_CONSTASCII_ACTION( sXML_yellow, "yellow" );
+XML_CONSTASCII_ACTION( sXML_zero_values, "zero-values" );
+XML_CONSTASCII_ACTION( sXML_zindex, "z-index" );
+XML_CONSTASCII_ACTION( sXML_zoom_type, "zoom-type" );
+XML_CONSTASCII_ACTION( sXML_zoom_value, "zoom-value" );
+
+XML_CONSTASCII_ACTION( sXML_start_shape, "start-shape");
+XML_CONSTASCII_ACTION( sXML_start_glue_point, "start-glue-point");
+XML_CONSTASCII_ACTION( sXML_end_shape, "end-shape");
+XML_CONSTASCII_ACTION( sXML_end_glue_point, "end-glue-point");
+XML_CONSTASCII_ACTION( sXML_line_number, "line-number");
+XML_CONSTASCII_ACTION( sXML_line_skew, "line-skew");
+XML_CONSTASCII_ACTION( sXML_curve, "curve" );
+XML_CONSTASCII_ACTION( sXML_start_line_spacing_horizontal, "start-line-spacing-horizontal" );
+XML_CONSTASCII_ACTION( sXML_start_line_spacing_vertical, "start-line-spacing-vertical" );
+XML_CONSTASCII_ACTION( sXML_end_line_spacing_horizontal, "end-line-spacing-horizontal" );
+XML_CONSTASCII_ACTION( sXML_end_line_spacing_vertical, "end-line-spacing-vertical" );
+XML_CONSTASCII_ACTION( sXML_line_distance, "line-distance" );
+XML_CONSTASCII_ACTION( sXML_guide_overhang, "guide-overhang" );
+XML_CONSTASCII_ACTION( sXML_guide_distance, "guide-distance" );
+XML_CONSTASCII_ACTION( sXML_start_guide, "start-guide" );
+XML_CONSTASCII_ACTION( sXML_end_guide, "end-guide" );
+
+XML_CONSTASCII_ACTION( sXML_dots1, "dots1" );
+XML_CONSTASCII_ACTION( sXML_dots1_length, "dots1-length" );
+XML_CONSTASCII_ACTION( sXML_dots2, "dots2" );
+XML_CONSTASCII_ACTION( sXML_dots2_length, "dots2-length" );
+XML_CONSTASCII_ACTION( sXML_enable_numbering, "enable-numbering" );
+
+XML_CONSTASCII_ACTION( sXML_top_left, "top-left" );
+XML_CONSTASCII_ACTION( sXML_top_right, "top-right" );
+XML_CONSTASCII_ACTION( sXML_bottom_left, "bottom-left" );
+XML_CONSTASCII_ACTION( sXML_bottom_right, "bottom-right" );
+
+XML_CONSTASCII_ACTION( sXML_fill_image_ref_point, "fill-image-ref-point" );
+XML_CONSTASCII_ACTION( sXML_fill_image_ref_point_x, "fill-image-ref-point-x" );
+XML_CONSTASCII_ACTION( sXML_fill_image_ref_point_y, "fill-image-ref-point-y" );
+
+XML_CONSTASCII_ACTION( sXML_from_right, "from-right" );
+XML_CONSTASCII_ACTION( sXML_from_bottom, "from-bottom" );
+XML_CONSTASCII_ACTION( sXML_from_center, "from-center" );
+XML_CONSTASCII_ACTION( sXML_from_upper_left, "from-upper-left" );
+XML_CONSTASCII_ACTION( sXML_from_upper_right, "from-upper-right" );
+XML_CONSTASCII_ACTION( sXML_from_lower_left, "from-lower-left" );
+XML_CONSTASCII_ACTION( sXML_from_lower_right, "from-lower-right" );
+XML_CONSTASCII_ACTION( sXML_to_left, "to-left" );
+XML_CONSTASCII_ACTION( sXML_to_top, "to-top" );
+XML_CONSTASCII_ACTION( sXML_to_right, "to-right" );
+XML_CONSTASCII_ACTION( sXML_to_bottom, "to-bottom" );
+XML_CONSTASCII_ACTION( sXML_to_upper_left, "to-upper-left" );
+XML_CONSTASCII_ACTION( sXML_to_upper_right, "to-upper-right" );
+XML_CONSTASCII_ACTION( sXML_to_lower_right, "to-lower-right" );
+XML_CONSTASCII_ACTION( sXML_to_lower_left, "to-lower-left" );
+XML_CONSTASCII_ACTION( sXML_to_center, "to-center" );
+XML_CONSTASCII_ACTION( sXML_counter_clockwise, "counter-clockwise" );
+
+XML_CONSTASCII_ACTION( sXML_fade, "fade" );
+XML_CONSTASCII_ACTION( sXML_move, "move" );
+XML_CONSTASCII_ACTION( sXML_stripes, "stripes" );
+XML_CONSTASCII_ACTION( sXML_spiral_inward_left, "spiral-inward-left" );
+XML_CONSTASCII_ACTION( sXML_spiral_inward_right, "spiral-inward-right" );
+XML_CONSTASCII_ACTION( sXML_spiral_outward_left, "spiral-outward-left" );
+XML_CONSTASCII_ACTION( sXML_spiral_outward_right, "spiral-outward-right" );
+XML_CONSTASCII_ACTION( sXML_spiral, "spiral" );
+XML_CONSTASCII_ACTION( sXML_spiral_in, "spiral-in" );
+XML_CONSTASCII_ACTION( sXML_spiral_out, "spiral-out" );
+XML_CONSTASCII_ACTION( sXML_wavyline, "wavyline" );
+XML_CONSTASCII_ACTION( sXML_laser, "laser" );
+XML_CONSTASCII_ACTION( sXML_appear, "appear" );
+XML_CONSTASCII_ACTION( sXML_hide, "hide" );
+XML_CONSTASCII_ACTION( sXML_move_short, "move-short" );
+XML_CONSTASCII_ACTION( sXML_checkerboard, "checkerboard" );
+XML_CONSTASCII_ACTION( sXML_stretch, "stretch" );
+
+XML_CONSTASCII_ACTION( sXML_shape_id, "shape-id" );
+XML_CONSTASCII_ACTION( sXML_effect, "effect" );
+XML_CONSTASCII_ACTION( sXML_speed, "speed" );
+XML_CONSTASCII_ACTION( sXML_start_scale, "start-scale" );
+XML_CONSTASCII_ACTION( sXML_show_shape, "show-shape" );
+XML_CONSTASCII_ACTION( sXML_show_text, "show-text" );
+XML_CONSTASCII_ACTION( sXML_hide_shape, "hide-shape" );
+XML_CONSTASCII_ACTION( sXML_hide_text, "hide-text" );
+XML_CONSTASCII_ACTION( sXML_dim, "dim" );
+XML_CONSTASCII_ACTION( sXML_sound, "sound" );
+XML_CONSTASCII_ACTION( sXML_play_full, "play-full" );
+XML_CONSTASCII_ACTION( sXML_path_id, "path-id" );
+
+XML_CONSTASCII_ACTION( sXML_animations, "animations" );
+
+XML_CONSTASCII_ACTION( sXML_kind, "kind" );
+XML_CONSTASCII_ACTION( sXML_start_angle, "start-angle" );
+XML_CONSTASCII_ACTION( sXML_cut, "cut" );
+XML_CONSTASCII_ACTION( sXML_arc, "arc" );
+
+XML_CONSTASCII_ACTION( sXML_upright, "upright" );
+XML_CONSTASCII_ACTION( sXML_slant_x, "slant-x" );
+XML_CONSTASCII_ACTION( sXML_slant_y, "slant-y" );
+XML_CONSTASCII_ACTION( sXML_autosize, "autosize" );
+XML_CONSTASCII_ACTION( sXML_slant, "slant" );
+XML_CONSTASCII_ACTION( sXML_topcircle, "top-circle" );
+XML_CONSTASCII_ACTION( sXML_bottomcircle, "bottom-circle" );
+XML_CONSTASCII_ACTION( sXML_leftcircle, "left-circle" );
+XML_CONSTASCII_ACTION( sXML_rightcircle, "right-circle" );
+XML_CONSTASCII_ACTION( sXML_toparc, "top-arc" );
+XML_CONSTASCII_ACTION( sXML_bottomarc, "bottom-arc" );
+XML_CONSTASCII_ACTION( sXML_leftarc, "left-arc" );
+XML_CONSTASCII_ACTION( sXML_rightarc, "right-arc" );
+XML_CONSTASCII_ACTION( sXML_button1, "button1" );
+XML_CONSTASCII_ACTION( sXML_button2, "button2" );
+XML_CONSTASCII_ACTION( sXML_button3, "button3" );
+XML_CONSTASCII_ACTION( sXML_button4, "button4" );
+
+XML_CONSTASCII_ACTION( sXML_caption_type, "caption-type" );
+XML_CONSTASCII_ACTION( sXML_caption_angle_type, "caption-angle-type" );
+XML_CONSTASCII_ACTION( sXML_caption_angle, "caption-angle" );
+XML_CONSTASCII_ACTION( sXML_caption_gap, "caption-gap" );
+XML_CONSTASCII_ACTION( sXML_caption_escape_direction, "caption-escape-direction" );
+XML_CONSTASCII_ACTION( sXML_caption_escape, "caption-escape" );
+XML_CONSTASCII_ACTION( sXML_caption_line_length, "caption-line-length" );
+XML_CONSTASCII_ACTION( sXML_caption_fit_line_length, "caption-fit-line-length" );
+XML_CONSTASCII_ACTION( sXML_free, "free" );
+
+XML_CONSTASCII_ACTION( sXML_straight_line, "straight-line" );
+XML_CONSTASCII_ACTION( sXML_angled_line, "angled-line" );
+XML_CONSTASCII_ACTION( sXML_angled_connector_line, "angled-connector-line" );
+
+XML_CONSTASCII_ACTION( sXML_data_source_has_labels, "data-source-has-labels" );
+
+XML_CONSTASCII_ACTION( sXML_play, "play" );
+XML_CONSTASCII_ACTION( sXML_handout_master, "handout-master" );
+
+XML_CONSTASCII_ACTION( sXML_escape_direction, "escape-direction" );
+XML_CONSTASCII_ACTION( sXML_glue_point, "glue-point" );
+
+XML_CONSTASCII_ACTION( sXML_text_style_name, "text-style-name" );
+
+XML_CONSTASCII_ACTION( sXML_sort_algorithm, "sort-algorithm" );
+XML_CONSTASCII_ACTION( sXML_roll_from_top, "roll-from-top" );
+
+XML_CONSTASCII_ACTION( sXML_script_data, "script-data" );
+XML_CONSTASCII_ACTION( sXML_libraries, "libraries" );
+XML_CONSTASCII_ACTION( sXML_source_code, "source-code" );
+XML_CONSTASCII_ACTION( sXML_readonly, "readonly" );
+
+XML_CONSTASCII_ACTION( sXML_page_continuation, "page-continuation" );
+
+XML_CONSTASCII_ACTION( sXML_contains, "contains" );
+XML_CONSTASCII_ACTION( sXML_does_not_contain, "does-not-contain" );
+XML_CONSTASCII_ACTION( sXML_begins_with, "begins-with" );
+XML_CONSTASCII_ACTION( sXML_does_not_begin_with, "does-not-begin-with" );
+XML_CONSTASCII_ACTION( sXML_ends_with, "ends-with" );
+XML_CONSTASCII_ACTION( sXML_does_not_end_with, "does-not-end-with" );
+
+#endif
diff --git a/xmloff/inc/xmlnmspe.hxx b/xmloff/inc/xmloff/xmlnmspe.hxx
index 1451cdeb57..1451cdeb57 100644
--- a/xmloff/inc/xmlnmspe.hxx
+++ b/xmloff/inc/xmloff/xmlnmspe.hxx
diff --git a/xmloff/inc/xmlreg.hxx b/xmloff/inc/xmloff/xmlreg.hxx
index f4ee189fa9..f4ee189fa9 100644
--- a/xmloff/inc/xmlreg.hxx
+++ b/xmloff/inc/xmloff/xmlreg.hxx
diff --git a/xmloff/inc/xmltabe.hxx b/xmloff/inc/xmloff/xmltabe.hxx
index febc4a24cb..febc4a24cb 100644
--- a/xmloff/inc/xmltabe.hxx
+++ b/xmloff/inc/xmloff/xmltabe.hxx
diff --git a/xmloff/inc/xmloff/xmltoken.hxx b/xmloff/inc/xmloff/xmltoken.hxx
index 5fd38a440a..4a3951e2cc 100644
--- a/xmloff/inc/xmloff/xmltoken.hxx
+++ b/xmloff/inc/xmloff/xmltoken.hxx
@@ -3113,6 +3113,9 @@ namespace xmloff { namespace token {
XML_OUTSIDE_MINIMUM,//#i114142#
XML_OUTSIDE_MAXIMUM,//#i114142#
+ XML_MIN_VALUE,
+ XML_MAX_VALUE,
+
XML_TOKEN_END
};
diff --git a/xmloff/inc/xmlversion.hxx b/xmloff/inc/xmlversion.hxx
index dd1edfa5d5..b2c8d2c577 100644
--- a/xmloff/inc/xmlversion.hxx
+++ b/xmloff/inc/xmlversion.hxx
@@ -37,7 +37,7 @@
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltoken.hxx>
// ------------------------------------------------------------------------
diff --git a/xmloff/prj/build.lst b/xmloff/prj/build.lst
index 7b68ed08ff..d075f1fc6f 100644
--- a/xmloff/prj/build.lst
+++ b/xmloff/prj/build.lst
@@ -1,17 +1,5 @@
-xo xmloff : offapi svl vos NULL
-xo xmloff usr1 - all xo_mkout NULL
-xo xmloff\prj get - all xo_prj NULL
-xo xmloff\inc nmake - all xo_inc NULL
-xo xmloff\source\core nmake - all xo_core xo_inc NULL
-xo xmloff\source\meta nmake - all xo_meta xo_inc NULL
-xo xmloff\source\style nmake - all xo_style xo_inc NULL
-xo xmloff\source\text nmake - all xo_text xo_inc NULL
-xo xmloff\source\draw nmake - all xo_draw xo_inc NULL
-xo xmloff\source\chart nmake - all xo_chart xo_inc NULL
-xo xmloff\source\forms nmake - all xo_forms xo_inc NULL
-xo xmloff\source\script nmake - all xo_script xo_inc NULL
-xo xmloff\source\transform nmake - all xo_transform xo_util xo_inc NULL
-xo xmloff\source\xforms nmake - all xo_xforms xo_inc NULL
-xo xmloff\source\table nmake - all xo_table xo_inc NULL
-xo xmloff\util nmake - all xo_util xo_chart xo_core xo_draw xo_forms xo_meta xo_script xo_style xo_text xo_xforms xo_table NULL
+xo xmloff : LIBXSLT:libxslt offapi svl vos NULL
+zxo xmloff\prj nmake - all xo_prj NULL
+
xo xmloff\qa\unoapi nmake - all xo_qa_unoapi NULL
+
diff --git a/xmloff/prj/d.lst b/xmloff/prj/d.lst
index 9bbfe05f3a..e69de29bb2 100644
--- a/xmloff/prj/d.lst
+++ b/xmloff/prj/d.lst
@@ -1,120 +0,0 @@
-mkdir: %_DEST%\inc%_EXT%\xmloff
-
-..\%__SRC%\misc\*.map %_DEST%\bin%_EXT%\*.map
-..\%__SRC%\lib\ixo.lib %_DEST%\lib%_EXT%\ixo.lib
-..\%__SRC%\lib\xol.lib %_DEST%\lib%_EXT%\xol.lib
-..\%__SRC%\lib\libxol.a %_DEST%\lib%_EXT%\libxol.a
-..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*.dll
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-
-..\dtd\* %_DEST%\bin%_EXT%
-
-..\inc\xmloff\odffields.hxx %_DEST%\inc%_EXT%\xmloff\odffields.hxx
-..\inc\xmloff\dllapi.h %_DEST%\inc%_EXT%\xmloff\dllapi.h
-..\inc\xmloff\attrlist.hxx %_DEST%\inc%_EXT%\xmloff\attrlist.hxx
-..\inc\i18nmap.hxx %_DEST%\inc%_EXT%\xmloff\i18nmap.hxx
-..\inc\xmloff\nmspmap.hxx %_DEST%\inc%_EXT%\xmloff\nmspmap.hxx
-..\inc\unoatrcn.hxx %_DEST%\inc%_EXT%\xmloff\unoatrcn.hxx
-..\inc\xmloff\xmlcnimp.hxx %_DEST%\inc%_EXT%\xmloff\xmlcnimp.hxx
-..\inc\xmlcnitm.hxx %_DEST%\inc%_EXT%\xmloff\xmlcnitm.hxx
-..\inc\xmloff\xmlement.hxx %_DEST%\inc%_EXT%\xmloff\xmlement.hxx
-..\inc\xmloff\xmlictxt.hxx %_DEST%\inc%_EXT%\xmloff\xmlictxt.hxx
-..\inc\xmloff\xmlimp.hxx %_DEST%\inc%_EXT%\xmloff\xmlimp.hxx
-..\inc\xmloff\xmlmetae.hxx %_DEST%\inc%_EXT%\xmloff\xmlmetae.hxx
-..\inc\xmloff\xmlmetai.hxx %_DEST%\inc%_EXT%\xmloff\xmlmetai.hxx
-..\inc\xmloff\xmlscripti.hxx %_DEST%\inc%_EXT%\xmloff\xmlscripti.hxx
-..\inc\xmloff\xmlstyle.hxx %_DEST%\inc%_EXT%\xmloff\xmlstyle.hxx
-..\inc\xmloff\xmltkmap.hxx %_DEST%\inc%_EXT%\xmloff\xmltkmap.hxx
-..\inc\xmloff\xmluconv.hxx %_DEST%\inc%_EXT%\xmloff\xmluconv.hxx
-..\inc\xmlnmspe.hxx %_DEST%\inc%_EXT%\xmloff\xmlnmspe.hxx
-..\inc\xmloff\xmlnumfi.hxx %_DEST%\inc%_EXT%\xmloff\xmlnumfi.hxx
-..\inc\xmloff\xmlnumfe.hxx %_DEST%\inc%_EXT%\xmloff\xmlnumfe.hxx
-..\inc\xmloff\xmlexp.hxx %_DEST%\inc%_EXT%\xmloff\xmlexp.hxx
-..\inc\xmlreg.hxx %_DEST%\inc%_EXT%\xmloff\xmlreg.hxx
-..\inc\xmloff\xmlnumi.hxx %_DEST%\inc%_EXT%\xmloff\xmlnumi.hxx
-..\inc\xmloff\xmlnume.hxx %_DEST%\inc%_EXT%\xmloff\xmlnume.hxx
-..\inc\xmltabe.hxx %_DEST%\inc%_EXT%\xmloff\xmltabe.hxx
-..\inc\xmloff\maptype.hxx %_DEST%\inc%_EXT%\xmloff\maptype.hxx
-..\inc\xmloff\uniref.hxx %_DEST%\inc%_EXT%\xmloff\uniref.hxx
-..\inc\xmloff\xmlaustp.hxx %_DEST%\inc%_EXT%\xmloff\xmlaustp.hxx
-..\inc\xmloff\xmlexppr.hxx %_DEST%\inc%_EXT%\xmloff\xmlexppr.hxx
-..\inc\xmloff\xmlimppr.hxx %_DEST%\inc%_EXT%\xmloff\xmlimppr.hxx
-..\inc\xmloff\xmlprcon.hxx %_DEST%\inc%_EXT%\xmloff\xmlprcon.hxx
-..\inc\xmloff\xmlprhdl.hxx %_DEST%\inc%_EXT%\xmloff\xmlprhdl.hxx
-..\inc\xmloff\xmlprmap.hxx %_DEST%\inc%_EXT%\xmloff\xmlprmap.hxx
-..\inc\xmloff\xmltypes.hxx %_DEST%\inc%_EXT%\xmloff\xmltypes.hxx
-..\inc\xmloff\families.hxx %_DEST%\inc%_EXT%\xmloff\families.hxx
-..\inc\xmloff\styleexp.hxx %_DEST%\inc%_EXT%\xmloff\styleexp.hxx
-..\inc\xmloff\txtstyle.hxx %_DEST%\inc%_EXT%\xmloff\txtstyle.hxx
-..\inc\xmloff\prstylei.hxx %_DEST%\inc%_EXT%\xmloff\prstylei.hxx
-..\inc\xmloff\txtstyli.hxx %_DEST%\inc%_EXT%\xmloff\txtstyli.hxx
-..\inc\xmloff\txtprmap.hxx %_DEST%\inc%_EXT%\xmloff\txtprmap.hxx
-..\inc\xmloff\txtparae.hxx %_DEST%\inc%_EXT%\xmloff\txtparae.hxx
-..\inc\xmloff\txtimp.hxx %_DEST%\inc%_EXT%\xmloff\txtimp.hxx
-..\inc\xmloff\prhdlfac.hxx %_DEST%\inc%_EXT%\xmloff\prhdlfac.hxx
-..\inc\xmloff\EnumPropertyHdl.hxx %_DEST%\inc%_EXT%\xmloff\EnumPropertyHdl.hxx
-..\inc\xmloff\NamedBoolPropertyHdl.hxx %_DEST%\inc%_EXT%\xmloff\NamedBoolPropertyHdl.hxx
-..\inc\numehelp.hxx %_DEST%\inc%_EXT%\xmloff\numehelp.hxx
-..\inc\XMLTextListAutoStylePool.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextListAutoStylePool.hxx
-..\inc\xmloff\shapeexport.hxx %_DEST%\inc%_EXT%\xmloff\shapeexport.hxx
-..\inc\xmloff\shapeimport.hxx %_DEST%\inc%_EXT%\xmloff\shapeimport.hxx
-..\inc\xmloff\SchXMLExportHelper.hxx %_DEST%\inc%_EXT%\xmloff\SchXMLExportHelper.hxx
-..\inc\xmloff\SchXMLImportHelper.hxx %_DEST%\inc%_EXT%\xmloff\SchXMLImportHelper.hxx
-..\inc\functional.hxx %_DEST%\inc%_EXT%\xmloff\functional.hxx
-..\inc\xmloff\XMLPageExport.hxx %_DEST%\inc%_EXT%\xmloff\XMLPageExport.hxx
-..\inc\xmloff\PageMasterStyleMap.hxx %_DEST%\inc%_EXT%\xmloff\PageMasterStyleMap.hxx
-..\inc\xmloff\XMLTextMasterPageExport.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextMasterPageExport.hxx
-..\inc\xmloff\XMLTextMasterStylesContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextMasterStylesContext.hxx
-..\inc\xmloff\XMLTextMasterPageContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextMasterPageContext.hxx
-..\inc\xmloff\XMLTextTableContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextTableContext.hxx
-..\source\text\XMLTextShapeImportHelper.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextShapeImportHelper.hxx
-..\inc\xmloff\XMLShapeStyleContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLShapeStyleContext.hxx
-..\inc\xmloff\XMLTextShapeStyleContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLTextShapeStyleContext.hxx
-..\inc\xmloff\XMLFontAutoStylePool.hxx %_DEST%\inc%_EXT%\xmloff\XMLFontAutoStylePool.hxx
-..\inc\xmloff\XMLFontStylesContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLFontStylesContext.hxx
-..\inc\xmloff\ProgressBarHelper.hxx %_DEST%\inc%_EXT%\xmloff\ProgressBarHelper.hxx
-..\inc\xmloff\formlayerexport.hxx %_DEST%\inc%_EXT%\xmloff\formlayerexport.hxx
-..\inc\xmloff\formlayerimport.hxx %_DEST%\inc%_EXT%\xmloff\formlayerimport.hxx
-..\inc\xmloff\animexp.hxx %_DEST%\inc%_EXT%\xmloff\animexp.hxx
-..\inc\xmloff\contextid.hxx %_DEST%\inc%_EXT%\xmloff\contextid.hxx
-..\inc\xmloff\formsimp.hxx %_DEST%\inc%_EXT%\xmloff\formsimp.hxx
-..\inc\VisAreaExport.hxx %_DEST%\inc%_EXT%\xmloff\VisAreaExport.hxx
-..\inc\VisAreaContext.hxx %_DEST%\inc%_EXT%\xmloff\VisAreaContext.hxx
-..\inc\DashStyle.hxx %_DEST%\inc%_EXT%\xmloff\DashStyle.hxx
-..\inc\GradientStyle.hxx %_DEST%\inc%_EXT%\xmloff\GradientStyle.hxx
-..\inc\MarkerStyle.hxx %_DEST%\inc%_EXT%\xmloff\MarkerStyle.hxx
-..\inc\HatchStyle.hxx %_DEST%\inc%_EXT%\xmloff\HatchStyle.hxx
-..\inc\ImageStyle.hxx %_DEST%\inc%_EXT%\xmloff\ImageStyle.hxx
-..\inc\xmloff\SettingsExportHelper.hxx %_DEST%\inc%_EXT%\xmloff\SettingsExportHelper.hxx
-..\inc\xmloff\XMLSettingsExportContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLSettingsExportContext.hxx
-..\inc\xmloff\DocumentSettingsContext.hxx %_DEST%\inc%_EXT%\xmloff\DocumentSettingsContext.hxx
-..\inc\xmloff\XMLGraphicsDefaultStyle.hxx %_DEST%\inc%_EXT%\xmloff\XMLGraphicsDefaultStyle.hxx
-..\inc\XMLEmbeddedObjectExportFilter.hxx %_DEST%\inc%_EXT%\xmloff\XMLEmbeddedObjectExportFilter.hxx
-..\inc\XMLFilterServiceNames.h %_DEST%\inc%_EXT%\xmloff\XMLFilterServiceNames.h
-..\inc\xmloff\XMLBase64ImportContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLBase64ImportContext.hxx
-..\inc\xmloff\xmltoken.hxx %_DEST%\inc%_EXT%\xmloff\xmltoken.hxx
-..\inc\xmloff\XMLEventExport.hxx %_DEST%\inc%_EXT%\xmloff\XMLEventExport.hxx
-..\inc\xmloff\xmlevent.hxx %_DEST%\inc%_EXT%\xmloff\xmlevent.hxx
-..\inc\xmloff\XMLEventsImportContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLEventsImportContext.hxx
-..\inc\xmlerror.hxx %_DEST%\inc%_EXT%\xmloff\xmlerror.hxx
-..\inc\xmloff\SinglePropertySetInfoCache.hxx %_DEST%\inc%_EXT%\xmloff\SinglePropertySetInfoCache.hxx
-..\inc\xmloff\PropertySetInfoHash.hxx %_DEST%\inc%_EXT%\xmloff\PropertySetInfoHash.hxx
-..\inc\xmloff\PropertySetInfoKey.hxx %_DEST%\inc%_EXT%\xmloff\PropertySetInfoKey.hxx
-..\inc\xformsimport.hxx %_DEST%\inc%_EXT%\xmloff\xformsimport.hxx
-..\inc\xformsexport.hxx %_DEST%\inc%_EXT%\xmloff\xformsexport.hxx
-..\inc\xmloff\controlpropertyhdl.hxx %_DEST%\inc%_EXT%\xmloff\controlpropertyhdl.hxx
-..\inc\xmloff\ControlBorderHandler.hxx %_DEST%\inc%_EXT%\xmloff\ControlBorderHandler.hxx
-..\inc\xmloff\XMLConstantsPropertyHandler.hxx %_DEST%\inc%_EXT%\xmloff\XMLConstantsPropertyHandler.hxx
-..\inc\xmloff\XMLStringVector.hxx %_DEST%\inc%_EXT%\xmloff\XMLStringVector.hxx
-..\inc\txtimppr.hxx %_DEST%\inc%_EXT%\xmloff\txtimppr.hxx
-..\inc\xmloff\XMLCharContext.hxx %_DEST%\inc%_EXT%\xmloff\XMLCharContext.hxx
-..\xml\components.xml %_DEST%\xml%_EXT%\components.xml
-
-mkdir: %_DEST%\inc%_EXT%\xmloff\table
-..\inc\xmloff\table\XMLTableExport.hxx %_DEST%\inc%_EXT%\xmloff\table\XMLTableExport.hxx
-..\inc\xmloff\table\XMLTableImport.hxx %_DEST%\inc%_EXT%\xmloff\table\XMLTableImport.hxx
-
-..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
-..\%__SRC%\misc\xo.component %_DEST%\xml%_EXT%\xo.component
-..\%__SRC%\misc\xof.component %_DEST%\xml%_EXT%\xof.component
diff --git a/sfx2/source/inet/makefile.mk b/xmloff/prj/makefile.mk
index 9347e68a2c..c73a3d944b 100644
--- a/sfx2/source/inet/makefile.mk
+++ b/xmloff/prj/makefile.mk
@@ -25,24 +25,16 @@
#
#*************************************************************************
-PRJ=..$/..
+PRJ=..
+TARGET=prj
-PRJNAME=sfx2
-TARGET=inet
-ENABLE_EXCEPTIONS=TRUE
+.INCLUDE : settings.mk
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-
-SLOFILES = \
- $(SLO)$/inettbc.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+all:
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET)
diff --git a/xmloff/source/chart/PropertyMap.hxx b/xmloff/source/chart/PropertyMap.hxx
index 373a8dacca..38d0196102 100644
--- a/xmloff/source/chart/PropertyMap.hxx
+++ b/xmloff/source/chart/PropertyMap.hxx
@@ -28,7 +28,7 @@
#define _PROPERTYMAP_HXX_
#include <xmloff/maptype.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmltypes.hxx>
#include <xmloff/contextid.hxx>
diff --git a/xmloff/source/chart/SchXMLCalculationSettingsContext.cxx b/xmloff/source/chart/SchXMLCalculationSettingsContext.cxx
index d739b38fcb..21d76877ab 100755
--- a/xmloff/source/chart/SchXMLCalculationSettingsContext.cxx
+++ b/xmloff/source/chart/SchXMLCalculationSettingsContext.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/util/DateTime.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/chart/SchXMLChartContext.cxx b/xmloff/source/chart/SchXMLChartContext.cxx
index 46facc2849..b999b17197 100644
--- a/xmloff/source/chart/SchXMLChartContext.cxx
+++ b/xmloff/source/chart/SchXMLChartContext.cxx
@@ -40,7 +40,7 @@
#include <tools/debug.hxx>
// header for class ByteString
#include <tools/string.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlement.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index 7533422300..3257de7643 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -42,7 +42,7 @@
#include <sot/clsids.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/families.hxx>
#include <xmloff/xmlaustp.hxx>
diff --git a/xmloff/source/chart/SchXMLImport.cxx b/xmloff/source/chart/SchXMLImport.cxx
index 0dd09859cb..97c142c7bc 100644
--- a/xmloff/source/chart/SchXMLImport.cxx
+++ b/xmloff/source/chart/SchXMLImport.cxx
@@ -39,7 +39,7 @@
// header for class ByteString
#include <tools/string.hxx>
#include <comphelper/processfactory.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLParagraphContext.cxx b/xmloff/source/chart/SchXMLParagraphContext.cxx
index 3bf9f8669d..0cc14790e5 100644
--- a/xmloff/source/chart/SchXMLParagraphContext.cxx
+++ b/xmloff/source/chart/SchXMLParagraphContext.cxx
@@ -31,7 +31,7 @@
#include "SchXMLImport.hxx"
#include "SchXMLParagraphContext.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLPlotAreaContext.cxx b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
index 69d8eced61..6625c9defe 100644
--- a/xmloff/source/chart/SchXMLPlotAreaContext.cxx
+++ b/xmloff/source/chart/SchXMLPlotAreaContext.cxx
@@ -38,7 +38,7 @@
#endif
#include <comphelper/processfactory.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlement.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLSeries2Context.cxx b/xmloff/source/chart/SchXMLSeries2Context.cxx
index 9779e2e8c3..232982e9af 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.cxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.cxx
@@ -52,7 +52,7 @@
// header for define DBG_ERROR1
#include <tools/debug.hxx>
#include <rtl/ustrbuf.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#ifndef _XMLOFF_NMSPMAP_HX
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLTableContext.cxx b/xmloff/source/chart/SchXMLTableContext.cxx
index a69159beb1..95eab6e024 100644
--- a/xmloff/source/chart/SchXMLTableContext.cxx
+++ b/xmloff/source/chart/SchXMLTableContext.cxx
@@ -37,7 +37,7 @@
#include "XMLStringBufferImportContext.hxx"
#include <tools/debug.hxx>
#include <rtl/math.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
@@ -704,6 +704,7 @@ private:
public:
SchXMLRangeSomewhereContext( SvXMLImport& rImport,
+ USHORT nPrefix,
const ::rtl::OUString& rLocalName,
::rtl::OUString& rRangeString );
virtual ~SchXMLRangeSomewhereContext();
@@ -818,7 +819,7 @@ SvXMLImportContext* SchXMLTableCellContext::CreateChildContext(
{
//#i113950# previously the range was exported to attribute text:id, but that attribute does not allow arbitrary strings anymore
//so we need to find an alternative to save that range info for copy/paste scenario ... -> use description at an empty group element for now
- pContext = new SchXMLRangeSomewhereContext( GetImport(), rLocalName, maRangeId );
+ pContext = new SchXMLRangeSomewhereContext( GetImport(), nPrefix, rLocalName, maRangeId );
}
else
{
@@ -1188,9 +1189,10 @@ void SchXMLTableHelper::switchRangesFromOuterToInternalIfNecessary(
//---------------------------------------------------------------------------------------------------
SchXMLRangeSomewhereContext::SchXMLRangeSomewhereContext( SvXMLImport& rImport,
+ USHORT nPrefix,
const OUString& rLocalName,
OUString& rRangeString ) :
- SvXMLImportContext( rImport, XML_NAMESPACE_TEXT, rLocalName ),
+ SvXMLImportContext( rImport, nPrefix, rLocalName ),
mrRangeString( rRangeString )
{
}
diff --git a/xmloff/source/chart/SchXMLTextListContext.cxx b/xmloff/source/chart/SchXMLTextListContext.cxx
index 082a63ad12..c5a63e8f77 100755
--- a/xmloff/source/chart/SchXMLTextListContext.cxx
+++ b/xmloff/source/chart/SchXMLTextListContext.cxx
@@ -32,7 +32,7 @@
#include "SchXMLTextListContext.hxx"
#include "SchXMLParagraphContext.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/SchXMLTools.cxx b/xmloff/source/chart/SchXMLTools.cxx
index d56ddbec68..f3e71a0579 100644
--- a/xmloff/source/chart/SchXMLTools.cxx
+++ b/xmloff/source/chart/SchXMLTools.cxx
@@ -49,7 +49,7 @@
// header for class XMLPropertySetMapper
#include <xmloff/xmlprmap.hxx>
#include <xmloff/xmlexp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlmetai.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
diff --git a/xmloff/source/chart/XMLChartStyleContext.cxx b/xmloff/source/chart/XMLChartStyleContext.cxx
index c8828d76ca..69133d8894 100644
--- a/xmloff/source/chart/XMLChartStyleContext.cxx
+++ b/xmloff/source/chart/XMLChartStyleContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "XMLChartStyleContext.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlnumfi.hxx>
#include <xmloff/families.hxx>
diff --git a/xmloff/source/chart/XMLLabelSeparatorContext.cxx b/xmloff/source/chart/XMLLabelSeparatorContext.cxx
index 8df46098e6..075be64096 100644
--- a/xmloff/source/chart/XMLLabelSeparatorContext.cxx
+++ b/xmloff/source/chart/XMLLabelSeparatorContext.cxx
@@ -32,7 +32,7 @@
#include "SchXMLParagraphContext.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/chart/XMLSymbolImageContext.cxx b/xmloff/source/chart/XMLSymbolImageContext.cxx
index 984786d855..aac47da7e9 100644
--- a/xmloff/source/chart/XMLSymbolImageContext.cxx
+++ b/xmloff/source/chart/XMLSymbolImageContext.cxx
@@ -30,7 +30,7 @@
#include "XMLSymbolImageContext.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/XMLBase64ImportContext.hxx>
diff --git a/xmloff/source/chart/contexts.cxx b/xmloff/source/chart/contexts.cxx
index ba9e88594f..c5ca1e5186 100644
--- a/xmloff/source/chart/contexts.cxx
+++ b/xmloff/source/chart/contexts.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <tools/debug.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlmetai.hxx>
#include <xmloff/xmlstyle.hxx>
#include "SchXMLImport.hxx"
diff --git a/xmloff/source/chart/makefile.mk b/xmloff/source/chart/makefile.mk
deleted file mode 100644
index d523b51b00..0000000000
--- a/xmloff/source/chart/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 = xmloff
-TARGET = chart
-AUTOSEG = true
-ENABLE_EXCEPTIONS = sal_True
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = $(SLO)$/ColorPropertySet.obj \
- $(SLO)$/SchXMLTools.obj \
- $(SLO)$/SchXMLExport.obj \
- $(SLO)$/SchXMLImport.obj \
- $(SLO)$/contexts.obj \
- $(SLO)$/SchXMLTableContext.obj \
- $(SLO)$/SchXMLChartContext.obj \
- $(SLO)$/SchXMLPlotAreaContext.obj \
- $(SLO)$/SchXMLParagraphContext.obj \
- $(SLO)$/SchXMLTextListContext.obj \
- $(SLO)$/SchXMLSeriesHelper.obj \
- $(SLO)$/SchXMLSeries2Context.obj \
- $(SLO)$/PropertyMaps.obj \
- $(SLO)$/XMLChartStyleContext.obj \
- $(SLO)$/XMLErrorIndicatorPropertyHdl.obj \
- $(SLO)$/XMLErrorBarStylePropertyHdl.obj \
- $(SLO)$/SchXMLAutoStylePoolP.obj \
- $(SLO)$/XMLChartPropertyContext.obj \
- $(SLO)$/XMLSymbolImageContext.obj \
- $(SLO)$/XMLLabelSeparatorContext.obj \
- $(SLO)$/XMLTextOrientationHdl.obj \
- $(SLO)$/XMLSymbolTypePropertyHdl.obj \
- $(SLO)$/XMLAxisPositionPropertyHdl.obj \
- $(SLO)$/SchXMLCalculationSettingsContext.obj \
- $(SLO)$/transporttypes.obj
-
-# --- Targets --------------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/xmloff/source/core/DocumentSettingsContext.cxx b/xmloff/source/core/DocumentSettingsContext.cxx
index 6cbd3600b6..f4c18cf5aa 100644
--- a/xmloff/source/core/DocumentSettingsContext.cxx
+++ b/xmloff/source/core/DocumentSettingsContext.cxx
@@ -33,7 +33,7 @@
#include <xmloff/DocumentSettingsContext.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/core/DomBuilderContext.cxx b/xmloff/source/core/DomBuilderContext.cxx
index 965001c85f..9d1fd924fa 100644
--- a/xmloff/source/core/DomBuilderContext.cxx
+++ b/xmloff/source/core/DomBuilderContext.cxx
@@ -32,7 +32,7 @@
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/Reference.hxx>
diff --git a/xmloff/source/core/DomExport.cxx b/xmloff/source/core/DomExport.cxx
index 7872be43fb..bf9008209c 100644
--- a/xmloff/source/core/DomExport.cxx
+++ b/xmloff/source/core/DomExport.cxx
@@ -32,7 +32,7 @@
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlexp.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/Reference.hxx>
diff --git a/xmloff/source/core/RDFaExportHelper.cxx b/xmloff/source/core/RDFaExportHelper.cxx
index f0e8b1dac0..f6841db6ed 100644
--- a/xmloff/source/core/RDFaExportHelper.cxx
+++ b/xmloff/source/core/RDFaExportHelper.cxx
@@ -29,7 +29,7 @@
#include "RDFaExportHelper.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/core/SettingsExportHelper.cxx b/xmloff/source/core/SettingsExportHelper.cxx
index 1353d4697e..cf31896491 100644
--- a/xmloff/source/core/SettingsExportHelper.cxx
+++ b/xmloff/source/core/SettingsExportHelper.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include <xmloff/SettingsExportHelper.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/core/XMLBase64Export.cxx b/xmloff/source/core/XMLBase64Export.cxx
index 60d2bfaa7f..525350b294 100644
--- a/xmloff/source/core/XMLBase64Export.cxx
+++ b/xmloff/source/core/XMLBase64Export.cxx
@@ -31,7 +31,7 @@
#include <com/sun/star/io/XInputStream.hpp>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlexp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "XMLBase64Export.hxx"
using namespace ::com::sun::star::uno;
diff --git a/xmloff/source/core/XMLEmbeddedObjectExportFilter.cxx b/xmloff/source/core/XMLEmbeddedObjectExportFilter.cxx
index f8526806fb..5ca4a465d8 100644
--- a/xmloff/source/core/XMLEmbeddedObjectExportFilter.cxx
+++ b/xmloff/source/core/XMLEmbeddedObjectExportFilter.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "XMLEmbeddedObjectExportFilter.hxx"
+#include "xmloff/XMLEmbeddedObjectExportFilter.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx b/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx
index d4d8ac78d7..39156cef1c 100644
--- a/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx
+++ b/xmloff/source/core/XMLEmbeddedObjectImportContext.cxx
@@ -42,11 +42,11 @@
#include <sot/clsids.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/attrlist.hxx>
-#include "XMLFilterServiceNames.h"
+#include "xmloff/XMLFilterServiceNames.h"
#include "XMLEmbeddedObjectImportContext.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/core/facreg.cxx b/xmloff/source/core/facreg.cxx
index 826379026e..8936bd2694 100644
--- a/xmloff/source/core/facreg.cxx
+++ b/xmloff/source/core/facreg.cxx
@@ -40,7 +40,7 @@
#include <cppuhelper/factory.hxx>
#include <uno/lbnames.h>
-#include "xmlreg.hxx"
+#include "xmloff/xmlreg.hxx"
using namespace rtl;
using namespace com::sun::star;
diff --git a/xmloff/source/core/i18nmap.cxx b/xmloff/source/core/i18nmap.cxx
index b2dad92534..f7d393c1cc 100644
--- a/xmloff/source/core/i18nmap.cxx
+++ b/xmloff/source/core/i18nmap.cxx
@@ -30,7 +30,7 @@
#include <rtl/ustring.hxx>
#include <tools/debug.hxx>
#include <svl/svarray.hxx>
-#include "i18nmap.hxx"
+#include "xmloff/i18nmap.hxx"
using namespace rtl;
diff --git a/xmloff/source/core/makefile.mk b/xmloff/source/core/makefile.mk
deleted file mode 100644
index 4d663d3218..0000000000
--- a/xmloff/source/core/makefile.mk
+++ /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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-
-PRJNAME=xmloff
-TARGET=core
-AUTOSEG=true
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/unointerfacetouniqueidentifiermapper.obj \
- $(SLO)$/facreg.obj \
- $(SLO)$/xmlcnitm.obj \
- $(SLO)$/attrlist.obj \
- $(SLO)$/i18nmap.obj \
- $(SLO)$/nmspmap.obj \
- $(SLO)$/unoatrcn.obj \
- $(SLO)$/xmlehelp.obj \
- $(SLO)$/xmlerror.obj \
- $(SLO)$/xmlexp.obj \
- $(SLO)$/xmlictxt.obj \
- $(SLO)$/xmlimp.obj \
- $(SLO)$/xmltkmap.obj \
- $(SLO)$/xmltoken.obj \
- $(SLO)$/xmluconv.obj \
- $(SLO)$/DomBuilderContext.obj \
- $(SLO)$/DomExport.obj \
- $(SLO)$/ProgressBarHelper.obj \
- $(SLO)$/PropertySetMerger.obj \
- $(SLO)$/SettingsExportHelper.obj \
- $(SLO)$/DocumentSettingsContext.obj \
- $(SLO)$/XMLEmbeddedObjectExportFilter.obj \
- $(SLO)$/XMLEmbeddedObjectImportContext.obj \
- $(SLO)$/XMLBase64Export.obj \
- $(SLO)$/XMLBase64ImportContext.obj \
- $(SLO)$/XMLBasicExportFilter.obj \
- $(SLO)$/RDFaImportHelper.obj \
- $(SLO)$/RDFaExportHelper.obj \
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmloff/source/core/nmspmap.cxx b/xmloff/source/core/nmspmap.cxx
index 2a0df7aa17..62207c95be 100644
--- a/xmloff/source/core/nmspmap.cxx
+++ b/xmloff/source/core/nmspmap.cxx
@@ -36,7 +36,7 @@
#endif
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/core/unoatrcn.cxx b/xmloff/source/core/unoatrcn.cxx
index a7ff3ae4fe..9d05f59550 100644
--- a/xmloff/source/core/unoatrcn.cxx
+++ b/xmloff/source/core/unoatrcn.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlcnimp.hxx>
-#include "unoatrcn.hxx"
+#include "xmloff/unoatrcn.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/core/xmlcnitm.cxx b/xmloff/source/core/xmlcnitm.cxx
index 59240ff7d7..9e71a1774f 100644
--- a/xmloff/source/core/xmlcnitm.cxx
+++ b/xmloff/source/core/xmlcnitm.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <xmloff/xmlcnimp.hxx>
-#include "unoatrcn.hxx"
+#include "xmloff/unoatrcn.hxx"
using namespace rtl;
using namespace ::com::sun::star::uno;
diff --git a/xmloff/source/core/xmlerror.cxx b/xmloff/source/core/xmlerror.cxx
index a25d25d887..657ce78f7d 100644
--- a/xmloff/source/core/xmlerror.cxx
+++ b/xmloff/source/core/xmlerror.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <tools/debug.hxx>
#include <rtl/ustring.hxx>
#include <com/sun/star/xml/sax/XLocator.hpp>
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index fd2a53ed96..ae1a7f7001 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -48,7 +48,7 @@
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlnumfe.hxx>
@@ -63,20 +63,20 @@
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/document/XEventsSupplier.hpp>
#include <com/sun/star/document/XViewDataSupplier.hpp>
-#include <GradientStyle.hxx>
-#include <HatchStyle.hxx>
-#include <ImageStyle.hxx>
+#include <xmloff/GradientStyle.hxx>
+#include <xmloff/HatchStyle.hxx>
+#include <xmloff/ImageStyle.hxx>
#include <TransGradientStyle.hxx>
-#include <MarkerStyle.hxx>
-#include <DashStyle.hxx>
+#include <xmloff/MarkerStyle.hxx>
+#include <xmloff/DashStyle.hxx>
#include <xmloff/XMLFontAutoStylePool.hxx>
#include "XMLImageMapExport.hxx"
#include "XMLBase64Export.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include "XMLFilterServiceNames.h"
-#include "XMLEmbeddedObjectExportFilter.hxx"
+#include "xmloff/XMLFilterServiceNames.h"
+#include "xmloff/XMLEmbeddedObjectExportFilter.hxx"
#include "XMLBasicExportFilter.hxx"
#include <vos/mutex.hxx>
#include <rtl/logfile.hxx>
@@ -85,7 +85,7 @@
#include "PropertySetMerger.hxx"
#include "svl/urihelper.hxx"
-#include "xformsexport.hxx"
+#include "xmloff/xformsexport.hxx"
#include <unotools/docinfohelper.hxx>
#include <unotools/bootstrap.hxx>
diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx
index f1058cd9b2..2f5ea463e0 100644
--- a/xmloff/source/core/xmlimp.cxx
+++ b/xmloff/source/core/xmlimp.cxx
@@ -37,7 +37,7 @@
#include "unointerfacetouniqueidentifiermapper.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/XMLFontStylesContext.hxx>
#include <xmloff/xmlictxt.hxx>
@@ -49,7 +49,7 @@
#include "StyleMap.hxx"
#include <xmloff/ProgressBarHelper.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
#include <com/sun/star/io/XOutputStream.hpp>
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index 25550b1a79..a0ad3b873d 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -3113,6 +3113,9 @@ namespace xmloff { namespace token {
TOKEN( "outside-minimum", XML_OUTSIDE_MINIMUM ),
TOKEN( "outside-maximum", XML_OUTSIDE_MAXIMUM ),
+ TOKEN( "min-value", XML_MIN_VALUE ),
+ TOKEN( "max-value", XML_MAX_VALUE ),
+
#if OSL_DEBUG_LEVEL > 0
{ 0, NULL, NULL, XML_TOKEN_END }
#else
diff --git a/xmloff/source/core/xmluconv.cxx b/xmloff/source/core/xmluconv.cxx
index 64c0d55d9a..8136126236 100644
--- a/xmloff/source/core/xmluconv.cxx
+++ b/xmloff/source/core/xmluconv.cxx
@@ -874,32 +874,27 @@ void SvXMLUnitConverter::convertTime( ::rtl::OUStringBuffer& rBuffer,
}
/** convert ISO Time String to double; negative durations allowed */
-sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
- const ::rtl::OUString& rString)
+static bool lcl_convertTime( const ::rtl::OUString& rString, sal_Int32& o_rDays, sal_Int32& o_rHours, sal_Int32& o_rMins,
+ sal_Int32& o_rSecs, sal_Bool& o_rIsNegativeTime, double& o_rFractionalSecs )
{
rtl::OUString aTrimmed = rString.trim().toAsciiUpperCase();
const sal_Unicode* pStr = aTrimmed.getStr();
// negative time duration?
- sal_Bool bIsNegativeDuration = sal_False;
if ( sal_Unicode('-') == (*pStr) )
{
- bIsNegativeDuration = sal_True;
+ o_rIsNegativeTime = sal_True;
pStr++;
}
if ( *(pStr++) != sal_Unicode('P') ) // duration must start with "P"
- return sal_False;
+ return false;
- rtl::OUString sDoubleStr;
- sal_Bool bSuccess = sal_True;
+ ::rtl::OUString sDoubleStr;
+ sal_Bool bSuccess = true;
sal_Bool bDone = sal_False;
sal_Bool bTimePart = sal_False;
sal_Bool bIsFraction = sal_False;
- sal_Int32 nDays = 0;
- sal_Int32 nHours = 0;
- sal_Int32 nMins = 0;
- sal_Int32 nSecs = 0;
sal_Int32 nTemp = 0;
while ( bSuccess && !bDone )
@@ -910,7 +905,7 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
else if ( sal_Unicode('0') <= c && sal_Unicode('9') >= c )
{
if ( nTemp >= SAL_MAX_INT32 / 10 )
- bSuccess = sal_False;
+ bSuccess = false;
else
{
if ( !bIsFraction )
@@ -928,17 +923,17 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
{
if ( c == sal_Unicode('H') )
{
- nHours = nTemp;
+ o_rHours = nTemp;
nTemp = 0;
}
else if ( c == sal_Unicode('M') )
{
- nMins = nTemp;
+ o_rMins = nTemp;
nTemp = 0;
}
else if ( (c == sal_Unicode(',')) || (c == sal_Unicode('.')) )
{
- nSecs = nTemp;
+ o_rSecs = nTemp;
nTemp = 0;
bIsFraction = sal_True;
sDoubleStr = OUString(RTL_CONSTASCII_USTRINGPARAM("0."));
@@ -947,13 +942,13 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
{
if ( !bIsFraction )
{
- nSecs = nTemp;
+ o_rSecs = nTemp;
nTemp = 0;
sDoubleStr = OUString(RTL_CONSTASCII_USTRINGPARAM("0.0"));
}
}
else
- bSuccess = sal_False; // invalid character
+ bSuccess = false; // invalid character
}
else
{
@@ -961,7 +956,7 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
bTimePart = sal_True;
else if ( c == sal_Unicode('D') )
{
- nDays = nTemp;
+ o_rDays = nTemp;
nTemp = 0;
}
else if ( c == sal_Unicode('Y') || c == sal_Unicode('M') )
@@ -969,14 +964,28 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
//! how many days is a year or month?
DBG_ERROR("years or months in duration: not implemented");
- bSuccess = sal_False;
+ bSuccess = false;
}
else
- bSuccess = sal_False; // invalid character
+ bSuccess = false; // invalid character
}
}
if ( bSuccess )
+ o_rFractionalSecs = sDoubleStr.toDouble();
+ return bSuccess;
+}
+
+sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
+ const ::rtl::OUString& rString)
+{
+ sal_Int32 nDays = 0;
+ sal_Int32 nHours = 0;
+ sal_Int32 nMins = 0;
+ sal_Int32 nSecs = 0;
+ sal_Bool bIsNegativeDuration = sal_False;
+ double fFractionalSecs = 0.0;
+ if ( lcl_convertTime( rString, nDays, nHours, nMins, nSecs, bIsNegativeDuration, fFractionalSecs ) )
{
if ( nDays )
nHours += nDays * 24; // add the days to the hours part
@@ -985,12 +994,11 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
double fMin = nMins;
double fSec = nSecs;
double fSec100 = 0.0;
- double fFraction = sDoubleStr.toDouble();
fTempTime = fHour / 24;
fTempTime += fMin / (24 * 60);
fTempTime += fSec / (24 * 60 * 60);
fTempTime += fSec100 / (24 * 60 * 60 * 60);
- fTempTime += fFraction / (24 * 60 * 60);
+ fTempTime += fFractionalSecs / (24 * 60 * 60);
// negative duration?
if ( bIsNegativeDuration )
@@ -999,8 +1007,9 @@ sal_Bool SvXMLUnitConverter::convertTime( double& fTime,
}
fTime = fTempTime;
+ return sal_True;
}
- return bSuccess;
+ return sal_False;
}
/** convert util::DateTime to ISO Time String */
@@ -1022,33 +1031,18 @@ void SvXMLUnitConverter::convertTime( ::rtl::OUStringBuffer& rBuffer,
sal_Bool SvXMLUnitConverter::convertTime( ::com::sun::star::util::DateTime& rDateTime,
const ::rtl::OUString& rString )
{
- double fCalculatedTime = 0.0;
- if( convertTime( fCalculatedTime, rString ) )
- {
- // #101357# declare as volatile to prevent optimization
- // (gcc 3.0.1 Linux)
- volatile double fTempTime = fCalculatedTime;
- fTempTime *= 24;
- double fHoursValue = ::rtl::math::approxFloor (fTempTime);
- fTempTime -= fHoursValue;
- fTempTime *= 60;
- double fMinsValue = ::rtl::math::approxFloor (fTempTime);
- fTempTime -= fMinsValue;
- fTempTime *= 60;
- double fSecsValue = ::rtl::math::approxFloor (fTempTime);
- fTempTime -= fSecsValue;
- double f100SecsValue = 0.0;
-
- if( fTempTime > 0.00001 )
- f100SecsValue = fTempTime;
-
+ sal_Int32 nDays = 0, nHours = 0, nMins = 0, nSecs = 0;
+ sal_Bool bIsNegativeDuration = sal_False;
+ double fFractionalSecs = 0.0;
+ if ( lcl_convertTime( rString, nDays, nHours, nMins, nSecs, bIsNegativeDuration, fFractionalSecs ) )
+ {
rDateTime.Year = 0;
rDateTime.Month = 0;
rDateTime.Day = 0;
- rDateTime.Hours = static_cast < sal_uInt16 > ( fHoursValue );
- rDateTime.Minutes = static_cast < sal_uInt16 > ( fMinsValue );
- rDateTime.Seconds = static_cast < sal_uInt16 > ( fSecsValue );
- rDateTime.HundredthSeconds = static_cast < sal_uInt16 > ( f100SecsValue * 100.0 );
+ rDateTime.Hours = static_cast < sal_uInt16 > ( nHours );
+ rDateTime.Minutes = static_cast < sal_uInt16 > ( nMins );
+ rDateTime.Seconds = static_cast < sal_uInt16 > ( nSecs );
+ rDateTime.HundredthSeconds = static_cast < sal_uInt16 > ( fFractionalSecs * 100.0 );
return sal_True;
}
diff --git a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
index 184f855276..55bdab987c 100644
--- a/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
+++ b/xmloff/source/draw/XMLGraphicsDefaultStyle.cxx
@@ -31,7 +31,7 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#ifndef _XMLOFF_FAMILIES_HXX
@@ -104,6 +104,24 @@ void XMLGraphicsDefaultStyle::SetDefaults()
Reference< XPropertySet > xDefaults( xFact->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.Defaults") ) ), UNO_QUERY );
if( !xDefaults.is() )
return;
+ // SJ: #i114750#
+ sal_Bool bWordWrapDefault = sal_True; // initializing with correct odf fo:wrap-option default
+ sal_Int32 nUPD( 0 );
+ sal_Int32 nBuild( 0 );
+ const bool bBuildIdFound = GetImport().getBuildIds( nUPD, nBuild );
+ if ( bBuildIdFound && (
+ ((nUPD >= 600) && (nUPD < 700))
+ ||
+ ((nUPD == 300) && (nBuild <= 9535))
+ ||
+ ((nUPD > 300) && (nUPD <= 330))
+ ) )
+ bWordWrapDefault = sal_False;
+
+ const OUString sTextWordWrap( RTL_CONSTASCII_USTRINGPARAM( "TextWordWrap" ) );
+ Reference< XPropertySetInfo > xInfo( xDefaults->getPropertySetInfo() );
+ if ( xInfo->hasPropertyByName( sTextWordWrap ) )
+ xDefaults->setPropertyValue( sTextWordWrap, Any( bWordWrapDefault ) );
FillPropertySet( xDefaults );
}
diff --git a/xmloff/source/draw/XMLImageMapContext.cxx b/xmloff/source/draw/XMLImageMapContext.cxx
index 84560e69d9..a25aa75239 100644
--- a/xmloff/source/draw/XMLImageMapContext.cxx
+++ b/xmloff/source/draw/XMLImageMapContext.cxx
@@ -46,11 +46,11 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include "xexptran.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/XMLEventsImportContext.hxx>
#include "XMLStringBufferImportContext.hxx"
#include <tools/debug.hxx>
diff --git a/xmloff/source/draw/XMLImageMapExport.cxx b/xmloff/source/draw/XMLImageMapExport.cxx
index 0c0f1a2d77..13495df8ac 100644
--- a/xmloff/source/draw/XMLImageMapExport.cxx
+++ b/xmloff/source/draw/XMLImageMapExport.cxx
@@ -45,7 +45,7 @@
#include <com/sun/star/awt/Size.hpp>
#include <com/sun/star/drawing/PointSequence.hpp>
#include <xmloff/xmlexp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/XMLEventExport.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/draw/XMLNumberStyles.cxx b/xmloff/source/draw/XMLNumberStyles.cxx
index df01145480..0dfc11ecdb 100644
--- a/xmloff/source/draw/XMLNumberStyles.cxx
+++ b/xmloff/source/draw/XMLNumberStyles.cxx
@@ -30,7 +30,7 @@
#include <tools/debug.hxx>
#include <XMLNumberStylesExport.hxx>
#include <XMLNumberStylesImport.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/draw/XMLReplacementImageContext.cxx b/xmloff/source/draw/XMLReplacementImageContext.cxx
index e6f079dbfe..6b51e9ccdb 100644
--- a/xmloff/source/draw/XMLReplacementImageContext.cxx
+++ b/xmloff/source/draw/XMLReplacementImageContext.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/io/XOutputStream.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/XMLBase64ImportContext.hxx>
#include "XMLReplacementImageContext.hxx"
diff --git a/xmloff/source/draw/XMLShapeStyleContext.cxx b/xmloff/source/draw/XMLShapeStyleContext.cxx
index e816dcacad..6d3a1f9d5e 100644
--- a/xmloff/source/draw/XMLShapeStyleContext.cxx
+++ b/xmloff/source/draw/XMLShapeStyleContext.cxx
@@ -37,9 +37,9 @@
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmlnumi.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/maptype.hxx>
#include "sdpropls.hxx"
diff --git a/xmloff/source/draw/animationexport.cxx b/xmloff/source/draw/animationexport.cxx
index 386b9baa09..16579dc6b9 100644
--- a/xmloff/source/draw/animationexport.cxx
+++ b/xmloff/source/draw/animationexport.cxx
@@ -67,7 +67,7 @@
#include "sdxmlexp_impl.hxx"
#include "sdpropls.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlement.hxx>
diff --git a/xmloff/source/draw/animationimport.cxx b/xmloff/source/draw/animationimport.cxx
index 538a82a19b..6aa9129dad 100644
--- a/xmloff/source/draw/animationimport.cxx
+++ b/xmloff/source/draw/animationimport.cxx
@@ -67,7 +67,7 @@
#include "sdpropls.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <osl/mutex.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/draw/animexp.cxx b/xmloff/source/draw/animexp.cxx
index b97ea298b1..5f1a43a771 100644
--- a/xmloff/source/draw/animexp.cxx
+++ b/xmloff/source/draw/animexp.cxx
@@ -37,7 +37,7 @@
#include <comphelper/extract.hxx>
#include <tools/color.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlement.hxx>
diff --git a/xmloff/source/draw/animimp.cxx b/xmloff/source/draw/animimp.cxx
index 695c45274c..6c712cc592 100644
--- a/xmloff/source/draw/animimp.cxx
+++ b/xmloff/source/draw/animimp.cxx
@@ -41,7 +41,7 @@
#include <comphelper/extract.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
/*
#include <xmloff/xmlement.hxx>
diff --git a/xmloff/source/draw/descriptionimp.cxx b/xmloff/source/draw/descriptionimp.cxx
index b99c48abfc..e8325b87cc 100644
--- a/xmloff/source/draw/descriptionimp.cxx
+++ b/xmloff/source/draw/descriptionimp.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "descriptionimp.hxx"
diff --git a/xmloff/source/draw/eventimp.cxx b/xmloff/source/draw/eventimp.cxx
index 0bdf878927..61b3ce8e74 100644
--- a/xmloff/source/draw/eventimp.cxx
+++ b/xmloff/source/draw/eventimp.cxx
@@ -39,7 +39,7 @@
#include <comphelper/extract.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
#include "eventimp.hxx"
diff --git a/xmloff/source/draw/layerexp.cxx b/xmloff/source/draw/layerexp.cxx
index b72ef7be88..2bc690cf69 100644
--- a/xmloff/source/draw/layerexp.cxx
+++ b/xmloff/source/draw/layerexp.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlement.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/draw/layerimp.cxx b/xmloff/source/draw/layerimp.cxx
index b6f5863a7d..fd82bf3a09 100644
--- a/xmloff/source/draw/layerimp.cxx
+++ b/xmloff/source/draw/layerimp.cxx
@@ -36,7 +36,7 @@
#include <comphelper/extract.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
#include "layerimp.hxx"
diff --git a/xmloff/source/draw/makefile.mk b/xmloff/source/draw/makefile.mk
deleted file mode 100644
index 3c9f7ae024..0000000000
--- a/xmloff/source/draw/makefile.mk
+++ /dev/null
@@ -1,85 +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=xmloff
-TARGET=draw
-AUTOSEG=true
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/animationexport.obj\
- $(SLO)$/animationimport.obj\
- $(SLO)$/XMLNumberStyles.obj\
- $(SLO)$/XMLGraphicsDefaultStyle.obj\
- $(SLO)$/viewcontext.obj\
- $(SLO)$/eventimp.obj\
- $(SLO)$/layerexp.obj\
- $(SLO)$/layerimp.obj\
- $(SLO)$/ximpshow.obj\
- $(SLO)$/animimp.obj\
- $(SLO)$/animexp.obj\
- $(SLO)$/numithdl.obj\
- $(SLO)$/sdxmlimp.obj \
- $(SLO)$/sdxmlexp.obj \
- $(SLO)$/ximpstyl.obj \
- $(SLO)$/ximpbody.obj \
- $(SLO)$/ximpshap.obj \
- $(SLO)$/ximpgrp.obj \
- $(SLO)$/ximp3dscene.obj \
- $(SLO)$/ximp3dobject.obj \
- $(SLO)$/ximpnote.obj \
- $(SLO)$/sdpropls.obj \
- $(SLO)$/propimp0.obj \
- $(SLO)$/xexptran.obj \
- $(SLO)$/shapeexport.obj \
- $(SLO)$/shapeexport2.obj \
- $(SLO)$/shapeexport3.obj \
- $(SLO)$/shapeexport4.obj \
- $(SLO)$/shapeimport.obj \
- $(SLO)$/XMLImageMapExport.obj \
- $(SLO)$/XMLImageMapContext.obj \
- $(SLO)$/XMLShapePropertySetContext.obj \
- $(SLO)$/XMLShapeStyleContext.obj \
- $(SLO)$/ximppage.obj \
- $(SLO)$/ximpcustomshape.obj \
- $(SLO)$/EnhancedCustomShapeToken.obj \
- $(SLO)$/XMLReplacementImageContext.obj \
- $(SLO)$/descriptionimp.obj \
- $(SLO)$/ximplink.obj
-
-# --- Targets --------------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
index 7b4ce9d691..341f360497 100644
--- a/xmloff/source/draw/sdpropls.cxx
+++ b/xmloff/source/draw/sdpropls.cxx
@@ -62,7 +62,7 @@
#include "sdpropls.hxx"
#include "propimp0.hxx"
#include <xmloff/xmlexp.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <com/sun/star/drawing/NormalsKind.hpp>
#include <com/sun/star/drawing/TextureProjectionMode.hpp>
#include <com/sun/star/drawing/TextureKind.hpp>
diff --git a/xmloff/source/draw/sdpropls.hxx b/xmloff/source/draw/sdpropls.hxx
index ce54cbb458..37c22dc056 100644
--- a/xmloff/source/draw/sdpropls.hxx
+++ b/xmloff/source/draw/sdpropls.hxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlement.hxx>
#include <xmloff/prhdlfac.hxx>
#include <xmloff/xmlprmap.hxx>
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
#include <xmloff/xmlexppr.hxx>
//////////////////////////////////////////////////////////////////////////////
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
index c589109fb3..2f8554ef9f 100644
--- a/xmloff/source/draw/sdxmlexp.cxx
+++ b/xmloff/source/draw/sdxmlexp.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "unointerfacetouniqueidentifiermapper.hxx"
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlmetae.hxx>
@@ -77,7 +77,7 @@
#include "layerexp.hxx"
-#include "VisAreaExport.hxx"
+#include "xmloff/VisAreaExport.hxx"
#include "XMLNumberStylesExport.hxx"
#include <tools/list.hxx>
#include <tools/string.hxx>
diff --git a/xmloff/source/draw/sdxmlimp.cxx b/xmloff/source/draw/sdxmlimp.cxx
index 17bd3fd378..6ca8ec84a5 100644
--- a/xmloff/source/draw/sdxmlimp.cxx
+++ b/xmloff/source/draw/sdxmlimp.cxx
@@ -40,7 +40,7 @@
#include <xmloff/xmlmetai.hxx>
#endif
#include "ximpstyl.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/DocumentSettingsContext.hxx>
@@ -51,7 +51,7 @@
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include "sdpropls.hxx"
#include <xmloff/xmlexppr.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <tools/debug.hxx>
#include <com/sun/star/style/XStyle.hpp>
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index ff901ccda2..0c4949e951 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -63,7 +63,7 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/drawing/XCustomShapeEngine.hpp>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/draw/shapeexport2.cxx b/xmloff/source/draw/shapeexport2.cxx
index 56faefc805..ee23b86e99 100644
--- a/xmloff/source/draw/shapeexport2.cxx
+++ b/xmloff/source/draw/shapeexport2.cxx
@@ -55,7 +55,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/tuple/b2dtuple.hxx>
diff --git a/xmloff/source/draw/shapeexport3.cxx b/xmloff/source/draw/shapeexport3.cxx
index 8318b2cce2..0c69477a3d 100644
--- a/xmloff/source/draw/shapeexport3.cxx
+++ b/xmloff/source/draw/shapeexport3.cxx
@@ -49,7 +49,7 @@
#include <xmloff/xmltoken.hxx>
#include <basegfx/vector/b3dvector.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/draw/shapeexport4.cxx b/xmloff/source/draw/shapeexport4.cxx
index 191caccac7..644f66a77a 100644
--- a/xmloff/source/draw/shapeexport4.cxx
+++ b/xmloff/source/draw/shapeexport4.cxx
@@ -72,7 +72,7 @@
#include <tools/string.hxx>
#include <basegfx/vector/b3dvector.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "XMLBase64Export.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index 4fd7292989..9d6a747fa1 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -41,7 +41,7 @@
#include <xmloff/shapeimport.hxx>
#endif
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "ximpstyl.hxx"
#include "ximpshap.hxx"
diff --git a/xmloff/source/draw/viewcontext.cxx b/xmloff/source/draw/viewcontext.cxx
index ea0236527f..70addcfc68 100644
--- a/xmloff/source/draw/viewcontext.cxx
+++ b/xmloff/source/draw/viewcontext.cxx
@@ -30,9 +30,9 @@
#include "viewcontext.hxx"
#include "sdxmlimp_impl.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
-#include "VisAreaContext.hxx"
+#include "xmloff/VisAreaContext.hxx"
using namespace com::sun::star;
using namespace rtl;
diff --git a/xmloff/source/draw/ximp3dscene.cxx b/xmloff/source/draw/ximp3dscene.cxx
index de53022792..5dfc27f898 100644
--- a/xmloff/source/draw/ximp3dscene.cxx
+++ b/xmloff/source/draw/ximp3dscene.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmluconv.hxx>
#include "xexptran.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <com/sun/star/drawing/Direction3D.hpp>
#include <com/sun/star/drawing/CameraGeometry.hpp>
#include "eventimp.hxx"
diff --git a/xmloff/source/draw/ximpcustomshape.cxx b/xmloff/source/draw/ximpcustomshape.cxx
index b009f0406b..0d806bb586 100644
--- a/xmloff/source/draw/ximpcustomshape.cxx
+++ b/xmloff/source/draw/ximpcustomshape.cxx
@@ -41,11 +41,11 @@
#include "EnhancedCustomShapeToken.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include "xexptran.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <tools/debug.hxx>
#include <com/sun/star/drawing/Direction3D.hpp>
#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
diff --git a/xmloff/source/draw/ximpgrp.cxx b/xmloff/source/draw/ximpgrp.cxx
index c742b34d26..f9e27d8c09 100644
--- a/xmloff/source/draw/ximpgrp.cxx
+++ b/xmloff/source/draw/ximpgrp.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include"xmlnmspe.hxx"
+#include"xmloff/xmlnmspe.hxx"
#include "ximpgrp.hxx"
#include <xmloff/xmltoken.hxx>
#include "ximpshap.hxx"
diff --git a/xmloff/source/draw/ximplink.cxx b/xmloff/source/draw/ximplink.cxx
index 978620edae..9cc305aef3 100644
--- a/xmloff/source/draw/ximplink.cxx
+++ b/xmloff/source/draw/ximplink.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include"xmlnmspe.hxx"
+#include"xmloff/xmlnmspe.hxx"
#include "ximplink.hxx"
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/draw/ximppage.cxx b/xmloff/source/draw/ximppage.cxx
index 8b3e17373b..af59e6d060 100644
--- a/xmloff/source/draw/ximppage.cxx
+++ b/xmloff/source/draw/ximppage.cxx
@@ -37,7 +37,7 @@
#include <xmloff/xmlstyle.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlstyle.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ximppage.hxx"
#include "ximpshap.hxx"
#include "animimp.hxx"
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index e0c309827e..c203fa6a58 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -71,7 +71,7 @@
#include "PropertySetMerger.hxx"
#include <xmloff/families.hxx>
#include "ximpstyl.hxx"
-#include"xmlnmspe.hxx"
+#include"xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "EnhancedCustomShapeToken.hxx"
#include "XMLReplacementImageContext.hxx"
@@ -82,7 +82,7 @@
#include "descriptionimp.hxx"
#include "ximpcustomshape.hxx"
#include "XMLEmbeddedObjectImportContext.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <tools/string.hxx>
#include <com/sun/star/drawing/XEnhancedCustomShapeDefaulter.hpp>
@@ -1926,7 +1926,35 @@ void SdXMLConnectorShapeContext::StartElement(const uno::Reference< xml::sax::XA
SetLayer();
if ( maPath.hasValue() )
- xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ {
+ // --> OD #i115492#
+ // Ignore svg:d attribute for text documents created by OpenOffice.org
+ // versions before OOo 3.3, because these OOo versions are storing
+ // svg:d values not using the correct unit.
+ bool bApplySVGD( true );
+ if ( uno::Reference< text::XTextDocument >(GetImport().GetModel(), uno::UNO_QUERY).is() )
+ {
+ sal_Int32 nUPD( 0 );
+ sal_Int32 nBuild( 0 );
+ const bool bBuildIdFound = GetImport().getBuildIds( nUPD, nBuild );
+ if ( GetImport().IsTextDocInOOoFileFormat() ||
+ ( bBuildIdFound &&
+ ( ( nUPD == 641 ) || ( nUPD == 645 ) || // prior OOo 2.0
+ ( nUPD == 680 ) || // OOo 2.x
+ ( nUPD == 300 ) || // OOo 3.0 - OOo 3.0.1
+ ( nUPD == 310 ) || // OOo 3.1 - OOo 3.1.1
+ ( nUPD == 320 ) ) ) ) // OOo 3.2 - OOo 3.2.1
+ {
+ bApplySVGD = false;
+ }
+ }
+
+ if ( bApplySVGD )
+ {
+ xProps->setPropertyValue( OUString(RTL_CONSTASCII_USTRINGPARAM("PolyPolygonBezier") ), maPath );
+ }
+ // <--
+ }
SdXMLShapeContext::StartElement(xAttrList);
}
diff --git a/xmloff/source/draw/ximpshow.cxx b/xmloff/source/draw/ximpshow.cxx
index bc381d52be..3d36d1accd 100644
--- a/xmloff/source/draw/ximpshow.cxx
+++ b/xmloff/source/draw/ximpshow.cxx
@@ -39,7 +39,7 @@
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include <xmloff/xmltoken.hxx>
#include <comphelper/extract.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include "ximpshow.hxx"
diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx
index cf98d8bd7f..eb63feb3b0 100644
--- a/xmloff/source/draw/ximpstyl.cxx
+++ b/xmloff/source/draw/ximpstyl.cxx
@@ -31,7 +31,7 @@
#include "ximpstyl.hxx"
#include <xmloff/XMLShapeStyleContext.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include "ximpnote.hxx"
@@ -55,7 +55,7 @@
#include "layerimp.hxx"
#include <xmloff/XMLGraphicsDefaultStyle.hxx>
#include "XMLNumberStylesImport.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/forms/controlelement.cxx b/xmloff/source/forms/controlelement.cxx
index 68c681a65b..09ed9b93f3 100644
--- a/xmloff/source/forms/controlelement.cxx
+++ b/xmloff/source/forms/controlelement.cxx
@@ -59,6 +59,8 @@ namespace xmloff
case HIDDEN: return "hidden";
case GRID: return "grid";
case VALUERANGE: return "value-range";
+ case TIME: return "time";
+ case DATE: return "date";
default: return "generic-control";
}
diff --git a/xmloff/source/forms/controlelement.hxx b/xmloff/source/forms/controlelement.hxx
index 64ccefdd8f..88aaeb3e36 100644
--- a/xmloff/source/forms/controlelement.hxx
+++ b/xmloff/source/forms/controlelement.hxx
@@ -63,6 +63,8 @@ namespace xmloff
GRID,
VALUERANGE,
GENERIC_CONTROL,
+ TIME,
+ DATE,
UNKNOWN // must be the last element
};
diff --git a/xmloff/source/forms/controlpropertymap.cxx b/xmloff/source/forms/controlpropertymap.cxx
index 710906547b..cad6ac1886 100644
--- a/xmloff/source/forms/controlpropertymap.cxx
+++ b/xmloff/source/forms/controlpropertymap.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/maptype.hxx>
#include <xmloff/xmltypes.hxx>
diff --git a/xmloff/source/forms/elementexport.cxx b/xmloff/source/forms/elementexport.cxx
index d3f39ec996..a5b7c09c6b 100644
--- a/xmloff/source/forms/elementexport.cxx
+++ b/xmloff/source/forms/elementexport.cxx
@@ -30,12 +30,13 @@
#include "elementexport.hxx"
#include "strings.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "eventexport.hxx"
#include "formenums.hxx"
#include "formcellbinding.hxx"
#include "formcellbinding.hxx"
-#include "xformsexport.hxx"
+#include "xmloff/xformsexport.hxx"
+#include "property_meta_data.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/text/XText.hpp>
@@ -321,6 +322,9 @@ namespace xmloff
#endif
}
+ // "new-style" properties ...
+ exportGenericHandlerAttributes();
+
// common control attributes
exportCommonControlAttributes();
@@ -474,6 +478,84 @@ namespace xmloff
}
//---------------------------------------------------------------------
+ void OControlExport::exportGenericHandlerAttributes()
+ {
+ const Sequence< Property > aProperties = m_xPropertyInfo->getProperties();
+ for ( const Property* prop = aProperties.getConstArray();
+ prop != aProperties.getConstArray() + aProperties.getLength();
+ ++prop
+ )
+ {
+ try
+ {
+ // see if this property can already be handled with an IPropertyHandler (which, on the long
+ // term, should be the case for most, if not all, properties)
+ const PropertyDescription* propDescription = metadata::getPropertyDescription( prop->Name );
+ if ( propDescription == NULL )
+ continue;
+
+ // let the factory provide the concrete handler. Note that caching, if desired, is the task
+ // of the factory
+ PPropertyHandler handler = (*propDescription->factory)( propDescription->propertyId );
+ ENSURE_OR_CONTINUE( handler.get() != NULL,
+ "OControlExport::exportGenericHandlerAttributes: invalid property handler provided by the factory!" );
+
+ ::rtl::OUString attributeValue;
+ if ( propDescription->propertyGroup == NO_GROUP )
+ {
+ // that's a property which has a direct mapping to an attribute
+ if ( !shouldExportProperty( prop->Name ) )
+ // TODO: in the future, we surely need a more sophisticated approach to this, involving the property
+ // handler, or the property description
+ {
+ exportedProperty( prop->Name );
+ continue;
+ }
+
+ const Any propValue = m_xProps->getPropertyValue( prop->Name );
+ attributeValue = handler->getAttributeValue( propValue );
+ }
+ else
+ {
+ // that's a property which is part of a group of properties, whose values, in their entity, comprise
+ // a single attribute value
+
+ // retrieve the descriptions of all other properties which add to the attribute value
+ PropertyDescriptionList descriptions;
+ metadata::getPropertyGroup( propDescription->propertyGroup, descriptions );
+
+ // retrieve the values for all those properties
+ PropertyValues aValues;
+ for ( PropertyDescriptionList::iterator desc = descriptions.begin();
+ desc != descriptions.end();
+ ++desc
+ )
+ {
+ // TODO: XMultiPropertySet?
+ const Any propValue = m_xProps->getPropertyValue( (*desc)->propertyName );
+ aValues[ (*desc)->propertyId ] = propValue;
+ }
+
+ // let the handler translate into an XML attribute value
+ attributeValue = handler->getAttributeValue( aValues );
+ }
+
+ AddAttribute(
+ propDescription->attribute.namespacePrefix,
+ token::GetXMLToken( propDescription->attribute.attributeToken ),
+ attributeValue
+ );
+
+ exportedProperty( prop->Name );
+ }
+ catch( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
+ }
+ }
+
+ //---------------------------------------------------------------------
void OControlExport::exportCommonControlAttributes()
{
size_t i=0;
@@ -1380,21 +1462,35 @@ namespace xmloff
m_nClassId = FormComponentType::CONTROL;
DBG_CHECK_PROPERTY( PROPERTY_CLASSID, sal_Int16 );
m_xProps->getPropertyValue(PROPERTY_CLASSID) >>= m_nClassId;
+ bool knownType = false;
switch (m_nClassId)
{
case FormComponentType::DATEFIELD:
+ m_eType = DATE;
+ knownType = true;
+ // NO BREAK
case FormComponentType::TIMEFIELD:
+ if ( !knownType )
+ {
+ m_eType = TIME;
+ knownType = true;
+ }
+ m_nIncludeSpecial |= SCA_VALIDATION;
+ // NO BREAK
case FormComponentType::NUMERICFIELD:
case FormComponentType::CURRENCYFIELD:
case FormComponentType::PATTERNFIELD:
- m_eType = FORMATTED_TEXT;
+ if ( !knownType )
+ {
+ m_eType = FORMATTED_TEXT;
+ knownType = true;
+ }
// NO BREAK
case FormComponentType::TEXTFIELD:
{ // it's some kind of edit. To know which type we need further investigation
- if (FORMATTED_TEXT != m_eType)
- { // not coming from the previous cases which had a class id .ne. TEXTFIELD
-
+ if ( !knownType )
+ {
// check if it's a formatted field
if (m_xPropertyInfo->hasPropertyByName(PROPERTY_FORMATKEY))
{
@@ -1430,14 +1526,21 @@ namespace xmloff
m_eType = TEXT;
}
}
+ knownType = true;
}
- // attributes which are common to all the four types:
+ // attributes which are common to all the types:
// common attributes
m_nIncludeCommon =
- CCA_NAME | CCA_SERVICE_NAME | CCA_DISABLED | CCA_VALUE |
+ CCA_NAME | CCA_SERVICE_NAME | CCA_DISABLED |
CCA_PRINTABLE | CCA_TAB_INDEX | CCA_TAB_STOP | CCA_TITLE;
+ if ( ( m_nClassId != FormComponentType::DATEFIELD )
+ && ( m_nClassId != FormComponentType::TIMEFIELD )
+ )
+ // date and time field values are handled differently nowadays
+ m_nIncludeCommon |= CCA_VALUE;
+
// database attributes
m_nIncludeDatabase = DA_DATA_FIELD | DA_INPUT_REQUIRED;
@@ -1461,8 +1564,7 @@ namespace xmloff
// max and min values and validation:
if (FORMATTED_TEXT == m_eType)
{ // in general all controls represented as formatted-text have these props
- if (FormComponentType::PATTERNFIELD != m_nClassId)
- // but the PatternField does not have value limits
+ if ( FormComponentType::PATTERNFIELD != m_nClassId ) // except the PatternField
m_nIncludeSpecial |= SCA_MAX_VALUE | SCA_MIN_VALUE;
if (FormComponentType::TEXTFIELD != m_nClassId)
@@ -1471,8 +1573,13 @@ namespace xmloff
}
// if it's not a password field or rich text control, the CurrentValue needs to be stored, too
- if ( PASSWORD != m_eType )
+ if ( ( PASSWORD != m_eType )
+ && ( DATE != m_eType )
+ && ( TIME != m_eType )
+ )
+ {
m_nIncludeCommon |= CCA_CURRENT_VALUE;
+ }
}
break;
diff --git a/xmloff/source/forms/elementexport.hxx b/xmloff/source/forms/elementexport.hxx
index 21233d7ccf..e99d201621 100644
--- a/xmloff/source/forms/elementexport.hxx
+++ b/xmloff/source/forms/elementexport.hxx
@@ -161,6 +161,13 @@ namespace xmloff
*/
void exportSubTags() throw (::com::sun::star::uno::Exception);
+ /** adds the attributes which are handled via generic IPropertyHandlers
+
+ <p>In the future, this really should be *all* attribiutes, instead of this shitload of
+ hand-crafted code we have currently ...</p>
+ */
+ void exportGenericHandlerAttributes();
+
/** adds common control attributes to the XMLExport context given
<p>The attribute list of the context is not cleared initially, this is the responsibility of the caller.</p>
diff --git a/xmloff/source/forms/elementimport.cxx b/xmloff/source/forms/elementimport.cxx
index 6e97bc7c57..985039c9b2 100644
--- a/xmloff/source/forms/elementimport.cxx
+++ b/xmloff/source/forms/elementimport.cxx
@@ -28,22 +28,21 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include <algorithm>
#include "elementimport.hxx"
-#include <xmloff/xmlimp.hxx>
-#include <xmloff/nmspmap.hxx>
-#include <xmloff/xmluconv.hxx>
+#include "xmloff/xmlimp.hxx"
+#include "xmloff/nmspmap.hxx"
+#include "xmloff/xmluconv.hxx"
#include "strings.hxx"
#include "callbacks.hxx"
#include "attriblistmerge.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "eventimport.hxx"
-#include <xmloff/txtstyli.hxx>
+#include "xmloff/txtstyli.hxx"
#include "formenums.hxx"
-#include <xmloff/xmltoken.hxx>
+#include "xmloff/xmltoken.hxx"
#include "gridcolumnproptranslator.hxx"
-#include <comphelper/extract.hxx>
-#include <comphelper/types.hxx>
+#include "property_description.hxx"
+#include "property_meta_data.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/text/XText.hpp>
@@ -54,9 +53,13 @@
#include <com/sun/star/beans/XPropertyContainer.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
/** === end UNO includes === **/
+
#include <tools/urlobj.hxx>
+#include <tools/diagnose_ex.h>
#include <tools/time.hxx>
#include <rtl/logfile.hxx>
+#include <comphelper/extract.hxx>
+#include <comphelper/types.hxx>
#include <algorithm>
#include <functional>
@@ -157,6 +160,7 @@ namespace xmloff
,m_rEventManager(_rEventManager)
,m_pStyleElement( NULL )
,m_xParentContainer(_rxParentContainer)
+ ,m_bImplicitGenericAttributeHandling( true )
{
OSL_ENSURE(m_xParentContainer.is(), "OElementImport::OElementImport: invalid parent container!");
}
@@ -167,17 +171,41 @@ namespace xmloff
}
//---------------------------------------------------------------------
+ ::rtl::OUString OElementImport::determineDefaultServiceName() const
+ {
+ return ::rtl::OUString();
+ }
+
+ //---------------------------------------------------------------------
void OElementImport::StartElement(const Reference< sax::XAttributeList >& _rxAttrList)
{
ENTER_LOG_CONTEXT( "xmloff::OElementImport - importing one element" );
- // call the base class. This should give us enough information (especially the service name)
- // to create our UNO element
- OPropertyImport::StartElement(_rxAttrList);
- // create the element
+ const SvXMLNamespaceMap& rMap = m_rContext.getGlobalContext().GetNamespaceMap();
+ const ::rtl::OUString sImplNameAttribute = rMap.GetQNameByKey( XML_NAMESPACE_FORM, GetXMLToken( XML_CONTROL_IMPLEMENTATION ) );
+ const ::rtl::OUString sControlImplementation = _rxAttrList->getValueByName( sImplNameAttribute );
+
+ // retrieve the service name
+ if ( sControlImplementation.getLength() > 0 )
+ {
+ ::rtl::OUString sOOoImplementationName;
+ const sal_uInt16 nImplPrefix = GetImport().GetNamespaceMap().GetKeyByAttrName( sControlImplementation, &sOOoImplementationName );
+ m_sServiceName = ( nImplPrefix == XML_NAMESPACE_OOO ) ? sOOoImplementationName : sControlImplementation;
+ }
+
+ if ( !m_sServiceName.getLength() )
+ determineDefaultServiceName();
+
+ // create the object *now*. This allows setting properties in the various handleAttribute methods.
+ // (Though currently not all code is migrated to this pattern, most attributes are still handled
+ // by remembering the value (via implPushBackPropertyValue), and setting the correct property value
+ // later (in OControlImport::StartElement).)
m_xElement = createElement();
- if ( !m_xInfo.is() && m_xElement.is() )
+ if ( m_xElement.is() )
m_xInfo = m_xElement->getPropertySetInfo();
+
+ // call the base class
+ OPropertyImport::StartElement( _rxAttrList );
}
//---------------------------------------------------------------------
@@ -197,26 +225,61 @@ namespace xmloff
if (!m_xElement.is())
return;
+ // apply the non-generic properties
+ implApplySpecificProperties();
+
+ // set the generic properties
+ implApplyGenericProperties();
+
+ // set the style properties
+ if ( m_pStyleElement && m_xElement.is() )
+ {
+ Reference< XPropertySet > xPropTranslation =
+ new OGridColumnPropertyTranslator( Reference< XMultiPropertySet >( m_xElement, UNO_QUERY ) );
+ const_cast< XMLTextStyleContext* >( m_pStyleElement )->FillPropertySet( xPropTranslation );
+
+ const ::rtl::OUString sNumberStyleName = const_cast< XMLTextStyleContext* >( m_pStyleElement )->GetDataStyleName( );
+ if ( sNumberStyleName.getLength() )
+ // the style also has a number (sub) style
+ m_rContext.applyControlNumberStyle( m_xElement, sNumberStyleName );
+ }
+
+ // insert the element into the parent container
+ if (!m_sName.getLength())
+ {
+ OSL_ENSURE(sal_False, "OElementImport::EndElement: did not find a name attribute!");
+ m_sName = implGetDefaultName();
+ }
+
+ m_xParentContainer->insertByName(m_sName, makeAny(m_xElement));
+ LEAVE_LOG_CONTEXT( );
+ }
+
+ //---------------------------------------------------------------------
+ void OElementImport::implApplySpecificProperties()
+ {
+ if ( m_aValues.empty() )
+ return;
+
// set all the properties we collected
#if OSL_DEBUG_LEVEL > 0
// check if the object has all the properties
// (We do this in the non-pro version only. Doing it all the time would be much to expensive)
if ( m_xInfo.is() )
{
- PropertyValueArray::iterator aEnd = m_aValues.end();
+ PropertyValueArray::const_iterator aEnd = m_aValues.end();
for ( PropertyValueArray::iterator aCheck = m_aValues.begin();
aCheck != aEnd;
++aCheck
)
{
OSL_ENSURE(m_xInfo->hasPropertyByName(aCheck->Name),
- ::rtl::OString("OElementImport::EndElement: read a property (")
+ ::rtl::OString("OElementImport::implApplySpecificProperties: read a property (")
+= ::rtl::OString(aCheck->Name.getStr(), aCheck->Name.getLength(), RTL_TEXTENCODING_ASCII_US)
+= ::rtl::OString(") which does not exist on the element!"));
}
}
#endif
- OSL_ENSURE(!m_aValues.empty(), "OElementImport::EndElement: no properties read!");
// set the properties
const Reference< XMultiPropertySet > xMultiProps(m_xElement, UNO_QUERY);
@@ -253,7 +316,7 @@ namespace xmloff
}
catch(Exception&)
{
- OSL_ENSURE(sal_False, "OElementImport::EndElement: could not set the properties (using the XMultiPropertySet)!");
+ OSL_ENSURE(sal_False, "OElementImport::implApplySpecificProperties: could not set the properties (using the XMultiPropertySet)!");
}
}
@@ -274,42 +337,16 @@ namespace xmloff
catch(Exception&)
{
OSL_ENSURE(sal_False,
- ::rtl::OString("OElementImport::EndElement: could not set the property \"")
+ ::rtl::OString("OElementImport::implApplySpecificProperties: could not set the property \"")
+= ::rtl::OString(aPropValues->Name.getStr(), aPropValues->Name.getLength(), RTL_TEXTENCODING_ASCII_US)
+= ::rtl::OString("\"!"));
}
}
}
-
- // set the generic properties
- implImportGenericProperties();
-
- // set the style properties
- if ( m_pStyleElement && m_xElement.is() )
- {
- Reference< XPropertySet > xPropTranslation =
- new OGridColumnPropertyTranslator( Reference< XMultiPropertySet >( m_xElement, UNO_QUERY ) );
- const_cast< XMLTextStyleContext* >( m_pStyleElement )->FillPropertySet( xPropTranslation );
-
- const ::rtl::OUString sNumberStyleName = const_cast< XMLTextStyleContext* >( m_pStyleElement )->GetDataStyleName( );
- if ( sNumberStyleName.getLength() )
- // the style also has a number (sub) style
- m_rContext.applyControlNumberStyle( m_xElement, sNumberStyleName );
- }
-
- // insert the element into the parent container
- if (!m_sName.getLength())
- {
- OSL_ENSURE(sal_False, "OElementImport::EndElement: did not find a name attribute!");
- m_sName = implGetDefaultName();
- }
-
- m_xParentContainer->insertByName(m_sName, makeAny(m_xElement));
- LEAVE_LOG_CONTEXT( );
}
//---------------------------------------------------------------------
- void OElementImport::implImportGenericProperties()
+ void OElementImport::implApplyGenericProperties()
{
if ( m_aGenericValues.empty() )
return;
@@ -334,7 +371,7 @@ namespace xmloff
if ( !xDynamicProperties.is() )
{
#if OSL_DEBUG_LEVEL > 0
- ::rtl::OString aMessage( "OElementImport::implImportGenericProperties: encountered an unknown property (" );
+ ::rtl::OString aMessage( "OElementImport::implApplyGenericProperties: encountered an unknown property (" );
aMessage += ::rtl::OUStringToOString( aPropValues->Name, RTL_TEXTENCODING_ASCII_US );
aMessage += "), but component is no PropertyBag!";
OSL_ENSURE( false, aMessage.getStr() );
@@ -352,7 +389,7 @@ namespace xmloff
m_xInfo = m_xElement->getPropertySetInfo();
}
- // determine the type of the value (source forthe following conversion)
+ // determine the type of the value (source for the following conversion)
TypeClass eValueTypeClass = aPropValues->Value.getValueTypeClass();
const sal_Bool bValueIsSequence = TypeClass_SEQUENCE == eValueTypeClass;
if ( bValueIsSequence )
@@ -361,7 +398,7 @@ namespace xmloff
eValueTypeClass = aSimpleType.getTypeClass();
}
- // determine the type of the property (target forthe following conversion)
+ // determine the type of the property (target for the following conversion)
const Property aProperty( m_xInfo->getPropertyByName( aPropValues->Name ) );
TypeClass ePropTypeClass = aProperty.Type.getTypeClass();
const sal_Bool bPropIsSequence = TypeClass_SEQUENCE == ePropTypeClass;
@@ -373,18 +410,18 @@ namespace xmloff
if ( bPropIsSequence != bValueIsSequence )
{
- OSL_ENSURE( false, "OElementImport::implImportGenericProperties: either both value and property should be a sequence, or none of them!" );
+ OSL_ENSURE( false, "OElementImport::implApplyGenericProperties: either both value and property should be a sequence, or none of them!" );
continue;
}
if ( bValueIsSequence )
{
OSL_ENSURE( eValueTypeClass == TypeClass_ANY,
- "OElementImport::implImportGenericProperties: only ANYs should have been imported as generic list property!" );
+ "OElementImport::implApplyGenericProperties: only ANYs should have been imported as generic list property!" );
// (OPropertyImport should produce only Sequencer< Any >, since it cannot know the real type
OSL_ENSURE( ePropTypeClass == TypeClass_SHORT,
- "OElementImport::implImportGenericProperties: conversion to sequences other than 'sequence< short >' not implemented, yet!" );
+ "OElementImport::implApplyGenericProperties: conversion to sequences other than 'sequence< short >' not implemented, yet!" );
Sequence< Any > aXMLValueList;
aPropValues->Value >>= aXMLValueList;
@@ -427,13 +464,13 @@ namespace xmloff
aPropValues->Value <<= static_cast< sal_Int64 >( nVal );
break;
default:
- OSL_ENSURE( false, "OElementImport::implImportGenericProperties: unsupported value type!" );
+ OSL_ENSURE( false, "OElementImport::implApplyGenericProperties: unsupported value type!" );
break;
}
}
break;
default:
- OSL_ENSURE( false, "OElementImport::implImportGenericProperties: non-double values not supported!" );
+ OSL_ENSURE( false, "OElementImport::implApplyGenericProperties: non-double values not supported!" );
break;
}
}
@@ -484,38 +521,117 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OElementImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ PropertyGroups::const_iterator OElementImport::impl_matchPropertyGroup( const PropertyGroups& i_propertyGroups ) const
{
- if (!m_sServiceName.getLength() &&
- token::IsXMLToken( _rLocalName, token::XML_CONTROL_IMPLEMENTATION))
- { // it's the service name
+ ENSURE_OR_RETURN( m_xInfo.is(), "OElementImport::impl_matchPropertyGroup: no property set info!", i_propertyGroups.end() );
- ::rtl::OUString sImplName;
- const sal_uInt16 nImplPrefix =
- GetImport().GetNamespaceMap().GetKeyByAttrName( _rValue,
- &sImplName );
- m_sServiceName = XML_NAMESPACE_OOO==nImplPrefix ? sImplName
- :_rValue;
+ for ( PropertyGroups::const_iterator group = i_propertyGroups.begin();
+ group != i_propertyGroups.end();
+ ++group
+ )
+ {
+ bool missingProp = false;
+ for ( PropertyDescriptionList::const_iterator prop = group->begin();
+ prop != group->end();
+ ++prop
+ )
+ {
+ if ( !m_xInfo->hasPropertyByName( (*prop)->propertyName ) )
+ {
+ missingProp = true;
+ break;
+ }
+ }
+
+ if ( missingProp )
+ // try next group
+ continue;
+
+ return group;
}
- else
+
+ return i_propertyGroups.end();
+ }
+
+ //---------------------------------------------------------------------
+ bool OElementImport::tryGenericAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue )
+ {
+ // the generic approach (which I hope all props will be migrated to, on the medium term): property handlers
+ const AttributeDescription attribute( metadata::getAttributeDescription( _nNamespaceKey, _rLocalName ) );
+ if ( attribute.attributeToken != XML_TOKEN_INVALID )
{
- if (!m_sName.getLength() &&
- token::IsXMLToken( _rLocalName, token::XML_NAME))
- // remember the name for later use in EndElement
- m_sName = _rValue;
+ PropertyGroups propertyGroups;
+ metadata::getPropertyGroupList( attribute, propertyGroups );
+ const PropertyGroups::const_iterator pos = impl_matchPropertyGroup( propertyGroups );
+ if ( pos == propertyGroups.end() )
+ return false;
- // maybe it's the style attribute?
- if ( token::IsXMLToken( _rLocalName, token::XML_TEXT_STYLE_NAME ) )
+ do
{
- const SvXMLStyleContext* pStyleContext = m_rContext.getStyleElement( _rValue );
- OSL_ENSURE( pStyleContext, "OPropertyImport::handleAttribute: do not know the style!" );
- // remember the element for later usage.
- m_pStyleElement = PTR_CAST( XMLTextStyleContext, pStyleContext );
+ const PropertyDescriptionList& rProperties( *pos );
+ const PropertyDescription* first = *rProperties.begin();
+ ENSURE_OR_BREAK( first != NULL, "OElementImport::handleAttribute: invalid property description!" );
+ const PPropertyHandler handler = (*first->factory)( first->propertyId );
+ ENSURE_OR_BREAK( handler.get() != NULL, "OElementImport::handleAttribute: invalid property handler!" );
+
+ PropertyValues aValues;
+ for ( PropertyDescriptionList::const_iterator propDesc = rProperties.begin();
+ propDesc != rProperties.end();
+ ++propDesc
+ )
+ {
+ aValues[ (*propDesc)->propertyId ] = Any();
+ }
+ if ( handler->getPropertyValues( _rValue, aValues ) )
+ {
+ for ( PropertyDescriptionList::const_iterator propDesc = rProperties.begin();
+ propDesc != rProperties.end();
+ ++propDesc
+ )
+ {
+ implPushBackPropertyValue( (*propDesc)->propertyName, aValues[ (*propDesc)->propertyId ] );
+ }
+ }
}
- else
- // let the base class handle it
- OPropertyImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+ while ( false );
+
+ // handled
+ return true;
}
+ return false;
+ }
+
+ //---------------------------------------------------------------------
+ bool OElementImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ {
+ if ( token::IsXMLToken( _rLocalName, token::XML_CONTROL_IMPLEMENTATION ) )
+ // ignore this, it has already been handled in OElementImport::StartElement
+ return true;
+
+ if ( token::IsXMLToken( _rLocalName, token::XML_NAME ) )
+ {
+ if ( !m_sName.getLength() )
+ // remember the name for later use in EndElement
+ m_sName = _rValue;
+ return true;
+ }
+
+ // maybe it's the style attribute?
+ if ( token::IsXMLToken( _rLocalName, token::XML_TEXT_STYLE_NAME ) )
+ {
+ const SvXMLStyleContext* pStyleContext = m_rContext.getStyleElement( _rValue );
+ OSL_ENSURE( pStyleContext, "OElementImport::handleAttribute: do not know the style!" );
+ // remember the element for later usage.
+ m_pStyleElement = PTR_CAST( XMLTextStyleContext, pStyleContext );
+ return true;
+ }
+
+ if ( m_bImplicitGenericAttributeHandling )
+ if ( tryGenericAttribute( _nNamespaceKey, _rLocalName, _rValue ) )
+ return true;
+
+ // let the base class handle it
+ return OPropertyImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
}
//---------------------------------------------------------------------
@@ -553,7 +669,7 @@ namespace xmloff
{
::rtl::OUString sLocalAttrName = ::rtl::OUString::createFromAscii(_pAttributeName);
if ( !encounteredAttribute( sLocalAttrName ) )
- handleAttribute( XML_NAMESPACE_FORM, sLocalAttrName, ::rtl::OUString::createFromAscii( _pAttributeDefault ) );
+ OSL_VERIFY( handleAttribute( XML_NAMESPACE_FORM, sLocalAttrName, ::rtl::OUString::createFromAscii( _pAttributeDefault ) ) );
}
}
@@ -566,6 +682,7 @@ namespace xmloff
:OElementImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
,m_eElementType(OControlElement::UNKNOWN)
{
+ disableImplicitGenericAttributeHandling();
}
//---------------------------------------------------------------------
@@ -574,6 +691,38 @@ namespace xmloff
:OElementImport(_rImport, _rEventManager, _nPrefix, _rName, _rxParentContainer)
,m_eElementType(_eType)
{
+ disableImplicitGenericAttributeHandling();
+ }
+
+ //---------------------------------------------------------------------
+ ::rtl::OUString OControlImport::determineDefaultServiceName() const
+ {
+ const sal_Char* pServiceName = NULL;
+ switch ( m_eElementType )
+ {
+ case OControlElement::TEXT:
+ case OControlElement::TEXT_AREA:
+ case OControlElement::PASSWORD: pServiceName = "com.sun.star.form.component.TextField"; break;
+ case OControlElement::FILE: pServiceName = "com.sun.star.form.component.FileControl"; break;
+ case OControlElement::FORMATTED_TEXT: pServiceName = "com.sun.star.form.component.FormattedField"; break;
+ case OControlElement::FIXED_TEXT: pServiceName = "com.sun.star.form.component.FixedText"; break;
+ case OControlElement::COMBOBOX: pServiceName = "com.sun.star.form.component.ComboBox"; break;
+ case OControlElement::LISTBOX: pServiceName = "com.sun.star.form.component.ListBox"; break;
+ case OControlElement::BUTTON: pServiceName = "com.sun.star.form.component.CommandButton"; break;
+ case OControlElement::IMAGE: pServiceName = "com.sun.star.form.component.ImageButton"; break;
+ case OControlElement::CHECKBOX: pServiceName = "com.sun.star.form.component.CheckBox"; break;
+ case OControlElement::RADIO: pServiceName = "com.sun.star.form.component.RadioButton"; break;
+ case OControlElement::FRAME: pServiceName = "com.sun.star.form.component.GroupBox"; break;
+ case OControlElement::IMAGE_FRAME: pServiceName = "com.sun.star.form.component.DatabaseImageControl"; break;
+ case OControlElement::HIDDEN: pServiceName = "com.sun.star.form.component.HiddenControl"; break;
+ case OControlElement::GRID: pServiceName = "com.sun.star.form.component.GridControl"; break;
+ case OControlElement::TIME: pServiceName = "com.sun.star.form.component.DateField"; break;
+ case OControlElement::DATE: pServiceName = "com.sun.star.form.component.TimeField"; break;
+ default: break;
+ }
+ if ( pServiceName != NULL )
+ return ::rtl::OUString::createFromAscii( pServiceName );
+ return ::rtl::OUString();
}
//---------------------------------------------------------------------
@@ -584,7 +733,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OControlImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool OControlImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
static const sal_Char* pLinkedCellAttributeName = OAttributeMetaData::getBindingAttributeName(BA_LINKED_CELL);
@@ -601,66 +750,84 @@ namespace xmloff
m_sControlId = _rValue;
}
}
+ return true;
}
- else if ( _rLocalName.equalsAscii( pLinkedCellAttributeName ) )
+
+ if ( _rLocalName.equalsAscii( pLinkedCellAttributeName ) )
{ // it's the address of a spreadsheet cell
m_sBoundCellAddress = _rValue;
+ return true;
}
- else if ( _nNamespaceKey == XML_NAMESPACE_XFORMS && IsXMLToken( _rLocalName, XML_BIND ) )
+
+ if ( _nNamespaceKey == XML_NAMESPACE_XFORMS && IsXMLToken( _rLocalName, XML_BIND ) )
{
m_sBindingID = _rValue;
+ return true;
}
- else if ( _nNamespaceKey == XML_NAMESPACE_FORM && IsXMLToken( _rLocalName, XML_XFORMS_LIST_SOURCE ) )
+
+ if ( _nNamespaceKey == XML_NAMESPACE_FORM && IsXMLToken( _rLocalName, XML_XFORMS_LIST_SOURCE ) )
{
m_sListBindingID = _rValue;
+ return true;
}
- else if ( (_nNamespaceKey == XML_NAMESPACE_FORM && IsXMLToken( _rLocalName, XML_XFORMS_SUBMISSION ) ) ||
- ( _nNamespaceKey == XML_NAMESPACE_XFORMS && IsXMLToken( _rLocalName, XML_SUBMISSION ) ) )
+
+ if ( ( ( _nNamespaceKey == XML_NAMESPACE_FORM )
+ && IsXMLToken( _rLocalName, XML_XFORMS_SUBMISSION )
+ )
+ || ( ( _nNamespaceKey == XML_NAMESPACE_XFORMS )
+ && IsXMLToken( _rLocalName, XML_SUBMISSION )
+ )
+ )
{
m_sSubmissionID = _rValue;
+ return true;
}
- else
+
+ if ( OElementImport::tryGenericAttribute( _nNamespaceKey, _rLocalName, _rValue ) )
+ return true;
+
+ static const sal_Char* pValueAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_VALUE);
+ static const sal_Char* pCurrentValueAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_VALUE);
+ static const sal_Char* pMinValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MIN_VALUE);
+ static const sal_Char* pMaxValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MAX_VALUE);
+ static const sal_Char* pRepeatDelayAttributeName = OAttributeMetaData::getSpecialAttributeName( SCA_REPEAT_DELAY );
+
+ sal_Int32 nHandle = -1;
+ if ( _rLocalName.equalsAscii( pValueAttributeName ) )
+ nHandle = PROPID_VALUE;
+ else if ( _rLocalName.equalsAscii( pCurrentValueAttributeName ) )
+ nHandle = PROPID_CURRENT_VALUE;
+ else if ( _rLocalName.equalsAscii( pMinValueAttributeName ) )
+ nHandle = PROPID_MIN_VALUE;
+ else if ( _rLocalName.equalsAscii( pMaxValueAttributeName ) )
+ nHandle = PROPID_MAX_VALUE;
+ if ( nHandle != -1 )
{
- static const sal_Char* pValueAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_VALUE);
- static const sal_Char* pCurrentValueAttributeName = OAttributeMetaData::getCommonControlAttributeName(CCA_CURRENT_VALUE);
- static const sal_Char* pMinValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MIN_VALUE);
- static const sal_Char* pMaxValueAttributeName = OAttributeMetaData::getSpecialAttributeName(SCA_MAX_VALUE);
- static const sal_Char* pRepeatDelayAttributeName = OAttributeMetaData::getSpecialAttributeName( SCA_REPEAT_DELAY );
-
- sal_Int32 nHandle = -1;
- if ( _rLocalName.equalsAscii( pValueAttributeName ) )
- nHandle = PROPID_VALUE;
- else if ( _rLocalName.equalsAscii( pCurrentValueAttributeName ) )
- nHandle = PROPID_CURRENT_VALUE;
- else if ( _rLocalName.equalsAscii( pMinValueAttributeName ) )
- nHandle = PROPID_MIN_VALUE;
- else if ( _rLocalName.equalsAscii( pMaxValueAttributeName ) )
- nHandle = PROPID_MAX_VALUE;
- if ( nHandle != -1 )
+ // for the moment, simply remember the name and the value
+ PropertyValue aProp;
+ aProp.Name = _rLocalName;
+ aProp.Handle = nHandle;
+ aProp.Value <<= _rValue;
+ m_aValueProperties.push_back(aProp);
+ return true;
+ }
+
+ if ( _rLocalName.equalsAscii( pRepeatDelayAttributeName ) )
+ {
+ ::Time aTime;
+ sal_Int32 nFractions = 0;
+ if ( SvXMLUnitConverter::convertTimeDuration( _rValue, aTime, &nFractions ) )
{
- // for the moment, simply remember the name and the value
PropertyValue aProp;
- aProp.Name = _rLocalName;
- aProp.Handle = nHandle;
- aProp.Value <<= _rValue;
- m_aValueProperties.push_back(aProp);
- }
- else if ( _rLocalName.equalsAscii( pRepeatDelayAttributeName ) )
- {
- ::Time aTime;
- sal_Int32 nFractions = 0;
- if ( SvXMLUnitConverter::convertTimeDuration( _rValue, aTime, &nFractions ) )
- {
- PropertyValue aProp;
- aProp.Name = PROPERTY_REPEAT_DELAY;
- aProp.Value <<= (sal_Int32)( ( ( aTime.GetMSFromTime() / 1000 ) * 1000 ) + nFractions );
+ aProp.Name = PROPERTY_REPEAT_DELAY;
+ aProp.Value <<= (sal_Int32)( ( ( aTime.GetMSFromTime() / 1000 ) * 1000 ) + nFractions );
- implPushBackPropertyValue(aProp);
- }
+ implPushBackPropertyValue(aProp);
}
- else
- OElementImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+ return true;
}
+
+ return OElementImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
}
//---------------------------------------------------------------------
@@ -713,6 +880,7 @@ namespace xmloff
++aValueProps
)
{
+ bool bSuccess = false;
switch (aValueProps->Handle)
{
case PROPID_VALUE:
@@ -722,6 +890,7 @@ namespace xmloff
if (!bRetrievedValues)
{
getValuePropertyNames(m_eElementType, nClassId, pCurrentValueProperty, pValueProperty);
+ ENSURE_OR_BREAK( pCurrentValueProperty && pValueProperty, "OControlImport::StartElement: illegal value property names!" );
bRetrievedValues = sal_True;
}
OSL_ENSURE((PROPID_VALUE != aValueProps->Handle) || pValueProperty,
@@ -734,6 +903,7 @@ namespace xmloff
aValueProps->Name = ::rtl::OUString::createFromAscii(pValueProperty);
else
aValueProps->Name = ::rtl::OUString::createFromAscii(pCurrentValueProperty);
+ bSuccess = true;
}
break;
case PROPID_MIN_VALUE:
@@ -743,6 +913,7 @@ namespace xmloff
if (!bRetrievedValueLimits)
{
getValueLimitPropertyNames(nClassId, pMinValueProperty, pMaxValueProperty);
+ ENSURE_OR_BREAK( pMinValueProperty && pMaxValueProperty, "OControlImport::StartElement: illegal value limit property names!" );
bRetrievedValueLimits = sal_True;
}
OSL_ENSURE((PROPID_MIN_VALUE != aValueProps->Handle) || pMinValueProperty,
@@ -755,10 +926,14 @@ namespace xmloff
aValueProps->Name = ::rtl::OUString::createFromAscii(pMinValueProperty);
else
aValueProps->Name = ::rtl::OUString::createFromAscii(pMaxValueProperty);
+ bSuccess = true;
}
break;
}
+ if ( !bSuccess )
+ continue;
+
// translate the value
implTranslateValueProperty(m_xInfo, *aValueProps);
// add the property to the base class' array
@@ -980,7 +1155,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OImagePositionImport::handleAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName,
+ bool OImagePositionImport::handleAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue )
{
if ( _rLocalName == GetXMLToken( XML_IMAGE_POSITION ) )
@@ -990,16 +1165,19 @@ namespace xmloff
_rValue, OEnumMapper::getEnumMap( OEnumMapper::epImagePosition )
) >>= m_nImagePosition );
m_bHaveImagePosition = sal_True;
+ return true;
}
- else if ( _rLocalName == GetXMLToken( XML_IMAGE_ALIGN ) )
+
+ if ( _rLocalName == GetXMLToken( XML_IMAGE_ALIGN ) )
{
OSL_VERIFY( PropertyConversion::convertString(
m_rContext.getGlobalContext(), ::getCppuType( &m_nImageAlign ),
_rValue, OEnumMapper::getEnumMap( OEnumMapper::epImageAlign )
) >>= m_nImageAlign );
+ return true;
}
- else
- OControlImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
+
+ return OControlImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
}
//---------------------------------------------------------------------
@@ -1047,14 +1225,16 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OReferredControlImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName,
+ bool OReferredControlImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue)
{
static const ::rtl::OUString s_sReferenceAttributeName = ::rtl::OUString::createFromAscii(OAttributeMetaData::getCommonControlAttributeName(CCA_FOR));
if (_rLocalName == s_sReferenceAttributeName)
+ {
m_sReferringControls = _rValue;
- else
- OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+ return true;
+ }
+ return OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
}
//=====================================================================
@@ -1068,7 +1248,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OPasswordImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool OPasswordImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
static const ::rtl::OUString s_sEchoCharAttributeName = ::rtl::OUString::createFromAscii(OAttributeMetaData::getSpecialAttributeName(SCA_ECHO_CHAR));
if (_rLocalName == s_sEchoCharAttributeName)
@@ -1083,9 +1263,9 @@ namespace xmloff
else
aEchoChar.Value <<= (sal_Int16)0;
implPushBackPropertyValue(aEchoChar);
+ return true;
}
- else
- OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+ return OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
}
//=====================================================================
@@ -1099,7 +1279,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void ORadioImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool ORadioImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
// need special handling for the State & CurrentState properties:
// they're stored as booleans, but expected to be int16 properties
@@ -1122,9 +1302,9 @@ namespace xmloff
implPushBackPropertyValue(aNewValue);
}
+ return true;
}
- else
- OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
+ return OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
}
//=====================================================================
@@ -1138,7 +1318,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OURLReferenceImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool OURLReferenceImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
static const sal_Char* s_pTargetLocationAttributeName = OAttributeMetaData::getCommonControlAttributeName( CCA_TARGET_LOCATION );
static const sal_Char* s_pImageDataAttributeName = OAttributeMetaData::getCommonControlAttributeName( CCA_IMAGE_DATA );
@@ -1157,18 +1337,18 @@ namespace xmloff
if ( bMakeAbsolute && ( _rValue.getLength() > 0 ) )
{
// make a global URL out of the local one
- ::rtl::OUString sAdjustedValue;
- // only resolve image related url
- // we don't want say form url targets to be resolved
- // using ResolveGraphicObjectURL
- if ( 0 == _rLocalName.compareToAscii( s_pImageDataAttributeName ) )
- sAdjustedValue = m_rContext.getGlobalContext().ResolveGraphicObjectURL( _rValue, sal_False );
- else
- sAdjustedValue = m_rContext.getGlobalContext().GetAbsoluteReference( _rValue );
- OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, sAdjustedValue );
+ ::rtl::OUString sAdjustedValue;
+ // only resolve image related url
+ // we don't want say form url targets to be resolved
+ // using ResolveGraphicObjectURL
+ if ( 0 == _rLocalName.compareToAscii( s_pImageDataAttributeName ) )
+ sAdjustedValue = m_rContext.getGlobalContext().ResolveGraphicObjectURL( _rValue, sal_False );
+ else
+ sAdjustedValue = m_rContext.getGlobalContext().GetAbsoluteReference( _rValue );
+ return OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, sAdjustedValue );
}
- else
- OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
+
+ return OImagePositionImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
}
//=====================================================================
@@ -1205,14 +1385,14 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OValueRangeImport::handleAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue )
+ bool OValueRangeImport::handleAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue )
{
if ( _rLocalName.equalsAscii( OAttributeMetaData::getSpecialAttributeName( SCA_STEP_SIZE ) ) )
{
GetImport().GetMM100UnitConverter().convertNumber( m_nStepSizeValue, _rValue );
+ return true;
}
- else
- OControlImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
+ return OControlImport::handleAttribute( _nNamespaceKey, _rLocalName, _rValue );
}
//---------------------------------------------------------------------
@@ -1535,7 +1715,7 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OListAndComboImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool OListAndComboImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
static const sal_Char* pListSourceAttributeName = OAttributeMetaData::getDatabaseAttributeName(DA_LIST_SOURCE);
if ( _rLocalName.equalsAscii(pListSourceAttributeName) )
@@ -1560,12 +1740,16 @@ namespace xmloff
}
implPushBackPropertyValue( aListSource );
+ return true;
}
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getBindingAttributeName( BA_LIST_CELL_RANGE ) ) )
+
+ if ( _rLocalName.equalsAscii( OAttributeMetaData::getBindingAttributeName( BA_LIST_CELL_RANGE ) ) )
{
m_sCellListSource = _rValue;
+ return true;
}
- else if ( _rLocalName.equalsAscii( OAttributeMetaData::getBindingAttributeName( BA_LIST_LINKING_TYPE ) ) )
+
+ if ( _rLocalName.equalsAscii( OAttributeMetaData::getBindingAttributeName( BA_LIST_LINKING_TYPE ) ) )
{
sal_Int16 nLinkageType = 0;
PropertyConversion::convertString(
@@ -1576,9 +1760,10 @@ namespace xmloff
) >>= nLinkageType;
m_bLinkWithIndexes = ( nLinkageType != 0 );
+ return true;
}
- else
- OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+
+ return OControlImport::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
}
//---------------------------------------------------------------------
@@ -1776,7 +1961,9 @@ namespace xmloff
|| (OControlElement::FORMATTED_TEXT == _eType)
|| (OControlElement::CHECKBOX == _eType)
|| (OControlElement::LISTBOX == _eType)
- || (OControlElement::COMBOBOX == _eType),
+ || (OControlElement::COMBOBOX == _eType)
+ || (OControlElement::TIME == _eType)
+ || (OControlElement::DATE == _eType),
"OColumnWrapperImport::implCreateChildContext: invalid or unrecognized sub element!");
switch (_eType)
@@ -1871,19 +2058,25 @@ namespace xmloff
}
//---------------------------------------------------------------------
- void OFormImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+ bool OFormImport::handleAttribute(sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
// handle the master/details field attributes (they're way too special to let the OPropertyImport handle them)
static const ::rtl::OUString s_sMasterFieldsAttributeName = ::rtl::OUString::createFromAscii(OAttributeMetaData::getFormAttributeName(faMasterFields));
static const ::rtl::OUString s_sDetailFieldsAttributeName = ::rtl::OUString::createFromAscii(OAttributeMetaData::getFormAttributeName(faDetailFiels));
- if (s_sMasterFieldsAttributeName == _rLocalName)
+ if ( s_sMasterFieldsAttributeName == _rLocalName )
+ {
implTranslateStringListProperty(PROPERTY_MASTERFIELDS, _rValue);
- else if (s_sDetailFieldsAttributeName == _rLocalName)
+ return true;
+ }
+
+ if ( s_sDetailFieldsAttributeName == _rLocalName )
+ {
implTranslateStringListProperty(PROPERTY_DETAILFIELDS, _rValue);
+ return true;
+ }
- else
- OFormImport_Base::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
+ return OFormImport_Base::handleAttribute(_nNamespaceKey, _rLocalName, _rValue);
}
//---------------------------------------------------------------------
diff --git a/xmloff/source/forms/elementimport.hxx b/xmloff/source/forms/elementimport.hxx
index dbbfa33a1b..150f4d4b35 100644
--- a/xmloff/source/forms/elementimport.hxx
+++ b/xmloff/source/forms/elementimport.hxx
@@ -31,6 +31,9 @@
#include "propertyimport.hxx"
#include "controlelement.hxx"
#include "valueproperties.hxx"
+#include "eventimport.hxx"
+#include "logging.hxx"
+#include "property_description.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/text/XTextCursor.hpp>
@@ -39,9 +42,8 @@
#include <com/sun/star/form/XGridColumnFactory.hpp>
#include <com/sun/star/script/XEventAttacherManager.hpp>
/** === end UNO includes === **/
+
#include <comphelper/stl_types.hxx>
-#include "eventimport.hxx"
-#include "logging.hxx"
class XMLTextStyleContext;
//.........................................................................
@@ -83,22 +85,25 @@ namespace xmloff
,public OStackedLogging
{
protected:
- ::rtl::OUString m_sServiceName; // the service name as extracted from the service-name attribute
- ::rtl::OUString m_sName; // the name of the object (redundant, already contained in the base class' array)
+ ::rtl::OUString m_sServiceName; // the service name as extracted from the service-name attribute
+ ::rtl::OUString m_sName; // the name of the object (redundant, already contained in the base class' array)
OFormLayerXMLImport_Impl& m_rFormImport; // the form import context
- IEventAttacherManager& m_rEventManager; // the event attacher manager
+ IEventAttacherManager& m_rEventManager; // the event attacher manager
const XMLTextStyleContext* m_pStyleElement; // the XML element which describes the style we encountered
// while reading our element
+ /// the parent container to insert the new element into
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >
- m_xParentContainer;
- // the parent container to insert the new element into
+ m_xParentContainer;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
- m_xInfo;
+ /// the element we're creating. Valid after StartElement
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
- m_xElement; // the element we're creating. Valid after StartElement
+ m_xElement;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
+ m_xInfo;
+
+ bool m_bImplicitGenericAttributeHandling;
public:
/** ctor
@@ -132,7 +137,7 @@ namespace xmloff
virtual void EndElement();
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
@@ -158,13 +163,28 @@ namespace xmloff
*/
void simulateDefaultedAttribute(const sal_Char* _pAttributeName, const ::rtl::OUString& _rPropertyName, const sal_Char* _pAttributeDefault);
+ /** to be called from within handleAttribute, checks whether the given attribute is covered by our generic
+ attribute handler mechanisms
+ */
+ bool tryGenericAttribute( sal_uInt16 _nNamespaceKey, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue );
+
+ /** controls whether |handleAttribute| implicitly calls |tryGenericAttribute|, or whether the derived class
+ must do this explicitly at a suitable place in its own |handleAttribute|
+ */
+ void disableImplicitGenericAttributeHandling() { m_bImplicitGenericAttributeHandling = false; }
+
private:
::rtl::OUString implGetDefaultName() const;
- void implImportGenericProperties();
+ void implApplyGenericProperties();
+ void implApplySpecificProperties();
/** sets the style properties which have been read for the element (if any)
*/
void implSetStyleProperties( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject );
+
+ PropertyGroups::const_iterator impl_matchPropertyGroup( const PropertyGroups& i_propertyGroups ) const;
+
+ virtual ::rtl::OUString determineDefaultServiceName() const;
};
//=====================================================================
@@ -225,7 +245,7 @@ namespace xmloff
virtual void EndElement();
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
@@ -239,6 +259,8 @@ namespace xmloff
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >& _rxPropInfo,
::com::sun::star::beans::PropertyValue& /* [in/out] */ _rPropValue);
+ virtual ::rtl::OUString determineDefaultServiceName() const;
+
/** registers the given cell address as value binding address for our element
<p>The default implementation simply calls registerCellValueBinding at our import
@@ -265,7 +287,6 @@ namespace xmloff
// OElementImport overridables
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
createElement();
-
};
// TODO:
@@ -295,7 +316,7 @@ namespace xmloff
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& _rxAttrList);
// OPropertyImport overridables
- virtual void handleAttribute( sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute( sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue
);
@@ -321,7 +342,7 @@ namespace xmloff
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& _rxAttrList);
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
};
@@ -339,7 +360,7 @@ namespace xmloff
);
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
};
@@ -358,7 +379,7 @@ namespace xmloff
protected:
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
};
@@ -380,7 +401,7 @@ namespace xmloff
protected:
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
};
@@ -430,7 +451,7 @@ namespace xmloff
const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& _rxAttrList );
// OPropertyImport overridables
- virtual void handleAttribute( sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute( sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue );
};
@@ -516,7 +537,7 @@ namespace xmloff
virtual void EndElement();
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
@@ -715,7 +736,7 @@ namespace xmloff
sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName);
// OPropertyImport overridables
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
diff --git a/xmloff/source/forms/formattributes.cxx b/xmloff/source/forms/formattributes.cxx
index 430b2573af..2b2b12b550 100644
--- a/xmloff/source/forms/formattributes.cxx
+++ b/xmloff/source/forms/formattributes.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "formattributes.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <rtl/ustrbuf.hxx>
#include <rtl/logfile.hxx>
diff --git a/xmloff/source/forms/formevents.cxx b/xmloff/source/forms/formevents.cxx
index 871520151c..5823b69f10 100644
--- a/xmloff/source/forms/formevents.cxx
+++ b/xmloff/source/forms/formevents.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "formevents.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlevent.hxx>
//.........................................................................
diff --git a/xmloff/source/forms/formlayerexport.cxx b/xmloff/source/forms/formlayerexport.cxx
index b36020d98c..4e1e8a8318 100644
--- a/xmloff/source/forms/formlayerexport.cxx
+++ b/xmloff/source/forms/formlayerexport.cxx
@@ -32,7 +32,7 @@
#include <xmloff/formlayerexport.hxx>
#include "strings.hxx"
#include "elementexport.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include "layerexport.hxx"
#include "propertyexport.hxx"
diff --git a/xmloff/source/forms/formsimp.cxx b/xmloff/source/forms/formsimp.cxx
index b676b4ed77..a0c317e2a4 100644
--- a/xmloff/source/forms/formsimp.cxx
+++ b/xmloff/source/forms/formsimp.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#ifndef _XMLOFF_ANIMIMP_HXX
diff --git a/xmloff/source/forms/handler/form_handler_factory.cxx b/xmloff/source/forms/handler/form_handler_factory.cxx
new file mode 100644
index 0000000000..72a9edf38f
--- /dev/null
+++ b/xmloff/source/forms/handler/form_handler_factory.cxx
@@ -0,0 +1,90 @@
+/*************************************************************************
+ * 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_xmloff.hxx"
+
+#include "forms/form_handler_factory.hxx"
+#include "vcl_date_handler.hxx"
+#include "vcl_time_handler.hxx"
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ namespace
+ {
+ static PPropertyHandler s_pVCLDateHandler = NULL;
+ static PPropertyHandler s_pVCLTimeHandler = NULL;
+ }
+
+ //==================================================================================================================
+ //= FormHandlerFactory
+ //==================================================================================================================
+ //------------------------------------------------------------------------------------------------------------------
+ PPropertyHandler FormHandlerFactory::getFormPropertyHandler( const PropertyId i_propertyId )
+ {
+ PPropertyHandler pHandler( NULL );
+
+ switch ( i_propertyId )
+ {
+ case PID_DATE_MIN:
+ case PID_DATE_MAX:
+ case PID_DEFAULT_DATE:
+ case PID_DATE:
+ if ( s_pVCLDateHandler.get() == NULL )
+ {
+ ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
+ if ( s_pVCLDateHandler == NULL )
+ s_pVCLDateHandler = new VCLDateHandler();
+ }
+ pHandler = s_pVCLDateHandler;
+ break;
+
+ case PID_TIME_MIN:
+ case PID_TIME_MAX:
+ case PID_DEFAULT_TIME:
+ case PID_TIME:
+ if ( s_pVCLTimeHandler.get() == NULL )
+ {
+ ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
+ if ( s_pVCLTimeHandler == NULL )
+ s_pVCLTimeHandler = new VCLTimeHandler();
+ }
+ pHandler = s_pVCLTimeHandler;
+ break;
+
+ default:
+ OSL_ENSURE( false, "FormHandlerFactory::getFormPropertyHandler: unknown property ID!" );
+ break;
+ }
+
+ return pHandler;
+ }
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
diff --git a/xmloff/source/forms/handler/property_handler_base.cxx b/xmloff/source/forms/handler/property_handler_base.cxx
new file mode 100644
index 0000000000..d599e0e259
--- /dev/null
+++ b/xmloff/source/forms/handler/property_handler_base.cxx
@@ -0,0 +1,61 @@
+/*************************************************************************
+ * 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_xmloff.hxx"
+
+#include "property_handler_base.hxx"
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PropertyHandlerBase
+ //==================================================================================================================
+ //------------------------------------------------------------------------------------------------------------------
+ PropertyHandlerBase::~PropertyHandlerBase()
+ {
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ oslInterlockedCount SAL_CALL PropertyHandlerBase::acquire()
+ {
+ return osl_incrementInterlockedCount( &m_refCount );
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ oslInterlockedCount SAL_CALL PropertyHandlerBase::release()
+ {
+ oslInterlockedCount decremented = osl_decrementInterlockedCount( &m_refCount );
+ if ( 0 == decremented )
+ delete this;
+ return decremented;
+ }
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
diff --git a/xmloff/source/forms/handler/property_handler_base.hxx b/xmloff/source/forms/handler/property_handler_base.hxx
new file mode 100644
index 0000000000..01f2a9e843
--- /dev/null
+++ b/xmloff/source/forms/handler/property_handler_base.hxx
@@ -0,0 +1,64 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_HANDLER_BASE_HXX
+#define XMLOFF_PROPERTY_HANDLER_BASE_HXX
+
+#include "forms/property_handler.hxx"
+
+#include <osl/interlck.h>
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PropertyHandlerBase
+ //==================================================================================================================
+ class PropertyHandlerBase : public IPropertyHandler
+ {
+ protected:
+ PropertyHandlerBase()
+ :m_refCount( 0 )
+ {
+ }
+
+ virtual ~PropertyHandlerBase();
+
+ // IReference
+ virtual oslInterlockedCount SAL_CALL acquire();
+ virtual oslInterlockedCount SAL_CALL release();
+
+ private:
+ oslInterlockedCount m_refCount;
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_HANDLER_BASE_HXX
diff --git a/xmloff/source/forms/handler/vcl_date_handler.cxx b/xmloff/source/forms/handler/vcl_date_handler.cxx
new file mode 100644
index 0000000000..a8404ed04e
--- /dev/null
+++ b/xmloff/source/forms/handler/vcl_date_handler.cxx
@@ -0,0 +1,114 @@
+/*************************************************************************
+ * 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_xmloff.hxx"
+
+#include "vcl_date_handler.hxx"
+#include "xmloff/xmluconv.hxx"
+
+#include <com/sun/star/util/DateTime.hpp>
+
+#include <tools/diagnose_ex.h>
+#include <tools/date.hxx>
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ using ::com::sun::star::uno::Any;
+ using ::com::sun::star::uno::makeAny;
+ using ::com::sun::star::util::DateTime;
+
+ //==================================================================================================================
+ //= VCLDateHandler
+ //==================================================================================================================
+ //------------------------------------------------------------------------------------------------------------------
+ VCLDateHandler::VCLDateHandler()
+ {
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ ::rtl::OUString VCLDateHandler::getAttributeValue( const PropertyValues& /*i_propertyValues*/ ) const
+ {
+ OSL_ENSURE( false, "VCLDateHandler::getAttributeValue: unexpected call!" );
+ return ::rtl::OUString();
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ ::rtl::OUString VCLDateHandler::getAttributeValue( const Any& i_propertyValue ) const
+ {
+ sal_Int32 nVCLDate(0);
+ OSL_VERIFY( i_propertyValue >>= nVCLDate );
+ ::Date aVCLDate( nVCLDate );
+
+ DateTime aDateTime; // default-inited to 0
+ aDateTime.Day = aVCLDate.GetDay();
+ aDateTime.Month = aVCLDate.GetMonth();
+ aDateTime.Year = aVCLDate.GetYear();
+
+ ::rtl::OUStringBuffer aBuffer;
+ SvXMLUnitConverter::convertDateTime( aBuffer, aDateTime, sal_False );
+ return aBuffer.makeStringAndClear();
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ bool VCLDateHandler::getPropertyValues( const ::rtl::OUString i_attributeValue, PropertyValues& o_propertyValues ) const
+ {
+ sal_Int32 nVCLDate(0);
+
+ DateTime aDateTime;
+ if ( SvXMLUnitConverter::convertDateTime( aDateTime, i_attributeValue ) )
+ {
+ ::Date aVCLDate( aDateTime.Day, aDateTime.Month, aDateTime.Year );
+ nVCLDate = aVCLDate.GetDate();
+ }
+ else
+ {
+ // compatibility format, before we wrote those values in XML-schema compatible form
+ if ( !SvXMLUnitConverter::convertNumber( nVCLDate, i_attributeValue ) )
+ {
+ OSL_ENSURE( false, "VCLDateHandler::getPropertyValues: unknown date format (no XML-schema date, no legacy integer)!" );
+ return false;
+ }
+ }
+
+ const Any aPropertyValue( makeAny( nVCLDate ) );
+
+ OSL_ENSURE( o_propertyValues.size() == 1, "VCLDateHandler::getPropertyValues: date strings represent exactly one property - not more, not less!" );
+ for ( PropertyValues::iterator prop = o_propertyValues.begin();
+ prop != o_propertyValues.end();
+ ++prop
+ )
+ {
+ prop->second = aPropertyValue;
+ }
+ return true;
+ }
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
diff --git a/xmloff/source/forms/handler/vcl_date_handler.hxx b/xmloff/source/forms/handler/vcl_date_handler.hxx
new file mode 100644
index 0000000000..44a7f7395c
--- /dev/null
+++ b/xmloff/source/forms/handler/vcl_date_handler.hxx
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * 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 XMLOFF_VCL_DATE_HANDLER_HXX
+#define XMLOFF_VCL_DATE_HANDLER_HXX
+
+#include "property_handler_base.hxx"
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= VCLDateHandler
+ //==================================================================================================================
+ class VCLDateHandler : public PropertyHandlerBase
+ {
+ public:
+ VCLDateHandler();
+
+ // IPropertyHandler
+ virtual ::rtl::OUString getAttributeValue( const PropertyValues& i_propertyValues ) const;
+ virtual ::rtl::OUString getAttributeValue( const ::com::sun::star::uno::Any& i_propertyValue ) const;
+ virtual bool getPropertyValues( const ::rtl::OUString i_attributeValue, PropertyValues& o_propertyValues ) const;
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_VCL_DATE_HANDLER_HXX
diff --git a/xmloff/source/forms/handler/vcl_time_handler.cxx b/xmloff/source/forms/handler/vcl_time_handler.cxx
new file mode 100644
index 0000000000..98ea739d04
--- /dev/null
+++ b/xmloff/source/forms/handler/vcl_time_handler.cxx
@@ -0,0 +1,115 @@
+/*************************************************************************
+ * 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_xmloff.hxx"
+
+#include "vcl_time_handler.hxx"
+#include "xmloff/xmluconv.hxx"
+
+#include <com/sun/star/util/DateTime.hpp>
+
+#include <tools/diagnose_ex.h>
+#include <tools/time.hxx>
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ using ::com::sun::star::uno::Any;
+ using ::com::sun::star::uno::makeAny;
+ using ::com::sun::star::util::DateTime;
+
+ //==================================================================================================================
+ //= VCLTimeHandler
+ //==================================================================================================================
+ //------------------------------------------------------------------------------------------------------------------
+ VCLTimeHandler::VCLTimeHandler()
+ {
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ ::rtl::OUString VCLTimeHandler::getAttributeValue( const PropertyValues& /*i_propertyValues*/ ) const
+ {
+ OSL_ENSURE( false, "VCLTimeHandler::getAttributeValue: unexpected call!" );
+ return ::rtl::OUString();
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ ::rtl::OUString VCLTimeHandler::getAttributeValue( const Any& i_propertyValue ) const
+ {
+ sal_Int32 nVCLTime(0);
+ OSL_VERIFY( i_propertyValue >>= nVCLTime );
+ ::Time aVCLTime( nVCLTime );
+
+ DateTime aDateTime; // default-inited to 0
+ aDateTime.Hours = aVCLTime.GetHour();
+ aDateTime.Minutes = aVCLTime.GetMin();
+ aDateTime.Seconds = aVCLTime.GetSec();
+ aDateTime.HundredthSeconds = aVCLTime.Get100Sec();
+
+ ::rtl::OUStringBuffer aBuffer;
+ SvXMLUnitConverter::convertTime( aBuffer, aDateTime );
+ return aBuffer.makeStringAndClear();
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ bool VCLTimeHandler::getPropertyValues( const ::rtl::OUString i_attributeValue, PropertyValues& o_propertyValues ) const
+ {
+ sal_Int32 nVCLTime(0);
+
+ DateTime aDateTime;
+ if ( SvXMLUnitConverter::convertTime( aDateTime, i_attributeValue ) )
+ {
+ ::Time aVCLTime( aDateTime.Hours, aDateTime.Minutes, aDateTime.Seconds, aDateTime.HundredthSeconds );
+ nVCLTime = aVCLTime.GetTime();
+ }
+ else
+ {
+ // compatibility format, before we wrote those values in XML-schema compatible form
+ if ( !SvXMLUnitConverter::convertNumber( nVCLTime, i_attributeValue ) )
+ {
+ OSL_ENSURE( false, "VCLTimeHandler::getPropertyValues: unknown time format (no XML-schema time, no legacy integer)!" );
+ return false;
+ }
+ }
+
+ const Any aPropertyValue( makeAny( nVCLTime ) );
+
+ OSL_ENSURE( o_propertyValues.size() == 1, "VCLTimeHandler::getPropertyValues: time strings represent exactly one property - not more, not less!" );
+ for ( PropertyValues::iterator prop = o_propertyValues.begin();
+ prop != o_propertyValues.end();
+ ++prop
+ )
+ {
+ prop->second = aPropertyValue;
+ }
+ return true;
+ }
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
diff --git a/xmloff/source/forms/handler/vcl_time_handler.hxx b/xmloff/source/forms/handler/vcl_time_handler.hxx
new file mode 100644
index 0000000000..7ed6f0aa57
--- /dev/null
+++ b/xmloff/source/forms/handler/vcl_time_handler.hxx
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * 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 XMLOFF_VCL_TIME_HANDLER_HXX
+#define XMLOFF_VCL_TIME_HANDLER_HXX
+
+#include "property_handler_base.hxx"
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= VCLTimeHandler
+ //==================================================================================================================
+ class VCLTimeHandler : public PropertyHandlerBase
+ {
+ public:
+ VCLTimeHandler();
+
+ // IPropertyHandler
+ virtual ::rtl::OUString getAttributeValue( const PropertyValues& i_propertyValues ) const;
+ virtual ::rtl::OUString getAttributeValue( const ::com::sun::star::uno::Any& i_propertyValue ) const;
+ virtual bool getPropertyValues( const ::rtl::OUString i_attributeValue, PropertyValues& o_propertyValues ) const;
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_VCL_TIME_HANDLER_HXX
diff --git a/xmloff/source/forms/layerexport.cxx b/xmloff/source/forms/layerexport.cxx
index 2d3c5a8e12..b03d6437a8 100644
--- a/xmloff/source/forms/layerexport.cxx
+++ b/xmloff/source/forms/layerexport.cxx
@@ -33,7 +33,7 @@
#include "strings.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlprmap.hxx>
#include <xmloff/prhdlfac.hxx>
@@ -54,7 +54,7 @@
#include <xmloff/XMLEventExport.hxx>
#include "formevents.hxx"
#include <xmloff/xmlnumfe.hxx>
-#include "xformsexport.hxx"
+#include "xmloff/xformsexport.hxx"
/** === begin UNO includes === **/
#include <com/sun/star/text/XText.hpp>
diff --git a/xmloff/source/forms/layerimport.cxx b/xmloff/source/forms/layerimport.cxx
index 5fe178f561..a1d329f81c 100644
--- a/xmloff/source/forms/layerimport.cxx
+++ b/xmloff/source/forms/layerimport.cxx
@@ -58,9 +58,9 @@
#include "controlpropertymap.hxx"
#include "formevents.hxx"
#include "formcellbinding.hxx"
-#include "xformsimport.hxx"
+#include "xmloff/xformsimport.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <rtl/logfile.hxx>
#include <algorithm>
diff --git a/xmloff/source/forms/makefile.mk b/xmloff/source/forms/makefile.mk
deleted file mode 100644
index 6b6aa68d72..0000000000
--- a/xmloff/source/forms/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=xmloff
-TARGET=forms
-
-ENABLE_EXCEPTIONS=sal_True
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/officeforms.obj \
- $(SLO)$/formevents.obj \
- $(SLO)$/eventimport.obj \
- $(SLO)$/eventexport.obj \
- $(SLO)$/controlpropertyhdl.obj \
- $(SLO)$/controlpropertymap.obj \
- $(SLO)$/valueproperties.obj \
- $(SLO)$/attriblistmerge.obj \
- $(SLO)$/controlelement.obj \
- $(SLO)$/formlayerexport.obj \
- $(SLO)$/layerexport.obj \
- $(SLO)$/elementexport.obj \
- $(SLO)$/propertyexport.obj \
- $(SLO)$/elementimport.obj \
- $(SLO)$/layerimport.obj \
- $(SLO)$/propertyimport.obj \
- $(SLO)$/formlayerimport.obj \
- $(SLO)$/formattributes.obj \
- $(SLO)$/formenums.obj \
- $(SLO)$/formsimp.obj \
- $(SLO)$/strings.obj \
- $(SLO)$/logging.obj \
- $(SLO)$/formcellbinding.obj \
- $(SLO)$/gridcolumnproptranslator.obj \
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmloff/source/forms/officeforms.cxx b/xmloff/source/forms/officeforms.cxx
index a27cca435f..d908510224 100644
--- a/xmloff/source/forms/officeforms.cxx
+++ b/xmloff/source/forms/officeforms.cxx
@@ -30,7 +30,7 @@
#include "officeforms.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/forms/property_description.hxx b/xmloff/source/forms/property_description.hxx
new file mode 100644
index 0000000000..4edab2e649
--- /dev/null
+++ b/xmloff/source/forms/property_description.hxx
@@ -0,0 +1,140 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_DESCRIPTION_HXX
+#define XMLOFF_PROPERTY_DESCRIPTION_HXX
+
+#include "forms/property_handler.hxx"
+#include "property_group.hxx"
+
+#include "xmloff/xmltoken.hxx"
+
+#include <vector>
+#include <list>
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PropertyDescription
+ //==================================================================================================================
+ struct AttributeDescription
+ {
+ sal_uInt16 namespacePrefix; // usually XML_NAMESPACE_FORM
+ ::xmloff::token::XMLTokenEnum attributeToken;
+
+ AttributeDescription()
+ :namespacePrefix( 0 )
+ ,attributeToken( ::xmloff::token::XML_TOKEN_INVALID )
+ {
+ }
+
+ AttributeDescription(
+ const sal_uInt16 i_namespacePrefix,
+ const ::xmloff::token::XMLTokenEnum i_attributeToken
+ )
+ :namespacePrefix( i_namespacePrefix )
+ ,attributeToken( i_attributeToken )
+ {
+ }
+ };
+
+ //..................................................................................................................
+ inline bool operator==( const AttributeDescription& i_lhs, const AttributeDescription& i_rhs )
+ {
+ return ( i_lhs.namespacePrefix == i_rhs.namespacePrefix )
+ && ( i_lhs.attributeToken == i_rhs.attributeToken );
+ }
+
+ //==================================================================================================================
+ //= PropertyDescription
+ //==================================================================================================================
+ struct PropertyDescription
+ {
+ /// is the name of the property
+ const ::rtl::OUString propertyName;
+ /** denotes the attribute which represents the property. Note that multiple properties might comprise a single
+ attribute value.
+ */
+ const AttributeDescription attribute;
+ /// is the factory for creating a handler for reading and writing the property
+ const PropertyHandlerFactory factory;
+ /// the unique ID of the property. The property meta data table must not contain two entries with the same property ID
+ const PropertyId propertyId;
+ /** the group which the property belongs to. Multiple properties belonging to the same group will, all together,
+ define the attribute value to be written into the ODF file.
+
+ Consequently, properties which have the same |propertyGroup| value must also have the same |attribute|
+ and the same |factory| value, with the only exception being NO_GROUP properties.
+
+ Note that the other direction is not given: It is perfectly legitimate to map the same attribute to different
+ (disjunct) property groups.
+ */
+ const PropertyGroup propertyGroup;
+
+ PropertyDescription()
+ :propertyName()
+ ,attribute()
+ ,factory( NULL )
+ ,propertyId( PID_INVALID )
+ ,propertyGroup( NO_GROUP )
+ {
+ }
+
+ PropertyDescription(
+ const ::rtl::OUString& i_propertyName,
+ const sal_uInt16 i_namespacePrefix,
+ const ::xmloff::token::XMLTokenEnum i_attributeToken,
+ const PropertyHandlerFactory i_factory,
+ const PropertyId i_propertyId,
+ const PropertyGroup i_propertyGroup
+ )
+ :propertyName( i_propertyName )
+ ,attribute( i_namespacePrefix, i_attributeToken )
+ ,factory( i_factory )
+ ,propertyId( i_propertyId )
+ ,propertyGroup( i_propertyGroup )
+ {
+ }
+ };
+
+ //==================================================================================================================
+ //= PropertyDescriptionList
+ //==================================================================================================================
+ typedef ::std::vector< const PropertyDescription* > PropertyDescriptionList;
+
+ //==================================================================================================================
+ //= PropertyGroups
+ //==================================================================================================================
+ typedef ::std::list< PropertyDescriptionList > PropertyGroups;
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_DESCRIPTION_HXX
diff --git a/xmloff/source/forms/property_group.hxx b/xmloff/source/forms/property_group.hxx
new file mode 100644
index 0000000000..bca354f14e
--- /dev/null
+++ b/xmloff/source/forms/property_group.hxx
@@ -0,0 +1,47 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_GROUP_HXX
+#define XMLOFF_PROPERTY_GROUP_HXX
+
+//......................................................................................................................
+namespace xmloff
+{
+//......................................................................................................................
+
+ //==================================================================================================================
+ //= PropertyGroup
+ //==================================================================================================================
+ enum PropertyGroup
+ {
+ NO_GROUP
+ };
+
+//......................................................................................................................
+} // namespace xmloff
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_GROUP_HXX
diff --git a/xmloff/source/forms/property_meta_data.cxx b/xmloff/source/forms/property_meta_data.cxx
new file mode 100644
index 0000000000..5930d12357
--- /dev/null
+++ b/xmloff/source/forms/property_meta_data.cxx
@@ -0,0 +1,270 @@
+/*************************************************************************
+ * 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_xmloff.hxx"
+
+#include "property_description.hxx"
+#include "forms/form_handler_factory.hxx"
+#include "strings.hxx"
+#include "xmloff/xmltoken.hxx"
+#include "xmloff/xmlnmspe.hxx"
+
+#include <tools/diagnose_ex.h>
+#include <tools/debug.hxx>
+
+#include <hash_map>
+
+//......................................................................................................................
+namespace xmloff { namespace metadata
+{
+//......................................................................................................................
+
+ using namespace ::xmloff::token;
+
+#define FORM_SINGLE_PROPERTY( id, att ) \
+ PropertyDescription( PROPERTY_##id, XML_NAMESPACE_FORM, att, &FormHandlerFactory::getFormPropertyHandler, PID_##id, NO_GROUP )
+
+ //==================================================================================================================
+ //= property meta data
+ //==================================================================================================================
+ //------------------------------------------------------------------------------------------------------------------
+ namespace
+ {
+ const PropertyDescription* lcl_getPropertyMetaData()
+ {
+ static const PropertyDescription s_propertyMetaData[] =
+ {
+ FORM_SINGLE_PROPERTY( DATE_MIN, XML_MIN_VALUE ),
+ FORM_SINGLE_PROPERTY( DATE_MAX, XML_MAX_VALUE ),
+ FORM_SINGLE_PROPERTY( DEFAULT_DATE, XML_VALUE ),
+ FORM_SINGLE_PROPERTY( DATE, XML_CURRENT_VALUE ),
+ FORM_SINGLE_PROPERTY( TIME_MIN, XML_MIN_VALUE ),
+ FORM_SINGLE_PROPERTY( TIME_MAX, XML_MAX_VALUE ),
+ FORM_SINGLE_PROPERTY( DEFAULT_TIME, XML_VALUE ),
+ FORM_SINGLE_PROPERTY( TIME, XML_CURRENT_VALUE ),
+
+ PropertyDescription()
+ };
+ return s_propertyMetaData;
+ }
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ namespace
+ {
+ // TODO: instead of having all of the below static, it should be some per-instance data. This way, the
+ // approach used here would scale much better.
+ // That is, if you have multiple "meta data instances", which manage a small, but closed set of properties,
+ // then looking looking through those multiple instances would probably be faster than searching within
+ // one big instance, since in this case, every instance can quickly decide whether it is responsible
+ // for some attribute or property, and otherwise delegate to the next instance.
+
+ //..............................................................................................................
+ typedef ::std::hash_map< ::rtl::OUString, const PropertyDescription*, ::rtl::OUStringHash > DescriptionsByName;
+
+ //..............................................................................................................
+ const DescriptionsByName& lcl_getPropertyDescriptions()
+ {
+ DBG_TESTSOLARMUTEX();
+ static DescriptionsByName s_propertyDescriptionsByName;
+ if ( s_propertyDescriptionsByName.empty() )
+ {
+ const PropertyDescription* desc = lcl_getPropertyMetaData();
+ while ( desc->propertyName.getLength() != 0 )
+ {
+ s_propertyDescriptionsByName[ desc->propertyName ] = desc;
+ ++desc;
+ }
+ }
+ return s_propertyDescriptionsByName;
+ }
+
+ //..............................................................................................................
+ typedef ::std::map< PropertyGroup, PropertyDescriptionList > IndexedPropertyGroups;
+
+ //..............................................................................................................
+ const IndexedPropertyGroups& lcl_getIndexedPropertyGroups()
+ {
+ DBG_TESTSOLARMUTEX();
+ static IndexedPropertyGroups s_indexedPropertyGroups;
+ if ( s_indexedPropertyGroups.empty() )
+ {
+ const PropertyDescription* desc = lcl_getPropertyMetaData();
+ while ( desc->propertyName.getLength() != 0 )
+ {
+ if ( desc->propertyGroup != NO_GROUP )
+ s_indexedPropertyGroups[ desc->propertyGroup ].push_back( desc );
+ ++desc;
+ }
+ }
+ return s_indexedPropertyGroups;
+ }
+
+ //..............................................................................................................
+ typedef ::std::hash_map< ::rtl::OUString, XMLTokenEnum, ::rtl::OUStringHash > ReverseTokenLookup;
+
+ //..............................................................................................................
+ const ReverseTokenLookup& getReverseTokenLookup()
+ {
+ DBG_TESTSOLARMUTEX();
+ static ReverseTokenLookup s_reverseTokenLookup;
+ if ( s_reverseTokenLookup.empty() )
+ {
+ const PropertyDescription* desc = lcl_getPropertyMetaData();
+ while ( desc->propertyName.getLength() != 0 )
+ {
+ s_reverseTokenLookup[ token::GetXMLToken( desc->attribute.attributeToken ) ] = desc->attribute.attributeToken;
+ ++desc;
+ }
+ }
+ return s_reverseTokenLookup;
+ }
+
+ //..............................................................................................................
+ struct AttributeHash : public ::std::unary_function< AttributeDescription, size_t >
+ {
+ size_t operator()( const AttributeDescription& i_attribute ) const
+ {
+ return size_t( i_attribute.attributeToken * 100 ) + size_t( i_attribute.namespacePrefix );
+ }
+ };
+
+ //..............................................................................................................
+ typedef ::std::hash_multimap< AttributeDescription, PropertyGroup, AttributeHash > AttributeGroups;
+
+ //..............................................................................................................
+ const AttributeGroups& lcl_getAttributeGroups()
+ {
+ DBG_TESTSOLARMUTEX();
+ static AttributeGroups s_attributeGroups;
+ if ( s_attributeGroups.empty() )
+ {
+ const PropertyDescription* desc = lcl_getPropertyMetaData();
+ while ( desc->propertyName.getLength() != 0 )
+ {
+ if ( desc->propertyGroup != NO_GROUP )
+ s_attributeGroups.insert( AttributeGroups::value_type( desc->attribute, desc->propertyGroup ) );
+ ++desc;
+ }
+ }
+ return s_attributeGroups;
+ }
+
+ //..............................................................................................................
+ typedef ::std::hash_map< AttributeDescription, PropertyGroups, AttributeHash > AttributesWithoutGroup;
+
+ //..............................................................................................................
+ const AttributesWithoutGroup& lcl_getAttributesWithoutGroups()
+ {
+ DBG_TESTSOLARMUTEX();
+ static AttributesWithoutGroup s_attributesWithoutGroup;
+ if ( s_attributesWithoutGroup.empty() )
+ {
+ const PropertyDescription* desc = lcl_getPropertyMetaData();
+ while ( desc->propertyName.getLength() != 0 )
+ {
+ if ( desc->propertyGroup == NO_GROUP )
+ {
+ PropertyDescriptionList singleElementList;
+ singleElementList.push_back( desc );
+
+ s_attributesWithoutGroup[ desc->attribute ].push_back( singleElementList );
+ }
+ ++desc;
+ }
+ }
+ return s_attributesWithoutGroup;
+ }
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ const PropertyDescription* getPropertyDescription( const ::rtl::OUString& i_propertyName )
+ {
+ const DescriptionsByName& rAllDescriptions( lcl_getPropertyDescriptions() );
+ DescriptionsByName::const_iterator pos = rAllDescriptions.find( i_propertyName );
+ if ( pos != rAllDescriptions.end() )
+ return pos->second;
+ return NULL;
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ void getPropertyGroup( const PropertyGroup i_propertyGroup, PropertyDescriptionList& o_propertyDescriptions )
+ {
+ OSL_ENSURE( i_propertyGroup != NO_GROUP, "xmloff::metadata::getPropertyGroup: illegal group!" );
+
+ const IndexedPropertyGroups& rPropertyGroups( lcl_getIndexedPropertyGroups() );
+ const IndexedPropertyGroups::const_iterator pos = rPropertyGroups.find( i_propertyGroup );
+ if ( pos != rPropertyGroups.end() )
+ o_propertyDescriptions = pos->second;
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ void getPropertyGroupList( const AttributeDescription& i_attribute, PropertyGroups& o_propertyGroups )
+ {
+ const AttributeGroups& rAttributeGroups = lcl_getAttributeGroups();
+
+ ::std::pair< AttributeGroups::const_iterator, AttributeGroups::const_iterator >
+ range = rAttributeGroups.equal_range( i_attribute );
+
+ if ( range.first == range.second )
+ {
+ // the attribute is not used for any non-trivial group, which means it is mapped directly to
+ // a single property
+ const AttributesWithoutGroup& attributesWithoutGroups( lcl_getAttributesWithoutGroups() );
+ const AttributesWithoutGroup::const_iterator pos = attributesWithoutGroups.find( i_attribute );
+ if ( pos != attributesWithoutGroups.end() )
+ o_propertyGroups = pos->second;
+ }
+ else
+ {
+ const IndexedPropertyGroups& rPropertyGroups = lcl_getIndexedPropertyGroups();
+ for ( AttributeGroups::const_iterator group = range.first; group != range.second; ++group )
+ {
+ const PropertyGroup propGroup = group->second;
+ const IndexedPropertyGroups::const_iterator groupPos = rPropertyGroups.find( propGroup );
+ ENSURE_OR_CONTINUE( groupPos != rPropertyGroups.end(), "getPropertyGroupList: inconsistency!" );
+ o_propertyGroups.push_back( groupPos->second );
+ }
+ }
+ }
+
+ //------------------------------------------------------------------------------------------------------------------
+ AttributeDescription getAttributeDescription( const sal_uInt16 i_namespacePrefix, const ::rtl::OUString& i_attributeName )
+ {
+ AttributeDescription attribute;
+ const ReverseTokenLookup& rTokenLookup( getReverseTokenLookup() );
+ const ReverseTokenLookup::const_iterator pos = rTokenLookup.find( i_attributeName );
+ if ( pos != rTokenLookup.end() )
+ {
+ attribute.namespacePrefix = i_namespacePrefix;
+ attribute.attributeToken = pos->second;
+ }
+ return attribute;
+ }
+
+//......................................................................................................................
+} } // namespace xmloff::metadata
+//......................................................................................................................
diff --git a/xmloff/source/forms/property_meta_data.hxx b/xmloff/source/forms/property_meta_data.hxx
new file mode 100644
index 0000000000..f246a7bfd7
--- /dev/null
+++ b/xmloff/source/forms/property_meta_data.hxx
@@ -0,0 +1,65 @@
+/*************************************************************************
+ * 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 XMLOFF_PROPERTY_META_DATA_HXX
+#define XMLOFF_PROPERTY_META_DATA_HXX
+
+#include "property_description.hxx"
+
+//......................................................................................................................
+namespace xmloff { namespace metadata
+{
+//......................................................................................................................
+
+ const PropertyDescription* getPropertyDescription( const ::rtl::OUString& i_propertyName );
+
+ /** retries the descriptions of all properties which add to the given XML attribute
+
+ <p>Effectively, the complete property map is search for all entries which have the given
+ namespace/attribute values.</p>
+ */
+ void getPropertyGroup(
+ const PropertyGroup i_propertyGroup,
+ PropertyDescriptionList& o_propertyDescriptions
+ );
+
+ /** retrieves all known property groups which are mapped to the given attribute
+ */
+ void getPropertyGroupList(
+ const AttributeDescription& i_attribute,
+ PropertyGroups& o_propertyGroups
+ );
+
+ /** retrieves the attribute descriptor for the attribute given by namespace prefix and attribute name
+ */
+ AttributeDescription
+ getAttributeDescription( const sal_uInt16 i_namespacePrefix, const ::rtl::OUString& i_attributeName );
+
+//......................................................................................................................
+} } // namespace xmloff::metadata
+//......................................................................................................................
+
+#endif // XMLOFF_PROPERTY_META_DATA_HXX
diff --git a/xmloff/source/forms/propertyexport.cxx b/xmloff/source/forms/propertyexport.cxx
index 41b7587ce2..305012404b 100644
--- a/xmloff/source/forms/propertyexport.cxx
+++ b/xmloff/source/forms/propertyexport.cxx
@@ -32,12 +32,11 @@
#include "propertyexport.hxx"
#include <xmloff/xmlexp.hxx>
#include "strings.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/families.hxx>
#include <osl/diagnose.h>
#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/util/Date.hpp>
#include <com/sun/star/util/Time.hpp>
#include <com/sun/star/util/DateTime.hpp>
@@ -72,6 +71,8 @@ namespace xmloff
OPropertyExport::OPropertyExport(IFormsExportContext& _rContext, const Reference< XPropertySet >& _rxProps)
:m_rContext(_rContext)
,m_xProps(_rxProps)
+ ,m_xPropertyInfo( m_xProps->getPropertySetInfo() )
+ ,m_xPropertyState( _rxProps, UNO_QUERY )
{
// caching
::rtl::OUStringBuffer aBuffer;
@@ -80,7 +81,6 @@ namespace xmloff
m_rContext.getGlobalContext().GetMM100UnitConverter().convertBool(aBuffer, sal_False);
m_sValueFalse = aBuffer.makeStringAndClear();
- m_xPropertyInfo = m_xProps->getPropertySetInfo();
OSL_ENSURE(m_xPropertyInfo.is(), "OPropertyExport::OPropertyExport: need an XPropertySetInfo!");
// collect the properties which need to be exported
@@ -88,6 +88,18 @@ namespace xmloff
}
//---------------------------------------------------------------------
+ bool OPropertyExport::shouldExportProperty( const ::rtl::OUString& i_propertyName ) const
+ {
+ // if the property state is DEFAULT, it does not need to be written - at least
+ // if it's a built-in property, and not a dynamically-added one.
+ bool bIsDefaultValue = m_xPropertyState.is()
+ && ( PropertyState_DEFAULT_VALUE == m_xPropertyState->getPropertyState( i_propertyName ) );
+ bool bIsDynamicProperty = m_xPropertyInfo.is()
+ && ( ( m_xPropertyInfo->getPropertyByName( i_propertyName ).Attributes & PropertyAttribute::REMOVEABLE ) != 0 );
+ return ( !bIsDefaultValue || bIsDynamicProperty );
+ }
+
+ //---------------------------------------------------------------------
void OPropertyExport::exportRemainingProperties()
{
// the properties tag (will be created if we have at least one no-default property)
@@ -95,9 +107,6 @@ namespace xmloff
try
{
- Reference< XPropertyState > xPropertyState( m_xProps, UNO_QUERY );
- Reference< XPropertySetInfo > xPSI( m_xProps->getPropertySetInfo() );
-
Any aValue;
::rtl::OUString sValue;
@@ -112,13 +121,7 @@ namespace xmloff
#if OSL_DEBUG_LEVEL > 0
const ::rtl::OUString sPropertyName = *aProperty; (void)sPropertyName;
#endif
- // if the property state is DEFAULT, it does not need to be written - at least
- // if it's a built-in property, and not a dynamically-added one.
- bool bIsDefaultValue = xPropertyState.is()
- && ( PropertyState_DEFAULT_VALUE == xPropertyState->getPropertyState( *aProperty ) );
- bool bIsDynamicProperty = xPSI.is()
- && ( ( xPSI->getPropertyByName( *aProperty ).Attributes & PropertyAttribute::REMOVEABLE ) != 0 );
- if ( bIsDefaultValue && !bIsDynamicProperty )
+ if ( !shouldExportProperty( *aProperty ) )
continue;
// now that we have the first sub-tag we need the form:properties element
diff --git a/xmloff/source/forms/propertyexport.hxx b/xmloff/source/forms/propertyexport.hxx
index ddba9758b1..3cd0f10a78 100644
--- a/xmloff/source/forms/propertyexport.hxx
+++ b/xmloff/source/forms/propertyexport.hxx
@@ -31,6 +31,7 @@
#include "formattributes.hxx"
#include <comphelper/stl_types.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/beans/XPropertyState.hpp>
#include <callbacks.hxx>
#include <xmloff/xmlexp.hxx>
#include "callbacks.hxx"
@@ -74,10 +75,12 @@ namespace xmloff
protected:
IFormsExportContext& m_rContext;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
- m_xProps;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
- m_xPropertyInfo;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
+ m_xProps;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo >
+ m_xPropertyInfo;
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyState >
+ m_xPropertyState;
// caching
::rtl::OUString m_sValueTrue;
@@ -308,6 +311,14 @@ namespace xmloff
const sal_Unicode _aQuoteCharacter = '"',
const sal_Unicode _aListSeparator = ',');
+ /** determines whether the given property is to be exported
+
+ <p>Currently, the method simply checks whether the property's state is <em>not</em> PropertyState.DEFAULT,
+ or whether the property is a dynamic property (i.e. added via an <code>XPropertyContainer</code>).
+ So, take care when using the method - the heuristics is not applicable for all properties.</p>
+ */
+ bool shouldExportProperty( const ::rtl::OUString& i_propertyName ) const;
+
/** tries to convert an arbitrary <type scope="com.sun:star.uno">Any</type> into an string
<p>If the type contained in the Any is not supported, the returned string will be empty. In the
diff --git a/xmloff/source/forms/propertyimport.cxx b/xmloff/source/forms/propertyimport.cxx
index 9cf2bea366..866127fcd0 100644
--- a/xmloff/source/forms/propertyimport.cxx
+++ b/xmloff/source/forms/propertyimport.cxx
@@ -34,7 +34,7 @@
#include <osl/diagnose.h>
#include <comphelper/extract.hxx>
#include "callbacks.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <tools/date.hxx>
#include <tools/time.hxx>
#include <tools/datetime.hxx>
@@ -349,7 +349,7 @@ _rChars
}
//---------------------------------------------------------------------
-void OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
+bool OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const ::rtl::OUString& _rLocalName, const ::rtl::OUString& _rValue)
{
const OAttribute2Property::AttributeAssignment* pProperty = m_rContext.getAttributeMap().getAttributeTranslation(_rLocalName);
if (pProperty)
@@ -361,18 +361,21 @@ void OPropertyImport::handleAttribute(sal_uInt16 /*_nNamespaceKey*/, const ::rtl
// convert the value string into the target type
aNewValue.Value = PropertyConversion::convertString(m_rContext.getGlobalContext(), pProperty->aPropertyType, _rValue, pProperty->pEnumMap, pProperty->bInverseSemantics);
implPushBackPropertyValue( aNewValue );
+ return true;
}
-#if OSL_DEBUG_LEVEL > 0
- else if (!token::IsXMLToken(_rLocalName, token::XML_TYPE)) // xlink:type is valid but ignored for <form:form>
+ if (!token::IsXMLToken(_rLocalName, token::XML_TYPE)) // xlink:type is valid but ignored for <form:form>
{
+#if OSL_DEBUG_LEVEL > 0
::rtl::OString sMessage( "OPropertyImport::handleAttribute: Can't handle the following:\n" );
sMessage += ::rtl::OString( " Attribute name: " );
sMessage += ::rtl::OString( _rLocalName.getStr(), _rLocalName.getLength(), osl_getThreadTextEncoding() );
sMessage += ::rtl::OString( "\n value: " );
sMessage += ::rtl::OString( _rValue.getStr(), _rValue.getLength(), osl_getThreadTextEncoding() );
OSL_ENSURE( sal_False, sMessage.getStr() );
- }
#endif
+ return false;
+ }
+ return true;
}
//=====================================================================
diff --git a/xmloff/source/forms/propertyimport.hxx b/xmloff/source/forms/propertyimport.hxx
index 647af830f1..6166d97ad1 100644
--- a/xmloff/source/forms/propertyimport.hxx
+++ b/xmloff/source/forms/propertyimport.hxx
@@ -119,7 +119,7 @@ namespace xmloff
@param _rValue
attribute value
*/
- virtual void handleAttribute(sal_uInt16 _nNamespaceKey,
+ virtual bool handleAttribute(sal_uInt16 _nNamespaceKey,
const ::rtl::OUString& _rLocalName,
const ::rtl::OUString& _rValue);
diff --git a/xmloff/source/forms/valueproperties.cxx b/xmloff/source/forms/valueproperties.cxx
index 76113a6c7b..e915009749 100644
--- a/xmloff/source/forms/valueproperties.cxx
+++ b/xmloff/source/forms/valueproperties.cxx
@@ -65,16 +65,6 @@ namespace xmloff
}
break;
- case FormComponentType::DATEFIELD:
- _rpCurrentValuePropertyName = PROPERTY_DATE;
- _rpValuePropertyName = PROPERTY_DEFAULT_DATE;
- break;
-
- case FormComponentType::TIMEFIELD:
- _rpCurrentValuePropertyName = PROPERTY_TIME;
- _rpValuePropertyName = PROPERTY_DEFAULT_TIME;
- break;
-
case FormComponentType::NUMERICFIELD:
case FormComponentType::CURRENCYFIELD:
_rpCurrentValuePropertyName = PROPERTY_VALUE;
@@ -108,6 +98,10 @@ namespace xmloff
_rpCurrentValuePropertyName = PROPERTY_SPINVALUE;
_rpValuePropertyName = PROPERTY_DEFAULT_SPINVALUE;
break;
+
+ default:
+ OSL_ENSURE( false, "OValuePropertiesMetaData::getValuePropertyNames: unsupported component type!" );
+ break;
}
}
@@ -119,16 +113,6 @@ namespace xmloff
_rpMinValuePropertyName = _rpMaxValuePropertyName = NULL;
switch (_nFormComponentType)
{
- case FormComponentType::DATEFIELD:
- _rpMinValuePropertyName = PROPERTY_DATE_MIN;
- _rpMaxValuePropertyName = PROPERTY_DATE_MAX;
- break;
-
- case FormComponentType::TIMEFIELD:
- _rpMinValuePropertyName = PROPERTY_TIME_MIN;
- _rpMaxValuePropertyName = PROPERTY_TIME_MAX;
- break;
-
case FormComponentType::NUMERICFIELD:
case FormComponentType::CURRENCYFIELD:
_rpMinValuePropertyName = PROPERTY_VALUE_MIN;
@@ -149,6 +133,10 @@ namespace xmloff
_rpMinValuePropertyName = PROPERTY_SPINVALUE_MIN;
_rpMaxValuePropertyName = PROPERTY_SPINVALUE_MAX;
break;
+
+ default:
+ OSL_ENSURE( false, "OValuePropertiesMetaData::getValueLimitPropertyNames: unsupported component type!" );
+ break;
}
}
@@ -175,7 +163,15 @@ namespace xmloff
break;
case FormComponentType::DATEFIELD:
+ _rpValuePropertyName = PROPERTY_DATE;
+ _rpDefaultValuePropertyName = PROPERTY_DEFAULT_DATE;
+ break;
+
case FormComponentType::TIMEFIELD:
+ _rpValuePropertyName = PROPERTY_TIME;
+ _rpDefaultValuePropertyName = PROPERTY_DEFAULT_TIME;
+ break;
+
case FormComponentType::NUMERICFIELD:
case FormComponentType::CURRENCYFIELD:
case FormComponentType::PATTERNFIELD:
diff --git a/xmloff/source/meta/MetaExportComponent.cxx b/xmloff/source/meta/MetaExportComponent.cxx
index 2f416d32a2..54093c7821 100644
--- a/xmloff/source/meta/MetaExportComponent.cxx
+++ b/xmloff/source/meta/MetaExportComponent.cxx
@@ -45,7 +45,7 @@
//#endif
#include <comphelper/genericpropertyset.hxx>
#include <rtl/ustrbuf.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlmetae.hxx>
diff --git a/xmloff/source/meta/MetaImportComponent.cxx b/xmloff/source/meta/MetaImportComponent.cxx
index 34604f32f2..3b99360785 100644
--- a/xmloff/source/meta/MetaImportComponent.cxx
+++ b/xmloff/source/meta/MetaImportComponent.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "MetaImportComponent.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlmetai.hxx>
diff --git a/xmloff/source/meta/makefile.mk b/xmloff/source/meta/makefile.mk
deleted file mode 100644
index 5efb538c98..0000000000
--- a/xmloff/source/meta/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=xmloff
-TARGET=meta
-AUTOSEG=true
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/xmlmetae.obj \
- $(SLO)$/xmlmetai.obj \
- $(SLO)$/MetaExportComponent.obj \
- $(SLO)$/MetaImportComponent.obj \
- $(SLO)$/xmlversion.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/xmloff/source/meta/xmlmetae.cxx b/xmloff/source/meta/xmlmetae.cxx
index 3b487f48bf..6d04323574 100644
--- a/xmloff/source/meta/xmlmetae.cxx
+++ b/xmloff/source/meta/xmlmetae.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <com/sun/star/beans/XPropertyAccess.hpp>
#include <com/sun/star/beans/StringPair.hpp>
diff --git a/xmloff/source/meta/xmlmetai.cxx b/xmloff/source/meta/xmlmetai.cxx
index 4ee99206ff..bd72770279 100644
--- a/xmloff/source/meta/xmlmetai.cxx
+++ b/xmloff/source/meta/xmlmetai.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/script/XMLEventExport.cxx b/xmloff/source/script/XMLEventExport.cxx
index 31d143c62c..04cfba986d 100644
--- a/xmloff/source/script/XMLEventExport.cxx
+++ b/xmloff/source/script/XMLEventExport.cxx
@@ -43,7 +43,7 @@
#include <tools/debug.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/script/XMLEventImportHelper.cxx b/xmloff/source/script/XMLEventImportHelper.cxx
index 7588cbc1da..19026f2453 100644
--- a/xmloff/source/script/XMLEventImportHelper.cxx
+++ b/xmloff/source/script/XMLEventImportHelper.cxx
@@ -34,8 +34,8 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
-#include "xmlerror.hxx"
+#include "xmloff/xmlnmspe.hxx"
+#include "xmloff/xmlerror.hxx"
using ::rtl::OUString;
using ::com::sun::star::xml::sax::XAttributeList;
diff --git a/xmloff/source/script/XMLEventsImportContext.cxx b/xmloff/source/script/XMLEventsImportContext.cxx
index 75a9ca394e..1e07932fe1 100644
--- a/xmloff/source/script/XMLEventsImportContext.cxx
+++ b/xmloff/source/script/XMLEventsImportContext.cxx
@@ -39,9 +39,9 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
using namespace ::com::sun::star::uno;
using namespace ::xmloff::token;
diff --git a/xmloff/source/script/XMLScriptContextFactory.cxx b/xmloff/source/script/XMLScriptContextFactory.cxx
index f0728f1d49..d94098bc74 100644
--- a/xmloff/source/script/XMLScriptContextFactory.cxx
+++ b/xmloff/source/script/XMLScriptContextFactory.cxx
@@ -32,7 +32,7 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/script/XMLScriptExportHandler.cxx b/xmloff/source/script/XMLScriptExportHandler.cxx
index 0e610cb15f..4238226266 100644
--- a/xmloff/source/script/XMLScriptExportHandler.cxx
+++ b/xmloff/source/script/XMLScriptExportHandler.cxx
@@ -36,7 +36,7 @@
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using namespace ::com::sun::star::uno;
diff --git a/xmloff/source/script/XMLStarBasicContextFactory.cxx b/xmloff/source/script/XMLStarBasicContextFactory.cxx
index cc09c3fcf2..1ad54cf236 100644
--- a/xmloff/source/script/XMLStarBasicContextFactory.cxx
+++ b/xmloff/source/script/XMLStarBasicContextFactory.cxx
@@ -32,7 +32,7 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/script/XMLStarBasicExportHandler.cxx b/xmloff/source/script/XMLStarBasicExportHandler.cxx
index 8e9ca88df7..88f1ff1104 100644
--- a/xmloff/source/script/XMLStarBasicExportHandler.cxx
+++ b/xmloff/source/script/XMLStarBasicExportHandler.cxx
@@ -36,7 +36,7 @@
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using namespace ::com::sun::star::uno;
diff --git a/xmloff/source/script/makefile.mk b/xmloff/source/script/makefile.mk
deleted file mode 100644
index 4109ae6fc5..0000000000
--- a/xmloff/source/script/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=xmloff
-TARGET=script
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/XMLEventExport.obj \
- $(SLO)$/XMLEventImportHelper.obj \
- $(SLO)$/XMLEventsImportContext.obj \
- $(SLO)$/XMLScriptContextFactory.obj \
- $(SLO)$/XMLScriptExportHandler.obj \
- $(SLO)$/XMLStarBasicContextFactory.obj \
- $(SLO)$/XMLStarBasicExportHandler.obj \
- $(SLO)$/xmlscripti.obj \
- $(SLO)$/xmlbasici.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/xmloff/source/script/xmlscripti.cxx b/xmloff/source/script/xmlscripti.cxx
index 0c96063964..1441ce4184 100644
--- a/xmloff/source/script/xmlscripti.cxx
+++ b/xmloff/source/script/xmlscripti.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <xmloff/xmlscripti.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/style/DashStyle.cxx b/xmloff/source/style/DashStyle.cxx
index 004b27a9ee..fffd6afc87 100644
--- a/xmloff/source/style/DashStyle.cxx
+++ b/xmloff/source/style/DashStyle.cxx
@@ -29,11 +29,11 @@
#include "precompiled_xmloff.hxx"
#include <com/sun/star/drawing/DashStyle.hpp>
#include <com/sun/star/drawing/LineDash.hpp>
-#include "DashStyle.hxx"
+#include "xmloff/DashStyle.hxx"
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/FillStyleContext.cxx b/xmloff/source/style/FillStyleContext.cxx
index 0f1f2dadfd..08defcaa46 100644
--- a/xmloff/source/style/FillStyleContext.cxx
+++ b/xmloff/source/style/FillStyleContext.cxx
@@ -30,15 +30,15 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include "FillStyleContext.hxx"
#include <xmloff/xmlimp.hxx>
-#include "GradientStyle.hxx"
-#include "HatchStyle.hxx"
-#include "ImageStyle.hxx"
+#include "xmloff/GradientStyle.hxx"
+#include "xmloff/HatchStyle.hxx"
+#include "xmloff/ImageStyle.hxx"
#include "TransGradientStyle.hxx"
-#include "MarkerStyle.hxx"
-#include "DashStyle.hxx"
+#include "xmloff/MarkerStyle.hxx"
+#include "xmloff/DashStyle.hxx"
#include <xmloff/families.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/XMLBase64ImportContext.hxx>
using namespace ::com::sun::star;
diff --git a/xmloff/source/style/GradientStyle.cxx b/xmloff/source/style/GradientStyle.cxx
index 2f7d30e05c..f6d2607a86 100644
--- a/xmloff/source/style/GradientStyle.cxx
+++ b/xmloff/source/style/GradientStyle.cxx
@@ -27,12 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "GradientStyle.hxx"
+#include "xmloff/GradientStyle.hxx"
#include <com/sun/star/awt/Gradient.hpp>
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <rtl/ustrbuf.hxx>
#include <rtl/ustring.hxx>
diff --git a/xmloff/source/style/HatchStyle.cxx b/xmloff/source/style/HatchStyle.cxx
index ce3e2ff611..7d14d48a43 100644
--- a/xmloff/source/style/HatchStyle.cxx
+++ b/xmloff/source/style/HatchStyle.cxx
@@ -27,11 +27,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "HatchStyle.hxx"
+#include "xmloff/HatchStyle.hxx"
#include <com/sun/star/drawing/Hatch.hpp>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/ImageStyle.cxx b/xmloff/source/style/ImageStyle.cxx
index 9120639fd9..ac835e7ef4 100644
--- a/xmloff/source/style/ImageStyle.cxx
+++ b/xmloff/source/style/ImageStyle.cxx
@@ -27,12 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "ImageStyle.hxx"
+#include "xmloff/ImageStyle.hxx"
#include <com/sun/star/awt/XBitmap.hpp>
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include"xmlnmspe.hxx"
+#include"xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/MarkerStyle.cxx b/xmloff/source/style/MarkerStyle.cxx
index bc972933a1..8840a3ca9a 100644
--- a/xmloff/source/style/MarkerStyle.cxx
+++ b/xmloff/source/style/MarkerStyle.cxx
@@ -27,12 +27,12 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "MarkerStyle.hxx"
+#include "xmloff/MarkerStyle.hxx"
#include "xexptran.hxx"
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/PageHeaderFooterContext.cxx b/xmloff/source/style/PageHeaderFooterContext.cxx
index 5c063c92db..a192154647 100644
--- a/xmloff/source/style/PageHeaderFooterContext.cxx
+++ b/xmloff/source/style/PageHeaderFooterContext.cxx
@@ -36,7 +36,7 @@
#ifndef _XMLOFF_PAGEPHEADERFOOTERCONTEXT_HXX
#include "PageHeaderFooterContext.hxx"
#endif
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "PagePropertySetContext.hxx"
diff --git a/xmloff/source/style/PageMasterImportContext.cxx b/xmloff/source/style/PageMasterImportContext.cxx
index a9b135be21..5cbb2a580e 100644
--- a/xmloff/source/style/PageMasterImportContext.cxx
+++ b/xmloff/source/style/PageMasterImportContext.cxx
@@ -30,7 +30,7 @@
#include "PageMasterImportContext.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "PageMasterPropHdl.hxx"
#include "PagePropertySetContext.hxx"
diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx
index b2d3932c8e..95ba06d820 100644
--- a/xmloff/source/style/PageMasterStyleMap.cxx
+++ b/xmloff/source/style/PageMasterStyleMap.cxx
@@ -31,7 +31,7 @@
#ifndef _XMLOFF_PAGEMASTERSTYLEMAP_HXX
#include <xmloff/PageMasterStyleMap.hxx>
#endif
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
using namespace ::xmloff::token;
diff --git a/xmloff/source/style/TransGradientStyle.cxx b/xmloff/source/style/TransGradientStyle.cxx
index 2676e9a0f3..e8891c4d7e 100644
--- a/xmloff/source/style/TransGradientStyle.cxx
+++ b/xmloff/source/style/TransGradientStyle.cxx
@@ -32,7 +32,7 @@
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <rtl/ustrbuf.hxx>
#include <rtl/ustring.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/style/VisAreaContext.cxx b/xmloff/source/style/VisAreaContext.cxx
index c1c2348bab..9273125842 100644
--- a/xmloff/source/style/VisAreaContext.cxx
+++ b/xmloff/source/style/VisAreaContext.cxx
@@ -32,9 +32,9 @@
// INCLUDE ---------------------------------------------------------------
-#include "VisAreaContext.hxx"
+#include "xmloff/VisAreaContext.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/VisAreaExport.cxx b/xmloff/source/style/VisAreaExport.cxx
index 895b838e6f..60eb212791 100644
--- a/xmloff/source/style/VisAreaExport.cxx
+++ b/xmloff/source/style/VisAreaExport.cxx
@@ -28,9 +28,9 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include <com/sun/star/awt/Rectangle.hpp>
-#include "VisAreaExport.hxx"
+#include "xmloff/VisAreaExport.hxx"
#include <xmloff/xmlexp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/style/XMLBackgroundImageContext.cxx b/xmloff/source/style/XMLBackgroundImageContext.cxx
index 8d62e01231..d14fab0247 100644
--- a/xmloff/source/style/XMLBackgroundImageContext.cxx
+++ b/xmloff/source/style/XMLBackgroundImageContext.cxx
@@ -31,7 +31,7 @@
#include <com/sun/star/io/XOutputStream.hpp>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/style/XMLBackgroundImageExport.cxx b/xmloff/source/style/XMLBackgroundImageExport.cxx
index 349cff5edb..83c4908d6c 100644
--- a/xmloff/source/style/XMLBackgroundImageExport.cxx
+++ b/xmloff/source/style/XMLBackgroundImageExport.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <com/sun/star/style/GraphicLocation.hpp>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltoken.hxx>
#include <rtl/ustrbuf.hxx>
#include <xmloff/xmlexp.hxx>
diff --git a/xmloff/source/style/XMLFontAutoStylePool.cxx b/xmloff/source/style/XMLFontAutoStylePool.cxx
index 5914ea7a96..87a76410b0 100644
--- a/xmloff/source/style/XMLFontAutoStylePool.cxx
+++ b/xmloff/source/style/XMLFontAutoStylePool.cxx
@@ -27,12 +27,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-
#include <tools/debug.hxx>
#include <svl/cntnrsrt.hxx>
#include <tools/fontenum.hxx>
-
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include "fonthdl.hxx"
diff --git a/xmloff/source/style/XMLFontStylesContext.cxx b/xmloff/source/style/XMLFontStylesContext.cxx
index e98a9007ae..2e8f5b2711 100644
--- a/xmloff/source/style/XMLFontStylesContext.cxx
+++ b/xmloff/source/style/XMLFontStylesContext.cxx
@@ -34,7 +34,7 @@
#include <rtl/logfile.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "fonthdl.hxx"
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
index cb32c0096a..39a2612a9e 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorExport.cxx
@@ -30,7 +30,7 @@
#include "XMLFootnoteSeparatorExport.hxx"
#include <tools/debug.hxx>
#include <xmloff/xmlexp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlprmap.hxx>
diff --git a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
index 0ad73bff80..e5825d8213 100644
--- a/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
+++ b/xmloff/source/style/XMLFootnoteSeparatorImport.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlprmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/maptype.hxx>
diff --git a/xmloff/source/style/XMLPageExport.cxx b/xmloff/source/style/XMLPageExport.cxx
index d4ee240910..d11bf91ac3 100644
--- a/xmloff/source/style/XMLPageExport.cxx
+++ b/xmloff/source/style/XMLPageExport.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <xmloff/XMLPageExport.hxx>
#include <tools/debug.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
#include <com/sun/star/style/XStyle.hpp>
diff --git a/xmloff/source/style/impastp4.cxx b/xmloff/source/style/impastp4.cxx
index ac18452aa6..541b776b2c 100644
--- a/xmloff/source/style/impastp4.cxx
+++ b/xmloff/source/style/impastp4.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmlaustp.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/attrlist.hxx>
#include "impastpl.hxx"
#include <xmloff/xmlexppr.hxx>
diff --git a/xmloff/source/style/makefile.mk b/xmloff/source/style/makefile.mk
deleted file mode 100644
index 75a1c35aee..0000000000
--- a/xmloff/source/style/makefile.mk
+++ /dev/null
@@ -1,219 +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=xmloff
-TARGET=style
-
-ENABLE_EXCEPTIONS=sal_True
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-CXXFILES = \
- XMLPercentOrMeasurePropertyHandler.cxx \
- XMLIsPercentagePropertyHandler.cxx \
- XMLRectangleMembersHandler.cxx \
- adjushdl.cxx \
- backhdl.cxx \
- bordrhdl.cxx \
- breakhdl.cxx \
- cdouthdl.cxx \
- chrhghdl.cxx \
- chrlohdl.cxx \
- csmaphdl.cxx \
- escphdl.cxx \
- fonthdl.cxx \
- impastp1.cxx \
- impastp2.cxx \
- impastp3.cxx \
- impastp4.cxx \
- kernihdl.cxx \
- lspachdl.cxx \
- numehelp.cxx \
- opaquhdl.cxx \
- postuhdl.cxx \
- prhdlfac.cxx \
- prstylei.cxx \
- shadwhdl.cxx \
- shdwdhdl.cxx \
- styleexp.cxx \
- tabsthdl.cxx \
- undlihdl.cxx \
- uniref.cxx \
- weighhdl.cxx \
- xmlaustp.cxx \
- xmlbahdl.cxx \
- xmlexppr.cxx \
- xmlimppr.cxx \
- xmlnume.cxx \
- xmlnumfe.cxx \
- xmlnumfi.cxx \
- xmlnumi.cxx \
- xmlprcon.cxx \
- xmlprhdl.cxx \
- xmlprmap.cxx \
- xmlstyle.cxx \
- xmltabe.cxx \
- xmltabi.cxx \
- DashStyle.cxx \
- EnumPropertyHdl.cxx \
- FillStyleContext.cxx \
- GradientStyle.cxx \
- HatchStyle.cxx \
- ImageStyle.cxx \
- MarkerStyle.cxx \
- MultiPropertySetHelper.cxx \
- SinglePropertySetInfoCache.cxx \
- DashStyle.cxx \
- AttributeContainerHandler.cxx \
- NamedBoolPropertyHdl.cxx \
- TransGradientStyle.cxx \
- XMLBackgroundImageContext.cxx \
- XMLBackgroundImageExport.cxx \
- XMLClipPropertyHandler.cxx \
- XMLConstantsPropertyHandler.cxx \
- XMLElementPropertyContext.cxx \
- XMLFootnoteSeparatorExport.cxx \
- XMLFootnoteSeparatorImport.cxx \
- XMLFontAutoStylePool.cxx \
- XMLFontStylesContext.cxx \
- XMLPageExport.cxx \
- PageMasterPropHdl.cxx \
- PageMasterPropHdlFactory.cxx \
- PageMasterStyleMap.cxx \
- PageMasterPropMapper.cxx \
- PageMasterExportPropMapper.cxx \
- PageMasterImportPropMapper.cxx \
- PageMasterImportContext.cxx \
- PagePropertySetContext.cxx \
- PageHeaderFooterContext.cxx \
- StyleMap.cxx \
- XMLBitmapRepeatOffsetPropertyHandler.cxx \
- XMLFillBitmapSizePropertyHandler.cxx \
- XMLBitmapLogicalSizePropertyHandler.cxx \
- durationhdl.cxx \
- VisAreaExport.cxx \
- VisAreaContext.cxx \
- DrawAspectHdl.cxx
-
-
-SLOFILES = \
- $(SLO)$/XMLPercentOrMeasurePropertyHandler.obj \
- $(SLO)$/XMLIsPercentagePropertyHandler.obj \
- $(SLO)$/XMLRectangleMembersHandler.obj \
- $(SLO)$/adjushdl.obj \
- $(SLO)$/backhdl.obj \
- $(SLO)$/bordrhdl.obj \
- $(SLO)$/breakhdl.obj \
- $(SLO)$/cdouthdl.obj \
- $(SLO)$/chrhghdl.obj \
- $(SLO)$/chrlohdl.obj \
- $(SLO)$/csmaphdl.obj \
- $(SLO)$/escphdl.obj \
- $(SLO)$/fonthdl.obj \
- $(SLO)$/impastp1.obj \
- $(SLO)$/impastp2.obj \
- $(SLO)$/impastp3.obj \
- $(SLO)$/impastp4.obj \
- $(SLO)$/kernihdl.obj \
- $(SLO)$/lspachdl.obj \
- $(SLO)$/numehelp.obj \
- $(SLO)$/opaquhdl.obj \
- $(SLO)$/postuhdl.obj \
- $(SLO)$/prhdlfac.obj \
- $(SLO)$/prstylei.obj \
- $(SLO)$/shadwhdl.obj \
- $(SLO)$/shdwdhdl.obj \
- $(SLO)$/styleexp.obj \
- $(SLO)$/tabsthdl.obj \
- $(SLO)$/undlihdl.obj \
- $(SLO)$/uniref.obj \
- $(SLO)$/weighhdl.obj \
- $(SLO)$/xmlaustp.obj \
- $(SLO)$/xmlbahdl.obj \
- $(SLO)$/xmlexppr.obj \
- $(SLO)$/xmlimppr.obj \
- $(SLO)$/xmlnume.obj \
- $(SLO)$/xmlnumfe.obj \
- $(SLO)$/xmlnumfi.obj \
- $(SLO)$/xmlnumi.obj \
- $(SLO)$/xmlprcon.obj \
- $(SLO)$/xmlprhdl.obj \
- $(SLO)$/xmlprmap.obj \
- $(SLO)$/xmlstyle.obj \
- $(SLO)$/xmltabe.obj \
- $(SLO)$/xmltabi.obj \
- $(SLO)$/DashStyle.obj \
- $(SLO)$/EnumPropertyHdl.obj \
- $(SLO)$/FillStyleContext.obj \
- $(SLO)$/GradientStyle.obj \
- $(SLO)$/HatchStyle.obj \
- $(SLO)$/ImageStyle.obj \
- $(SLO)$/MarkerStyle.obj \
- $(SLO)$/MultiPropertySetHelper.obj \
- $(SLO)$/SinglePropertySetInfoCache.obj \
- $(SLO)$/NamedBoolPropertyHdl.obj \
- $(SLO)$/TransGradientStyle.obj \
- $(SLO)$/XMLBackgroundImageContext.obj \
- $(SLO)$/XMLBackgroundImageExport.obj \
- $(SLO)$/XMLClipPropertyHandler.obj \
- $(SLO)$/XMLConstantsPropertyHandler.obj \
- $(SLO)$/AttributeContainerHandler.obj \
- $(SLO)$/XMLElementPropertyContext.obj \
- $(SLO)$/XMLFootnoteSeparatorExport.obj \
- $(SLO)$/XMLFootnoteSeparatorImport.obj \
- $(SLO)$/XMLFontAutoStylePool.obj \
- $(SLO)$/XMLFontStylesContext.obj \
- $(SLO)$/XMLPageExport.obj \
- $(SLO)$/PageMasterPropHdl.obj \
- $(SLO)$/PageMasterPropHdlFactory.obj \
- $(SLO)$/PageMasterStyleMap.obj \
- $(SLO)$/PageMasterPropMapper.obj \
- $(SLO)$/PageMasterExportPropMapper.obj \
- $(SLO)$/PageMasterImportPropMapper.obj \
- $(SLO)$/PageMasterImportContext.obj \
- $(SLO)$/PagePropertySetContext.obj \
- $(SLO)$/PageHeaderFooterContext.obj \
- $(SLO)$/StyleMap.obj \
- $(SLO)$/WordWrapPropertyHdl.obj \
- $(SLO)$/XMLBitmapRepeatOffsetPropertyHandler.obj \
- $(SLO)$/XMLFillBitmapSizePropertyHandler.obj \
- $(SLO)$/XMLBitmapLogicalSizePropertyHandler.obj \
- $(SLO)$/durationhdl.obj \
- $(SLO)$/VisAreaExport.obj \
- $(SLO)$/VisAreaContext.obj \
- $(SLO)$/DrawAspectHdl.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmloff/source/style/numehelp.cxx b/xmloff/source/style/numehelp.cxx
index 51f682724f..c9f84406d2 100644
--- a/xmloff/source/style/numehelp.cxx
+++ b/xmloff/source/style/numehelp.cxx
@@ -28,10 +28,10 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "numehelp.hxx"
+#include "xmloff/numehelp.hxx"
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
diff --git a/xmloff/source/style/prstylei.cxx b/xmloff/source/style/prstylei.cxx
index c1bbc4b991..8e137b8419 100644
--- a/xmloff/source/style/prstylei.cxx
+++ b/xmloff/source/style/prstylei.cxx
@@ -33,7 +33,7 @@
#ifndef __SGI_STL_SET
#include <set>
#endif
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlprcon.hxx>
#include <com/sun/star/style/XStyle.hpp>
@@ -49,7 +49,7 @@
#include <xmloff/prstylei.hxx>
#endif
#include <xmloff/attrlist.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/style/styleexp.cxx b/xmloff/source/style/styleexp.cxx
index 5a29c10ad4..7142a44f63 100644
--- a/xmloff/source/style/styleexp.cxx
+++ b/xmloff/source/style/styleexp.cxx
@@ -33,7 +33,7 @@
#include <svl/svstdarr.hxx>
#endif
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#ifndef _XMLOFF_XMLITMAP_HXX
//#include "xmlitmap.hxx"
diff --git a/xmloff/source/style/xmlaustp.cxx b/xmloff/source/style/xmlaustp.cxx
index cf3d85c89f..335d388694 100644
--- a/xmloff/source/style/xmlaustp.cxx
+++ b/xmloff/source/style/xmlaustp.cxx
@@ -34,10 +34,10 @@
#include "impastpl.hxx"
#include <xmloff/xmlaustp.hxx>
#include <xmloff/families.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
#ifndef _XMLOFF_PAGEMASTERSTYLEMAP_HXX
#include <xmloff/PageMasterStyleMap.hxx>
diff --git a/xmloff/source/style/xmlexppr.cxx b/xmloff/source/style/xmlexppr.cxx
index 058ece1481..b55e3c54f8 100644
--- a/xmloff/source/style/xmlexppr.cxx
+++ b/xmloff/source/style/xmlexppr.cxx
@@ -43,7 +43,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlprmap.hxx>
#include <xmloff/PropertySetInfoHash.hxx>
diff --git a/xmloff/source/style/xmlimppr.cxx b/xmloff/source/style/xmlimppr.cxx
index d0f4a83a67..10d6619dc1 100644
--- a/xmloff/source/style/xmlimppr.cxx
+++ b/xmloff/source/style/xmlimppr.cxx
@@ -40,10 +40,10 @@
#include <xmloff/xmlimppr.hxx>
#include <xmloff/xmlimp.hxx>
-#include "unoatrcn.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/unoatrcn.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <tools/debug.hxx>
#include "xmloff/contextid.hxx"
diff --git a/xmloff/source/style/xmlnume.cxx b/xmloff/source/style/xmlnume.cxx
index 39e6441588..4e277b87ee 100644
--- a/xmloff/source/style/xmlnume.cxx
+++ b/xmloff/source/style/xmlnume.cxx
@@ -50,11 +50,11 @@
#include <tools/debug.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include "fonthdl.hxx"
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
#include <xmloff/xmlnume.hxx>
#include <xmloff/xmlexp.hxx>
#include <tools/fontenum.hxx>
diff --git a/xmloff/source/style/xmlnumfe.cxx b/xmloff/source/style/xmlnumfe.cxx
index f773a4aa96..ae78892b03 100644
--- a/xmloff/source/style/xmlnumfe.cxx
+++ b/xmloff/source/style/xmlnumfe.cxx
@@ -49,7 +49,7 @@
#include <com/sun/star/i18n/NativeNumberXmlAttributes.hpp>
#include <xmloff/xmlnumfe.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/attrlist.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/style/xmlnumfi.cxx b/xmloff/source/style/xmlnumfi.cxx
index 15cb815d7b..dfa192379d 100644
--- a/xmloff/source/style/xmlnumfi.cxx
+++ b/xmloff/source/style/xmlnumfi.cxx
@@ -45,7 +45,7 @@
#include <xmloff/xmlnumfi.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/style/xmlnumi.cxx b/xmloff/source/style/xmlnumi.cxx
index 8bcdd24fb3..faa03f0fbd 100644
--- a/xmloff/source/style/xmlnumi.cxx
+++ b/xmloff/source/style/xmlnumi.cxx
@@ -51,12 +51,12 @@
#include <xmloff/xmltkmap.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/XMLBase64ImportContext.hxx>
#include <xmloff/xmltoken.hxx>
-#include "i18nmap.hxx"
+#include <xmloff/i18nmap.hxx>
#include <xmloff/xmluconv.hxx>
#include "fonthdl.hxx"
#include <xmloff/XMLFontStylesContext.hxx>
diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 77058ad838..b38f335822 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -46,7 +46,7 @@
#include <svl/cntnrsrt.hxx>
#include <svl/itemset.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#ifndef _XMLOFF_FAMILIES_HXX
diff --git a/xmloff/source/style/xmltabe.cxx b/xmloff/source/style/xmltabe.cxx
index 36e8325872..06b39855c8 100644
--- a/xmloff/source/style/xmltabe.cxx
+++ b/xmloff/source/style/xmltabe.cxx
@@ -33,11 +33,11 @@
#include <com/sun/star/style/TabAlign.hpp>
#include <rtl/ustrbuf.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlexp.hxx>
-#include "xmltabe.hxx"
+#include "xmloff/xmltabe.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/style/xmltabi.cxx b/xmloff/source/style/xmltabi.cxx
index d4289b0eaa..ad5c0b2823 100644
--- a/xmloff/source/style/xmltabi.cxx
+++ b/xmloff/source/style/xmltabi.cxx
@@ -31,11 +31,11 @@
#include <rtl/ustrbuf.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <com/sun/star/style/TabStop.hpp>
#include <xmloff/xmltoken.hxx>
-#include "i18nmap.hxx"
+#include "xmloff/i18nmap.hxx"
#include <xmloff/xmluconv.hxx>
#include "xmltabi.hxx"
diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx
index f3dfcf8ca6..66294d7825 100644
--- a/xmloff/source/table/XMLTableExport.cxx
+++ b/xmloff/source/table/XMLTableExport.cxx
@@ -47,7 +47,7 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include "xmloff/table/XMLTableExport.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlprmap.hxx>
#include <xmloff/xmlexppr.hxx>
#include <xmloff/xmlexp.hxx>
diff --git a/xmloff/source/table/XMLTableImport.cxx b/xmloff/source/table/XMLTableImport.cxx
index 0b7a1c4369..be1aa6c766 100644
--- a/xmloff/source/table/XMLTableImport.cxx
+++ b/xmloff/source/table/XMLTableImport.cxx
@@ -48,7 +48,7 @@
#include "xmloff/prstylei.hxx"
#include "xmloff/xmlimp.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "table.hxx"
#include <boost/shared_ptr.hpp>
diff --git a/xmloff/source/table/makefile.mk b/xmloff/source/table/makefile.mk
deleted file mode 100644
index 6f8c8efab7..0000000000
--- a/xmloff/source/table/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=xmloff
-TARGET=table
-AUTOSEG=true
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/XMLTableExport.obj\
- $(SLO)$/XMLTableImport.obj
-
-# --- Targets --------------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/xmloff/source/table/tabledesignsimporter.cxx b/xmloff/source/table/tabledesignsimporter.cxx
deleted file mode 100644
index 56fb2efd05..0000000000
--- a/xmloff/source/table/tabledesignsimporter.cxx
+++ /dev/null
@@ -1,103 +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_xmloff.hxx"
-
-#include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
-#include <com/sun/star/table/XTableRows.hpp>
-#include <com/sun/star/table/XMergeableCell.hpp>
-#include <com/sun/star/table/XMergeableCellRange.hpp>
-#include <com/sun/star/table/XTable.hpp>
-#include <com/sun/star/text/XText.hpp>
-#include <com/sun/star/container/XNameContainer.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-
-#include "xmloff/table/XMLTableImport.hxx"
-#include "xmloff/xmltkmap.hxx"
-#include "xmloff/maptype.hxx"
-#include "xmloff/xmlprmap.hxx"
-#include "xmloff/txtimp.hxx"
-#include "xmloff/xmlimp.hxx"
-#include "xmloff/nmspmap.hxx"
-#include "xmloff/xmlstyle.hxx"
-#include "xmloff/prstylei.hxx"
-#include "xmloff/xmlimp.hxx"
-
-#include "xmlnmspe.hxx"
-#include "table.hxx"
-
-#include <boost/shared_ptr.hpp>
-
-// --------------------------------------------------------------------
-
-using ::rtl::OUString;
-using namespace ::xmloff::token;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::table;
-using namespace ::com::sun::star::xml::sax;
-using namespace ::com::sun::star::text;
-using namespace ::com::sun::star::style;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::container;
-
-// --------------------------------------------------------------------
-
-class TabelDesignsImporter : public SvXMLImport
-{
- TabelDesignsImporter( const Reference< XMultiServiceFactory > & rSMgr );
- ~TabelDesignsImporter() throw ();
-
- SvXMLImportContext* CreateContext(sal_uInt16 nPrefix, const OUString& rLocalName, const Reference<XAttributeList>& xAttrList);
-}
-
-// --------------------------------------------------------------------
-
-TabelDesignsImporter::TabelDesignsImporter( const Reference< XMultiServiceFactory > & rSMgr )
-: SvXMLImport( rSMgr, true )
-{
- // add namespaces
- GetNamespaceMap().Add(
- GetXMLToken(XML_NP_PRESENTATION),
- GetXMLToken(XML_N_PRESENTATION),
- XML_NAMESPACE_PRESENTATION);
-}
-
-// --------------------------------------------------------------------
-
-TabelDesignsImporter::~TabelDesignsImporter()
-{
-}
-
-// --------------------------------------------------------------------
-
-SvXMLImportContext* TabelDesignsImporter::CreateContext(sal_uInt16 nPrefix, const OUString& rLocalName, const Reference<XAttributeList>& xAttrList)
-{
-}
-
-// --------------------------------------------------------------------
diff --git a/xmloff/source/text/XMLAutoMarkFileContext.cxx b/xmloff/source/text/XMLAutoMarkFileContext.cxx
index 417ec5631e..a0ec4151ab 100644
--- a/xmloff/source/text/XMLAutoMarkFileContext.cxx
+++ b/xmloff/source/text/XMLAutoMarkFileContext.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmlimp.hxx>
#include <rtl/ustring.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/xml/sax/XAttributeList.hpp>
diff --git a/xmloff/source/text/XMLAutoTextContainerEventImport.cxx b/xmloff/source/text/XMLAutoTextContainerEventImport.cxx
index 4f153e6880..4c39f8c478 100644
--- a/xmloff/source/text/XMLAutoTextContainerEventImport.cxx
+++ b/xmloff/source/text/XMLAutoTextContainerEventImport.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <com/sun/star/container/XNameReplace.hpp>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/XMLEventsImportContext.hxx>
diff --git a/xmloff/source/text/XMLAutoTextEventExport.cxx b/xmloff/source/text/XMLAutoTextEventExport.cxx
index fba18745f9..2760648f51 100644
--- a/xmloff/source/text/XMLAutoTextEventExport.cxx
+++ b/xmloff/source/text/XMLAutoTextEventExport.cxx
@@ -46,7 +46,7 @@
//#include <comphelper/processfactory.hxx>
//#endif
#include <rtl/ustrbuf.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/XMLEventExport.hxx>
diff --git a/xmloff/source/text/XMLAutoTextEventImport.cxx b/xmloff/source/text/XMLAutoTextEventImport.cxx
index 519199d201..37df4f162e 100644
--- a/xmloff/source/text/XMLAutoTextEventImport.cxx
+++ b/xmloff/source/text/XMLAutoTextEventImport.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/uno/XInterface.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include "XMLAutoTextContainerEventImport.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/text/XMLCalculationSettingsContext.cxx b/xmloff/source/text/XMLCalculationSettingsContext.cxx
index ea1b73544a..61f519bfd1 100644
--- a/xmloff/source/text/XMLCalculationSettingsContext.cxx
+++ b/xmloff/source/text/XMLCalculationSettingsContext.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/text/XTextDocument.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLChangeElementImportContext.cxx b/xmloff/source/text/XMLChangeElementImportContext.cxx
index 255ad6aabe..bed9a8f2a8 100644
--- a/xmloff/source/text/XMLChangeElementImportContext.cxx
+++ b/xmloff/source/text/XMLChangeElementImportContext.cxx
@@ -32,7 +32,7 @@
#include "XMLChangeInfoContext.hxx"
#include <com/sun/star/uno/Reference.h>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/text/XMLChangeImportContext.cxx b/xmloff/source/text/XMLChangeImportContext.cxx
index 4c0b2c34bf..bfdac74601 100644
--- a/xmloff/source/text/XMLChangeImportContext.cxx
+++ b/xmloff/source/text/XMLChangeImportContext.cxx
@@ -31,7 +31,7 @@
#include <com/sun/star/text/XTextRange.hpp>
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/text/XMLChangeInfoContext.cxx b/xmloff/source/text/XMLChangeInfoContext.cxx
index f1ad3b9c7a..ad6c4eb080 100644
--- a/xmloff/source/text/XMLChangeInfoContext.cxx
+++ b/xmloff/source/text/XMLChangeInfoContext.cxx
@@ -31,7 +31,7 @@
#include "XMLChangedRegionImportContext.hxx"
#include "XMLStringBufferImportContext.hxx"
#include <com/sun/star/uno/Reference.h>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/text/XMLChangedRegionImportContext.cxx b/xmloff/source/text/XMLChangedRegionImportContext.cxx
index 6b34d1adb7..47aa8e2f9d 100644
--- a/xmloff/source/text/XMLChangedRegionImportContext.cxx
+++ b/xmloff/source/text/XMLChangedRegionImportContext.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/util/DateTime.hpp>
#include <com/sun/star/text/XTextCursor.hpp>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLFootnoteBodyImportContext.cxx b/xmloff/source/text/XMLFootnoteBodyImportContext.cxx
index 9192db4d9c..88a2ad93e4 100644
--- a/xmloff/source/text/XMLFootnoteBodyImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteBodyImportContext.cxx
@@ -36,7 +36,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <com/sun/star/xml/sax/XAttributeList.hpp>
using ::rtl::OUString;
diff --git a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
index bbaddf61fa..e5fdb6de1d 100644
--- a/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteConfigurationImportContext.cxx
@@ -35,7 +35,7 @@
#include <rtl/ustrbuf.hxx>
#include <tools/debug.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#ifndef _XMLOFF_FAMILIES_HXX
diff --git a/xmloff/source/text/XMLFootnoteImportContext.cxx b/xmloff/source/text/XMLFootnoteImportContext.cxx
index 16c38aa42d..665cb3da7f 100644
--- a/xmloff/source/text/XMLFootnoteImportContext.cxx
+++ b/xmloff/source/text/XMLFootnoteImportContext.cxx
@@ -36,7 +36,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "XMLFootnoteBodyImportContext.hxx"
diff --git a/xmloff/source/text/XMLIndexAlphabeticalSourceContext.cxx b/xmloff/source/text/XMLIndexAlphabeticalSourceContext.cxx
index 93b9021b84..2922b69d3d 100644
--- a/xmloff/source/text/XMLIndexAlphabeticalSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexAlphabeticalSourceContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx b/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
index 72054bfd6c..4604f27e31 100644
--- a/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
+++ b/xmloff/source/text/XMLIndexBibliographyConfigurationContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx b/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
index 6183dc9211..b9da94ac9c 100644
--- a/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexBibliographyEntryContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <com/sun/star/text/BibliographyDataField.hpp>
diff --git a/xmloff/source/text/XMLIndexBibliographySourceContext.cxx b/xmloff/source/text/XMLIndexBibliographySourceContext.cxx
index 307f555da4..6abde4c35a 100644
--- a/xmloff/source/text/XMLIndexBibliographySourceContext.cxx
+++ b/xmloff/source/text/XMLIndexBibliographySourceContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
index 08d29ea59e..99177d599d 100644
--- a/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexChapterInfoEntryContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <com/sun/star/text/ChapterFormat.hpp>
diff --git a/xmloff/source/text/XMLIndexIllustrationSourceContext.cxx b/xmloff/source/text/XMLIndexIllustrationSourceContext.cxx
index f5b126e93b..50f3de71c7 100644
--- a/xmloff/source/text/XMLIndexIllustrationSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexIllustrationSourceContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexMarkExport.cxx b/xmloff/source/text/XMLIndexMarkExport.cxx
index 95b806cc2f..efe8cfbc04 100644
--- a/xmloff/source/text/XMLIndexMarkExport.cxx
+++ b/xmloff/source/text/XMLIndexMarkExport.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexObjectSourceContext.cxx b/xmloff/source/text/XMLIndexObjectSourceContext.cxx
index f49253149e..67f98f3f1d 100644
--- a/xmloff/source/text/XMLIndexObjectSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexObjectSourceContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexSimpleEntryContext.cxx b/xmloff/source/text/XMLIndexSimpleEntryContext.cxx
index 4c795ff821..c065cb2a6f 100644
--- a/xmloff/source/text/XMLIndexSimpleEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexSimpleEntryContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexSourceBaseContext.cxx b/xmloff/source/text/XMLIndexSourceBaseContext.cxx
index f206f8b8d1..4747bbaa65 100644
--- a/xmloff/source/text/XMLIndexSourceBaseContext.cxx
+++ b/xmloff/source/text/XMLIndexSourceBaseContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexTOCContext.cxx b/xmloff/source/text/XMLIndexTOCContext.cxx
index 092af4fba7..fc1fc7d7f5 100644
--- a/xmloff/source/text/XMLIndexTOCContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCContext.cxx
@@ -49,10 +49,10 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/prstylei.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/xmluconv.hxx>
#include <rtl/ustring.hxx>
diff --git a/xmloff/source/text/XMLIndexTOCSourceContext.cxx b/xmloff/source/text/XMLIndexTOCSourceContext.cxx
index 0aaefc836c..843fb8a0e8 100644
--- a/xmloff/source/text/XMLIndexTOCSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCSourceContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexTOCStylesContext.cxx b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
index 0ca74755a8..b8d869a039 100644
--- a/xmloff/source/text/XMLIndexTOCStylesContext.cxx
+++ b/xmloff/source/text/XMLIndexTOCStylesContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
index 35551f4d06..949ec38184 100644
--- a/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
+++ b/xmloff/source/text/XMLIndexTabStopEntryContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <rtl/ustring.hxx>
diff --git a/xmloff/source/text/XMLIndexTableSourceContext.cxx b/xmloff/source/text/XMLIndexTableSourceContext.cxx
index 03b57a515f..85ac8f094c 100644
--- a/xmloff/source/text/XMLIndexTableSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexTableSourceContext.cxx
@@ -42,7 +42,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLIndexTemplateContext.cxx b/xmloff/source/text/XMLIndexTemplateContext.cxx
index e42c830b2b..e97ddded62 100644
--- a/xmloff/source/text/XMLIndexTemplateContext.cxx
+++ b/xmloff/source/text/XMLIndexTemplateContext.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <tools/debug.hxx>
diff --git a/xmloff/source/text/XMLIndexTitleTemplateContext.cxx b/xmloff/source/text/XMLIndexTitleTemplateContext.cxx
index 4d8af9c91c..5af3301e9a 100644
--- a/xmloff/source/text/XMLIndexTitleTemplateContext.cxx
+++ b/xmloff/source/text/XMLIndexTitleTemplateContext.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/text/XMLIndexUserSourceContext.cxx b/xmloff/source/text/XMLIndexUserSourceContext.cxx
index e84123b875..84995120b4 100644
--- a/xmloff/source/text/XMLIndexUserSourceContext.cxx
+++ b/xmloff/source/text/XMLIndexUserSourceContext.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlictxt.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLLineNumberingExport.cxx b/xmloff/source/text/XMLLineNumberingExport.cxx
index fe064ba540..5bffeff47c 100644
--- a/xmloff/source/text/XMLLineNumberingExport.cxx
+++ b/xmloff/source/text/XMLLineNumberingExport.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/style/LineNumberPosition.hpp>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnume.hxx>
diff --git a/xmloff/source/text/XMLLineNumberingImportContext.cxx b/xmloff/source/text/XMLLineNumberingImportContext.cxx
index a3553732b0..6379d56b83 100644
--- a/xmloff/source/text/XMLLineNumberingImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingImportContext.cxx
@@ -35,7 +35,7 @@
#include <com/sun/star/style/NumberingType.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnumi.hxx>
diff --git a/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx b/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
index 2d0686f2a4..364a8c71d2 100644
--- a/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
+++ b/xmloff/source/text/XMLLineNumberingSeparatorImportContext.cxx
@@ -31,7 +31,7 @@
#include "XMLLineNumberingImportContext.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLRedlineExport.cxx b/xmloff/source/text/XMLRedlineExport.cxx
index 465eb27d06..44975a32ea 100644
--- a/xmloff/source/text/XMLRedlineExport.cxx
+++ b/xmloff/source/text/XMLRedlineExport.cxx
@@ -42,7 +42,7 @@
#include <com/sun/star/text/XTextSection.hpp>
#include <com/sun/star/util/DateTime.hpp>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/XMLSectionExport.cxx b/xmloff/source/text/XMLSectionExport.cxx
index 99a78e33e7..60682cc63a 100644
--- a/xmloff/source/text/XMLSectionExport.cxx
+++ b/xmloff/source/text/XMLSectionExport.cxx
@@ -53,7 +53,7 @@
#include <com/sun/star/text/XChapterNumberingSupplier.hpp>
#include <com/sun/star/text/ChapterFormat.hpp> //i90246
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/families.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/text/XMLSectionFootnoteConfigExport.cxx b/xmloff/source/text/XMLSectionFootnoteConfigExport.cxx
index 60be749787..2d2e1671f1 100644
--- a/xmloff/source/text/XMLSectionFootnoteConfigExport.cxx
+++ b/xmloff/source/text/XMLSectionFootnoteConfigExport.cxx
@@ -37,7 +37,7 @@
#include <xmloff/txtprmap.hxx>
#endif
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlnume.hxx>
diff --git a/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx b/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
index 7781ec0efe..b6bc22892b 100644
--- a/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
+++ b/xmloff/source/text/XMLSectionFootnoteConfigImport.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlprmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/maptype.hxx>
#include <xmloff/xmlnumi.hxx>
diff --git a/xmloff/source/text/XMLSectionImportContext.cxx b/xmloff/source/text/XMLSectionImportContext.cxx
index f95557f69c..03adbea011 100644
--- a/xmloff/source/text/XMLSectionImportContext.cxx
+++ b/xmloff/source/text/XMLSectionImportContext.cxx
@@ -34,7 +34,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/prstylei.hxx>
diff --git a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
index 0ae154135f..070943afa9 100644
--- a/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
+++ b/xmloff/source/text/XMLSectionSourceDDEImportContext.cxx
@@ -34,7 +34,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <com/sun/star/uno/Reference.h>
diff --git a/xmloff/source/text/XMLSectionSourceImportContext.cxx b/xmloff/source/text/XMLSectionSourceImportContext.cxx
index 9ee468383c..5a5b12f03d 100644
--- a/xmloff/source/text/XMLSectionSourceImportContext.cxx
+++ b/xmloff/source/text/XMLSectionSourceImportContext.cxx
@@ -34,7 +34,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/xmloff/source/text/XMLStringBufferImportContext.cxx b/xmloff/source/text/XMLStringBufferImportContext.cxx
index 8c54451808..4886a4853f 100644
--- a/xmloff/source/text/XMLStringBufferImportContext.cxx
+++ b/xmloff/source/text/XMLStringBufferImportContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "XMLStringBufferImportContext.hxx"
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
diff --git a/xmloff/source/text/XMLTextCharStyleNamesElementExport.cxx b/xmloff/source/text/XMLTextCharStyleNamesElementExport.cxx
index bf5fc55c1a..a8565e0045 100644
--- a/xmloff/source/text/XMLTextCharStyleNamesElementExport.cxx
+++ b/xmloff/source/text/XMLTextCharStyleNamesElementExport.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "XMLTextCharStyleNamesElementExport.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmlexp.hxx>
diff --git a/xmloff/source/text/XMLTextColumnsContext.cxx b/xmloff/source/text/XMLTextColumnsContext.cxx
index f25f806687..aabf756f12 100644
--- a/xmloff/source/text/XMLTextColumnsContext.cxx
+++ b/xmloff/source/text/XMLTextColumnsContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
#include "XMLTextColumnsContext.hxx"
diff --git a/xmloff/source/text/XMLTextColumnsExport.cxx b/xmloff/source/text/XMLTextColumnsExport.cxx
index f35abb0dc0..01f4627645 100644
--- a/xmloff/source/text/XMLTextColumnsExport.cxx
+++ b/xmloff/source/text/XMLTextColumnsExport.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlexp.hxx>
#include "XMLTextColumnsExport.hxx"
diff --git a/xmloff/source/text/XMLTextFrameContext.cxx b/xmloff/source/text/XMLTextFrameContext.cxx
index 5bdbce9930..366091f90b 100644
--- a/xmloff/source/text/XMLTextFrameContext.cxx
+++ b/xmloff/source/text/XMLTextFrameContext.cxx
@@ -42,7 +42,7 @@
#include <com/sun/star/text/VertOrientation.hpp>
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include "XMLAnchorTypePropHdl.hxx"
@@ -50,7 +50,7 @@
#include <xmloff/XMLBase64ImportContext.hxx>
#include "XMLReplacementImageContext.hxx"
#include <xmloff/prstylei.hxx>
-#include "i18nmap.hxx"
+#include "xmloff/i18nmap.hxx"
#include "xexptran.hxx"
#include <xmloff/shapeimport.hxx>
#include <xmloff/XMLEventsImportContext.hxx>
diff --git a/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx b/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
index 05e9cd38bd..22577c3b81 100644
--- a/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
+++ b/xmloff/source/text/XMLTextFrameHyperlinkContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include "XMLTextFrameContext.hxx"
diff --git a/xmloff/source/text/XMLTextHeaderFooterContext.cxx b/xmloff/source/text/XMLTextHeaderFooterContext.cxx
index cdfcba46a5..8b5f19988f 100644
--- a/xmloff/source/text/XMLTextHeaderFooterContext.cxx
+++ b/xmloff/source/text/XMLTextHeaderFooterContext.cxx
@@ -30,7 +30,7 @@
#include <com/sun/star/text/XText.hpp>
#include <com/sun/star/text/XRelativeTextContentRemove.hpp>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "XMLTextHeaderFooterContext.hxx"
#ifndef _XMLOFF_TEXTTABLECONTEXT_HXX_
#include <xmloff/XMLTextTableContext.hxx>
diff --git a/xmloff/source/text/XMLTextListAutoStylePool.cxx b/xmloff/source/text/XMLTextListAutoStylePool.cxx
index b8eecee1b0..c3c66c44c4 100644
--- a/xmloff/source/text/XMLTextListAutoStylePool.cxx
+++ b/xmloff/source/text/XMLTextListAutoStylePool.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/container/XIndexReplace.hpp>
#include <rtl/ustrbuf.hxx>
#include <xmloff/xmlnume.hxx>
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
#include <xmloff/xmlexp.hxx>
using ::rtl::OUString;
@@ -185,7 +185,15 @@ XMLTextListAutoStylePool::XMLTextListAutoStylePool( SvXMLExport& rExp ) :
XMLTextListAutoStylePool::~XMLTextListAutoStylePool()
{
+ // The XMLTextListAutoStylePoolEntry_Impl object in the pool need delete explicitly in dtor.
+ ULONG nCount = pPool->Count();
+ while ( nCount-- )
+ delete pPool->Remove(nCount);
delete pPool;
+
+ nCount = pNames->Count();
+ while ( nCount-- )
+ delete pNames->Remove(nCount);
delete pNames;
}
diff --git a/xmloff/source/text/XMLTextListBlockContext.cxx b/xmloff/source/text/XMLTextListBlockContext.cxx
index 41d293dc08..7a0a84f392 100644
--- a/xmloff/source/text/XMLTextListBlockContext.cxx
+++ b/xmloff/source/text/XMLTextListBlockContext.cxx
@@ -35,7 +35,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmlnumi.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "XMLTextListItemContext.hxx"
#include "XMLTextListBlockContext.hxx"
diff --git a/xmloff/source/text/XMLTextListItemContext.cxx b/xmloff/source/text/XMLTextListItemContext.cxx
index 8c287c809c..4ccc9c4750 100644
--- a/xmloff/source/text/XMLTextListItemContext.cxx
+++ b/xmloff/source/text/XMLTextListItemContext.cxx
@@ -30,7 +30,7 @@
#include <tools/debug.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "txtparai.hxx"
#include "txtlists.hxx"
diff --git a/xmloff/source/text/XMLTextMarkImportContext.cxx b/xmloff/source/text/XMLTextMarkImportContext.cxx
index 15d23090dc..b208972c0e 100644
--- a/xmloff/source/text/XMLTextMarkImportContext.cxx
+++ b/xmloff/source/text/XMLTextMarkImportContext.cxx
@@ -38,8 +38,8 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/odffields.hxx>
-#include "xmlnmspe.hxx"
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <com/sun/star/text/XTextContent.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/xmloff/source/text/XMLTextMasterPageContext.cxx b/xmloff/source/text/XMLTextMasterPageContext.cxx
index 17fb787576..3ef9a98410 100644
--- a/xmloff/source/text/XMLTextMasterPageContext.cxx
+++ b/xmloff/source/text/XMLTextMasterPageContext.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/style/PageStyleLayout.hpp>
#include <com/sun/star/beans/XMultiPropertyStates.hpp>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/XMLTextMasterPageContext.hxx>
#include "XMLTextHeaderFooterContext.hxx"
diff --git a/xmloff/source/text/XMLTextMasterPageExport.cxx b/xmloff/source/text/XMLTextMasterPageExport.cxx
index 8b2a9572b3..361cb0dbd4 100644
--- a/xmloff/source/text/XMLTextMasterPageExport.cxx
+++ b/xmloff/source/text/XMLTextMasterPageExport.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include <tools/debug.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <com/sun/star/text/XText.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
diff --git a/xmloff/source/text/XMLTextMasterStylesContext.cxx b/xmloff/source/text/XMLTextMasterStylesContext.cxx
index 1a10563a91..4f957ea425 100644
--- a/xmloff/source/text/XMLTextMasterStylesContext.cxx
+++ b/xmloff/source/text/XMLTextMasterStylesContext.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/text/XMLTextNumRuleInfo.cxx b/xmloff/source/text/XMLTextNumRuleInfo.cxx
index b29cd313fc..f56d067c90 100644
--- a/xmloff/source/text/XMLTextNumRuleInfo.cxx
+++ b/xmloff/source/text/XMLTextNumRuleInfo.cxx
@@ -36,7 +36,7 @@
#include <com/sun/star/container/XNamed.hpp>
#include "XMLTextNumRuleInfo.hxx"
// --> OD 2008-04-25 #refactorlists#
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
// <--
using ::rtl::OUString;
diff --git a/xmloff/source/text/XMLTextShapeImportHelper.cxx b/xmloff/source/text/XMLTextShapeImportHelper.cxx
index b281914b2d..9978517d7e 100644
--- a/xmloff/source/text/XMLTextShapeImportHelper.cxx
+++ b/xmloff/source/text/XMLTextShapeImportHelper.cxx
@@ -41,7 +41,7 @@
#include "XMLAnchorTypePropHdl.hxx"
#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
#include <com/sun/star/drawing/XShapes.hpp>
-#include "XMLTextShapeImportHelper.hxx"
+#include "xmloff/XMLTextShapeImportHelper.hxx"
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/text/XMLTextShapeStyleContext.cxx b/xmloff/source/text/XMLTextShapeStyleContext.cxx
index d2840c74fd..f5f16dca9f 100644
--- a/xmloff/source/text/XMLTextShapeStyleContext.cxx
+++ b/xmloff/source/text/XMLTextShapeStyleContext.cxx
@@ -31,7 +31,7 @@
#ifndef _COM_SUN_STAR_DOCUMENT_XEVENTSSUPPLIER_HPP
#include <com/sun/star/document/XEventsSupplier.hpp>
#endif
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "XMLTextPropertySetContext.hxx"
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/text/XMLTrackedChangesImportContext.cxx b/xmloff/source/text/XMLTrackedChangesImportContext.cxx
index 8a3bbad5c3..6005bcb6e2 100644
--- a/xmloff/source/text/XMLTrackedChangesImportContext.cxx
+++ b/xmloff/source/text/XMLTrackedChangesImportContext.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/uno/Sequence.h>
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/text/makefile.mk b/xmloff/source/text/makefile.mk
deleted file mode 100644
index 658de22044..0000000000
--- a/xmloff/source/text/makefile.mk
+++ /dev/null
@@ -1,127 +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=xmloff
-TARGET=text
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-
-SLOFILES = \
- $(SLO)$/txtdrope.obj \
- $(SLO)$/txtdropi.obj \
- $(SLO)$/txtexppr.obj \
- $(SLO)$/txtflde.obj \
- $(SLO)$/txtfldi.obj \
- $(SLO)$/txtftne.obj \
- $(SLO)$/txtimp.obj \
- $(SLO)$/txtimppr.obj \
- $(SLO)$/txtlists.obj \
- $(SLO)$/txtparae.obj \
- $(SLO)$/txtparai.obj \
- $(SLO)$/txtprhdl.obj \
- $(SLO)$/txtprmap.obj \
- $(SLO)$/txtsecte.obj \
- $(SLO)$/txtstyle.obj \
- $(SLO)$/txtstyli.obj \
- $(SLO)$/txtvfldi.obj \
- $(SLO)$/XMLAutoMarkFileContext.obj \
- $(SLO)$/XMLAutoTextEventExport.obj \
- $(SLO)$/XMLAutoTextEventImport.obj \
- $(SLO)$/XMLAutoTextContainerEventImport.obj \
- $(SLO)$/XMLChangedRegionImportContext.obj \
- $(SLO)$/XMLChangeElementImportContext.obj \
- $(SLO)$/XMLChangeInfoContext.obj \
- $(SLO)$/XMLFootnoteBodyImportContext.obj \
- $(SLO)$/XMLFootnoteConfigurationImportContext.obj \
- $(SLO)$/XMLFootnoteImportContext.obj \
- $(SLO)$/XMLIndexAlphabeticalSourceContext.obj \
- $(SLO)$/XMLIndexBodyContext.obj \
- $(SLO)$/XMLIndexBibliographyConfigurationContext.obj \
- $(SLO)$/XMLIndexBibliographyEntryContext.obj \
- $(SLO)$/XMLIndexBibliographySourceContext.obj \
- $(SLO)$/XMLIndexChapterInfoEntryContext.obj \
- $(SLO)$/XMLIndexIllustrationSourceContext.obj \
- $(SLO)$/XMLIndexMarkExport.obj \
- $(SLO)$/XMLIndexObjectSourceContext.obj \
- $(SLO)$/XMLIndexSimpleEntryContext.obj \
- $(SLO)$/XMLIndexSpanEntryContext.obj \
- $(SLO)$/XMLIndexSourceBaseContext.obj \
- $(SLO)$/XMLIndexTOCContext.obj \
- $(SLO)$/XMLIndexTOCSourceContext.obj \
- $(SLO)$/XMLIndexTOCStylesContext.obj \
- $(SLO)$/XMLIndexTableSourceContext.obj \
- $(SLO)$/XMLIndexTabStopEntryContext.obj \
- $(SLO)$/XMLIndexTemplateContext.obj \
- $(SLO)$/XMLIndexTitleTemplateContext.obj \
- $(SLO)$/XMLIndexUserSourceContext.obj \
- $(SLO)$/XMLLineNumberingExport.obj \
- $(SLO)$/XMLLineNumberingImportContext.obj \
- $(SLO)$/XMLLineNumberingSeparatorImportContext.obj \
- $(SLO)$/XMLPropertyBackpatcher.obj \
- $(SLO)$/XMLRedlineExport.obj \
- $(SLO)$/XMLSectionExport.obj \
- $(SLO)$/XMLSectionFootnoteConfigExport.obj \
- $(SLO)$/XMLSectionFootnoteConfigImport.obj \
- $(SLO)$/XMLSectionImportContext.obj \
- $(SLO)$/XMLSectionSourceDDEImportContext.obj \
- $(SLO)$/XMLSectionSourceImportContext.obj \
- $(SLO)$/XMLTextCharStyleNamesElementExport.obj \
- $(SLO)$/XMLTextColumnsContext.obj \
- $(SLO)$/XMLTextColumnsExport.obj \
- $(SLO)$/XMLTextFrameContext.obj \
- $(SLO)$/XMLTextFrameHyperlinkContext.obj \
- $(SLO)$/XMLTextHeaderFooterContext.obj \
- $(SLO)$/XMLTextListAutoStylePool.obj \
- $(SLO)$/XMLTextListBlockContext.obj \
- $(SLO)$/XMLTextListItemContext.obj \
- $(SLO)$/XMLTextMarkImportContext.obj \
- $(SLO)$/XMLTextMasterPageContext.obj \
- $(SLO)$/XMLTextMasterPageExport.obj \
- $(SLO)$/XMLTextMasterStylesContext.obj \
- $(SLO)$/XMLTextNumRuleInfo.obj \
- $(SLO)$/XMLTextPropertySetContext.obj \
- $(SLO)$/XMLTextShapeImportHelper.obj \
- $(SLO)$/XMLTextShapeStyleContext.obj \
- $(SLO)$/XMLTextTableContext.obj \
- $(SLO)$/XMLChangeImportContext.obj \
- $(SLO)$/XMLStringBufferImportContext.obj \
- $(SLO)$/XMLTrackedChangesImportContext.obj \
- $(SLO)$/XMLCalculationSettingsContext.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmloff/source/text/txtdrope.cxx b/xmloff/source/text/txtdrope.cxx
index 27b0a72e6d..43f18fe375 100644
--- a/xmloff/source/text/txtdrope.cxx
+++ b/xmloff/source/text/txtdrope.cxx
@@ -33,7 +33,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmluconv.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "txtdrope.hxx"
using namespace ::com::sun::star;
diff --git a/xmloff/source/text/txtdropi.cxx b/xmloff/source/text/txtdropi.cxx
index b647aa0283..ef6ddecdf5 100644
--- a/xmloff/source/text/txtdropi.cxx
+++ b/xmloff/source/text/txtdropi.cxx
@@ -32,7 +32,7 @@
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
diff --git a/xmloff/source/text/txtexppr.cxx b/xmloff/source/text/txtexppr.cxx
index 17f3ccf233..d148d78b0a 100644
--- a/xmloff/source/text/txtexppr.cxx
+++ b/xmloff/source/text/txtexppr.cxx
@@ -32,18 +32,10 @@
#include <com/sun/star/table/BorderLine.hpp>
#include <com/sun/star/text/SizeType.hpp>
#include <com/sun/star/text/WrapTextMode.hpp>
-#ifndef _COM_SUN_STAR_TEXT_TEXTCONTENTANCHORTYPE_HPP
#include <com/sun/star/text/TextContentAnchorType.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTFAMILY_HPP
#include <com/sun/star/awt/FontFamily.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTPITCH_HPP
#include <com/sun/star/awt/FontPitch.hpp>
-#endif
-#ifndef _COM_SUN_STAR_AWT_FONTUNDERLINE_HPP
#include <com/sun/star/awt/FontUnderline.hpp>
-#endif
#include <com/sun/star/text/XChapterNumberingSupplier.hpp>
#include "txtexppr.hxx"
#include <xmloff/xmlexp.hxx>
diff --git a/xmloff/source/text/txtexppr.hxx b/xmloff/source/text/txtexppr.hxx
index ae4c96e687..d797a18ec6 100644
--- a/xmloff/source/text/txtexppr.hxx
+++ b/xmloff/source/text/txtexppr.hxx
@@ -30,7 +30,7 @@
#include <xmloff/xmlexppr.hxx>
#include "txtdrope.hxx"
-#include "xmltabe.hxx"
+#include "xmloff/xmltabe.hxx"
#include "XMLTextColumnsExport.hxx"
#ifndef _XMLOFF_XMLBACKGROUNDIMAGEEXPORT_HXX
#include "XMLBackgroundImageExport.hxx"
diff --git a/xmloff/source/text/txtflde.cxx b/xmloff/source/text/txtflde.cxx
index 51ced52edf..7b0224ede3 100644
--- a/xmloff/source/text/txtflde.cxx
+++ b/xmloff/source/text/txtflde.cxx
@@ -39,7 +39,7 @@
#include <xmloff/xmlement.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlnume.hxx>
-#include "numehelp.hxx"
+#include "xmloff/numehelp.hxx"
#include <xmloff/families.hxx>
#include <xmloff/XMLEventExport.hxx>
diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx
index 4ce4a1adb9..cabe4c6552 100644
--- a/xmloff/source/text/txtfldi.cxx
+++ b/xmloff/source/text/txtfldi.cxx
@@ -38,7 +38,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmlnumi.hxx>
#include <xmloff/txtimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/text/txtftne.cxx b/xmloff/source/text/txtftne.cxx
index bb114b95bc..924dad41a1 100644
--- a/xmloff/source/text/txtftne.cxx
+++ b/xmloff/source/text/txtftne.cxx
@@ -51,7 +51,7 @@
#include <com/sun/star/text/FootnoteNumbering.hpp>
#include <com/sun/star/container/XNameReplace.hpp>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlnumfe.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
index e4a47d14fa..882d760b82 100644
--- a/xmloff/source/text/txtimp.cxx
+++ b/xmloff/source/text/txtimp.cxx
@@ -58,7 +58,7 @@
#include <com/sun/star/ucb/XAnyCompareFactory.hpp>
#include <com/sun/star/container/XNamed.hpp>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/txtstyli.hxx>
#include <xmloff/families.hxx>
#include <xmloff/xmlnumfi.hxx>
@@ -69,10 +69,10 @@
#include "txtparai.hxx"
#include <xmloff/txtimp.hxx>
#include <xmloff/txtprmap.hxx>
-#include "txtimppr.hxx"
+#include "xmloff/txtimppr.hxx"
#include <xmloff/xmlimp.hxx>
#include "txtvfldi.hxx"
-#include "i18nmap.hxx"
+#include "xmloff/i18nmap.hxx"
#include "XMLTextListItemContext.hxx"
#include "XMLTextListBlockContext.hxx"
#include "XMLTextFrameContext.hxx"
diff --git a/xmloff/source/text/txtimppr.cxx b/xmloff/source/text/txtimppr.cxx
index b6045f575b..6d49c7ad0b 100644
--- a/xmloff/source/text/txtimppr.cxx
+++ b/xmloff/source/text/txtimppr.cxx
@@ -37,7 +37,7 @@
#include <xmloff/XMLFontStylesContext.hxx>
#include <xmloff/txtprmap.hxx>
#include <xmloff/xmlimp.hxx>
-#include "txtimppr.hxx"
+#include "xmloff/txtimppr.hxx"
#define XML_LINE_LEFT 0
#define XML_LINE_RIGHT 1
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
index 7ffcdeb6f1..afc95d1b74 100644
--- a/xmloff/source/text/txtparae.cxx
+++ b/xmloff/source/text/txtparae.cxx
@@ -90,7 +90,7 @@
#include <com/sun/star/text/XEndnotesSupplier.hpp>
#include <com/sun/star/drawing/XControlShape.hpp>
#include <com/sun/star/util/DateTime.hpp>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmlaustp.hxx>
#include <xmloff/families.hxx>
#include "txtexppr.hxx"
@@ -106,7 +106,7 @@
#include <xmloff/txtprmap.hxx>
#include "XMLImageMapExport.hxx"
#include "XMLTextNumRuleInfo.hxx"
-#include "XMLTextListAutoStylePool.hxx"
+#include "xmloff/XMLTextListAutoStylePool.hxx"
#include <xmloff/txtparae.hxx>
#include "XMLSectionExport.hxx"
#include "XMLIndexMarkExport.hxx"
diff --git a/xmloff/source/text/txtparai.cxx b/xmloff/source/text/txtparai.cxx
index 9277b6a3d1..80d0b112f0 100644
--- a/xmloff/source/text/txtparai.cxx
+++ b/xmloff/source/text/txtparai.cxx
@@ -49,7 +49,7 @@
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/txtimp.hxx>
#include "txtparai.hxx"
#include "txtfldi.hxx"
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
index 87e8bf118e..ebb03dfa55 100644
--- a/xmloff/source/text/txtprmap.cxx
+++ b/xmloff/source/text/txtprmap.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include <tools/debug.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#ifndef _XMLOFF_TXTPRHDL_HXX
#include "txtprhdl.hxx"
diff --git a/xmloff/source/text/txtsecte.cxx b/xmloff/source/text/txtsecte.cxx
index afdea2f46a..facbcde223 100644
--- a/xmloff/source/text/txtsecte.cxx
+++ b/xmloff/source/text/txtsecte.cxx
@@ -50,7 +50,7 @@
#include <com/sun/star/text/SectionFileLink.hpp>
#include <com/sun/star/container/XNamed.hpp>
#include <com/sun/star/text/XDocumentIndex.hpp>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/families.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/text/txtstyle.cxx b/xmloff/source/text/txtstyle.cxx
index 454ec85b51..099fa0c64f 100644
--- a/xmloff/source/text/txtstyle.cxx
+++ b/xmloff/source/text/txtstyle.cxx
@@ -28,47 +28,21 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#ifndef _TOOLS_DEBUG_HXX
-//#include <tools/debug.hxx>
-#endif
#include <com/sun/star/style/ParagraphStyleCategory.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <com/sun/star/beans/XPropertyState.hpp>
#include <com/sun/star/style/XStyle.hpp>
-
-
#include <xmloff/xmltoken.hxx>
-
-#ifndef _XMLOFF_PROPERTYSETMAPPER_HXX
-//#include <xmloff/xmlprmap.hxx>
-#endif
-#ifndef _XMLOFF_XMLSMSPE_HXX
-#include "xmlnmspe.hxx"
-#endif
-#ifndef _XMLOFF_FAMILIES_HXX
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/families.hxx>
-#endif
-#ifndef _XMLOFF_TXTPRMAP_HXX
-//#include <xmloff/txtprmap.hxx>
-#endif
-#ifndef _XMLOFF_TXTPARAE_HXX
#include <xmloff/txtparae.hxx>
-#endif
#include <xmloff/xmlnume.hxx>
#include <xmloff/xmlexp.hxx>
-#ifndef _XMLOFF_XMLSECTIONEXPORT_HXX
#include "XMLSectionExport.hxx"
-#endif
#include "XMLLineNumberingExport.hxx"
#include "txtexppr.hxx"
-#ifndef _XMLOFF_TXTPRMAP_HXX
#include <xmloff/txtprmap.hxx>
-#endif
-
-#ifndef _XMLOFF_STYLEEXP_HXX
-//#include <xmloff/styleexp.hxx>
-#endif
using ::rtl::OUString;
using ::rtl::OUStringBuffer;
diff --git a/xmloff/source/text/txtstyli.cxx b/xmloff/source/text/txtstyli.cxx
index 24f9da5539..18dccdc915 100644
--- a/xmloff/source/text/txtstyli.cxx
+++ b/xmloff/source/text/txtstyli.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "XMLTextPropertySetContext.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "xmloff/XMLEventsImportContext.hxx"
#include "xmloff/attrlist.hxx"
#include "xmloff/families.hxx"
diff --git a/xmloff/source/text/txtvfldi.cxx b/xmloff/source/text/txtvfldi.cxx
index 7ad3b4c6fa..3e2b30cb58 100644
--- a/xmloff/source/text/txtvfldi.cxx
+++ b/xmloff/source/text/txtvfldi.cxx
@@ -36,9 +36,9 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/txtimp.hxx>
#include <xmloff/xmlnumi.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
-#include "i18nmap.hxx"
+#include "xmloff/i18nmap.hxx"
#include <xmloff/xmlimp.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlement.hxx>
diff --git a/xmloff/source/transform/ChartOASISTContext.cxx b/xmloff/source/transform/ChartOASISTContext.cxx
index be2a1189b6..80e9a49450 100644
--- a/xmloff/source/transform/ChartOASISTContext.cxx
+++ b/xmloff/source/transform/ChartOASISTContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "ChartOASISTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ActionMapTypesOASIS.hxx"
#include "AttrTransformerAction.hxx"
#include "TransformerActions.hxx"
diff --git a/xmloff/source/transform/ChartOOoTContext.cxx b/xmloff/source/transform/ChartOOoTContext.cxx
index 911caf3fde..eb83fdbc04 100644
--- a/xmloff/source/transform/ChartOOoTContext.cxx
+++ b/xmloff/source/transform/ChartOOoTContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "ChartOOoTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#ifndef _XMLOFF_ACTIONMAPTYPESOOo_HXX
#include "ActionMapTypesOOo.hxx"
#endif
diff --git a/xmloff/source/transform/ChartPlotAreaOASISTContext.cxx b/xmloff/source/transform/ChartPlotAreaOASISTContext.cxx
index 52d463cf9c..ad2ac980c5 100644
--- a/xmloff/source/transform/ChartPlotAreaOASISTContext.cxx
+++ b/xmloff/source/transform/ChartPlotAreaOASISTContext.cxx
@@ -30,7 +30,7 @@
#include "ChartPlotAreaOASISTContext.hxx"
#include "TransformerBase.hxx"
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "DeepTContext.hxx"
#include "ActionMapTypesOASIS.hxx"
diff --git a/xmloff/source/transform/ChartPlotAreaOOoTContext.cxx b/xmloff/source/transform/ChartPlotAreaOOoTContext.cxx
index c678910f90..865ca33e52 100644
--- a/xmloff/source/transform/ChartPlotAreaOOoTContext.cxx
+++ b/xmloff/source/transform/ChartPlotAreaOOoTContext.cxx
@@ -30,7 +30,7 @@
#include "ChartPlotAreaOOoTContext.hxx"
#include "TransformerBase.hxx"
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "DeepTContext.hxx"
#include "ActionMapTypesOOo.hxx"
diff --git a/xmloff/source/transform/ControlOASISTContext.cxx b/xmloff/source/transform/ControlOASISTContext.cxx
index 0ae1123c6d..da501cf688 100644
--- a/xmloff/source/transform/ControlOASISTContext.cxx
+++ b/xmloff/source/transform/ControlOASISTContext.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "ActionMapTypesOASIS.hxx"
#include "AttrTransformerAction.hxx"
diff --git a/xmloff/source/transform/ControlOOoTContext.cxx b/xmloff/source/transform/ControlOOoTContext.cxx
index 1a265cf3a4..b4ff95952f 100644
--- a/xmloff/source/transform/ControlOOoTContext.cxx
+++ b/xmloff/source/transform/ControlOOoTContext.cxx
@@ -30,7 +30,7 @@
#include "ControlOOoTContext.hxx"
#include "IgnoreTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ActionMapTypesOOo.hxx"
#include "ElemTransformerAction.hxx"
#include "TransformerActions.hxx"
diff --git a/xmloff/source/transform/DlgOASISTContext.cxx b/xmloff/source/transform/DlgOASISTContext.cxx
index d13e6494ac..fbc3da8b13 100644
--- a/xmloff/source/transform/DlgOASISTContext.cxx
+++ b/xmloff/source/transform/DlgOASISTContext.cxx
@@ -29,7 +29,7 @@
#include "precompiled_xmloff.hxx"
#include "DlgOASISTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ActionMapTypesOASIS.hxx"
#include "AttrTransformerAction.hxx"
#include "TransformerActions.hxx"
diff --git a/xmloff/source/transform/DocumentTContext.cxx b/xmloff/source/transform/DocumentTContext.cxx
index d7d4325570..caa6d65fe2 100644
--- a/xmloff/source/transform/DocumentTContext.cxx
+++ b/xmloff/source/transform/DocumentTContext.cxx
@@ -34,7 +34,7 @@
#include <com/sun/star/beans/XPropertySetInfo.hpp>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#ifndef _XMLOFF_TRANSFOERMERBASE_HXX
#include "TransformerBase.hxx"
diff --git a/xmloff/source/transform/EventMap.cxx b/xmloff/source/transform/EventMap.cxx
index 05da2136f5..c82fff275d 100644
--- a/xmloff/source/transform/EventMap.cxx
+++ b/xmloff/source/transform/EventMap.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "EventMap.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
XMLTransformerEventMapEntry aTransformerEventMap[] =
diff --git a/xmloff/source/transform/EventOASISTContext.cxx b/xmloff/source/transform/EventOASISTContext.cxx
index 6410ba9b92..5234ea8aec 100644
--- a/xmloff/source/transform/EventOASISTContext.cxx
+++ b/xmloff/source/transform/EventOASISTContext.cxx
@@ -30,7 +30,7 @@
#include "EventOASISTContext.hxx"
#include "EventMap.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ActionMapTypesOASIS.hxx"
#include "AttrTransformerAction.hxx"
#include "TransformerActions.hxx"
diff --git a/xmloff/source/transform/EventOOoTContext.cxx b/xmloff/source/transform/EventOOoTContext.cxx
index cc19545e4f..71e1896059 100644
--- a/xmloff/source/transform/EventOOoTContext.cxx
+++ b/xmloff/source/transform/EventOOoTContext.cxx
@@ -30,7 +30,7 @@
#include "EventOOoTContext.hxx"
#include "EventMap.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#ifndef _XMLOFF_ACTIONMAPTYPESOOo_HXX
#include "ActionMapTypesOOo.hxx"
#endif
diff --git a/xmloff/source/transform/FormPropOASISTContext.cxx b/xmloff/source/transform/FormPropOASISTContext.cxx
index ad63006edd..679a32bf8c 100644
--- a/xmloff/source/transform/FormPropOASISTContext.cxx
+++ b/xmloff/source/transform/FormPropOASISTContext.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "ActionMapTypesOASIS.hxx"
#include "AttrTransformerAction.hxx"
diff --git a/xmloff/source/transform/FormPropOOoTContext.cxx b/xmloff/source/transform/FormPropOOoTContext.cxx
index c31458a366..c9860d6b00 100644
--- a/xmloff/source/transform/FormPropOOoTContext.cxx
+++ b/xmloff/source/transform/FormPropOOoTContext.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "IgnoreTContext.hxx"
#ifndef _XMLOFF_ACTIONMAPTYPESOOo_HXX
diff --git a/xmloff/source/transform/FrameOASISTContext.cxx b/xmloff/source/transform/FrameOASISTContext.cxx
index 463c003284..6bb57fa4d4 100644
--- a/xmloff/source/transform/FrameOASISTContext.cxx
+++ b/xmloff/source/transform/FrameOASISTContext.cxx
@@ -30,7 +30,7 @@
#include "FrameOASISTContext.hxx"
#include "IgnoreTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "ActionMapTypesOASIS.hxx"
#include "ElemTransformerAction.hxx"
#include "TransformerActions.hxx"
diff --git a/xmloff/source/transform/FrameOOoTContext.cxx b/xmloff/source/transform/FrameOOoTContext.cxx
index f2e728fef4..32831531ab 100644
--- a/xmloff/source/transform/FrameOOoTContext.cxx
+++ b/xmloff/source/transform/FrameOOoTContext.cxx
@@ -30,7 +30,7 @@
#include "FrameOOoTContext.hxx"
#include "IgnoreTContext.hxx"
#include "MutableAttrList.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "ActionMapTypesOOo.hxx"
#include "AttrTransformerAction.hxx"
diff --git a/xmloff/source/transform/MergeElemTContext.cxx b/xmloff/source/transform/MergeElemTContext.cxx
index 451916a2ad..79d2d814b9 100644
--- a/xmloff/source/transform/MergeElemTContext.cxx
+++ b/xmloff/source/transform/MergeElemTContext.cxx
@@ -36,7 +36,7 @@
#include "AttrTransformerAction.hxx"
#include "ElemTransformerAction.hxx"
#include "IgnoreTContext.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
using ::rtl::OUString;
using namespace ::com::sun::star::uno;
diff --git a/xmloff/source/transform/MetaTContext.cxx b/xmloff/source/transform/MetaTContext.cxx
index 0e909c6c39..4c896ca71f 100644
--- a/xmloff/source/transform/MetaTContext.cxx
+++ b/xmloff/source/transform/MetaTContext.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#ifndef _XMLOFF_TRANSFOERMERBASE_HXX
#include "TransformerBase.hxx"
diff --git a/xmloff/source/transform/MetaTContext.hxx b/xmloff/source/transform/MetaTContext.hxx
index 553d49188b..40a2be79d0 100644
--- a/xmloff/source/transform/MetaTContext.hxx
+++ b/xmloff/source/transform/MetaTContext.hxx
@@ -29,7 +29,7 @@
#define _XMLOFF_METATCONTEXT_HXX
#include <rtl/ref.hxx>
-#include "functional.hxx"
+#include "xmloff/functional.hxx"
#include <map>
diff --git a/xmloff/source/transform/NotesTContext.cxx b/xmloff/source/transform/NotesTContext.cxx
index 2e5c8461f0..2e80029b4f 100644
--- a/xmloff/source/transform/NotesTContext.cxx
+++ b/xmloff/source/transform/NotesTContext.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#ifndef _XMLOFF_TRANSFOERMERBASE_HXX
#include "TransformerBase.hxx"
diff --git a/xmloff/source/transform/OOo2Oasis.cxx b/xmloff/source/transform/OOo2Oasis.cxx
index b4c28f93ea..8872827e13 100644
--- a/xmloff/source/transform/OOo2Oasis.cxx
+++ b/xmloff/source/transform/OOo2Oasis.cxx
@@ -31,7 +31,7 @@
#include <rtl/ustrbuf.hxx>
#include <comphelper/processfactory.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "MutableAttrList.hxx"
#include "DeepTContext.hxx"
diff --git a/xmloff/source/transform/Oasis2OOo.cxx b/xmloff/source/transform/Oasis2OOo.cxx
index 109de49e00..d53068e4b7 100644
--- a/xmloff/source/transform/Oasis2OOo.cxx
+++ b/xmloff/source/transform/Oasis2OOo.cxx
@@ -31,7 +31,7 @@
#include <rtl/uuid.h>
#include <rtl/ustrbuf.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/xmltoken.hxx>
#include "DeepTContext.hxx"
#include "MetaTContext.hxx"
diff --git a/xmloff/source/transform/PropertyActionsOASIS.cxx b/xmloff/source/transform/PropertyActionsOASIS.cxx
index 95319522fc..bd5290d77d 100644
--- a/xmloff/source/transform/PropertyActionsOASIS.cxx
+++ b/xmloff/source/transform/PropertyActionsOASIS.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "PropType.hxx"
#include "FamilyType.hxx"
#include "PropertyActionsOASIS.hxx"
diff --git a/xmloff/source/transform/PropertyActionsOOo.cxx b/xmloff/source/transform/PropertyActionsOOo.cxx
index 9fbdac874f..e2b930e52d 100644
--- a/xmloff/source/transform/PropertyActionsOOo.cxx
+++ b/xmloff/source/transform/PropertyActionsOOo.cxx
@@ -27,7 +27,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "PropType.hxx"
#include "PropertyActionsOOo.hxx"
diff --git a/xmloff/source/transform/StyleOASISTContext.cxx b/xmloff/source/transform/StyleOASISTContext.cxx
index d0f7fefeab..d81070a1f1 100644
--- a/xmloff/source/transform/StyleOASISTContext.cxx
+++ b/xmloff/source/transform/StyleOASISTContext.cxx
@@ -34,7 +34,7 @@
#include <rtl/ustrbuf.hxx>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "PropType.hxx"
#include "DeepTContext.hxx"
#include "ProcAttrTContext.hxx"
diff --git a/xmloff/source/transform/StyleOOoTContext.cxx b/xmloff/source/transform/StyleOOoTContext.cxx
index 8f0fba154b..739286f58c 100644
--- a/xmloff/source/transform/StyleOOoTContext.cxx
+++ b/xmloff/source/transform/StyleOOoTContext.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "PropType.hxx"
#include "DeepTContext.hxx"
#include "RenameElemTContext.hxx"
diff --git a/xmloff/source/transform/TransformerBase.cxx b/xmloff/source/transform/TransformerBase.cxx
index ef5f344beb..ae9c071f0b 100644
--- a/xmloff/source/transform/TransformerBase.cxx
+++ b/xmloff/source/transform/TransformerBase.cxx
@@ -33,7 +33,7 @@
#include <com/sun/star/i18n/UnicodeType.hpp>
#include <comphelper/processfactory.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include "IgnoreTContext.hxx"
#include "RenameElemTContext.hxx"
#include "ProcAttrTContext.hxx"
diff --git a/xmloff/source/transform/XMLFilterRegistration.cxx b/xmloff/source/transform/XMLFilterRegistration.cxx
index c08d030b93..e70eb6798f 100644
--- a/xmloff/source/transform/XMLFilterRegistration.cxx
+++ b/xmloff/source/transform/XMLFilterRegistration.cxx
@@ -141,12 +141,12 @@ extern "C"
{
#endif
-void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** )
+SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** )
{
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
+SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
void * pRet = NULL;
if( pServiceManager )
diff --git a/xmloff/source/transform/makefile.mk b/xmloff/source/transform/makefile.mk
deleted file mode 100644
index 031549fcb3..0000000000
--- a/xmloff/source/transform/makefile.mk
+++ /dev/null
@@ -1,103 +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 := xmloff
-TARGET := xof
-LIBTARGET=NO
-ENABLE_EXCEPTIONS := TRUE
-
-.INCLUDE: settings.mk
-
-SHL1TARGET = $(TARGET)$(DLLPOSTFIX)
-SHL1OBJS = \
- $(SLO)$/ChartOASISTContext.obj \
- $(SLO)$/ChartOOoTContext.obj \
- $(SLO)$/ChartPlotAreaOASISTContext.obj \
- $(SLO)$/ChartPlotAreaOOoTContext.obj \
- $(SLO)$/ControlOASISTContext.obj \
- $(SLO)$/ControlOOoTContext.obj \
- $(SLO)$/CreateElemTContext.obj \
- $(SLO)$/DeepTContext.obj \
- $(SLO)$/DlgOASISTContext.obj \
- $(SLO)$/DocumentTContext.obj \
- $(SLO)$/EventMap.obj \
- $(SLO)$/EventOASISTContext.obj \
- $(SLO)$/EventOOoTContext.obj \
- $(SLO)$/FlatTContext.obj \
- $(SLO)$/FormPropOASISTContext.obj \
- $(SLO)$/FormPropOOoTContext.obj \
- $(SLO)$/FrameOASISTContext.obj \
- $(SLO)$/FrameOOoTContext.obj \
- $(SLO)$/IgnoreTContext.obj \
- $(SLO)$/MergeElemTContext.obj \
- $(SLO)$/MetaTContext.obj \
- $(SLO)$/MutableAttrList.obj \
- $(SLO)$/NotesTContext.obj \
- $(SLO)$/OOo2Oasis.obj \
- $(SLO)$/Oasis2OOo.obj \
- $(SLO)$/PersAttrListTContext.obj \
- $(SLO)$/PersMixedContentTContext.obj \
- $(SLO)$/ProcAddAttrTContext.obj \
- $(SLO)$/ProcAttrTContext.obj \
- $(SLO)$/PropertyActionsOASIS.obj \
- $(SLO)$/PropertyActionsOOo.obj \
- $(SLO)$/RenameElemTContext.obj \
- $(SLO)$/StyleOASISTContext.obj \
- $(SLO)$/StyleOOoTContext.obj \
- $(SLO)$/TransformerActions.obj \
- $(SLO)$/TransformerBase.obj \
- $(SLO)$/TransformerContext.obj \
- $(SLO)$/TransformerTokenMap.obj \
- $(SLO)$/XMLFilterRegistration.obj
-
-SHL1STDLIBS = \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
- SHL1STDLIBS += -lxo$(DLLPOSTFIX)
-.ELSE
- SHL1STDLIBS += ixo.lib
-.ENDIF
-SHL1VERSIONMAP = $(SOLARENV)/src/component.map
-SHL1IMPLIB = i$(SHL1TARGET)
-DEF1NAME = $(SHL1TARGET)
-
-SLOFILES = $(SHL1OBJS)
-
-.INCLUDE: target.mk
-
-ALLTAR : $(MISC)/xof.component
-
-$(MISC)/xof.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- xof.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt xof.component
diff --git a/xmloff/source/xforms/SchemaContext.cxx b/xmloff/source/xforms/SchemaContext.cxx
index c9ac205326..658c7e8c49 100644
--- a/xmloff/source/xforms/SchemaContext.cxx
+++ b/xmloff/source/xforms/SchemaContext.cxx
@@ -34,7 +34,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/xforms/SchemaRestrictionContext.cxx b/xmloff/source/xforms/SchemaRestrictionContext.cxx
index 1aca0c21cd..d03fcd38e5 100644
--- a/xmloff/source/xforms/SchemaRestrictionContext.cxx
+++ b/xmloff/source/xforms/SchemaRestrictionContext.cxx
@@ -33,7 +33,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/xmlimp.hxx>
diff --git a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
index 4869c3435f..850429e0f6 100644
--- a/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
+++ b/xmloff/source/xforms/SchemaSimpleTypeContext.cxx
@@ -33,7 +33,7 @@
#include "SchemaRestrictionContext.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/xforms/TokenContext.cxx b/xmloff/source/xforms/TokenContext.cxx
index f2a86e603b..67ee32f0db 100644
--- a/xmloff/source/xforms/TokenContext.cxx
+++ b/xmloff/source/xforms/TokenContext.cxx
@@ -31,7 +31,7 @@
#include <xmloff/xmltkmap.hxx>
#include <xmloff/xmlimp.hxx>
#include <xmloff/nmspmap.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <tools/debug.hxx>
diff --git a/xmloff/source/xforms/XFormsBindContext.cxx b/xmloff/source/xforms/XFormsBindContext.cxx
index 8bae3ecb11..1981c04b4d 100644
--- a/xmloff/source/xforms/XFormsBindContext.cxx
+++ b/xmloff/source/xforms/XFormsBindContext.cxx
@@ -33,10 +33,10 @@
#include "xformsapi.hxx"
#include <xmloff/xmlimp.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <com/sun/star/container/XNameContainer.hpp>
diff --git a/xmloff/source/xforms/XFormsInstanceContext.cxx b/xmloff/source/xforms/XFormsInstanceContext.cxx
index 5da8907511..d814d85089 100644
--- a/xmloff/source/xforms/XFormsInstanceContext.cxx
+++ b/xmloff/source/xforms/XFormsInstanceContext.cxx
@@ -41,10 +41,10 @@
#include <com/sun/star/xforms/XModel.hpp>
#include <tools/debug.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmlimp.hxx>
-#include <xmlerror.hxx>
+#include <xmloff/xmlerror.hxx>
#include <xmloff/nmspmap.hxx>
diff --git a/xmloff/source/xforms/XFormsModelContext.cxx b/xmloff/source/xforms/XFormsModelContext.cxx
index d678b2d6fe..ad258c3003 100644
--- a/xmloff/source/xforms/XFormsModelContext.cxx
+++ b/xmloff/source/xforms/XFormsModelContext.cxx
@@ -37,10 +37,10 @@
#include "xformsapi.hxx"
#include <xmloff/xmlimp.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/xml/dom/XDocument.hpp>
diff --git a/xmloff/source/xforms/XFormsSubmissionContext.cxx b/xmloff/source/xforms/XFormsSubmissionContext.cxx
index fa7cc67875..426649ec32 100644
--- a/xmloff/source/xforms/XFormsSubmissionContext.cxx
+++ b/xmloff/source/xforms/XFormsSubmissionContext.cxx
@@ -33,10 +33,10 @@
#include "xformsapi.hxx"
#include <xmloff/xmlimp.hxx>
-#include "xmlerror.hxx"
+#include "xmloff/xmlerror.hxx"
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmltkmap.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/xforms/makefile.mk b/xmloff/source/xforms/makefile.mk
deleted file mode 100644
index f1238a6036..0000000000
--- a/xmloff/source/xforms/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=xmloff
-TARGET=xforms
-AUTOSEG=true
-
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES = \
- $(SLO)$/xformsapi.obj \
- $(SLO)$/XFormsBindContext.obj \
- $(SLO)$/xformsimport.obj \
- $(SLO)$/XFormsModelContext.obj \
- $(SLO)$/XFormsInstanceContext.obj \
- $(SLO)$/XFormsSubmissionContext.obj \
- $(SLO)$/SchemaContext.obj \
- $(SLO)$/SchemaRestrictionContext.obj \
- $(SLO)$/SchemaSimpleTypeContext.obj \
- $(SLO)$/TokenContext.obj \
- $(SLO)$/xformsexport.obj
-
-# --- Tagets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/xmloff/source/xforms/xformsapi.cxx b/xmloff/source/xforms/xformsapi.cxx
index 45238ba65f..446d7761ef 100644
--- a/xmloff/source/xforms/xformsapi.cxx
+++ b/xmloff/source/xforms/xformsapi.cxx
@@ -45,7 +45,7 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/nmspmap.hxx>
-#include <xmlnmspe.hxx>
+#include <xmloff/xmlnmspe.hxx>
#include <xmloff/xmltkmap.hxx>
using rtl::OUString;
diff --git a/xmloff/source/xforms/xformsexport.cxx b/xmloff/source/xforms/xformsexport.cxx
index 1473c4b69c..4ec89e794e 100644
--- a/xmloff/source/xforms/xformsexport.cxx
+++ b/xmloff/source/xforms/xformsexport.cxx
@@ -28,14 +28,14 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_xmloff.hxx"
-#include "xformsexport.hxx"
+#include "xmloff/xformsexport.hxx"
#include "XFormsModelExport.hxx"
#include "xformsapi.hxx"
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmltoken.hxx>
-#include "xmlnmspe.hxx"
+#include "xmloff/xmlnmspe.hxx"
#include <xmloff/nmspmap.hxx>
#include "DomExport.hxx"
#include <xmloff/xmluconv.hxx>
diff --git a/xmloff/source/xforms/xformsimport.cxx b/xmloff/source/xforms/xformsimport.cxx
index 87dfbd58bc..d234e6a5d1 100644
--- a/xmloff/source/xforms/xformsimport.cxx
+++ b/xmloff/source/xforms/xformsimport.cxx
@@ -31,7 +31,7 @@
#include "XFormsModelContext.hxx"
#include <vector>
#include <utility>
-#include "xformsimport.hxx"
+#include "xmloff/xformsimport.hxx"
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/form/binding/XValueBinding.hpp>
diff --git a/xmloff/util/makefile.mk b/xmloff/util/makefile.mk
deleted file mode 100644
index 857067985c..0000000000
--- a/xmloff/util/makefile.mk
+++ /dev/null
@@ -1,96 +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=xmloff
-TARGET=xo
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-.INCLUDE: $(PRJ)$/util$/makefile.pmk
-
-# --- Allgemein ----------------------------------------------------
-.IF "$(L10N_framework)"==""
-LIB1TARGET= $(SLB)$/xo.lib
-LIB1FILES= \
- $(SLB)$/core.lib \
- $(SLB)$/meta.lib \
- $(SLB)$/script.lib \
- $(SLB)$/style.lib \
- $(SLB)$/text.lib \
- $(SLB)$/draw.lib \
- $(SLB)$/chart.lib \
- $(SLB)$/forms.lib \
- $(SLB)$/xforms.lib \
- $(SLB)$/table.lib
-
-# --- Shared-Library -----------------------------------------------
-
-SHL1TARGET= xo$(DLLPOSTFIX)
-SHL1IMPLIB= i$(TARGET)
-SHL1USE_EXPORTS=name
-
-SHL1STDLIBS= \
- $(TOOLSLIB) \
- $(I18NISOLANGLIB) \
- $(VOSLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB)\
- $(COMPHELPERLIB)\
- $(SVLLIB) \
- $(SALLIB) \
- $(UNOTOOLSLIB) \
- $(BASEGFXLIB)
-
-# SCO: the linker does know about weak symbols, but we can't ignore multiple defined symbols
-.IF "(OS)"=="SCO"
-SHL1STDLIBS+=-licg617mxp
-.ENDIF
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-SHL1LIBS= $(LIB1TARGET)
-
-# --- Def-File ---------------------------------------------------------
-
-DEF1NAME =$(SHL1TARGET)
-DEFLIB1NAME =xo
-DEF1DES =XML Office Lib
-
-# --- Targets ----------------------------------------------------------
-.ENDIF
-.INCLUDE : target.mk
-
-ALLTAR : $(MISC)/xo.component
-
-$(MISC)/xo.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- xo.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt xo.component
diff --git a/xmlscript/prj/build.lst b/xmlscript/prj/build.lst
index f3410c6686..388a59f134 100644
--- a/xmlscript/prj/build.lst
+++ b/xmlscript/prj/build.lst
@@ -1,4 +1,4 @@
-xt xmlscript : comphelper tools offapi NULL
+xt xmlscript : comphelper tools offapi LIBXSLT:libxslt NULL
xt xmlscript usr1 - all xt_mkout NULL
xt xmlscript\inc nmake - all xt_inc NULL
xt xmlscript\source\xml_helper nmake - all xt_xml_helper xt_inc NULL