summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:34:26 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:34:26 +0200
commitadf7c3b1c101c080f1813ea5422386d2324fa977 (patch)
tree4bf704dcf17cceea146e03e8286a68e1b59d54b8
parent460adb08fd0812c32315b45ebce76a8972deabf4 (diff)
parentc302693bb67d7064f9c472a53a34b0f6219e119f (diff)
resyncing to master
-rw-r--r--UnoControls/prj/build.lst2
-rw-r--r--UnoControls/source/base/registercontrols.cxx10
-rw-r--r--accessibility/prj/build.lst2
-rw-r--r--accessibility/source/helper/accresmgr.cxx4
-rw-r--r--automation/inc/automation/communi.hxx1
-rw-r--r--automation/inc/automation/simplecm.hxx47
-rw-r--r--automation/source/communi/communi.cxx7
-rw-r--r--automation/source/miniapp/servres.cxx6
-rw-r--r--automation/source/miniapp/servres.hxx7
-rw-r--r--automation/source/miniapp/testapp.cxx2
-rw-r--r--automation/source/server/XMLParser.cxx10
-rw-r--r--automation/source/server/cmdbasestream.cxx8
-rw-r--r--automation/source/server/sta_list.cxx7
-rw-r--r--automation/source/server/statemnt.cxx3
-rw-r--r--automation/source/simplecm/simplecm.cxx149
-rw-r--r--automation/source/testtool/httprequest.cxx41
-rw-r--r--automation/source/testtool/httprequest.hxx24
-rw-r--r--automation/source/testtool/objtest.cxx55
-rw-r--r--automation/source/testtool/tcommuni.cxx6
-rw-r--r--basctl/source/basicide/iderdll.cxx3
-rw-r--r--basctl/source/basicide/moduldl2.cxx2
-rw-r--r--basctl/source/basicide/register.cxx8
-rwxr-xr-xbasctl/util/basctl.map1
-rw-r--r--bean/com/sun/star/comp/beans/HasConnectionException.java2
-rw-r--r--bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c8
-rw-r--r--bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c23
-rw-r--r--cui/Library_cui.mk6
-rw-r--r--cui/source/customize/acccfg.cxx2
-rw-r--r--cui/source/customize/macropg.cxx18
-rw-r--r--cui/source/dialogs/SpellDialog.cxx10
-rw-r--r--cui/source/dialogs/about.cxx247
-rw-r--r--cui/source/dialogs/about.hrc7
-rw-r--r--cui/source/dialogs/about.src10
-rw-r--r--cui/source/dialogs/cuigaldlg.cxx55
-rw-r--r--cui/source/dialogs/cuihyperdlg.cxx1
-rw-r--r--cui/source/dialogs/hldocntp.cxx2
-rw-r--r--cui/source/dialogs/hlinettp.cxx50
-rw-r--r--cui/source/dialogs/hltpbase.cxx4
-rw-r--r--cui/source/dialogs/hyperdlg.hrc1
-rw-r--r--cui/source/dialogs/hyperdlg.src27
-rw-r--r--cui/source/dialogs/iconcdlg.cxx4
-rw-r--r--cui/source/dialogs/multipat.cxx3
-rw-r--r--cui/source/dialogs/srchxtra.cxx8
-rw-r--r--cui/source/factory/cuiresmgr.cxx7
-rw-r--r--cui/source/inc/about.hxx13
-rw-r--r--cui/source/inc/autocdlg.hxx8
-rw-r--r--cui/source/inc/cuigaldlg.hxx15
-rw-r--r--cui/source/inc/hlinettp.hxx9
-rw-r--r--cui/source/inc/hltpbase.hxx2
-rw-r--r--cui/source/inc/multipat.hxx1
-rw-r--r--cui/source/inc/radiobtnbox.hxx2
-rw-r--r--cui/source/options/fontsubs.cxx4
-rw-r--r--cui/source/options/fontsubs.hxx8
-rw-r--r--cui/source/options/optcolor.cxx7
-rw-r--r--cui/source/options/optfltr.cxx3
-rw-r--r--cui/source/options/optfltr.hxx7
-rw-r--r--cui/source/options/optgdlg.cxx22
-rw-r--r--cui/source/options/optinet2.cxx407
-rwxr-xr-xcui/source/options/optinet2.hrc23
-rw-r--r--cui/source/options/optinet2.hxx65
-rw-r--r--cui/source/options/optinet2.src166
-rw-r--r--cui/source/options/optjava.cxx7
-rw-r--r--cui/source/options/optjava.hxx1
-rw-r--r--cui/source/options/optpath.cxx1
-rw-r--r--cui/source/options/radiobtnbox.cxx15
-rw-r--r--cui/source/options/treeopt.cxx2
-rw-r--r--cui/source/options/treeopt.src3
-rw-r--r--cui/source/options/webconninfo.cxx8
-rw-r--r--cui/source/options/webconninfo.hxx3
-rw-r--r--cui/source/tabpages/autocdlg.cxx6
-rw-r--r--cui/source/tabpages/autocdlg.src2
-rw-r--r--cui/source/tabpages/border.cxx15
-rw-r--r--cui/source/tabpages/chardlg.cxx6
-rw-r--r--cui/source/uno/services.cxx6
-rw-r--r--cui/util/cui.map1
-rw-r--r--embedserv/prj/build.lst2
-rw-r--r--embedserv/source/embed/register.cxx5
-rw-r--r--embedserv/source/inc/embservconst.h2
-rwxr-xr-xembedserv/util/exports.dxp1
-rw-r--r--extensions/prj/build.lst5
-rw-r--r--extensions/prj/d.lst1
-rw-r--r--extensions/source/abpilot/abpservices.cxx13
-rw-r--r--extensions/source/abpilot/exports.dxp1
-rw-r--r--extensions/source/bibliography/bibload.cxx6
-rw-r--r--extensions/source/config/ldap/componentdef.cxx7
-rw-r--r--extensions/source/config/ldap/exports.dxp1
-rw-r--r--extensions/source/dbpilots/dbpservices.cxx13
-rw-r--r--extensions/source/logging/log_module.cxx19
-rw-r--r--extensions/source/logging/log_module.hxx50
-rw-r--r--extensions/source/logging/log_services.cxx7
-rw-r--r--extensions/source/nsplugin/source/nsplugin.rc6
-rw-r--r--extensions/source/nsplugin/source/nsplugin_oo.rc6
-rw-r--r--extensions/source/ole/oleautobridge.uno.dxp1
-rw-r--r--extensions/source/ole/servreg.cxx8
-rw-r--r--extensions/source/oooimprovecore/core.cxx1
-rw-r--r--extensions/source/oooimprovecore/oooimprovecore_module.cxx19
-rw-r--r--extensions/source/oooimprovecore/oooimprovecore_module.hxx51
-rw-r--r--extensions/source/oooimprovecore/oooimprovecore_services.cxx7
-rw-r--r--extensions/source/oooimprovement/oooimprovement_exports.cxx3
-rw-r--r--extensions/source/plugin/base/service.cxx7
-rw-r--r--extensions/source/preload/makefile.mk93
-rw-r--r--extensions/source/preload/modulepreload.cxx34
-rw-r--r--extensions/source/preload/oemwiz.cxx445
-rw-r--r--extensions/source/preload/oemwiz.hxx156
-rw-r--r--extensions/source/preload/preload.component34
-rw-r--r--extensions/source/preload/preload.hrc58
-rw-r--r--extensions/source/preload/preload.src290
-rw-r--r--extensions/source/preload/preloadservices.cxx73
-rw-r--r--extensions/source/preload/preloadservices.hxx57
-rw-r--r--extensions/source/preload/services.cxx87
-rw-r--r--extensions/source/preload/unoautopilot.hxx109
-rw-r--r--extensions/source/preload/unoautopilot.inl128
-rw-r--r--extensions/source/propctrlr/pcrservices.cxx13
-rw-r--r--extensions/source/resource/ResourceIndexAccess.cxx208
-rw-r--r--extensions/source/resource/ResourceIndexAccess.hxx75
-rw-r--r--extensions/source/resource/exports.dxp1
-rw-r--r--extensions/source/resource/makefile.mk8
-rw-r--r--extensions/source/resource/oooresourceloader.cxx169
-rw-r--r--extensions/source/resource/oooresourceloader.hxx87
-rw-r--r--extensions/source/resource/res.component6
-rw-r--r--extensions/source/resource/res_services.cxx89
-rw-r--r--extensions/source/resource/res_services.hxx67
-rw-r--r--extensions/source/resource/resource.cxx476
-rw-r--r--extensions/source/resource/resourceservices.cxx58
-rw-r--r--extensions/source/scanner/exports.dxp1
-rw-r--r--extensions/source/scanner/sanedlg.cxx8
-rw-r--r--extensions/source/scanner/scnserv.cxx12
-rw-r--r--extensions/source/update/check/Jobs.xcu2
-rw-r--r--extensions/source/update/check/updatecheckjob.cxx7
-rw-r--r--extensions/source/update/feed/updatefeed.cxx7
-rw-r--r--extensions/source/update/ui/updatecheckui.cxx7
-rw-r--r--extensions/source/xmlextract/xmxuno.cxx7
-rw-r--r--extensions/test/ole/cpnt/cpnt.cxx6
-rw-r--r--extensions/test/ole/cpnt/exports.dxp1
-rw-r--r--extensions/test/sax/exports.dxp2
-rw-r--r--extensions/test/sax/factory.hxx33
-rw-r--r--extensions/test/sax/makefile.mk64
-rw-r--r--extensions/test/sax/testsax.cxx902
-rw-r--r--extensions/test/sax/testwriter.cxx758
-rw-r--r--forms/Library_frm.mk7
-rw-r--r--forms/source/component/DatabaseForm.cxx89
-rw-r--r--forms/source/component/Edit.cxx4
-rw-r--r--forms/source/misc/services.cxx6
-rw-r--r--forms/source/resource/frm_resource.cxx4
-rw-r--r--forms/util/frm.dxp1
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp1
-rw-r--r--lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx6
-rw-r--r--lingucomponent/source/languageguessing/guesslang.cxx6
-rw-r--r--lingucomponent/source/spellcheck/macosxspell/macreg.cxx6
-rw-r--r--lingucomponent/source/spellcheck/spell/exports.dxp1
-rw-r--r--lingucomponent/source/spellcheck/spell/sreg.cxx6
-rw-r--r--lingucomponent/source/thesaurus/libnth/exports.dxp1
-rw-r--r--lingucomponent/source/thesaurus/libnth/ntreg.cxx6
-rw-r--r--package/prj/d.lst1
-rw-r--r--package/source/manifest/UnoRegister.cxx8
-rw-r--r--package/source/xstor/register.cxx5
-rw-r--r--package/source/xstor/xstor.dxp1
-rw-r--r--package/source/zipapi/sha1context.hxx2
-rw-r--r--package/util/exports.dxp1
-rw-r--r--package/util/makefile.mk4
-rw-r--r--setup_native/prj/build.lst2
-rw-r--r--setup_native/prj/d.lst1
-rw-r--r--setup_native/source/java/brofficeorg_setup.gifbin3115 -> 0 bytes
-rw-r--r--setup_native/source/java/openofficeorg_setup.gifbin6641 -> 0 bytes
-rw-r--r--setup_native/source/mac/broffice/DS_Storebin12292 -> 0 bytes
-rw-r--r--setup_native/source/mac/broffice/osxdndinstall.pngbin32890 -> 0 bytes
-rw-r--r--setup_native/source/mac/broffice/osxdndinstall.svg1765
-rw-r--r--setup_native/source/mac/broffice/osxdndinstall_nologo.pngbin32890 -> 0 bytes
-rwxr-xr-xsetup_native/source/packinfo/packinfo_office_lang.txt16
-rw-r--r--setup_native/source/win32/customactions/javafilter/makefile.mk4
-rw-r--r--setup_native/source/win32/customactions/languagepacks/makefile.mk2
-rwxr-xr-xsetup_native/source/win32/customactions/patch/makefile.mk3
-rw-r--r--setup_native/source/win32/customactions/quickstarter/makefile.mk3
-rw-r--r--setup_native/source/win32/customactions/rebase/makefile.mk2
-rw-r--r--setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk2
-rw-r--r--setup_native/source/win32/customactions/reg64/makefile.mk3
-rw-r--r--setup_native/source/win32/customactions/regactivex/makefile.mk3
-rw-r--r--setup_native/source/win32/customactions/regpatchactivex/makefile.mk10
-rw-r--r--setup_native/source/win32/customactions/sellang/makefile.mk20
-rw-r--r--setup_native/source/win32/customactions/shellextensions/makefile.mk4
-rwxr-xr-xsetup_native/source/win32/customactions/thesaurus/makefile.mk9
-rw-r--r--setup_native/source/win32/customactions/tools/makefile.mk4
-rwxr-xr-xwizards/com/sun/star/wizards/RemoteFaxWizard7
-rwxr-xr-xwizards/com/sun/star/wizards/RemoteLetterWizard7
-rw-r--r--wizards/com/sun/star/wizards/__init__.py0
-rw-r--r--wizards/com/sun/star/wizards/common/ConfigGroup.py38
-rw-r--r--wizards/com/sun/star/wizards/common/ConfigNode.py15
-rw-r--r--wizards/com/sun/star/wizards/common/Configuration.py213
-rw-r--r--wizards/com/sun/star/wizards/common/DebugHelper.py10
-rw-r--r--wizards/com/sun/star/wizards/common/Desktop.py280
-rw-r--r--wizards/com/sun/star/wizards/common/FileAccess.py771
-rw-r--r--wizards/com/sun/star/wizards/common/HelpIds.py1012
-rw-r--r--wizards/com/sun/star/wizards/common/Helper.py186
-rw-r--r--wizards/com/sun/star/wizards/common/NoValidPathException.py10
-rw-r--r--wizards/com/sun/star/wizards/common/NumberFormatter.py231
-rw-r--r--wizards/com/sun/star/wizards/common/PropertyNames.py15
-rw-r--r--wizards/com/sun/star/wizards/common/PropertySetHelper.py250
-rw-r--r--wizards/com/sun/star/wizards/common/Resource.java85
-rw-r--r--wizards/com/sun/star/wizards/common/Resource.java.orig140
-rw-r--r--wizards/com/sun/star/wizards/common/Resource.py69
-rw-r--r--wizards/com/sun/star/wizards/common/SystemDialog.py236
-rw-r--r--wizards/com/sun/star/wizards/common/__init__.py1
-rw-r--r--wizards/com/sun/star/wizards/common/prova.py7
-rw-r--r--wizards/com/sun/star/wizards/document/OfficeDocument.py293
-rw-r--r--wizards/com/sun/star/wizards/document/__init__.py0
-rw-r--r--wizards/com/sun/star/wizards/fax/CGFax.py31
-rw-r--r--wizards/com/sun/star/wizards/fax/CGFaxWizard.py10
-rw-r--r--wizards/com/sun/star/wizards/fax/CallWizard.py156
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxDocument.py131
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxWizardDialog.py645
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py83
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py697
-rw-r--r--wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py141
-rw-r--r--wizards/com/sun/star/wizards/fax/__init__.py1
-rw-r--r--wizards/com/sun/star/wizards/letter/CGLetter.py37
-rw-r--r--wizards/com/sun/star/wizards/letter/CGLetterWizard.py10
-rw-r--r--wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py10
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterDocument.py261
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterWizardDialog.py1141
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py60
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py1267
-rw-r--r--wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py219
-rw-r--r--wizards/com/sun/star/wizards/letter/LocaleCodes.py154
-rw-r--r--wizards/com/sun/star/wizards/letter/__init__.py0
-rw-r--r--wizards/com/sun/star/wizards/text/TextDocument.py285
-rw-r--r--wizards/com/sun/star/wizards/text/TextFieldHandler.py190
-rw-r--r--wizards/com/sun/star/wizards/text/TextSectionHandler.py133
-rw-r--r--wizards/com/sun/star/wizards/text/ViewHandler.py37
-rw-r--r--wizards/com/sun/star/wizards/text/__init__.py0
-rw-r--r--wizards/com/sun/star/wizards/ui/PathSelection.py121
-rw-r--r--wizards/com/sun/star/wizards/ui/UIConsts.py53
-rw-r--r--wizards/com/sun/star/wizards/ui/UnoDialog.py552
-rw-r--r--wizards/com/sun/star/wizards/ui/UnoDialog2.py259
-rw-r--r--wizards/com/sun/star/wizards/ui/WizardDialog.py499
-rw-r--r--wizards/com/sun/star/wizards/ui/XPathSelectionListener.py7
-rw-r--r--wizards/com/sun/star/wizards/ui/__init__.py1
-rw-r--r--wizards/com/sun/star/wizards/ui/event/CommonListener.py85
-rw-r--r--wizards/com/sun/star/wizards/ui/event/DataAware.py127
-rw-r--r--wizards/com/sun/star/wizards/ui/event/RadioDataAware.py39
-rw-r--r--wizards/com/sun/star/wizards/ui/event/UnoDataAware.py74
-rw-r--r--wizards/com/sun/star/wizards/ui/event/__init__.py0
-rw-r--r--wizards/prj/build.lst2
-rw-r--r--wizards/source/tools/Misc.xba16
-rw-r--r--xmlsecurity/inc/xmlsecurity/certificatechooser.hxx4
-rw-r--r--xmlsecurity/inc/xmlsecurity/certificateviewer.hxx3
-rw-r--r--xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx3
-rw-r--r--xmlsecurity/inc/xmlsecurity/macrosecurity.hxx3
-rw-r--r--xmlsecurity/source/component/registerservices.cxx5
-rw-r--r--xmlsecurity/source/dialogs/certificatechooser.cxx3
-rw-r--r--xmlsecurity/source/dialogs/certificateviewer.cxx12
-rw-r--r--xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx5
-rw-r--r--xmlsecurity/source/dialogs/macrosecurity.cxx3
-rw-r--r--xmlsecurity/source/framework/xsec_framework.cxx7
-rw-r--r--xmlsecurity/source/xmlsec/saxhelper.cxx30
-rw-r--r--xmlsecurity/source/xmlsec/xsec_xmlsec.cxx6
-rw-r--r--xmlsecurity/util/exports_xsmscrypt.dxp1
-rw-r--r--xmlsecurity/util/exports_xsnss.dxp1
-rw-r--r--xmlsecurity/util/xsec_fw.dxp1
258 files changed, 12404 insertions, 7730 deletions
diff --git a/UnoControls/prj/build.lst b/UnoControls/prj/build.lst
index 775cb902f..473776ffb 100644
--- a/UnoControls/prj/build.lst
+++ b/UnoControls/prj/build.lst
@@ -1,4 +1,4 @@
-us UnoControls : LIBXSLT:libxslt cppuhelper offuh tools NULL
+us UnoControls : LIBXSLT:libxslt cppuhelper offapi tools NULL
us UnoControls usr1 - all us_mkout NULL
us UnoControls\source\base nmake - all us_base NULL
us UnoControls\source\controls nmake - all us_ctrls NULL
diff --git a/UnoControls/source/base/registercontrols.cxx b/UnoControls/source/base/registercontrols.cxx
index c6692be0e..f786c9285 100644
--- a/UnoControls/source/base/registercontrols.cxx
+++ b/UnoControls/source/base/registercontrols.cxx
@@ -132,16 +132,6 @@ CREATEINSTANCE ( StatusIndicator )
//=============================================================================
//______________________________________________________________________________________________________________
-// return environment
-//______________________________________________________________________________________________________________
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvironmentTypeName ,
- uno_Environment** /*ppEnvironment*/ )
-{
- *ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-
-//______________________________________________________________________________________________________________
// create right component factory
//______________________________________________________________________________________________________________
diff --git a/accessibility/prj/build.lst b/accessibility/prj/build.lst
index 469a59e79..61692214b 100644
--- a/accessibility/prj/build.lst
+++ b/accessibility/prj/build.lst
@@ -1,4 +1,4 @@
-ac accessibility : TRANSLATIONS:translations tools jurt offuh unoil vcl javaunohelper jvmaccess cppu sal toolkit svtools LIBXSLT:libxslt NULL
+ac accessibility : TRANSLATIONS:translations tools jurt offapi unoil vcl javaunohelper jvmaccess cppu sal toolkit svtools LIBXSLT:libxslt NULL
ac accessibility usr1 - all ac_mkout NULL
ac accessibility\inc nmake - all ac_inc NULL
ac accessibility\bridge\org\openoffice\java\accessibility nmake - w ac_ooja ac_inc NULL
diff --git a/accessibility/source/helper/accresmgr.cxx b/accessibility/source/helper/accresmgr.cxx
index a448c4000..f81231156 100644
--- a/accessibility/source/helper/accresmgr.cxx
+++ b/accessibility/source/helper/accresmgr.cxx
@@ -56,9 +56,7 @@ void TkResMgr::ensureImplExists()
::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
- ByteString sResMgrName( "acc" );
-
- m_pImpl = SimpleResMgr::Create( sResMgrName.GetBuffer(), aLocale );
+ m_pImpl = SimpleResMgr::Create("acc", aLocale );
if (m_pImpl)
{
diff --git a/automation/inc/automation/communi.hxx b/automation/inc/automation/communi.hxx
index f9b1242a5..7b0ceb81b 100644
--- a/automation/inc/automation/communi.hxx
+++ b/automation/inc/automation/communi.hxx
@@ -164,7 +164,6 @@ class CommunicationManagerClientViaSocket : public CommunicationManagerClient, C
public:
using CommunicationManager::StartCommunication;
- CommunicationManagerClientViaSocket( ByteString aHost, sal_uLong nPort, sal_Bool bUseMultiChannel = sal_False );
CommunicationManagerClientViaSocket( sal_Bool bUseMultiChannel = sal_False );
virtual ~CommunicationManagerClientViaSocket();
diff --git a/automation/inc/automation/simplecm.hxx b/automation/inc/automation/simplecm.hxx
index d13abf4ba..69c75cbf2 100644
--- a/automation/inc/automation/simplecm.hxx
+++ b/automation/inc/automation/simplecm.hxx
@@ -114,14 +114,12 @@ private:
class PacketHandler;
class CommunicationManager;
-class SingleCommunicationManager;
class MultiCommunicationManager;
class CommunicationManagerServerAcceptThread;
class CommunicationLink : public SvRefBase
{
protected:
friend class CommunicationManager;
- friend class SingleCommunicationManager;
friend class MultiCommunicationManager;
friend class CommunicationManagerServerAcceptThread;
// Darf nicht abger�umt werden zwischen Empfang des Streams und ende des Callbacks
@@ -287,24 +285,6 @@ private:
sal_Bool bIsMultiChannel;
};
-class SingleCommunicationManager : public CommunicationManager
-{
-public:
- SingleCommunicationManager( sal_Bool bUseMultiChannel = sal_False );
- virtual ~SingleCommunicationManager();
- virtual sal_Bool StopCommunication(); // H�lt alle CommunicationLinks an
- virtual sal_Bool IsLinkValid( CommunicationLink* pCL );
- virtual sal_uInt16 GetCommunicationLinkCount();
- virtual CommunicationLinkRef GetCommunicationLink( sal_uInt16 nNr );
-
-protected:
- virtual void CallConnectionOpened( CommunicationLink* pCL );
- virtual void CallConnectionClosed( CommunicationLink* pCL );
- CommunicationLinkRef xActiveLink;
- CommunicationLink *pInactiveLink;
- virtual void DestroyingLink( CommunicationLink *pCL ); // Link tr�gt sich im Destruktor aus
-};
-
class ICommunicationManagerClient
{
friend class CommonSocketFunctions;
@@ -347,17 +327,6 @@ protected:
void SetNewPacketAsCurrent();
};
-class SimpleCommunicationLinkViaSocketWithReceiveCallbacks : public SimpleCommunicationLinkViaSocket
-{
-public:
- SimpleCommunicationLinkViaSocketWithReceiveCallbacks( CommunicationManager *pMan, osl::StreamSocket* pSocket );
- ~SimpleCommunicationLinkViaSocketWithReceiveCallbacks();
- virtual sal_Bool ReceiveDataStream();
-protected:
- virtual sal_Bool ShutdownCommunication(); /// Really stop the Communication
- virtual void WaitForShutdown();
-};
-
class CommonSocketFunctions
{
public:
@@ -366,22 +335,6 @@ protected:
virtual CommunicationLink *CreateCommunicationLink( CommunicationManager *pCM, osl::ConnectorSocket* pCS )=0;
};
-class SingleCommunicationManagerClientViaSocket : public SingleCommunicationManager, public ICommunicationManagerClient, CommonSocketFunctions
-{
-public:
- using CommunicationManager::StartCommunication;
-
- SingleCommunicationManagerClientViaSocket( ByteString aHost, sal_uLong nPort, sal_Bool bUseMultiChannel = sal_False );
- SingleCommunicationManagerClientViaSocket( sal_Bool bUseMultiChannel = sal_False );
- virtual sal_Bool StartCommunication(){ return DoStartCommunication( this, (ICommunicationManagerClient*) this, aHostToTalk, nPortToTalk );}
- virtual sal_Bool StartCommunication( ByteString aHost, sal_uLong nPort ){ return DoStartCommunication( this, (ICommunicationManagerClient*) this, aHost, nPort );}
-private:
- ByteString aHostToTalk;
- sal_uLong nPortToTalk;
-protected:
- virtual CommunicationLink *CreateCommunicationLink( CommunicationManager *pCM, osl::ConnectorSocket* pCS ){ return new SimpleCommunicationLinkViaSocketWithReceiveCallbacks( pCM, pCS ); }
-};
-
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/automation/source/communi/communi.cxx b/automation/source/communi/communi.cxx
index f7da08fff..876ae1192 100644
--- a/automation/source/communi/communi.cxx
+++ b/automation/source/communi/communi.cxx
@@ -567,13 +567,6 @@ IMPL_LINK( CommunicationManagerServerAcceptThread, AddConnection, void*, EMPTYAR
return 1;
}
-CommunicationManagerClientViaSocket::CommunicationManagerClientViaSocket( ByteString aHost, sal_uLong nPort, sal_Bool bUseMultiChannel )
-: CommunicationManagerClient( bUseMultiChannel )
-, aHostToTalk( aHost )
-, nPortToTalk( nPort )
-{
-}
-
CommunicationManagerClientViaSocket::CommunicationManagerClientViaSocket( sal_Bool bUseMultiChannel )
: CommunicationManagerClient( bUseMultiChannel )
, aHostToTalk( "" )
diff --git a/automation/source/miniapp/servres.cxx b/automation/source/miniapp/servres.cxx
index 5e10e805d..a4b7a5df3 100644
--- a/automation/source/miniapp/servres.cxx
+++ b/automation/source/miniapp/servres.cxx
@@ -53,10 +53,4 @@ ModalDialogGROSSER_TEST_DLG::ModalDialogGROSSER_TEST_DLG( Window * pParent, cons
if( bFreeRes ) FreeResource();
}
-MenuMENU_CLIENT::MenuMENU_CLIENT( const ResId & rResId, sal_Bool )
- : MenuBar( rResId )
-{
- // No subresources, automatic free resource
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/automation/source/miniapp/servres.hxx b/automation/source/miniapp/servres.hxx
index f000dffd2..318ffd885 100644
--- a/automation/source/miniapp/servres.hxx
+++ b/automation/source/miniapp/servres.hxx
@@ -55,11 +55,4 @@ public:
ModalDialogGROSSER_TEST_DLG( Window * pParent, const ResId & rResId, sal_Bool bFreeRes = sal_True );
};
-class MenuMENU_CLIENT : public MenuBar
-{
-protected:
-public:
- MenuMENU_CLIENT( const ResId & rResId, sal_Bool bFreeRes = sal_True );
-};
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/automation/source/miniapp/testapp.cxx b/automation/source/miniapp/testapp.cxx
index ef5d3565b..2fb5ef843 100644
--- a/automation/source/miniapp/testapp.cxx
+++ b/automation/source/miniapp/testapp.cxx
@@ -209,7 +209,7 @@ sal_uInt16 MyDispatcher::ExecuteFunction( sal_uInt16 nSID, SfxPoolItem** ppArgs,
case IDM_SYS_DLG: pMainWin->SysDlg(); break;
default:
{
- OSL_TRACE("Dispatcher kennt Funktion nicht %s",ByteString::CreateFromInt64(nSID).GetBuffer());
+ OSL_TRACE("Dispatcher kennt Funktion nicht %s", rtl::OString::valueOf(static_cast<sal_Int64>(nSID)).getStr());
return EXECUTE_NO;
}
diff --git a/automation/source/server/XMLParser.cxx b/automation/source/server/XMLParser.cxx
index 595eed464..d056fba6f 100644
--- a/automation/source/server/XMLParser.cxx
+++ b/automation/source/server/XMLParser.cxx
@@ -279,17 +279,11 @@ sal_Bool SAXParser::Parse( ParseAction aAct )
}
catch( class SAXParseException & rPEx)
{
-#ifdef DBG_ERROR
- String aMemo( rPEx.Message );
- aMemo = String( aMemo );
-#endif
+ // TODO
}
catch( class Exception & rEx)
{
-#ifdef DBG_ERROR
- String aMemo( rEx.Message );
- aMemo = String( aMemo );
-#endif
+ // TODO
}
xParser->setErrorHandler( NULL ); // otherwile Object holds itself
if ( aAction == COLLECT_DATA || aAction == COLLECT_DATA_IGNORE_WHITESPACE )
diff --git a/automation/source/server/cmdbasestream.cxx b/automation/source/server/cmdbasestream.cxx
index b5a48e06a..4d8dfe844 100644
--- a/automation/source/server/cmdbasestream.cxx
+++ b/automation/source/server/cmdbasestream.cxx
@@ -70,7 +70,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_UINT32
{
Write(comm_UINT16(SIReturn));
Write(nRet);
- if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
+ if (pUId->equalsL(RTL_CONSTASCII_STRINGPARAM("UID_ACTIVE")))
Write(comm_UINT32(0));
else
Write(pUId);
@@ -82,7 +82,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_String
{
Write(comm_UINT16(SIReturn));
Write(nRet);
- if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
+ if (pUId->equalsL(RTL_CONSTASCII_STRINGPARAM("UID_ACTIVE")))
Write(comm_UINT32(0));
else
Write(pUId);
@@ -94,7 +94,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_BOOL b
{
Write(comm_UINT16(SIReturn));
Write(nRet);
- if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
+ if (pUId->equalsL(RTL_CONSTASCII_STRINGPARAM("UID_ACTIVE")))
Write(comm_UINT32(0));
else
Write(pUId);
@@ -106,7 +106,7 @@ void CmdBaseStream::GenReturn (comm_UINT16 nRet, rtl::OString *pUId, comm_UINT32
{
Write(comm_UINT16(SIReturn));
Write(nRet);
- if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
+ if (pUId->equalsL(RTL_CONSTASCII_STRINGPARAM("UID_ACTIVE")))
Write(comm_UINT32(0));
else
Write(pUId);
diff --git a/automation/source/server/sta_list.cxx b/automation/source/server/sta_list.cxx
index 69a021240..163c8e3dd 100644
--- a/automation/source/server/sta_list.cxx
+++ b/automation/source/server/sta_list.cxx
@@ -124,11 +124,10 @@ TTSettings* GetTTSettings()
return pTTSettings;
}
-
-
-
// FIXME: HELPID
-#define IS_WINP_CLOSING(pWin) (pWin->GetHelpId().equals( "TT_Win_is_closing_HID" ) && pWin->GetUniqueId().equals( "TT_Win_is_closing_UID" ))
+#define IS_WINP_CLOSING(pWin) \
+ (pWin->GetHelpId().equalsL(RTL_CONSTASCII_STRINGPARAM("TT_Win_is_closing_HID")) && \
+ pWin->GetUniqueId().equalsL(RTL_CONSTASCII_STRINGPARAM("TT_Win_is_closing_UID")))
StatementList::StatementList()
: nRetryCount(MAX_RETRIES)
diff --git a/automation/source/server/statemnt.cxx b/automation/source/server/statemnt.cxx
index c34915b5c..23641de88 100644
--- a/automation/source/server/statemnt.cxx
+++ b/automation/source/server/statemnt.cxx
@@ -1001,7 +1001,8 @@ void StatementCommand::WriteControlData( Window *pBase, sal_uLong nConf, sal_Boo
aID.Assign("Help");
break;
default:
- aID = ByteString::CreateFromInt32( pBD->GetButtonId(i) );
+ aID = rtl::OString::valueOf(
+ static_cast<sal_Int32>(pBD->GetButtonId(i)));
break;
}
diff --git a/automation/source/simplecm/simplecm.cxx b/automation/source/simplecm/simplecm.cxx
index b9597c3ab..132296890 100644
--- a/automation/source/simplecm/simplecm.cxx
+++ b/automation/source/simplecm/simplecm.cxx
@@ -343,17 +343,6 @@ sal_Bool SimpleCommunicationLinkViaSocket::SendHandshake( HandshakeType aHandsha
return !bWasError;
}
-SimpleCommunicationLinkViaSocketWithReceiveCallbacks::SimpleCommunicationLinkViaSocketWithReceiveCallbacks( CommunicationManager *pMan, osl::StreamSocket* pSocket )
-: SimpleCommunicationLinkViaSocket( pMan, pSocket )
-{
-}
-
-SimpleCommunicationLinkViaSocketWithReceiveCallbacks::~SimpleCommunicationLinkViaSocketWithReceiveCallbacks()
-{
- if ( pMyManager && pMyManager->IsLinkValid( this ) && !bIsRequestShutdownPending )
- StopCommunication();
-}
-
bool SimpleCommunicationLinkViaSocket::IsReceiveReady()
{
if ( !IsCommunicationError() )
@@ -365,50 +354,6 @@ bool SimpleCommunicationLinkViaSocket::IsReceiveReady()
return false;
}
-void SimpleCommunicationLinkViaSocketWithReceiveCallbacks::WaitForShutdown()
-{
- CommunicationLinkRef rHold(this); // avoid deleting this link before the end of the method
-
- while( pMyManager && !IsCommunicationError() && IsReceiveReady())
- ReceiveDataStream();
-}
-
-sal_Bool SimpleCommunicationLinkViaSocketWithReceiveCallbacks::ReceiveDataStream()
-{
- if ( DoReceiveDataStream() )
- {
- SetNewPacketAsCurrent();
- StartCallback();
- DataReceived();
- return sal_True;
- }
- else
- {
- StartCallback();
- ShutdownCommunication();
- return sal_False;
- }
-}
-
-sal_Bool SimpleCommunicationLinkViaSocketWithReceiveCallbacks::ShutdownCommunication()
-{
- if ( GetStreamSocket() )
- GetStreamSocket()->shutdown();
-
- if ( GetStreamSocket() )
- GetStreamSocket()->close();
-
- osl::StreamSocket* pTempSocket = GetStreamSocket();
- SetStreamSocket( NULL );
- delete pTempSocket;
-
- ConnectionClosed();
-
- return sal_True;
-}
-
-
-
CommunicationManager::CommunicationManager( sal_Bool bUseMultiChannel )
: nInfoType( CM_NONE )
, bIsCommunicationRunning( sal_False )
@@ -577,100 +522,6 @@ void CommunicationManager::SetApplication( const ByteString& aApp, sal_Bool bRun
}
}
-
-
-SingleCommunicationManager::SingleCommunicationManager( sal_Bool bUseMultiChannel )
-: CommunicationManager( bUseMultiChannel )
-{
- xActiveLink = NULL;
- pInactiveLink = NULL;
-}
-
-SingleCommunicationManager::~SingleCommunicationManager()
-{
- StopCommunication();
- if ( pInactiveLink )
- pInactiveLink->InvalidateManager();
-}
-
-sal_Bool SingleCommunicationManager::StopCommunication()
-{
- if ( xActiveLink.Is() )
- {
- sal_Bool bSuccess = xActiveLink->StopCommunication();
- if ( pInactiveLink )
- pInactiveLink->InvalidateManager();
- pInactiveLink = xActiveLink;
- xActiveLink.Clear();
- return bSuccess;
- }
- return sal_True;
-}
-
-sal_Bool SingleCommunicationManager::IsLinkValid( CommunicationLink* pCL )
-{
- return &xActiveLink == pCL;
-}
-
-sal_uInt16 SingleCommunicationManager::GetCommunicationLinkCount()
-{
- return IsCommunicationRunning()?1:0;
-}
-
-CommunicationLinkRef SingleCommunicationManager::GetCommunicationLink( sal_uInt16 )
-{
- return xActiveLink;
-}
-
-void SingleCommunicationManager::CallConnectionOpened( CommunicationLink* pCL )
-{
- DBG_ASSERT( !xActiveLink.Is(), "Es ist bereits ein CommunicationLink aktiv");
- if ( xActiveLink.Is() )
- {
- if ( pInactiveLink )
- pInactiveLink->InvalidateManager();
- pInactiveLink = xActiveLink;
- xActiveLink->StopCommunication(); // Den alten Link brutal abw�rgen
- }
- xActiveLink = pCL;
- CommunicationManager::CallConnectionOpened( pCL );
-}
-
-void SingleCommunicationManager::CallConnectionClosed( CommunicationLink* pCL )
-{
- CommunicationManager::CallConnectionClosed( pCL );
-
- DBG_ASSERT( pCL == xActiveLink, "SingleCommunicationManager::CallConnectionClosed mit fremdem Link");
- if ( pInactiveLink )
- pInactiveLink->InvalidateManager();
- pInactiveLink = xActiveLink;
- xActiveLink.Clear();
- bIsCommunicationRunning = sal_False;
-}
-
-void SingleCommunicationManager::DestroyingLink( CommunicationLink *pCL )
-{
- pInactiveLink = NULL;
- pCL->InvalidateManager();
-}
-
-
-SingleCommunicationManagerClientViaSocket::SingleCommunicationManagerClientViaSocket( ByteString aHost, sal_uLong nPort, sal_Bool bUseMultiChannel )
-: SingleCommunicationManager( bUseMultiChannel )
-, aHostToTalk( aHost )
-, nPortToTalk( nPort )
-{
-}
-
-
-SingleCommunicationManagerClientViaSocket::SingleCommunicationManagerClientViaSocket( sal_Bool bUseMultiChannel )
-: SingleCommunicationManager( bUseMultiChannel )
-, aHostToTalk()
-, nPortToTalk( 0 )
-{
-}
-
-
sal_Bool CommonSocketFunctions::DoStartCommunication( CommunicationManager *pCM, ICommunicationManagerClient *pCMC, ByteString aHost, sal_uLong nPort )
{
osl::SocketAddr Addr( rtl::OUString( UniString( aHost, RTL_TEXTENCODING_UTF8 ) ), nPort );
diff --git a/automation/source/testtool/httprequest.cxx b/automation/source/testtool/httprequest.cxx
index 99d1aee8c..6fc3478ea 100644
--- a/automation/source/testtool/httprequest.cxx
+++ b/automation/source/testtool/httprequest.cxx
@@ -38,8 +38,8 @@
void HttpRequest::Init()
{
nResultId = 0;
- aHeader.Erase();
- aContentType.Erase();
+ aHeader = rtl::OString();
+ aContentType = rtl::OString();
delete pStream;
pStream = NULL;
}
@@ -59,7 +59,7 @@ HttpRequest::~HttpRequest()
pOutSocket = NULL;
}
-void HttpRequest::SetRequest( ByteString aHost, ByteString aPath, sal_uInt16 nPort )
+void HttpRequest::SetRequest( rtl::OString aHost, rtl::OString aPath, sal_uInt16 nPort )
{
nStatus = HTTP_REQUEST_SET;
Init();
@@ -68,7 +68,7 @@ void HttpRequest::SetRequest( ByteString aHost, ByteString aPath, sal_uInt16 nPo
nRequestPort = nPort;
}
-void HttpRequest::SetProxy( ByteString aHost, sal_uInt16 nPort )
+void HttpRequest::SetProxy( rtl::OString aHost, sal_uInt16 nPort )
{
nStatus = HTTP_REQUEST_SET;
Init();
@@ -84,13 +84,13 @@ sal_Bool HttpRequest::Execute()
// Open channel to standard redir host
osl::SocketAddr aConnectAddr;
- if ( aProxyHost.Len() )
+ if ( aProxyHost.getLength() )
{
- aConnectAddr = osl::SocketAddr( rtl::OUString( UniString( aProxyHost, RTL_TEXTENCODING_UTF8 ) ), nProxyPort );
+ aConnectAddr = osl::SocketAddr( rtl::OStringToOUString( aProxyHost, RTL_TEXTENCODING_UTF8 ), nProxyPort );
}
else
{
- aConnectAddr = osl::SocketAddr( rtl::OUString( UniString( aRequestHost, RTL_TEXTENCODING_UTF8 ) ), nRequestPort );
+ aConnectAddr = osl::SocketAddr( rtl::OStringToOUString( aRequestHost, RTL_TEXTENCODING_UTF8 ), nRequestPort );
}
TimeValue aTV;
@@ -107,13 +107,13 @@ sal_Bool HttpRequest::Execute()
}
SendString( pOutSocket, "GET " );
- if ( aProxyHost.Len() )
+ if ( aProxyHost.getLength() )
{
//GET http://staroffice-doc.germany.sun.com/cgi-bin/htdig/binarycopy.sh?CopyIt=++CopyIt++ HTTP/1.0
SendString( pOutSocket, "http://" );
SendString( pOutSocket, aRequestHost );
SendString( pOutSocket, ":" );
- SendString( pOutSocket, ByteString::CreateFromInt32( nRequestPort ) );
+ SendString( pOutSocket, rtl::OString::valueOf( (sal_Int32) nRequestPort ) );
SendString( pOutSocket, aRequestPath );
SendString( pOutSocket, " HTTP/1.0\n" );
@@ -156,21 +156,24 @@ sal_Bool HttpRequest::Execute()
pStream->Seek( 0 );
- ByteString aLine;
+ rtl::OString aLine;
sal_Bool bInsideHeader = sal_True;
+ sal_Int32 nIndex;
while ( bInsideHeader )
{
pStream->ReadLine( aLine );
- if ( !aLine.Len() )
+ if ( !aLine.getLength() )
bInsideHeader = sal_False;
else
{
- if ( IsItem( "HTTP/", aLine ) )
- nResultId = (sal_uInt16)aLine.GetToken( 1, ' ' ).ToInt32();
+ if ( IsItem( "HTTP/", aLine ) ) {
+ nIndex = 0;
+ nResultId = (sal_uInt16)aLine.getToken( (sal_Int32)1, ' ', nIndex ).toInt32();
+ }
if ( IsItem( "Content-Type:", aLine ) )
{
- aContentType = aLine.Copy( 13 );
- aContentType.EraseLeadingAndTrailingChars();
+ aContentType = aLine.copy( 13 );
+ aContentType.trim();
}
aHeader += aLine;
aHeader += "\n";
@@ -200,15 +203,15 @@ Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.0; Linux
Connection: close
Content-Type: text/xml; charset=ISO-8859-1
*/
-void HttpRequest::SendString( osl::StreamSocket* pSocket , ByteString aText )
+void HttpRequest::SendString( osl::StreamSocket* pSocket , rtl::OString aText )
{
if ( nStatus == HTTP_REQUEST_PENDING )
- pSocket->write( aText.GetBuffer(), aText.Len() );
+ pSocket->write( aText.getStr(), aText.getLength() );
}
-sal_Bool HttpRequest::IsItem( ByteString aItem, ByteString aLine )
+sal_Bool HttpRequest::IsItem( rtl::OString aItem, rtl::OString aLine )
{
- return aItem.Match( aLine ) == STRING_MATCH;
+ return aItem.match( aLine );
}
diff --git a/automation/source/testtool/httprequest.hxx b/automation/source/testtool/httprequest.hxx
index 3996a9c62..d4f0a722f 100644
--- a/automation/source/testtool/httprequest.hxx
+++ b/automation/source/testtool/httprequest.hxx
@@ -35,8 +35,8 @@
#define HTTP_REQUEST_DONE 3
#define HTTP_REQUEST_ERROR 4
-#include <tools/string.hxx>
#include <tools/stream.hxx>
+#include <rtl/string.hxx>
namespace osl
{
@@ -46,37 +46,37 @@ namespace osl
class HttpRequest
{
- ByteString aRequestPath;
- ByteString aRequestHost;
+ rtl::OString aRequestPath;
+ rtl::OString aRequestHost;
sal_uInt16 nRequestPort;
- ByteString aProxyHost;
+ rtl::OString aProxyHost;
sal_uInt16 nProxyPort;
sal_uInt16 nStatus;
osl::ConnectorSocket *pOutSocket;
- ByteString aHeader;
+ rtl::OString aHeader;
sal_uInt16 nResultId;
- ByteString aContentType;
+ rtl::OString aContentType;
SvMemoryStream* pStream;
- void SendString( osl::StreamSocket* pSocket, ByteString aText );
- sal_Bool IsItem( ByteString aItem, ByteString aLine );
+ void SendString( osl::StreamSocket* pSocket, ::rtl::OString aText );
+ sal_Bool IsItem( rtl::OString aItem, rtl::OString aLine );
void Init();
public:
HttpRequest();
~HttpRequest();
- void SetRequest( ByteString aHost, ByteString aPath, sal_uInt16 nPort );
- void SetProxy( ByteString aHost, sal_uInt16 nPort );
+ void SetRequest( rtl::OString aHost, rtl::OString aPath, sal_uInt16 nPort );
+ void SetProxy( rtl::OString aHost, sal_uInt16 nPort );
sal_Bool Execute();
void Abort();
- ByteString GetHeader() const { return aHeader; }
+ rtl::OString GetHeader() const { return aHeader; }
SvMemoryStream* GetBody();
- ByteString GetContentType() const { return aContentType; }
+ rtl::OString GetContentType() const { return aContentType; }
sal_uInt16 GetResultId() const { return nResultId; }
sal_uInt16 GetStatus();
diff --git a/automation/source/testtool/objtest.cxx b/automation/source/testtool/objtest.cxx
index b55e062f5..050458e89 100644
--- a/automation/source/testtool/objtest.cxx
+++ b/automation/source/testtool/objtest.cxx
@@ -402,7 +402,7 @@ void TestToolObj::LoadIniFile() // Laden der IniEinstellungen, die durch den
aConf.SetGroup("Misc");
String aST;
- GETSET( aST, "ServerTimeout", ByteString::CreateFromInt64(Time(0,0,45).GetTime()) ); // 45 Sekunden Initial
+ GETSET( aST, "ServerTimeout", rtl::OString::valueOf(Time(0,0,45).GetTime()) ); // 45 Sekunden Initial
pImpl->aServerTimeout = Time(sal_uLong(aST.ToInt64()));
String aSOSE;
@@ -414,59 +414,6 @@ void TestToolObj::LoadIniFile() // Laden der IniEinstellungen, die durch den
aConf.SetGroup("GUI Platform");
- String aGP;
- ByteString abGP;
-#if defined WNT && defined INTEL
- abGP.Append( "501" ); // Windows on x86
-#elif defined WNT && defined X86_64
- abGP.Append( "502" ); // Windows on x64
-#elif defined SOLARIS && defined SPARC
- abGP.Append( "01" ); // Solaris SPARC
-#elif defined LINUX && defined INTEL
- abGP.Append( "03" ); // Linux
-#elif defined AIX
- abGP.Append( "04" );
-#elif defined SOLARIS && defined INTEL
- abGP.Append( "05" ); // Solaris x86
-#elif defined FREEBSD
- abGP.Append( "08" );
-#elif defined MACOSX
- abGP.Append( "12" );
-#elif defined LINUX && defined PPC
- abGP.Append( "13" );
-#elif defined NETBSD && defined INTEL
- abGP.Append( "14" ); // NetBSD/i386
-#elif defined LINUX && defined X86_64
- abGP.Append( "15" ); // Linux x86-64
-#elif defined LINUX && defined SPARC
- abGP.Append( "16" ); // Linux SPARC
-#elif defined LINUX && defined MIPS
- abGP.Append( "18" ); // Linux MIPS
-#elif defined LINUX && defined ARM
- abGP.Append( "19" ); // Linux ARM
-#elif defined LINUX && defined IA64
- abGP.Append( "20" ); // Linux ia64
-#elif defined LINUX && defined S390
- abGP.Append( "21" ); // Linux S390
-#elif defined LINUX && defined HPPA
- abGP.Append( "22" ); // Linux PA-RISC
-#elif defined LINUX && defined AXP
- abGP.Append( "23" ); // Linux ALPHA
-#elif defined NETBSD && defined X86_64
- abGP.Append( "24" ); // NetBSD/amd64
-#elif defined OPENBSD && defined X86
- abGP.Append( "25" ); // OpenBSD/i386
-#elif defined OPENBSD && defined X86_64
- abGP.Append( "26" ); // OpenBSD/amd64
-#elif defined DRAGONFLY && defined X86
- abGP.Append( "27" ); // DragonFly/i386
-#elif defined DRAGONFLY && defined X86_64
- abGP.Append( "28" ); // DragonFly/x86-64
-#else
-#error ("unknown platform. please request an ID for your platform on qa/dev")
-#endif
- GETSET( aGP, "Current", abGP );
-
// #i68804# Write default Communication section to testtoolrc/.ini
// this is not fastest but too keep defaultsettings in one place in the code
GetHostConfig();
diff --git a/automation/source/testtool/tcommuni.cxx b/automation/source/testtool/tcommuni.cxx
index cddd2d4b9..2fb509276 100644
--- a/automation/source/testtool/tcommuni.cxx
+++ b/automation/source/testtool/tcommuni.cxx
@@ -168,7 +168,8 @@ sal_uLong GetTTPortConfig()
Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") ));
aConf.SetGroup("Communication");
- GETSET( abPortToTalk, "TTPort", ByteString::CreateFromInt32( TESTTOOL_DEFAULT_PORT ) );
+ GETSET( abPortToTalk, "TTPort",
+ rtl::OString::valueOf(static_cast<sal_Int32>(TESTTOOL_DEFAULT_PORT)) );
return (sal_uLong)abPortToTalk.ToInt64();
}
@@ -194,7 +195,8 @@ sal_uLong GetUnoPortConfig()
Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") ));
aConf.SetGroup("Communication");
- GETSET( abPortToTalk, "UnoPort", ByteString::CreateFromInt32( UNO_DEFAULT_PORT ) );
+ GETSET( abPortToTalk, "UnoPort",
+ rtl::OString::valueOf(static_cast<sal_Int32>(UNO_DEFAULT_PORT)) );
return (sal_uLong)abPortToTalk.ToInt64();
}
diff --git a/basctl/source/basicide/iderdll.cxx b/basctl/source/basicide/iderdll.cxx
index b9d9a69b1..7e2bbd5ae 100644
--- a/basctl/source/basicide/iderdll.cxx
+++ b/basctl/source/basicide/iderdll.cxx
@@ -97,9 +97,8 @@ void BasicIDEDLL::Init()
SfxObjectFactory* pFact = &BasicDocShell::Factory();
(void)pFact;
- ByteString aResMgrName( "basctl" );
ResMgr* pMgr = ResMgr::CreateResMgr(
- aResMgrName.GetBuffer(), Application::GetSettings().GetUILocale() );
+ "basctl", Application::GetSettings().GetUILocale() );
BASIC_MOD() = new BasicIDEModule( pMgr, &BasicDocShell::Factory() );
diff --git a/basctl/source/basicide/moduldl2.cxx b/basctl/source/basicide/moduldl2.cxx
index b963f0bd8..f1759d633 100644
--- a/basctl/source/basicide/moduldl2.cxx
+++ b/basctl/source/basicide/moduldl2.cxx
@@ -33,8 +33,6 @@
#include <ide_pch.hxx>
-#include <svtools/filedlg.hxx>
-
#include <sot/storinfo.hxx>
#include <moduldlg.hrc>
diff --git a/basctl/source/basicide/register.cxx b/basctl/source/basicide/register.cxx
index 3f3dc97cc..82f417dee 100644
--- a/basctl/source/basicide/register.cxx
+++ b/basctl/source/basicide/register.cxx
@@ -45,14 +45,6 @@ using namespace ::com::sun::star::lang;
extern "C" {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char** ppEnvironmentTypeName,
- uno_Environment** ppEnvironment )
-{
- (void)ppEnvironment;
- *ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName,
void* pServiceManager,
void* pRegistryKey )
diff --git a/basctl/util/basctl.map b/basctl/util/basctl.map
index 83193fe17..3677a0767 100755
--- a/basctl/util/basctl.map
+++ b/basctl/util/basctl.map
@@ -3,7 +3,6 @@ UDK_3_0_0 {
basicide_choose_macro;
basicide_macro_organizer;
basicide_handle_basic_error;
- component_getImplementationEnvironment;
component_getFactory;
local:
*;
diff --git a/bean/com/sun/star/comp/beans/HasConnectionException.java b/bean/com/sun/star/comp/beans/HasConnectionException.java
index 475e4c69c..d78b23cb7 100644
--- a/bean/com/sun/star/comp/beans/HasConnectionException.java
+++ b/bean/com/sun/star/comp/beans/HasConnectionException.java
@@ -27,7 +27,7 @@
package com.sun.star.comp.beans;
-/** This expception is thrown when a method is called which
+/** This exception is thrown when a method is called which
is only defined for not already having an established
connection.
diff --git a/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c b/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
index 26074c57f..ea3761239 100644
--- a/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
+++ b/bean/native/win32/com_sun_star_beans_LocalOfficeWindow.c
@@ -36,14 +36,6 @@
#include "jawt.h"
-#if defined _MSC_VER
-#pragma warning(push, 1)
-#endif
-#include "jawt_md.h"
-#if defined _MSC_VER
-#pragma warning(pop)
-#endif
-
#if defined assert
#undef assert
#endif
diff --git a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
index 0f7b0d8d4..3707566b9 100644
--- a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
+++ b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
@@ -34,12 +34,33 @@
#pragma warning(pop)
#endif
+#include <windows.h>
+#define JAWT_GetAWT hidden_JAWT_GetAWT
#include "jawt.h"
+#undef JAWT_GetAWT
#if defined _MSC_VER
#pragma warning(push, 1)
#endif
-#include "jawt_md.h"
+/* When cross-compiling to Windows we don't have any Windows JDK
+ * available. Copying this short snippet from win32/jawt_md.h can
+ * surely not be against its license. The intent is to enable
+ * interoperation with real Oracle Java after all. We leave out the
+ * informative comments that might have "artistic merit" and be more
+ * copyrightable. Use this also for native Windows compilation for
+ * simplicity.
+ */
+typedef struct jawt_Win32DrawingSurfaceInfo {
+ union {
+ HWND hwnd;
+ HBITMAP hbitmap;
+ void* pbits;
+ };
+ HDC hdc;
+ HPALETTE hpalette;
+} JAWT_Win32DrawingSurfaceInfo;
+
+extern __declspec(dllimport) unsigned char __stdcall JAWT_GetAWT(JNIEnv *, JAWT *);
#if defined _MSC_VER
#pragma warning(pop)
#endif
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index 820e3dac6..6b23cb1f5 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -35,7 +35,6 @@ $(eval $(call gb_Library_set_include,cui,\
$$(INCLUDE) \
-I$(realpath $(SRCDIR)/cui/source/inc) \
-I$(OUTDIR)/inc \
- -I$(OUTDIR)/inc/offuh \
))
$(eval $(call gb_Library_add_defs,cui,\
@@ -44,6 +43,11 @@ $(eval $(call gb_Library_add_defs,cui,\
$(if $(filter TRUE,$(ENABLE_KDE4)),-DENABLE_KDE4) \
))
+$(eval $(call gb_Library_add_api,cui,\
+ offapi \
+ udkapi \
+))
+
# .IF "$(ENABLE_LAYOUT)" == "TRUE"
# CFLAGS+= -DENABLE_LAYOUT=1 -I../$(PRJ)/layout/inc -I../$(PRJ)/layout/$(INPATH)/inc
# .ENDIF # ENABLE_LAYOUT == TRUE
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index a35ace809..fa46fb429 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -1041,7 +1041,7 @@ IMPL_LINK( SfxAcceleratorConfigPage, Load, Button*, EMPTYARG )
//-----------------------------------------------
IMPL_LINK( SfxAcceleratorConfigPage, Save, Button*, EMPTYARG )
{
- StartFileDialog( WB_SAVEAS | WB_STDMODAL | WB_3DLOOK, aLoadAccelConfigStr );
+ StartFileDialog( WB_SAVEAS | WB_STDMODAL | WB_3DLOOK, aSaveAccelConfigStr );
return 0;
}
diff --git a/cui/source/customize/macropg.cxx b/cui/source/customize/macropg.cxx
index 90c6765fa..944d6d0cb 100644
--- a/cui/source/customize/macropg.cxx
+++ b/cui/source/customize/macropg.cxx
@@ -344,7 +344,7 @@ sal_Bool _SvxMacroTabPage::FillItemSet( SfxItemSet& /*rSet*/ )
{
m_xAppEvents->replaceByName( eventName, GetPropsByName( eventName, m_appEventsHash ) );
}
- catch( const Exception& )
+ catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -361,7 +361,7 @@ sal_Bool _SvxMacroTabPage::FillItemSet( SfxItemSet& /*rSet*/ )
{
m_xDocEvents->replaceByName( eventName, GetPropsByName( eventName, m_docEventsHash ) );
}
- catch( const Exception& )
+ catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -375,7 +375,7 @@ sal_Bool _SvxMacroTabPage::FillItemSet( SfxItemSet& /*rSet*/ )
}
}
}
- catch(Exception&)
+ catch (const Exception&)
{
}
// what is the return value about??
@@ -420,7 +420,7 @@ void _SvxMacroTabPage::Reset()
}
}
}
- catch(Exception&)
+ catch (const Exception&)
{
}
DisplayAppEvents(bAppEvents);
@@ -763,8 +763,9 @@ void _SvxMacroTabPage::InitAndSetHandler( Reference< container::XNameReplace> xA
{
m_appEventsHash[ eventNames[nEvent] ] = GetPairFromAny( m_xAppEvents->getByName( eventNames[nEvent] ) );
}
- catch (Exception e)
- {}
+ catch (const Exception&)
+ {
+ }
}
if(m_xDocEvents.is())
{
@@ -776,8 +777,9 @@ void _SvxMacroTabPage::InitAndSetHandler( Reference< container::XNameReplace> xA
{
m_docEventsHash[ eventNames[nEvent] ] = GetPairFromAny( m_xDocEvents->getByName( eventNames[nEvent] ) );
}
- catch (Exception e)
- {}
+ catch (const Exception&)
+ {
+ }
}
}
}
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index e8b2dcbd5..85fb0c5cb 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -1522,7 +1522,7 @@ long SentenceEditWindow_Impl::PreNotify( NotifyEvent& rNEvt )
//text has been added on the right and only the 'error attribute has to be corrected
if(pErrorAttrLeft)
{
- TextAttrib* pNewError = pErrorAttrLeft->GetAttr().Clone();
+ TextAttrib* pNewError = NULL;
sal_uInt16 nStart = pErrorAttrLeft->GetStart();
sal_uInt16 nEnd = pErrorAttrLeft->GetEnd();
pTextEngine->RemoveAttrib( 0, *pErrorAttrLeft );
@@ -1542,7 +1542,7 @@ long SentenceEditWindow_Impl::PreNotify( NotifyEvent& rNEvt )
//determine the change
sal_uInt16 nAddedChars = GetText().Len() - nCurrentLen;
- TextAttrib* pNewError = pErrorAttr->GetAttr().Clone();
+ TextAttrib* pNewError = NULL;
sal_uInt16 nStart = pErrorAttr->GetStart();
sal_uInt16 nEnd = pErrorAttr->GetEnd();
pTextEngine->RemoveAttrib( 0, *pErrorAttr );
@@ -1558,7 +1558,7 @@ long SentenceEditWindow_Impl::PreNotify( NotifyEvent& rNEvt )
if(pBackAttrLeft)
{
- TextAttrib* pNewBack = pBackAttrLeft->GetAttr().Clone();
+ TextAttrib* pNewBack = NULL;
sal_uInt16 _nStart = pBackAttrLeft->GetStart();
sal_uInt16 _nEnd = pBackAttrLeft->GetEnd();
pTextEngine->RemoveAttrib( 0, *pBackAttrLeft );
@@ -1585,7 +1585,7 @@ long SentenceEditWindow_Impl::PreNotify( NotifyEvent& rNEvt )
m_nErrorEnd = pFontColor->GetEnd();
if(pErrorAttrib->GetStart() != m_nErrorStart || pErrorAttrib->GetEnd() != m_nErrorEnd)
{
- TextAttrib* pNewError = pErrorAttrib->GetAttr().Clone();
+ TextAttrib* pNewError = NULL;
pTextEngine->RemoveAttrib( 0, *pErrorAttr );
SetAttrib( *pNewError, 0, m_nErrorStart, m_nErrorEnd );
delete pNewError;
@@ -1740,7 +1740,7 @@ void SentenceEditWindow_Impl::ChangeMarkedWord(const String& rNewWord, LanguageT
// undo expanded attributes!
if( pBackAttrib && pBackAttrib->GetStart() < m_nErrorStart && pBackAttrib->GetEnd() == m_nErrorEnd + nDiffLen)
{
- TextAttrib* pNewBackground = pBackAttrib->GetAttr().Clone();
+ TextAttrib* pNewBackground = NULL;
sal_uInt16 nStart = pBackAttrib->GetStart();
pTextEngine->RemoveAttrib(0, *pBackAttrib);
pTextEngine->SetAttrib(*pNewBackground, 0, nStart, m_nErrorStart);
diff --git a/cui/source/dialogs/about.cxx b/cui/source/dialogs/about.cxx
index cd2e416e7..9dc0312ce 100644
--- a/cui/source/dialogs/about.cxx
+++ b/cui/source/dialogs/about.cxx
@@ -72,69 +72,37 @@ Image SfxApplication::GetApplicationLogo()
return Image( aBitmap );
}
-/* intense magic to get strong version information */
+/* get good version information */
static String
GetBuildId()
{
- const String sCWSSchema( String::CreateFromAscii( "[CWS:" ) );
rtl::OUString sDefault;
- String sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
- OSL_ENSURE( sBuildId.Len() > 0, "No BUILDID in bootstrap file" );
- if ( sBuildId.Len() > 0 && sBuildId.Search( sCWSSchema ) == STRING_NOTFOUND )
+ rtl::OUString sBuildId( utl::Bootstrap::getBuildIdData( sDefault ) );
+ if (!sBuildId.isEmpty() && sBuildId.getLength() > 50)
{
- // no cws part in brand buildid -> try basis buildid
- rtl::OUString sBasisBuildId( DEFINE_CONST_OUSTRING("${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
- rtl::Bootstrap::expandMacros( sBasisBuildId );
- sal_Int32 nIndex = sBasisBuildId.indexOf( sCWSSchema );
- if ( nIndex != -1 )
- sBuildId += String( sBasisBuildId.copy( nIndex ) );
- }
-
- String sProductSource( utl::Bootstrap::getProductSource( sDefault ) );
- OSL_ENSURE( sProductSource.Len() > 0, "No ProductSource in bootstrap file" );
-
- // the product source is something like "DEV300", where the
- // build id is something like "300m12(Build:12345)". For better readability,
- // strip the duplicate UPD ("300").
- if ( sProductSource.Len() )
- {
- bool bMatchingUPD =
- ( sProductSource.Len() >= 3 )
- && ( sBuildId.Len() >= 3 )
- && ( sProductSource.Copy( sProductSource.Len() - 3 ) == sBuildId.Copy( 0, 3 ) );
- OSL_ENSURE( bMatchingUPD, "BUILDID and ProductSource do not match in their UPD" );
- if ( bMatchingUPD )
- sProductSource = sProductSource.Copy( 0, sProductSource.Len() - 3 );
-
- // prepend the product source
- sBuildId.Insert( sProductSource, 0 );
- }
-
- // Version information (in about box) (#i94693#)
- /* if the build ids of the basis or ure layer are different from the build id
- * of the brand layer then show them */
- rtl::OUString aBasisProductBuildId( DEFINE_CONST_OUSTRING("${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":ProductBuildid}" ) );
- rtl::Bootstrap::expandMacros( aBasisProductBuildId );
- rtl::OUString aUREProductBuildId( DEFINE_CONST_OUSTRING("${$URE_BIN_DIR/" SAL_CONFIGFILE("version") ":ProductBuildid}" ) );
- rtl::Bootstrap::expandMacros( aUREProductBuildId );
- if ( sBuildId.Search( String( aBasisProductBuildId ) ) == STRING_NOTFOUND
- || sBuildId.Search( String( aUREProductBuildId ) ) == STRING_NOTFOUND )
- {
- String sTemp( '-' );
- sTemp += String( aBasisProductBuildId );
- sTemp += '-';
- sTemp += String( aUREProductBuildId );
- sBuildId.Insert( sTemp, sBuildId.Search( ')' ) );
+ rtl::OUStringBuffer aBuffer;
+ aBuffer.appendAscii(RTL_CONSTASCII_STRINGPARAM("\n\t"));
+ sal_Int32 nIndex = 0;
+ do
+ {
+ rtl::OUString aToken = sBuildId.getToken( 0, '-', nIndex );
+ if (!aToken.isEmpty())
+ {
+ aBuffer.append(aToken);
+ if (nIndex >= 0)
+ {
+ if (nIndex % 5)
+ aBuffer.append(static_cast<sal_Unicode>('-'));
+ else
+ aBuffer.appendAscii(RTL_CONSTASCII_STRINGPARAM("\n\t"));
+ }
+ }
+ }
+ while ( nIndex >= 0 );
+ sBuildId = aBuffer.makeStringAndClear();
}
- // the build id format is "milestone(build)[cwsname]". For readability, it would
- // be nice to have some more spaces in there.
- xub_StrLen nPos = 0;
- if ( ( nPos = sBuildId.Search( sal_Unicode( '(' ) ) ) != STRING_NOTFOUND )
- sBuildId.Insert( sal_Unicode( ' ' ), nPos );
- if ( ( nPos = sBuildId.Search( sal_Unicode( '[' ) ) ) != STRING_NOTFOUND )
- sBuildId.Insert( sal_Unicode( ' ' ), nPos );
-
+ OSL_ENSURE( sBuildId.getLength() > 0, "No BUILDID in bootstrap file" );
return sBuildId;
}
@@ -146,14 +114,10 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
aVersionText ( this, ResId( ABOUT_FTXT_VERSION, *rId.GetResMgr() ) ),
aCopyrightText ( this, ResId( ABOUT_FTXT_COPYRIGHT, *rId.GetResMgr() ) ),
aInfoLink ( this, ResId( ABOUT_FTXT_LINK, *rId.GetResMgr() ) ),
- aAccelStr ( ResId( ABOUT_STR_ACCEL, *rId.GetResMgr() ) ),
aVersionTextStr( ResId( ABOUT_STR_VERSION, *rId.GetResMgr() ) ),
aCopyrightTextStr( ResId( ABOUT_STR_COPYRIGHT, *rId.GetResMgr() ) ),
aLinkStr ( ResId( ABOUT_STR_LINK, *rId.GetResMgr() ) ),
- aTimer (),
- nOff ( 0 ),
- m_nDeltaWidth ( 0 ),
- m_nPendingScrolls( 0 )
+ m_sBuildStr(ResId(ABOUT_STR_BUILD, *rId.GetResMgr()))
{
rtl::OUString sProduct;
utl::ConfigManager::GetDirectConfigProperty(utl::ConfigManager::PRODUCTNAME) >>= sProduct;
@@ -170,6 +134,8 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
String sVersion = aVersionTextStr;
sVersion.SearchAndReplaceAscii( "$(VER)", Application::GetDisplayName() );
sVersion += '\n';
+ sVersion += m_sBuildStr;
+ sVersion += ' ';
sVersion += GetBuildId();
#ifdef BUILD_VER_STRING
String aBuildString( DEFINE_CONST_UNICODE( BUILD_VER_STRING ) );
@@ -178,28 +144,6 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
#endif
aVersionText.SetText( sVersion );
- // Initialization call for developers
- if ( aAccelStr.Len() && ByteString(U2S(aAccelStr)).IsAlphaAscii() )
- {
- Accelerator *pAccel = 0, *pPrevAccel = 0, *pFirstAccel = 0;
- aAccelStr.ToUpperAscii();
-
- for ( sal_uInt16 i = 0; i < aAccelStr.Len(); ++i )
- {
- pPrevAccel = pAccel;
- pAccel = new Accelerator;
- aAccelList.push_back( pAccel );
- sal_uInt16 nKey = aAccelStr.GetChar(i) - 'A' + KEY_A;
- pAccel->InsertItem( 1, KeyCode( nKey, KEY_MOD1 ) );
- if ( i > 0 )
- pPrevAccel->SetAccel( 1, pAccel );
- if ( i == 0 )
- pFirstAccel = pAccel;
- }
- pAccel->SetSelectHdl( LINK( this, AboutDialog, AccelSelectHdl ) );
- GetpApp()->InsertAccel( pFirstAccel );
- }
-
// set for background and text the correct system color
const StyleSettings& rSettings = GetSettings().GetStyleSettings();
Color aWhiteCol( rSettings.GetWindowColor() );
@@ -226,64 +170,74 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
// determine size and position of the dialog & elements
Size aAppLogoSiz = aAppLogo.GetSizePixel();
- if (aAppLogoSiz.Width() < 300)
- aAppLogoSiz.Width() = 300;
-
- Size aOutSiz = GetOutputSizePixel();
- aOutSiz.Width() = aAppLogoSiz.Width();
-
// analyze size of the aVersionText widget
// character size
Size a6Size = aVersionText.LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
// preferred Version widget size
- Size aVTSize = aVersionText.CalcMinimumSize();
long nY = aAppLogoSiz.Height() + ( a6Size.Height() * 2 );
- long nDlgMargin = a6Size.Width() * 3 ;
- long nCtrlMargin = aVTSize.Height() + ( a6Size.Height() * 2 );
+ long nDlgMargin = a6Size.Width() * 2;
+ long nCtrlMargin = a6Size.Height() * 2;
+
+ aVersionText.SetSizePixel(Size(800,600));
+ Size aVersionTextSize = aVersionText.CalcMinimumSize();
+ aVersionTextSize.Width() += nDlgMargin;
+
+ Size aOutSiz = GetOutputSizePixel();
+ aOutSiz.Width() = aAppLogoSiz.Width();
+
+ if (aOutSiz.Width() < aVersionTextSize.Width())
+ aOutSiz.Width() = aVersionTextSize.Width();
+
+ if (aOutSiz.Width() < 300)
+ aOutSiz.Width() = 300;
+
long nTextWidth = aOutSiz.Width() - nDlgMargin;
// finally set the aVersionText widget position and size
- Size aVTCopySize = aVTSize;
- Point aVTCopyPnt;
- aVTCopySize.Width() = nTextWidth;
- aVTCopyPnt.X() = ( aOutSiz.Width() - aVTCopySize.Width() ) / 2;
- aVTCopyPnt.Y() = nY;
- aVersionText.SetPosSizePixel( aVTCopyPnt, aVTCopySize );
-
- nY += nCtrlMargin;
-
- // OK-Button-Position (at the bottom and centered)
- Size aOKSiz = aOKButton.GetSizePixel();
- Point aOKPnt = aOKButton.GetPosPixel();
+ Size aVTSize = aVersionText.GetSizePixel();
+ aVTSize.Width() = nTextWidth;
+ aVersionText.SetSizePixel(aVTSize);
+ aVTSize = aVersionText.CalcMinimumSize();
+ Point aVTPnt;
+ aVTPnt.X() = ( aOutSiz.Width() - aVTSize.Width() ) / 2;
+ aVTPnt.Y() = nY;
+ aVersionText.SetPosSizePixel( aVTPnt, aVTSize );
- // FixedHyperlink with more info link
- Point aLinkPnt = aInfoLink.GetPosPixel();
- Size aLinkSize = aInfoLink.GetSizePixel();
+ nY += aVTSize.Height() + nCtrlMargin;
// Multiline edit with Copyright-Text
- Point aCopyPnt = aCopyrightText.GetPosPixel();
- Size aCopySize = aCopyrightText.GetSizePixel();
- aCopySize.Width() = nTextWidth;
- aCopySize.Height() = aOutSiz.Height() - nY - ( aOKSiz.Height() * 2 ) - 3*aLinkSize.Height() - nCtrlMargin;
-
- aCopyPnt.X() = ( aOutSiz.Width() - aCopySize.Width() ) / 2;
- aCopyPnt.Y() = nY;
- aCopyrightText.SetPosSizePixel( aCopyPnt, aCopySize );
+ // preferred Version widget size
+ aCopyrightText.SetSizePixel(Size(nTextWidth,600));
+ Size aCTSize = aCopyrightText.CalcMinimumSize();
+ aCTSize.Width()= nTextWidth;
+ Point aCTPnt;
+ aCTPnt.X() = ( aOutSiz.Width() - aCTSize.Width() ) / 2;
+ aCTPnt.Y() = nY;
+ aCopyrightText.SetPosSizePixel( aCTPnt, aCTSize );
- nY += aCopySize.Height() + aLinkSize.Height();
+ nY += aCTSize.Height() + nCtrlMargin;
- aLinkSize.Width() = aInfoLink.CalcMinimumSize().Width();
- aLinkPnt.X() = ( aOutSiz.Width() - aLinkSize.Width() ) / 2;
- aLinkPnt.Y() = nY;
- aInfoLink.SetPosSizePixel( aLinkPnt, aLinkSize );
+ // FixedHyperlink with more info link
+ Size aLTSize = aInfoLink.CalcMinimumSize();
+ Point aLTPnt;
+ aLTPnt.X() = ( aOutSiz.Width() - aLTSize.Width() ) / 2;
+ aLTPnt.Y() = nY;
+ aInfoLink.SetPosSizePixel( aLTPnt, aLTSize );
- nY += aLinkSize.Height() + nCtrlMargin;
+ nY += aLTSize.Height() + nCtrlMargin;
+ // OK-Button-Position (at the bottom and centered)
+ Size aOKSiz = aOKButton.GetSizePixel();
+ Point aOKPnt;
aOKPnt.X() = ( aOutSiz.Width() - aOKSiz.Width() ) / 2;
aOKPnt.Y() = nY;
aOKButton.SetPosPixel( aOKPnt );
- // Change the width of the dialog
+ nY += aOKSiz.Height() + nCtrlMargin;
+
+ aOutSiz.Height() = nY;
+
+ // Change the size of the dialog
SetOutputSizePixel( aOutSiz );
FreeResource();
@@ -294,50 +248,6 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId) :
// -----------------------------------------------------------------------
-AboutDialog::~AboutDialog()
-{
- // Clearing the developers call
- if ( !aAccelList.empty() )
- {
- GetpApp()->RemoveAccel( aAccelList.front() );
-
- for ( size_t i = 0, n = aAccelList.size(); i < n; ++i )
- delete aAccelList[ i ];
- aAccelList.clear();
- }
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( AboutDialog, TimerHdl, Timer *, pTimer )
-{
- (void)pTimer; //unused
- ++m_nPendingScrolls;
- Invalidate( INVALIDATE_NOERASE | INVALIDATE_NOCHILDREN );
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( AboutDialog, AccelSelectHdl, Accelerator *, pAccelerator )
-{
- (void)pAccelerator; //unused
- // init Timer
- aTimer.SetTimeoutHdl( LINK( this, AboutDialog, TimerHdl ) );
-
- // init scroll mode
- nOff = GetOutputSizePixel().Height();
- MapMode aMapMode( MAP_PIXEL );
- SetMapMode( aMapMode );
-
- // start scroll Timer
- aTimer.SetTimeout( SCROLL_TIMER );
- aTimer.Start();
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
IMPL_LINK( AboutDialog, HandleHyperlink, svt::FixedHyperlink*, pHyperlink )
{
rtl::OUString sURL=pHyperlink->GetURL();
@@ -368,15 +278,12 @@ IMPL_LINK( AboutDialog, HandleHyperlink, svt::FixedHyperlink*, pHyperlink )
void AboutDialog::Paint( const Rectangle& rRect )
{
SetClipRegion( rRect );
-
- Point aPos( m_nDeltaWidth / 2, 0 );
+ Point aPos( 0, 0 );
DrawImage( aPos, aAppLogo );
}
sal_Bool AboutDialog::Close()
{
- // stop Timer and finish the dialog
- aTimer.Stop();
EndDialog( RET_OK );
return sal_False;
}
diff --git a/cui/source/dialogs/about.hrc b/cui/source/dialogs/about.hrc
index 7a74954c1..dfc71c4cc 100644
--- a/cui/source/dialogs/about.hrc
+++ b/cui/source/dialogs/about.hrc
@@ -29,10 +29,9 @@
#define ABOUT_BTN_OK 1
#define ABOUT_FTXT_VERSION 2
-#define ABOUT_STR_ACCEL 3
-#define ABOUT_FTXT_COPYRIGHT 4
-
-#define ABOUT_FTXT_LINK 5
+#define ABOUT_FTXT_COPYRIGHT 3
+#define ABOUT_FTXT_LINK 4
+#define ABOUT_STR_BUILD 5
#define ABOUT_STR_VERSION 6
#define ABOUT_STR_COPYRIGHT 7
#define ABOUT_STR_LINK 8
diff --git a/cui/source/dialogs/about.src b/cui/source/dialogs/about.src
index 1bea54530..383fc293a 100644
--- a/cui/source/dialogs/about.src
+++ b/cui/source/dialogs/about.src
@@ -33,7 +33,6 @@ ModalDialog RID_DEFAULTABOUT
Size = MAP_APPFONT ( 245 , 280 ) ;
Moveable = TRUE ;
SVLook = TRUE ;
-// TEXT_DEFAULTABOUT
OKButton ABOUT_BTN_OK
{
DefButton = TRUE ;
@@ -57,6 +56,9 @@ ModalDialog RID_DEFAULTABOUT
IgnoreTab = TRUE ;
ReadOnly = TRUE ;
AutoVScroll = TRUE ;
+ LEFT = FALSE ;
+ CENTER = TRUE ;
+ RIGHT = FALSE ;
};
FixedText ABOUT_FTXT_LINK
{
@@ -72,14 +74,14 @@ ModalDialog RID_DEFAULTABOUT
};
String ABOUT_STR_COPYRIGHT
{
- Text[ en-US ] = "Copyright © 2000, 2010 LibreOffice contributors and/or their affiliates. All rights reserved.\nThis product was created by %OOOVENDOR, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.\n%OOOVENDOR acknowledges all community members, please find more info at the link below:";
+ Text[ en-US ] = "Copyright © 2000, 2010 LibreOffice contributors and/or their affiliates. All rights reserved.\n\nThis product was created by %OOOVENDOR, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.\n\n%OOOVENDOR acknowledges all community members, please find more info at the link below:";
};
String ABOUT_STR_LINK
{
Text[ en-US ] = "http://www.libreoffice.org/credits.html";
};
- String ABOUT_STR_ACCEL
+ String ABOUT_STR_BUILD
{
- Text = "SDT" ;
+ Text[ en-US ] = "Build ID:";
};
};
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index d39e95ac7..c09912899 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -116,7 +116,7 @@ void SAL_CALL SearchThread::run()
nBeginFormat = nEndFormat = nFileNumber;
for( sal_uInt16 i = nBeginFormat; i <= nEndFormat; ++i )
- aFormats.push_back( ( (FilterEntry*) mpBrowser->aFilterEntryList.GetObject( i ) )->aFilterName.ToLowerAscii() );
+ aFormats.push_back( mpBrowser->aFilterEntryList[ i ]->aFilterName.ToLowerAscii() );
ImplSearch( maStartURL, aFormats, mpBrowser->bSearchRecursive );
}
@@ -205,13 +205,13 @@ void SearchThread::ImplSearch( const INetURLObject& rStartURL,
}
}
}
- catch( const ContentCreationException& )
+ catch (const ContentCreationException&)
{
}
- catch( const ::com::sun::star::uno::RuntimeException& )
+ catch (const ::com::sun::star::uno::RuntimeException&)
{
}
- catch( const ::com::sun::star::uno::Exception& )
+ catch (const ::com::sun::star::uno::Exception&)
{
}
}
@@ -830,8 +830,9 @@ TPGalleryThemeProperties::~TPGalleryThemeProperties()
for ( size_t i = 0, n = aFoundList.size(); i < n; ++i )
delete aFoundList[ i ];
- for( void* pEntry = aFilterEntryList.First(); pEntry; pEntry = aFilterEntryList.Next() )
- delete (FilterEntry*) pEntry;
+ for ( size_t i = 0, n = aFilterEntryList.size(); i < n; ++i ) {
+ delete aFilterEntryList[ i ];
+ }
}
// ------------------------------------------------------------------------
@@ -877,7 +878,8 @@ void TPGalleryThemeProperties::FillFilterList()
{
aExt = rFilter.GetImportFormatShortName( i );
aName = rFilter.GetImportFormatName( i );
- pTestEntry = (FilterEntry*) aFilterEntryList.First();
+ size_t entryIndex = 0;
+ pTestEntry = aFilterEntryList.empty() ? NULL : aFilterEntryList[ entryIndex ];
bInList = sal_False;
String aExtensions;
@@ -904,18 +906,24 @@ void TPGalleryThemeProperties::FillFilterList()
bInList = sal_True;
break;
}
- pTestEntry = (FilterEntry*) aFilterEntryList.Next();
+ pTestEntry = ( ++entryIndex < aFilterEntryList.size() )
+ ? aFilterEntryList[ entryIndex ] : NULL;
}
if ( !bInList )
{
pFilterEntry = new FilterEntry;
pFilterEntry->aFilterName = aExt;
- aFilterEntryList.Insert( pFilterEntry, aCbbFileType.InsertEntry( aName ) );
+ size_t pos = aCbbFileType.InsertEntry( aName );
+ if ( pos < aFilterEntryList.size() ) {
+ aFilterEntryList.insert( aFilterEntryList.begin() + pos, pFilterEntry );
+ } else {
+ aFilterEntryList.push_back( pFilterEntry );
+ }
}
}
// media filters
- static const ::rtl::OUString aWildcard( RTL_CONSTASCII_USTRINGPARAM( "*." ) );
+ static const ::rtl::OUString aWildcard( RTL_CONSTASCII_USTRINGPARAM( "*." ) );
::avmedia::FilterNameVector aFilters;
const ::rtl::OUString aSeparator( RTL_CONSTASCII_USTRINGPARAM( ";" ) );
::rtl::OUString aAllTypes;
@@ -930,9 +938,20 @@ void TPGalleryThemeProperties::FillFilterList()
pFilterEntry = new FilterEntry;
pFilterEntry->aFilterName = aFilters[ l ].second.getToken( 0, ';', nIndex );
- nFirstExtFilterPos = aCbbFileType.InsertEntry( addExtension( aFilters[ l ].first,
- aFilterWildcard += pFilterEntry->aFilterName ) );
- aFilterEntryList.Insert( pFilterEntry, nFirstExtFilterPos );
+ nFirstExtFilterPos = aCbbFileType.InsertEntry(
+ addExtension(
+ aFilters[ l ].first,
+ aFilterWildcard += pFilterEntry->aFilterName
+ )
+ );
+ if ( nFirstExtFilterPos < aFilterEntryList.size() ) {
+ aFilterEntryList.insert(
+ aFilterEntryList.begin() + nFirstExtFilterPos,
+ pFilterEntry
+ );
+ } else {
+ aFilterEntryList.push_back( pFilterEntry );
+ }
}
}
@@ -978,8 +997,12 @@ void TPGalleryThemeProperties::FillFilterList()
pFilterEntry = new FilterEntry;
pFilterEntry->aFilterName = String( CUI_RES( RID_SVXSTR_GALLERY_ALLFILES ) );
pFilterEntry->aFilterName = addExtension( pFilterEntry->aFilterName, aExtensions );
- aFilterEntryList.Insert(pFilterEntry, aCbbFileType. InsertEntry( pFilterEntry->aFilterName, 0 ) );
-
+ size_t pos = aCbbFileType.InsertEntry( pFilterEntry->aFilterName, 0 );
+ if ( pos < aFilterEntryList.size() ) {
+ aFilterEntryList.insert( aFilterEntryList.begin() + pos, pFilterEntry );
+ } else {
+ aFilterEntryList.push_back( pFilterEntry );
+ }
aCbbFileType.SetText( pFilterEntry->aFilterName );
}
@@ -1068,7 +1091,7 @@ IMPL_LINK( TPGalleryThemeProperties, ClickSearchHdl, void *, EMPTYARG )
}
}
}
- catch(IllegalArgumentException)
+ catch (const IllegalArgumentException&)
{
OSL_FAIL( "Folder picker failed with illegal arguments" );
}
diff --git a/cui/source/dialogs/cuihyperdlg.cxx b/cui/source/dialogs/cuihyperdlg.cxx
index 64be609e5..1e15f89f5 100644
--- a/cui/source/dialogs/cuihyperdlg.cxx
+++ b/cui/source/dialogs/cuihyperdlg.cxx
@@ -290,7 +290,6 @@ sal_uInt16 SvxHpLinkDlg::SetPage ( SvxHyperlinkItem* pItem )
{
case INET_PROT_HTTP :
case INET_PROT_FTP :
- case INET_PROT_TELNET :
nPageId = RID_SVXPAGE_HYPERLINK_INTERNET;
break;
case INET_PROT_FILE :
diff --git a/cui/source/dialogs/hldocntp.cxx b/cui/source/dialogs/hldocntp.cxx
index 7bd15f793..212416c64 100644
--- a/cui/source/dialogs/hldocntp.cxx
+++ b/cui/source/dialogs/hldocntp.cxx
@@ -395,7 +395,7 @@ void SvxHyperlinkNewDocTp::DoApply ()
}
}
}
- catch( uno::Exception )
+ catch (const uno::Exception&)
{
}
diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx
index a887388b8..4926b6699 100644
--- a/cui/source/dialogs/hlinettp.cxx
+++ b/cui/source/dialogs/hlinettp.cxx
@@ -34,18 +34,14 @@
#include "hyperdlg.hrc"
#include "hlmarkwn_def.hxx"
-#define STD_DOC_SUBPATH "internal"
-#define STD_DOC_NAME "url_transfer.htm"
-
sal_Char const sAnonymous[] = "anonymous";
sal_Char const sHTTPScheme[] = INET_HTTP_SCHEME;
sal_Char const sHTTPSScheme[] = INET_HTTPS_SCHEME;
sal_Char const sFTPScheme[] = INET_FTP_SCHEME;
-sal_Char const sTelnetScheme[] = INET_TELNET_SCHEME;
/*************************************************************************
|*
-|* Contructor / Destructor
+|* Constructor / Destructor
|*
|************************************************************************/
@@ -56,7 +52,6 @@ SvxHyperlinkInternetTp::SvxHyperlinkInternetTp ( Window *pParent,
maGrpLinkTyp ( this, CUI_RES (GRP_LINKTYPE) ),
maRbtLinktypInternet ( this, CUI_RES (RB_LINKTYP_INTERNET) ),
maRbtLinktypFTP ( this, CUI_RES (RB_LINKTYP_FTP) ),
- maRbtLinktypTelnet ( this, CUI_RES (RB_LINKTYP_TELNET) ),
maFtTarget ( this, CUI_RES (FT_TARGET_HTML) ),
maCbbTarget ( this, INET_PROT_HTTP ),
maBtBrowse ( this, CUI_RES (BTN_BROWSE) ),
@@ -81,19 +76,6 @@ SvxHyperlinkInternetTp::SvxHyperlinkInternetTp ( Window *pParent,
maCbbTarget.Show();
maCbbTarget.SetHelpId( HID_HYPERDLG_INET_PATH );
- // Find Path to Std-Doc
- String aStrBasePaths( SvtPathOptions().GetTemplatePath() );
- for( xub_StrLen n = 0; n < aStrBasePaths.GetTokenCount(); n++ )
- {
- INetURLObject aURL( aStrBasePaths.GetToken( n ) );
- aURL.Append( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( STD_DOC_SUBPATH ) ) );
- aURL.Append( UniString::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM( STD_DOC_NAME ) ) );
- if ( FileExists( aURL ) )
- {
- maStrStdDocURL = aURL.GetMainURL( INetURLObject::NO_DECODE );
- break;
- }
- }
SetExchangeSupport ();
///////////////////////////////////////
@@ -105,14 +87,13 @@ SvxHyperlinkInternetTp::SvxHyperlinkInternetTp ( Window *pParent,
maEdPassword.Show( sal_False );
maCbAnonymous.Show( sal_False );
maBtTarget.Enable( sal_False );
- maBtBrowse.Enable( maStrStdDocURL != aEmptyStr );
+ maBtBrowse.Enable( sal_True );
///////////////////////////////////////
// overload handlers
Link aLink( LINK ( this, SvxHyperlinkInternetTp, Click_SmartProtocol_Impl ) );
maRbtLinktypInternet.SetClickHdl( aLink );
maRbtLinktypFTP.SetClickHdl ( aLink );
- maRbtLinktypTelnet.SetClickHdl ( aLink );
maCbAnonymous.SetClickHdl ( LINK ( this, SvxHyperlinkInternetTp, ClickAnonymousHdl_Impl ) );
maBtBrowse.SetClickHdl ( LINK ( this, SvxHyperlinkInternetTp, ClickBrowseHdl_Impl ) );
maBtTarget.SetClickHdl ( LINK ( this, SvxHyperlinkInternetTp, ClickTargetHdl_Impl ) );
@@ -253,7 +234,7 @@ void SvxHyperlinkInternetTp::SetInitFocus()
/*************************************************************************
|*
-|* Contens of editfield "Taregt" modified
+|* Contents of editfield "Target" modified
|*
|************************************************************************/
@@ -272,7 +253,7 @@ IMPL_LINK ( SvxHyperlinkInternetTp, ModifiedTargetHdl_Impl, void *, EMPTYARG )
/*************************************************************************
|*
-|* If target-field was modify, to browse the new doc afeter timeout
+|* If target-field was modify, to browse the new doc after timeout
|*
|************************************************************************/
@@ -284,7 +265,7 @@ IMPL_LINK ( SvxHyperlinkInternetTp, TimeoutHdl_Impl, Timer *, EMPTYARG )
/*************************************************************************
|*
-|* Contens of editfield "Login" modified
+|* Contents of editfield "Login" modified
|*
|************************************************************************/
@@ -308,14 +289,10 @@ void SvxHyperlinkInternetTp::SetScheme( const String& aScheme )
//if aScheme is empty or unknown the default beaviour is like it where HTTP
sal_Bool bFTP = aScheme.SearchAscii( sFTPScheme ) == 0;
- sal_Bool bTelnet = sal_False;
- if( !bFTP )
- bTelnet = aScheme.SearchAscii( sTelnetScheme ) == 0;
- sal_Bool bInternet = !(bFTP || bTelnet);
+ sal_Bool bInternet = !(bFTP);
//update protocol button selection:
maRbtLinktypFTP.Check(bFTP);
- maRbtLinktypTelnet.Check(bTelnet);
maRbtLinktypInternet.Check(bInternet);
//update target:
@@ -338,7 +315,7 @@ void SvxHyperlinkInternetTp::SetScheme( const String& aScheme )
}
else
{
- //disable for https, ftp and telnet
+ //disable for https and ftp
maBtTarget.Disable();
if ( mbMarkWndOpen )
HideMarkWnd ();
@@ -371,10 +348,6 @@ String SvxHyperlinkInternetTp::GetSchemeFromButtons() const
{
return String::CreateFromAscii( INET_FTP_SCHEME );
}
- else if( maRbtLinktypTelnet.IsChecked() )
- {
- return String::CreateFromAscii( INET_TELNET_SCHEME );
- }
return String::CreateFromAscii( INET_HTTP_SCHEME );
}
@@ -384,16 +357,12 @@ INetProtocol SvxHyperlinkInternetTp::GetSmartProtocolFromButtons() const
{
return INET_PROT_FTP;
}
- else if( maRbtLinktypTelnet.IsChecked() )
- {
- return INET_PROT_TELNET;
- }
return INET_PROT_HTTP;
}
/*************************************************************************
|*
-|* Click on Radiobutton : Internet, FTP or Telnet
+|* Click on Radiobutton : Internet or FTP
|*
|************************************************************************/
@@ -457,7 +426,8 @@ IMPL_LINK ( SvxHyperlinkInternetTp, ClickBrowseHdl_Impl, void *, EMPTYARG )
/////////////////////////////////////////////////
// Open URL if available
- SfxStringItem aName( SID_FILE_NAME, maStrStdDocURL );
+ SfxStringItem aName( SID_FILE_NAME, UniString::CreateFromAscii(
+ RTL_CONSTASCII_STRINGPARAM( "http://" ) ) );
SfxStringItem aRefererItem( SID_REFERER, UniString::CreateFromAscii(
RTL_CONSTASCII_STRINGPARAM( "private:user" ) ) );
SfxBoolItem aNewView( SID_OPEN_NEW_VIEW, sal_True );
diff --git a/cui/source/dialogs/hltpbase.cxx b/cui/source/dialogs/hltpbase.cxx
index 846c112ef..963bb2aea 100644
--- a/cui/source/dialogs/hltpbase.cxx
+++ b/cui/source/dialogs/hltpbase.cxx
@@ -578,10 +578,6 @@ String SvxHyperlinkTabPageBase::GetSchemeFromURL( String aStrURL )
{
aStrScheme = String::CreateFromAscii( INET_NEWS_SCHEME );
}
- else if ( aStrURL.EqualsIgnoreCaseAscii( INET_TELNET_SCHEME, 0, 9 ) )
- {
- aStrScheme = String::CreateFromAscii( INET_TELNET_SCHEME );
- }
}
else
aStrScheme = INetURLObject::GetScheme( aProtocol );
diff --git a/cui/source/dialogs/hyperdlg.hrc b/cui/source/dialogs/hyperdlg.hrc
index 9fed5576a..7c2c08109 100644
--- a/cui/source/dialogs/hyperdlg.hrc
+++ b/cui/source/dialogs/hyperdlg.hrc
@@ -30,7 +30,6 @@
#define GRP_LINKTYPE 1
#define RB_LINKTYP_INTERNET 2
#define RB_LINKTYP_FTP 3
-#define RB_LINKTYP_TELNET 4
#define FT_TARGET_HTML 5
#define CB_TARGET_HTML 6
#define FT_LOGIN 7
diff --git a/cui/source/dialogs/hyperdlg.src b/cui/source/dialogs/hyperdlg.src
index 47b11b34f..d52257bc2 100644
--- a/cui/source/dialogs/hyperdlg.src
+++ b/cui/source/dialogs/hyperdlg.src
@@ -68,13 +68,6 @@ TabPage RID_SVXPAGE_HYPERLINK_INTERNET
Size = MAP_APPFONT( 56 - COL_DIFF, 10 );
Text [ en-US ] = "~FTP";
};
- RadioButton RB_LINKTYP_TELNET
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_HYPERLINK_INTERNET:RB_LINKTYP_TELNET";
- Pos = MAP_APPFONT( 173, 13 );
- Size = MAP_APPFONT( 56, 10 );
- Text [ en-US ] = "~Telnet";
- };
FixedText FT_TARGET_HTML
{
Pos = MAP_APPFONT ( 12 , 26 ) ;
@@ -124,7 +117,7 @@ TabPage RID_SVXPAGE_HYPERLINK_INTERNET
TabStop = TRUE ;
Text [ en-US ] = "WWW Browser";
- QuickHelpText [ en-US ] = "WWW Browser" ;
+ QuickHelpText [ en-US ] = "Open web browser, copy an URL, and paste it to Target field" ;
ButtonImage = Image
{
ImageBitmap = Bitmap { File = "browse.bmp" ; };
@@ -132,22 +125,6 @@ TabPage RID_SVXPAGE_HYPERLINK_INTERNET
};
};
- ImageButton BTN_TARGET
- {
- HelpID = "cui:ImageButton:RID_SVXPAGE_HYPERLINK_INTERNET:BTN_TARGET";
- Pos = MAP_APPFONT ( 235, 40+2 ) ;
- Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_HEIGHT, HYPERDLG_IMGBUTTON_HEIGHT );
- TabStop = TRUE ;
- Text [ en-US ] = "Target in Document";
-
- QuickHelpText [ en-US ] = "Target in Document" ;
- ButtonImage = Image
- {
- ImageBitmap = Bitmap { File = "target.bmp" ; };
- MASKCOLOR
- };
- };
-
FixedLine GRP_MORE
{
Pos = MAP_APPFONT ( 6 , 92 ) ;
@@ -783,7 +760,7 @@ String RID_SVXSTR_HYPERDLG_HLINETTP
};
String RID_SVXSTR_HYPERDLG_HLINETTP_HELP
{
- Text [ en-US ] = "This is where you create a hyperlink to a Web page, FTP server or Telnet connection." ;
+ Text [ en-US ] = "This is where you create a hyperlink to a Web page or FTP server connection." ;
};
String RID_SVXSTR_HYPERDLG_HLMAILTP
diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx
index 5dd9edc7a..f5846d340 100644
--- a/cui/source/dialogs/iconcdlg.cxx
+++ b/cui/source/dialogs/iconcdlg.cxx
@@ -271,7 +271,7 @@ IconChoiceDialog ::~IconChoiceDialog ()
// save configuration at INI-Manager
// and remove pages
SvtViewOptions aTabDlgOpt( E_TABDIALOG, String::CreateFromInt32( nResId ) );
- aTabDlgOpt.SetWindowState( ::rtl::OUString::createFromAscii( GetWindowState((WINDOWSTATE_MASK_X | WINDOWSTATE_MASK_Y | WINDOWSTATE_MASK_STATE | WINDOWSTATE_MASK_MINIMIZED)).GetBuffer() ) );
+ aTabDlgOpt.SetWindowState(::rtl::OStringToOUString(GetWindowState((WINDOWSTATE_MASK_X | WINDOWSTATE_MASK_Y | WINDOWSTATE_MASK_STATE | WINDOWSTATE_MASK_MINIMIZED)), RTL_TEXTENCODING_ASCII_US));
aTabDlgOpt.SetPageID( mnCurrentPageId );
for ( size_t i = 0, nCount = maPageList.size(); i < nCount; ++i )
@@ -1106,7 +1106,7 @@ void IconChoiceDialog::Start_Impl()
if ( aTabDlgOpt.Exists() )
{
// ggf. Position aus Konfig
- SetWindowState( ByteString( aTabDlgOpt.GetWindowState().getStr(), RTL_TEXTENCODING_ASCII_US ) );
+ SetWindowState(rtl::OUStringToOString(aTabDlgOpt.GetWindowState().getStr(), RTL_TEXTENCODING_ASCII_US));
// initiale TabPage aus Programm/Hilfe/Konfig
nActPage = (sal_uInt16)aTabDlgOpt.GetPageID();
diff --git a/cui/source/dialogs/multipat.cxx b/cui/source/dialogs/multipat.cxx
index d2cae86b2..025d6d31e 100644
--- a/cui/source/dialogs/multipat.cxx
+++ b/cui/source/dialogs/multipat.cxx
@@ -192,7 +192,8 @@ SvxMultiPathDialog::SvxMultiPathDialog( Window* pParent, sal_Bool bEmptyAllowed
aPathFL ( this, CUI_RES( FL_MULTIPATH) ),
aPathLB ( this, CUI_RES( LB_MULTIPATH ) ),
- aRadioLB ( this, CUI_RES( LB_RADIOBUTTON ) ),
+ m_aRadioLBContainer(this, CUI_RES(LB_RADIOBUTTON)),
+ aRadioLB(m_aRadioLBContainer),
aRadioFT ( this, CUI_RES( FT_RADIOBUTTON ) ),
aAddBtn ( this, CUI_RES( BTN_ADD_MULTIPATH ) ),
aDelBtn ( this, CUI_RES( BTN_DEL_MULTIPATH ) ),
diff --git a/cui/source/dialogs/srchxtra.cxx b/cui/source/dialogs/srchxtra.cxx
index db8028a11..b67fdadfc 100644
--- a/cui/source/dialogs/srchxtra.cxx
+++ b/cui/source/dialogs/srchxtra.cxx
@@ -45,6 +45,7 @@
#include "backgrnd.hxx"
#include <svx/dialogs.hrc> // RID_SVXPAGE_...
#include <tools/resary.hxx>
+#include <rtl/strbuf.hxx>
// class SvxSearchFormatDialog -------------------------------------------
@@ -186,9 +187,10 @@ SvxSearchAttributeDialog::SvxSearchAttributeDialog( Window* pParent,
pEntry = aAttrLB.SvTreeListBox::InsertEntry( aAttrNames.GetString(nId) );
else
{
- ByteString sError( "no resource for slot id\nslot = " );
- sError += ByteString::CreateFromInt32( nSlot );
- DBG_ERRORFILE( sError.GetBuffer() );
+ rtl::OStringBuffer sError(
+ RTL_CONSTASCII_STRINGPARAM("no resource for slot id\nslot = "));
+ sError.append(static_cast<sal_Int32>(nSlot));
+ DBG_ERRORFILE(sError.getStr());
}
if ( pEntry )
diff --git a/cui/source/factory/cuiresmgr.cxx b/cui/source/factory/cuiresmgr.cxx
index c04206ccb..8e3bc3140 100644
--- a/cui/source/factory/cuiresmgr.cxx
+++ b/cui/source/factory/cuiresmgr.cxx
@@ -33,15 +33,14 @@
#include <svl/solar.hrc>
#include <vcl/svapp.hxx>
-static ResMgr* pResMgr=0;
-
// struct DialogsResMgr --------------------------------------------------
ResMgr* CuiResMgr::GetResMgr()
{
+ static ResMgr* pResMgr=0;
+
if ( !pResMgr )
{
- ByteString aName( "cui" );
- pResMgr = ResMgr::CreateResMgr( aName.GetBuffer(), Application::GetSettings().GetUILocale() );
+ pResMgr = ResMgr::CreateResMgr("cui", Application::GetSettings().GetUILocale());
}
return pResMgr;
diff --git a/cui/source/inc/about.hxx b/cui/source/inc/about.hxx
index 86ead1dde..2643f460d 100644
--- a/cui/source/inc/about.hxx
+++ b/cui/source/inc/about.hxx
@@ -53,19 +53,11 @@ private:
MultiLineEdit aCopyrightText;
svt::FixedHyperlink aInfoLink;
-// ResStringArray aDeveloperAry; // RIP ...
- String aAccelStr;
String aVersionData;
String aVersionTextStr;
String aCopyrightTextStr;
String aLinkStr;
-
- AccelList aAccelList;
-
- AutoTimer aTimer;
- long nOff;
- long m_nDeltaWidth;
- int m_nPendingScrolls;
+ String m_sBuildStr;
protected:
virtual sal_Bool Close();
@@ -73,10 +65,7 @@ protected:
public:
AboutDialog( Window* pParent, const ResId& rId);
- ~AboutDialog();
- DECL_LINK( TimerHdl, Timer * );
- DECL_LINK( AccelSelectHdl, Accelerator * );
DECL_LINK( HandleHyperlink, svt::FixedHyperlink * );
};
diff --git a/cui/source/inc/autocdlg.hxx b/cui/source/inc/autocdlg.hxx
index 841eaa4fb..61c2802eb 100644
--- a/cui/source/inc/autocdlg.hxx
+++ b/cui/source/inc/autocdlg.hxx
@@ -83,8 +83,10 @@ class OfaACorrCheckListBox : public SvxSimpleTable
virtual void KeyInput( const KeyEvent& rKEvt );
public:
- OfaACorrCheckListBox(Window* pParent, const ResId& rResId ) :
- SvxSimpleTable( pParent, rResId ){}
+ OfaACorrCheckListBox(SvxSimpleTableContainer& rParent, WinBits nBits = WB_BORDER)
+ : SvxSimpleTable(rParent, nBits)
+ {
+ }
inline void *GetUserData(sal_uLong nPos) { return GetEntry(nPos)->GetUserData(); }
inline void SetUserData(sal_uLong nPos, void *pData ) { GetEntry(nPos)->SetUserData(pData); }
@@ -136,6 +138,7 @@ class OfaSwAutoFmtOptionsPage : public SfxTabPage
{
using TabPage::ActivatePage;
+ SvxSimpleTableContainer m_aCheckLBContainer;
OfaACorrCheckListBox aCheckLB;
PushButton aEditPB;
FixedText aHeader1Expl;
@@ -334,6 +337,7 @@ private:
SvxCheckListBox aCheckLB;
// Just for writer
+ SvxSimpleTableContainer m_aSwCheckLBContainer;
OfaACorrCheckListBox aSwCheckLB;
String sHeader1;
String sHeader2;
diff --git a/cui/source/inc/cuigaldlg.hxx b/cui/source/inc/cuigaldlg.hxx
index 0d82fd0d2..1009ce0e7 100644
--- a/cui/source/inc/cuigaldlg.hxx
+++ b/cui/source/inc/cuigaldlg.hxx
@@ -309,6 +309,7 @@ public:
// ----------------------------
// - TPGalleryThemeProperties -
// ----------------------------
+typedef ::std::vector< FilterEntry* > FilterEntryList_impl;
class TPGalleryThemeProperties : public SfxTabPage
{
@@ -325,13 +326,13 @@ class TPGalleryThemeProperties : public SfxTabPage
CheckBox aCbxPreview;
GalleryPreview aWndPreview;
- ExchangeData* pData;
- StringList aFoundList;
- List aFilterEntryList;
- Timer aPreviewTimer;
- String aLastFilterName;
- String aPreviewString;
- INetURLObject aURL;
+ ExchangeData* pData;
+ StringList aFoundList;
+ FilterEntryList_impl aFilterEntryList;
+ Timer aPreviewTimer;
+ String aLastFilterName;
+ String aPreviewString;
+ INetURLObject aURL;
sal_uInt16 nCurFilterPos;
sal_uInt16 nFirstExtFilterPos;
sal_Bool bEntriesFound;
diff --git a/cui/source/inc/hlinettp.hxx b/cui/source/inc/hlinettp.hxx
index 1f3efbfcb..f1888b3dc 100644
--- a/cui/source/inc/hlinettp.hxx
+++ b/cui/source/inc/hlinettp.hxx
@@ -44,7 +44,6 @@ private:
FixedLine maGrpLinkTyp;
RadioButton maRbtLinktypInternet;
RadioButton maRbtLinktypFTP;
- RadioButton maRbtLinktypTelnet;
FixedText maFtTarget;
SvxHyperURLBox maCbbTarget;
ImageButton maBtBrowse;
@@ -60,12 +59,10 @@ private:
sal_Bool mbMarkWndOpen;
- String maStrStdDocURL;
-
- DECL_LINK (Click_SmartProtocol_Impl , void * ); // Radiobutton clicked: Type Internet, FTP or Telnet
- DECL_LINK (ClickAnonymousHdl_Impl , void * ); // Checkbox : Anonymer Benutzer
+ DECL_LINK (Click_SmartProtocol_Impl , void * ); // Radiobutton clicked: Type HTTP or FTP
+ DECL_LINK (ClickAnonymousHdl_Impl , void * ); // Checkbox : Anonymous User
DECL_LINK (ClickBrowseHdl_Impl , void * ); // Button : Browse
- DECL_LINK (ClickTargetHdl_Impl , void * ); // Button : Ziel
+ DECL_LINK (ClickTargetHdl_Impl , void * ); // Button : Target
DECL_LINK (ModifiedLoginHdl_Impl , void * ); // Contens of editfield "Login" modified
DECL_LINK (LostFocusTargetHdl_Impl , void * ); // Combobox "Target" lost its focus
DECL_LINK (ModifiedTargetHdl_Impl , void * ); // Contens of editfield "Target" modified
diff --git a/cui/source/inc/hltpbase.hxx b/cui/source/inc/hltpbase.hxx
index 97aa97492..e90ba1495 100644
--- a/cui/source/inc/hltpbase.hxx
+++ b/cui/source/inc/hltpbase.hxx
@@ -28,8 +28,6 @@
#ifndef _SVX_TABBASE_HYPERLINK_HXX
#define _SVX_TABBASE_HYPERLINK_HXX
-#define INET_TELNET_SCHEME "telnet://"
-
#include <sfx2/app.hxx>
#include <sfx2/tabdlg.hxx>
#include <vcl/group.hxx>
diff --git a/cui/source/inc/multipat.hxx b/cui/source/inc/multipat.hxx
index 25f168e92..de7f19b4f 100644
--- a/cui/source/inc/multipat.hxx
+++ b/cui/source/inc/multipat.hxx
@@ -58,6 +58,7 @@ class SvxMultiPathDialog : public ModalDialog
protected:
FixedLine aPathFL;
ListBox aPathLB;
+ SvxSimpleTableContainer m_aRadioLBContainer;
svx::SvxRadioButtonListBox aRadioLB;
FixedText aRadioFT;
PushButton aAddBtn;
diff --git a/cui/source/inc/radiobtnbox.hxx b/cui/source/inc/radiobtnbox.hxx
index 50296e172..f4ca17b21 100644
--- a/cui/source/inc/radiobtnbox.hxx
+++ b/cui/source/inc/radiobtnbox.hxx
@@ -49,7 +49,7 @@ protected:
virtual void KeyInput( const KeyEvent& rKEvt );
public:
- SvxRadioButtonListBox( Window* _pParent, const ResId& _rId );
+ SvxRadioButtonListBox(SvxSimpleTableContainer& rParent, WinBits nBits = WB_BORDER);
~SvxRadioButtonListBox();
void HandleEntryChecked( SvLBoxEntry* _pEntry );
diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx
index 6a05a00cc..588982c34 100644
--- a/cui/source/options/fontsubs.cxx
+++ b/cui/source/options/fontsubs.cxx
@@ -57,7 +57,8 @@ SvxFontSubstTabPage::SvxFontSubstTabPage( Window* pParent,
aFont2FT (this, CUI_RES(FT_FONT2)),
aFont2CB (this, CUI_RES(CB_FONT2)),
aNewDelTBX (this, CUI_RES(TBX_SUBSTNEWDEL)),
- aCheckLB (this, CUI_RES(CLB_SUBSTITUTES)),
+ m_aCheckLBContainer(this, CUI_RES(CLB_SUBSTITUTES)),
+ aCheckLB(m_aCheckLBContainer),
aSourceViewFontsFL (this, CUI_RES(FL_SOURCEVIEW )),
aFontNameFT (this, CUI_RES(FT_FONTNAME )),
@@ -77,7 +78,6 @@ SvxFontSubstTabPage::SvxFontSubstTabPage( Window* pParent,
sHeader3 (CUI_RES( STR_HEADER3 )),
sHeader4 (CUI_RES( STR_HEADER4 )),
- sFontGroup ("FontSubstitution"),
pCheckButtonData(0)
{
FreeResource();
diff --git a/cui/source/options/fontsubs.hxx b/cui/source/options/fontsubs.hxx
index 2be4d3cf6..50edd71e3 100644
--- a/cui/source/options/fontsubs.hxx
+++ b/cui/source/options/fontsubs.hxx
@@ -53,8 +53,10 @@ class SvxFontSubstCheckListBox : public SvxSimpleTable
virtual void KeyInput( const KeyEvent& rKEvt );
public:
- SvxFontSubstCheckListBox(Window* pParent, const ResId& rResId ) :
- SvxSimpleTable( pParent, rResId ){}
+ SvxFontSubstCheckListBox(SvxSimpleTableContainer& rParent, WinBits nBits = WB_BORDER)
+ : SvxSimpleTable(rParent, nBits)
+ {
+ }
inline void *GetUserData(sal_uLong nPos) { return GetEntry(nPos)->GetUserData(); }
inline void SetUserData(sal_uLong nPos, void *pData ) { GetEntry(nPos)->SetUserData(pData); }
@@ -78,6 +80,7 @@ class SvxFontSubstTabPage : public SfxTabPage
FixedText aFont2FT;
FontNameBox aFont2CB;
ToolBox aNewDelTBX;
+ SvxSimpleTableContainer m_aCheckLBContainer;
SvxFontSubstCheckListBox aCheckLB;
FixedLine aSourceViewFontsFL;
@@ -99,7 +102,6 @@ class SvxFontSubstTabPage : public SfxTabPage
String sHeader4;
Color aTextColor;
- ByteString sFontGroup;
SvLBoxButtonData* pCheckButtonData;
diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index 1308e3d8b..b41c11530 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -935,7 +935,6 @@ ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent, const ResId& rRe
}
XColorTable aColorTable( SvtPathOptions().GetPalettePath() );
- aColorBoxes[0]->InsertAutomaticEntry();
for( sal_Int32 i = 0; i < aColorTable.Count(); i++ )
{
XColorEntry* pEntry = aColorTable.GetColor(i);
@@ -944,7 +943,7 @@ ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent, const ResId& rRe
aColorBoxes[0]->SetHelpId( aColorLBHids[0] );
- OSL_ENSURE( nCount < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])), "too few helpIDs for color listboxes" );
+ OSL_ENSURE( nCount < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])), "too few helpIDs for color listboxes" );
for( sal_Int32 i = 1; i < nCount; i++ )
{
if(aColorBoxes[i])
@@ -952,8 +951,10 @@ ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent, const ResId& rRe
aColorBoxes[i]->CopyEntries( *aColorBoxes[0] );
if( i < sal_Int32(sizeof(aColorLBHids)/sizeof(aColorLBHids[0])) )
aColorBoxes[i]->SetHelpId( aColorLBHids[i] );
+ aColorBoxes[i]->InsertAutomaticEntryColor(ColorConfig::GetDefaultColor((ColorConfigEntry) i));
}
}
+ aColorBoxes[0]->InsertAutomaticEntryColor(ColorConfig::GetDefaultColor((ColorConfigEntry) 0));
}
ColorConfigWindow_Impl::~ColorConfigWindow_Impl()
@@ -1414,7 +1415,7 @@ IMPL_LINK(ColorConfigCtrl_Impl, ColorHdl, ColorListBox*, pBox)
if(pBox && aScrollWindow.aColorBoxes[i] == pBox)
{
ColorConfigValue aColorEntry = pColorConfig->GetColorValue(ColorConfigEntry(i));
- if(!pBox->GetSelectEntryPos())
+ if(pBox->IsAutomaticSelected())
{
aColorEntry.nColor = COL_AUTO;
if(aScrollWindow.aWindows[i])
diff --git a/cui/source/options/optfltr.cxx b/cui/source/options/optfltr.cxx
index 171684c53..c2c209453 100644
--- a/cui/source/options/optfltr.cxx
+++ b/cui/source/options/optfltr.cxx
@@ -147,7 +147,8 @@ void OfaMSFilterTabPage::Reset( const SfxItemSet& )
OfaMSFilterTabPage2::OfaMSFilterTabPage2( Window* pParent,
const SfxItemSet& rSet )
: SfxTabPage( pParent, CUI_RES( RID_OFAPAGE_MSFILTEROPT2 ), rSet ),
- aCheckLB ( this, CUI_RES( CLB_SETTINGS )),
+ m_aCheckLBContainer(this, CUI_RES( CLB_SETTINGS)),
+ aCheckLB(m_aCheckLBContainer),
aHeader1FT ( this, CUI_RES( FT_HEADER1_EXPLANATION )),
aHeader2FT ( this, CUI_RES( FT_HEADER2_EXPLANATION )),
sHeader1 ( CUI_RES( ST_HEADER1 )),
diff --git a/cui/source/options/optfltr.hxx b/cui/source/options/optfltr.hxx
index b6e924b3d..4371fd69e 100644
--- a/cui/source/options/optfltr.hxx
+++ b/cui/source/options/optfltr.hxx
@@ -81,10 +81,13 @@ class OfaMSFilterTabPage2 : public SfxTabPage
virtual void KeyInput( const KeyEvent& rKEvt );
public:
- MSFltrSimpleTable(Window* pParent, const ResId& rResId ) :
- SvxSimpleTable( pParent, rResId ){}
+ MSFltrSimpleTable(SvxSimpleTableContainer& rParent, WinBits nBits = WB_BORDER)
+ : SvxSimpleTable(rParent, nBits)
+ {
+ }
};
+ SvxSimpleTableContainer m_aCheckLBContainer;
MSFltrSimpleTable aCheckLB;
FixedText aHeader1FT, aHeader2FT;
String sHeader1, sHeader2;
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 7cab00aeb..018049c40 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -180,9 +180,12 @@ namespace
if ( xEnum.is() && xEnum->hasMoreElements() )
bRet = sal_True;
}
-
- catch( IllegalArgumentException ) {}
- catch( ElementExistException ) {}
+ catch (const IllegalArgumentException&)
+ {
+ }
+ catch (const ElementExistException&)
+ {
+ }
return bRet;
}
}
@@ -639,7 +642,7 @@ CanvasSettings::CanvasSettings() :
++pCurr;
}
}
- catch( Exception& )
+ catch (const Exception&)
{
}
}
@@ -677,8 +680,9 @@ sal_Bool CanvasSettings::IsHardwareAccelerationAvailable() const
return mbHWAccelAvailable;
}
}
- catch (Exception &)
- {}
+ catch (const Exception&)
+ {
+ }
++pCurrImpl;
}
@@ -1339,7 +1343,7 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
}
}
- catch (Exception &e)
+ catch (const Exception &e)
{
// we'll just leave the box in it's default setting and won't
// even give it event handler...
@@ -1522,7 +1526,7 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
}
}
}
- catch (Exception& e)
+ catch (const Exception& e)
{
// we'll just leave the box in it's default setting and won't
// even give it event handler...
@@ -1757,7 +1761,7 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
aCTLLang >>= aLocale;
eCurLangCTL = MsLangId::convertLocaleToLanguage( aLocale );
}
- catch(Exception&)
+ catch (const Exception&)
{
}
//overwrite them by the values provided by the DocShell
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index b61a72d84..d897fb822 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -635,413 +635,6 @@ IMPL_LINK( SvxProxyTabPage, LoseFocusHdl_Impl, Edit *, pEdit )
}
-/********************************************************************/
-/* */
-/* SvxSearchTabPage */
-/* */
-/********************************************************************/
-
-SvxSearchTabPage::SvxSearchTabPage(Window* pParent, const SfxItemSet& rSet ) :
-
- SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_INET_SEARCH ), rSet ),
-
- aSearchGB ( this, CUI_RES( GB_SEARCH ) ),
- aSearchLB ( this, CUI_RES( LB_SEARCH ) ),
- aSearchNameFT ( this, CUI_RES( FT_SEARCH_NAME ) ),
- aSearchNameED ( this, CUI_RES( ED_SEARCH_NAME ) ),
- aSearchFT ( this, CUI_RES( FT_SEARCH ) ),
- aAndRB ( this, CUI_RES( RB_AND ) ),
- aOrRB ( this, CUI_RES( RB_OR ) ),
- aExactRB ( this, CUI_RES( RB_EXACT ) ),
-
- aURLFT ( this, CUI_RES( FT_URL ) ),
- aURLED ( this, CUI_RES( ED_URL ) ),
-
- aPostFixFT ( this, CUI_RES( FT_POSTFIX ) ),
- aPostFixED ( this, CUI_RES( ED_POSTFIX ) ),
- aSeparatorFT ( this, CUI_RES( FT_SEPARATOR ) ),
- aSeparatorED ( this, CUI_RES( ED_SEPARATOR ) ),
- aCaseFT ( this, CUI_RES( FT_CASE ) ),
- aCaseED ( this, CUI_RES( ED_CASE ) ),
-
- aNewPB ( this, CUI_RES( PB_NEW ) ),
- aAddPB ( this, CUI_RES( PB_ADD ) ),
- aChangePB ( this, CUI_RES( PB_CHANGE ) ),
- aDeletePB ( this, CUI_RES( PB_DELETE ) ),
-
- sModifyMsg(CUI_RES(MSG_MODIFY))
-{
- FreeResource();
-
- SetExchangeSupport();
- aCaseED.SelectEntryPos(0); // falls kein Eintrag vorhanden ist, kann es sonst "Arger geben
-
- aNewPB.SetClickHdl(LINK( this, SvxSearchTabPage, NewSearchHdl_Impl ) );
- aAddPB.SetClickHdl(LINK( this, SvxSearchTabPage, AddSearchHdl_Impl ) );
- aChangePB.SetClickHdl(LINK( this, SvxSearchTabPage, ChangeSearchHdl_Impl ) );
- aDeletePB.SetClickHdl(LINK( this, SvxSearchTabPage, DeleteSearchHdl_Impl ) );
- aSearchLB.SetSelectHdl(LINK( this, SvxSearchTabPage, SearchEntryHdl_Impl ) );
-
- Link aLink = LINK( this, SvxSearchTabPage, SearchModifyHdl_Impl );
- aSearchNameED.SetModifyHdl( aLink );
- aURLED.SetModifyHdl( aLink );
- aSeparatorED.SetModifyHdl( aLink );
- aPostFixED.SetModifyHdl( aLink );
- aCaseED.SetSelectHdl( aLink );
-
- aLink = LINK( this, SvxSearchTabPage, SearchPartHdl_Impl );
- aAndRB.SetClickHdl( aLink );
- aOrRB.SetClickHdl( aLink );
- aExactRB.SetClickHdl( aLink );
-
- InitControls_Impl();
-}
-
-// -----------------------------------------------------------------------
-SvxSearchTabPage::~SvxSearchTabPage()
-{
-}
-// -----------------------------------------------------------------------
-
-SfxTabPage* SvxSearchTabPage::Create(Window* pParent, const SfxItemSet& rAttrSet )
-{
- return new SvxSearchTabPage(pParent, rAttrSet);
-}
-
-// -----------------------------------------------------------------------
-
-void SvxSearchTabPage::Reset( const SfxItemSet& )
-{
- //The two lines below are moved here from the last part of this method
- aChangePB.Disable();
- aAddPB.Disable();
-
- sal_uInt16 nCount = aSearchConfig.Count();
- aSearchLB.Clear();
- for(sal_uInt16 i = 0; i < nCount; i++)
- {
- const SvxSearchEngineData& rData = aSearchConfig.GetData(i);
- aSearchLB.InsertEntry(rData.sEngineName);
- }
-
- if ( nCount )
- {
- aSearchLB.SelectEntryPos(0);
- SearchEntryHdl_Impl( &aSearchLB );
- }
- else
- aDeletePB.Disable();
-}
-
-// -----------------------------------------------------------------------
-
-sal_Bool SvxSearchTabPage::FillItemSet( SfxItemSet& )
-{
- if(aSearchConfig.IsModified())
- aSearchConfig.Commit();
- return sal_True;
-}
-/*--------------------------------------------------------------------*/
-
-void SvxSearchTabPage::ActivatePage( const SfxItemSet& )
-{
-}
-
-/*--------------------------------------------------------------------*/
-
-int SvxSearchTabPage::DeactivatePage( SfxItemSet* _pSet )
-{
- if(!ConfirmLeave(String()))
- return KEEP_PAGE;
-
- if ( _pSet )
- FillItemSet( *_pSet );
- return LEAVE_PAGE;
-}
-
-// -----------------------------------------------------------------------
-
-sal_Bool SvxSearchTabPage::ConfirmLeave( const String& rStringSelection)
-{
- if(aChangePB.IsEnabled())
- {
- QueryBox aQuery(this, WB_YES_NO_CANCEL|WB_DEF_YES, sModifyMsg);
- sal_uInt16 nRet = aQuery.Execute();
- if(RET_CANCEL == nRet)
- {
- if(rStringSelection.Len())
- aSearchLB.SelectEntry(sLastSelectedEntry);
- return sal_False;
- }
- else if(RET_YES == nRet)
- {
- sal_uInt16 nEntryPos = aSearchLB.GetEntryPos( aSearchNameED.GetText() );
- if ( nEntryPos != LISTBOX_ENTRY_NOTFOUND )
- aSearchLB.SelectEntryPos(nEntryPos);
- else
- aSearchLB.SetNoSelection();
- ChangeSearchHdl_Impl(0);
- if(rStringSelection.Len())
- aSearchLB.SelectEntry(rStringSelection);
- }
- else if(RET_NO == nRet)
- {
- aChangePB.Enable(sal_False);
- aAddPB.Enable(sal_False);
- SearchEntryHdl_Impl(&aSearchLB);
- }
- }
- if(aAddPB.IsEnabled())
- {
- QueryBox aQuery(this, WB_YES_NO_CANCEL|WB_DEF_YES, sModifyMsg);
- sal_uInt16 nRet = aQuery.Execute();
- if(RET_CANCEL == nRet)
- {
- aSearchLB.SetNoSelection();
- return sal_False;
- }
- else if(RET_YES == nRet)
- {
- aSearchLB.SetNoSelection();
- AddSearchHdl_Impl(0);
- if(rStringSelection.Len())
- aSearchLB.SelectEntry(rStringSelection);
- }
- else if(RET_NO == nRet)
- {
- aAddPB.Enable(sal_False);
- aChangePB.Enable(sal_False);
- NewSearchHdl_Impl(0);
- }
-
- }
- return sal_True;
-}
-
-// -----------------------------------------------------------------------
-
-void SvxSearchTabPage::InitControls_Impl()
-{
- // detect longest label text
- sal_Int32 i = 0;
- long nLabelTextWidth = 0;
- Window* pLabels[] = { &aSearchNameFT, &aSearchFT, &aURLFT, &aPostFixFT, &aSeparatorFT, &aCaseFT };
- Window** pLabel = pLabels;
- const sal_Int32 nLabelCount = SAL_N_ELEMENTS( pLabels );
- for ( ; i < nLabelCount; ++i, ++pLabel )
- {
- long nTemp = (*pLabel)->GetCtrlTextWidth( (*pLabel)->GetText() );
- if ( nTemp > nLabelTextWidth )
- nLabelTextWidth = nTemp;
- }
-
- // resize all labels
- nLabelTextWidth = nLabelTextWidth * 120 / 100; // additional space looks better
- const long nLabelWidth = aSearchNameFT.GetSizePixel().Width();
- const long nDelta = nLabelWidth - nLabelTextWidth;
- pLabel = pLabels;
- for ( i = 0; i < nLabelCount; ++i, ++pLabel )
- {
- Size aNewSize = (*pLabel)->GetSizePixel();
- aNewSize.Width() += nDelta;
- (*pLabel)->SetSizePixel( aNewSize );
- }
-
- // resize and move the edits
- Window* pEdits[] = { &aSearchNameED, &aAndRB, &aOrRB,
- &aExactRB, &aURLED, &aPostFixED, &aSeparatorED, &aCaseED };
- Window** pEdit = pEdits;
- const sal_Int32 nCCount = SAL_N_ELEMENTS( pEdits );
- for ( i = 0; i < nCCount; ++i, ++pEdit )
- {
- Point aNewPos = (*pEdit)->GetPosPixel();
- aNewPos.X() -= nDelta;
- Size aNewSize = (*pEdit)->GetSizePixel();
- if ( (*pEdit) != &aSeparatorED && (*pEdit) != &aCaseED )
- aNewSize.Width() += nDelta;
- (*pEdit)->SetPosSizePixel( aNewPos, aNewSize );
- }
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, NewSearchHdl_Impl, PushButton *, EMPTYARG )
-{
- SearchEntryHdl_Impl(&aSearchLB);
- if(aChangePB.IsEnabled() || aAddPB.IsEnabled())
- return 0;
- aSearchNameED.SetText( String() );
- aSearchLB.SetNoSelection();
- aCurrentSrchData = SvxSearchEngineData();
- aAndRB.Check( sal_True );
- SearchEntryHdl_Impl( &aSearchLB );
- SearchPartHdl_Impl( &aAndRB );
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, AddSearchHdl_Impl, PushButton *, EMPTYARG )
-{
- aAddPB.Enable(sal_False);
- aChangePB.Enable(sal_False);
- aCurrentSrchData.sEngineName = aSearchNameED.GetText();
- aSearchConfig.SetData(aCurrentSrchData);
- aSearchLB.InsertEntry( aCurrentSrchData.sEngineName );
- aSearchLB.SelectEntry( aCurrentSrchData.sEngineName );
- SearchEntryHdl_Impl( &aSearchLB );
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, ChangeSearchHdl_Impl, PushButton *, EMPTYARG )
-{
- aChangePB.Enable(sal_False);
- aAddPB.Enable(sal_False);
- sal_uInt16 nPos = aSearchLB.GetSelectEntryPos();
- if ( nPos != LISTBOX_ENTRY_NOTFOUND )
- {
- String sEngine = aSearchLB.GetSelectEntry();
- aCurrentSrchData.sEngineName = sEngine;
- aSearchConfig.SetData(aCurrentSrchData);
- aSearchLB.SelectEntry(sEngine);
- SearchEntryHdl_Impl(&aSearchLB);
- }
- else
- {
- SetUpdateMode(sal_False);
- String sEntry = aSearchNameED.GetText();
- // im AddHdl wird sLastSelectedEntry umgesetzt
- String sTemp(sLastSelectedEntry);
- AddSearchHdl_Impl(0);
- aSearchLB.SelectEntry(sTemp);
- DeleteSearchHdl_Impl(0);
- aSearchLB.SelectEntry(sEntry);
- SearchEntryHdl_Impl(&aSearchLB);
- SetUpdateMode(sal_True);
- }
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, DeleteSearchHdl_Impl, PushButton *, EMPTYARG)
-{
- aChangePB.Enable(sal_False);
- sal_uInt16 nPos = aSearchLB.GetSelectEntryPos();
- DBG_ASSERT(nPos != LISTBOX_ENTRY_NOTFOUND, "kein Eintrag selektiert!");
- aSearchConfig.RemoveData(aSearchLB.GetSelectEntry());
- aSearchLB.RemoveEntry(nPos);
- aSearchLB.SelectEntryPos(0);
- SearchEntryHdl_Impl(&aSearchLB);
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, SearchEntryHdl_Impl, ListBox*, pBox )
-{
- sal_uInt16 nEntryPos = pBox->GetSelectEntryPos();
- if ( nEntryPos != LISTBOX_ENTRY_NOTFOUND )
- {
- String sSelection(pBox->GetSelectEntry());
- if(!ConfirmLeave(sSelection))
- return 0;
-
- const SvxSearchEngineData* pData = aSearchConfig.GetData(sSelection);
- DBG_ASSERT(pData, "SearchEngine not available");
- if(pData)
- {
- aSearchNameED.SetText(sSelection);
- sLastSelectedEntry = sSelection;
- sal_Bool bAnd = aAndRB.IsChecked();
- sal_Bool bOr = aOrRB.IsChecked();
-
- aURLED.SetText(bAnd ? pData->sAndPrefix : bOr ? pData->sOrPrefix : pData->sExactPrefix);
- aSeparatorED.SetText( bAnd ? pData->sAndSeparator : bOr ? pData->sOrSeparator : pData->sExactSeparator);
- aPostFixED.SetText(bAnd ? pData->sAndSuffix : bOr ? pData->sOrSuffix : pData->sExactSuffix );
- sal_Int32 nCase = bAnd ? pData->nAndCaseMatch : bOr ? pData->nOrCaseMatch : pData->nExactCaseMatch;
- aCaseED.SelectEntryPos( (sal_uInt16)nCase );
- aCurrentSrchData = *pData;
- }
- aDeletePB.Enable();
- }
- else
- {
- aDeletePB.Enable(sal_False);
- sLastSelectedEntry.Erase();
- }
- aChangePB.Enable(sal_False);
- aAddPB.Enable(sal_False);
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, SearchModifyHdl_Impl, SvxNoSpaceEdit*, pEdit )
-{
- if ( pEdit == &aSearchNameED )
- {
- sal_Bool bTextLen = ( 0 != pEdit->GetText().Len() );
- sal_Bool bFound = sal_False;
- if ( bTextLen )
- {
- sal_uInt16 nEntryPos = aSearchLB.GetEntryPos( pEdit->GetText() );
- bFound = ( nEntryPos != LISTBOX_ENTRY_NOTFOUND );
- if ( bFound )
- aSearchLB.SelectEntryPos(nEntryPos);
- else
- aSearchLB.SetNoSelection();
- }
- aChangePB.Enable( sLastSelectedEntry.Len() > 0 );
- aDeletePB.Enable(bFound);
- aAddPB.Enable(bTextLen && !bFound);
- }
- else
- {
- if ( aSearchLB.GetSelectEntryCount() && sLastSelectedEntry.Len() > 0 )
- aChangePB.Enable();
-
- if(aAndRB.IsChecked())
- {
- aCurrentSrchData.sAndPrefix = aURLED.GetText();
- aCurrentSrchData.sAndSeparator = aSeparatorED.GetText();
- aCurrentSrchData.sAndSuffix = aPostFixED.GetText();
- aCurrentSrchData.nAndCaseMatch = aCaseED.GetSelectEntryPos();
- }
- else if(aOrRB.IsChecked())
- {
- aCurrentSrchData.sOrPrefix = aURLED.GetText();
- aCurrentSrchData.sOrSeparator = aSeparatorED.GetText();
- aCurrentSrchData.sOrSuffix = aPostFixED.GetText();
- aCurrentSrchData.nOrCaseMatch = aCaseED.GetSelectEntryPos();
- }
- else
- {
- aCurrentSrchData.sExactPrefix = aURLED.GetText();
- aCurrentSrchData.sExactSeparator = aSeparatorED.GetText();
- aCurrentSrchData.sExactSuffix = aPostFixED.GetText();
- aCurrentSrchData.nExactCaseMatch = aCaseED.GetSelectEntryPos();
- }
- }
- return 0;
-}
-
-// -----------------------------------------------------------------------
-
-IMPL_LINK( SvxSearchTabPage, SearchPartHdl_Impl, RadioButton *, EMPTYARG )
-{
- sal_Bool bAnd = aAndRB.IsChecked();
- sal_Bool bOr = aOrRB.IsChecked();
-
- aURLED.SetText(bAnd ? aCurrentSrchData.sAndPrefix : bOr ? aCurrentSrchData.sOrPrefix : aCurrentSrchData.sExactPrefix);
- aSeparatorED.SetText( bAnd ? aCurrentSrchData.sAndSeparator : bOr ? aCurrentSrchData.sOrSeparator : aCurrentSrchData.sExactSeparator);
- aPostFixED.SetText(bAnd ? aCurrentSrchData.sAndSuffix : bOr ? aCurrentSrchData.sOrSuffix : aCurrentSrchData.sExactSuffix );
- sal_Int32 nCase = bAnd ? aCurrentSrchData.nAndCaseMatch : bOr ? aCurrentSrchData.nOrCaseMatch : aCurrentSrchData.nExactCaseMatch;
- aCaseED.SelectEntryPos( (sal_uInt16)nCase );
- return 0;
-}
//#98647#----------------------------------------------
void SvxScriptExecListBox::RequestHelp( const HelpEvent& rHEvt )
diff --git a/cui/source/options/optinet2.hrc b/cui/source/options/optinet2.hrc
index 75f9445eb..2ccee079f 100755
--- a/cui/source/options/optinet2.hrc
+++ b/cui/source/options/optinet2.hrc
@@ -56,29 +56,6 @@
#define FT_HTTPS_PORT 15
#define ED_HTTPS_PORT 15
-// Search ------------------------------------------------------------------
-#define GB_SEARCH 40
-#define LB_SEARCH 40
-#define FT_SEARCH_NAME 41
-#define ED_SEARCH_NAME 41
-#define FT_SEARCH 42
-#define RB_AND 43
-#define RB_OR 44
-#define RB_EXACT 45
-#define FT_URL 46
-#define ED_URL 46
-#define FT_POSTFIX 47
-#define ED_POSTFIX 47
-#define FT_SEPARATOR 48
-#define ED_SEPARATOR 48
-#define FT_CASE 49
-#define ED_CASE 49
-#define PB_CHANGE 53
-#define PB_DELETE 54
-#define PB_ADD 55
-#define PB_NEW 56
-#define MSG_MODIFY 57
-
// Protocols --------------------------------------------------------------
#define GB_DNS 105
#define RB_DNS_AUTO 106
diff --git a/cui/source/options/optinet2.hxx b/cui/source/options/optinet2.hxx
index ff9d67bef..cbad0be3a 100644
--- a/cui/source/options/optinet2.hxx
+++ b/cui/source/options/optinet2.hxx
@@ -51,7 +51,6 @@ class SvtInetOptions;
#ifndef SV_NODIALOG
#define PROXY_CONTROLS 23
#define CACHE_CONTROLS 20
-#define INET_SEARCH 19
#define TYPE_CONTROLS 18
@@ -143,70 +142,6 @@ public:
virtual void Reset( const SfxItemSet& rSet );
};
-// class SvxSearchTabPage ------------------------------------------------
-class SvxSearchConfig;
-class SvxSearchTabPage : public SfxTabPage
-{
- using TabPage::ActivatePage;
- using TabPage::DeactivatePage;
-
-private:
- FixedLine aSearchGB;
- ListBox aSearchLB;
- FixedText aSearchNameFT;
- SvxNoSpaceEdit aSearchNameED;
-
- FixedText aSearchFT;
- RadioButton aAndRB;
- RadioButton aOrRB;
- RadioButton aExactRB;
-
- FixedText aURLFT;
- SvxNoSpaceEdit aURLED;
-
- FixedText aPostFixFT;
- SvxNoSpaceEdit aPostFixED;
- FixedText aSeparatorFT;
- SvxNoSpaceEdit aSeparatorED;
- FixedText aCaseFT;
- ListBox aCaseED;
-
- PushButton aNewPB;
- PushButton aAddPB;
- PushButton aChangePB;
- PushButton aDeletePB;
-
- String sLastSelectedEntry;
- String sModifyMsg;
-
- SvxSearchConfig aSearchConfig;
- SvxSearchEngineData aCurrentSrchData;
-
-#ifdef _SVX_OPTINET2_CXX
- void InitControls_Impl();
-
- DECL_LINK( NewSearchHdl_Impl, PushButton * );
- DECL_LINK( AddSearchHdl_Impl, PushButton * );
- DECL_LINK( ChangeSearchHdl_Impl, PushButton * );
- DECL_LINK( DeleteSearchHdl_Impl, PushButton * );
- DECL_LINK( SearchEntryHdl_Impl, ListBox * );
- DECL_LINK( SearchModifyHdl_Impl, SvxNoSpaceEdit * );
- DECL_LINK( SearchPartHdl_Impl, RadioButton * );
-#endif
-
- virtual void ActivatePage( const SfxItemSet& rSet );
- virtual int DeactivatePage( SfxItemSet* pSet = 0 );
- sal_Bool ConfirmLeave( const String& rStringSelection );
-
- SvxSearchTabPage( Window* pParent, const SfxItemSet& rSet );
- virtual ~SvxSearchTabPage();
-
-public:
- static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet );
- virtual sal_Bool FillItemSet( SfxItemSet& rSet );
- virtual void Reset( const SfxItemSet& rSet );
-};
-
// #98647# class SvxScriptExecListBox ------------------------------------
class SvxScriptExecListBox : public ListBox
{ // for adding tooltips to ListBox
diff --git a/cui/source/options/optinet2.src b/cui/source/options/optinet2.src
index 72eaafdcc..80543f8ec 100644
--- a/cui/source/options/optinet2.src
+++ b/cui/source/options/optinet2.src
@@ -274,172 +274,6 @@ TabPage RID_SVXPAGE_INET_PROXY
Text [ en-US ] = "is not a valid entry for this field. Please specify a value between 1 and 255." ;
};
};
-/************************************************************************/
-/* */
-/* Suche */
-/* */
-/************************************************************************/
-TabPage RID_SVXPAGE_INET_SEARCH
-{
- HelpId = HID_OPTIONS_SEARCH ;
- OutputSize = TRUE ;
- Size = MAP_APPFONT ( 260 , 185 ) ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Text [ en-US ] = "Search" ;
-
- #define GB_SEARCH_LEFT 6
- #define GB_SEARCH_TOP 3
- FixedLine GB_SEARCH
- {
- Pos = MAP_APPFONT ( GB_SEARCH_LEFT , GB_SEARCH_TOP ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
- Text [ en-US ] = "Search in" ;
- };
- ListBox LB_SEARCH
- {
- HelpID = "cui:ListBox:RID_SVXPAGE_INET_SEARCH:LB_SEARCH";
- Pos = MAP_APPFONT ( 12 , GB_SEARCH_TOP + 11 ) ;
- Size = MAP_APPFONT ( 39 , 120 ) ;
- Border = TRUE ;
- AutoHScroll = TRUE;
- };
- #define LABEL_START_XPOS (GB_SEARCH_LEFT + 6 + 39 + 5 )
- #define LABEL_LEN 64
- #define EDIT_START_XPOS (LABEL_START_XPOS + LABEL_LEN + 3)
- FixedText FT_SEARCH_NAME
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS , GB_SEARCH_TOP + 13 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "~Name" ;
- };
- Edit ED_SEARCH_NAME
- {
- HelpID = "cui:Edit:RID_SVXPAGE_INET_SEARCH:ED_SEARCH_NAME";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 11 ) ;
- Size = MAP_APPFONT ( 125 , 12 ) ;
- Border = TRUE ;
- };
- FixedText FT_SEARCH
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS , GB_SEARCH_TOP + 27 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "Type" ;
- };
- RadioButton RB_AND
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_INET_SEARCH:RB_AND";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 26 ) ;
- Size = MAP_APPFONT ( 125 , 10 ) ;
- Check = TRUE ;
- Text [ en-US ] = "And" ;
- };
- RadioButton RB_OR
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_INET_SEARCH:RB_OR";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 39 ) ;
- Size = MAP_APPFONT ( 125 , 10 ) ;
- Text [ en-US ] = "~Or" ;
- };
- RadioButton RB_EXACT
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_INET_SEARCH:RB_EXACT";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 52 ) ;
- Size = MAP_APPFONT ( 125 , 10 ) ;
- Text [ en-US ] = "E~xact" ;
- };
- FixedText FT_URL
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS , GB_SEARCH_TOP + 67 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "~Prefix" ;
- };
- Edit ED_URL
- {
- HelpID = "cui:Edit:RID_SVXPAGE_INET_SEARCH:ED_URL";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 65 ) ;
- Size = MAP_APPFONT ( 125 , 12 ) ;
- Border = TRUE ;
- };
- FixedText FT_POSTFIX
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS , GB_SEARCH_TOP + 82 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "Su~ffix" ;
- };
- Edit ED_POSTFIX
- {
- HelpID = "cui:Edit:RID_SVXPAGE_INET_SEARCH:ED_POSTFIX";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 80 ) ;
- Size = MAP_APPFONT ( 125 , 12 ) ;
- Border = TRUE ;
- };
- FixedText FT_SEPARATOR
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS , GB_SEARCH_TOP + 97 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "~Separator" ;
- };
- Edit ED_SEPARATOR
- {
- HelpID = "cui:Edit:RID_SVXPAGE_INET_SEARCH:ED_SEPARATOR";
- Pos = MAP_APPFONT ( EDIT_START_XPOS , GB_SEARCH_TOP + 95 ) ;
- Size = MAP_APPFONT ( 42 , 12 ) ;
- Border = TRUE ;
- };
- FixedText FT_CASE
- {
- Pos = MAP_APPFONT ( LABEL_START_XPOS, GB_SEARCH_TOP + 112 ) ;
- Size = MAP_APPFONT ( LABEL_LEN , 8 ) ;
- Text [ en-US ] = "~Case match" ;
- };
- ListBox ED_CASE
- {
- HelpID = "cui:ListBox:RID_SVXPAGE_INET_SEARCH:ED_CASE";
- Pos = MAP_APPFONT ( EDIT_START_XPOS, GB_SEARCH_TOP + 110 ) ;
- Size = MAP_APPFONT ( 42 , 48 ) ;
- Border = TRUE ;
- DropDown = TRUE ;
- StringList [ en-US ] =
- {
- < "None" ; > ;
- < "Upper" ; > ;
- < "Lower" ; > ;
- };
- };
- PushButton PB_NEW
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_INET_SEARCH:PB_NEW";
- Pos = MAP_APPFONT ( 39 , GB_SEARCH_TOP + 131 + 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "N~ew";
- };
- PushButton PB_ADD
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_INET_SEARCH:PB_ADD";
- Pos = MAP_APPFONT ( 92 , GB_SEARCH_TOP + 131 + 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "~Add" ;
- };
- PushButton PB_CHANGE
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_INET_SEARCH:PB_CHANGE";
- Pos = MAP_APPFONT ( 145 , GB_SEARCH_TOP + 131 + 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "~Modify" ;
- };
- PushButton PB_DELETE
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_INET_SEARCH:PB_DELETE";
- Pos = MAP_APPFONT ( 198 , GB_SEARCH_TOP + 131 + 6 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "~Delete" ;
- };
- String MSG_MODIFY
- {
- Text [ en-US ] = "Do you want to accept the current modification?";
- };
-};
/************************************************************************/
diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index e15fe5e19..f3b31216e 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -99,7 +99,8 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( Window* pParent, const SfxItemSet& rSet
m_aJavaLine ( this, CUI_RES( FL_JAVA ) ),
m_aJavaEnableCB ( this, CUI_RES( CB_JAVA_ENABLE ) ),
m_aJavaFoundLabel ( this, CUI_RES( FT_JAVA_FOUND ) ),
- m_aJavaList ( this, CUI_RES( LB_JAVA ) ),
+ m_aJavaListContainer(this, CUI_RES(LB_JAVA)),
+ m_aJavaList(m_aJavaListContainer),
m_aJavaPathText ( this, CUI_RES( FT_JAVA_PATH ) ),
m_aAddBtn ( this, CUI_RES( PB_ADD ) ),
m_aParameterBtn ( this, CUI_RES( PB_PARAMETER ) ),
@@ -169,9 +170,9 @@ SvxJavaOptionsPage::SvxJavaOptionsPage( Window* pParent, const SfxItemSet& rSet
aPos = m_aParameterBtn.GetPosPixel();
aPos.X() -= nDiff;
m_aParameterBtn.SetPosSizePixel(aPos, aButtonSize);
- Size aSize = m_aJavaList.GetSizePixel();
+ Size aSize = m_aJavaListContainer.GetSizePixel();
aSize.Width() -= nDiff;
- m_aJavaList.SetSizePixel(aSize);
+ m_aJavaListContainer.SetSizePixel(aSize);
}
}
diff --git a/cui/source/options/optjava.hxx b/cui/source/options/optjava.hxx
index 598b4739d..697d198da 100644
--- a/cui/source/options/optjava.hxx
+++ b/cui/source/options/optjava.hxx
@@ -56,6 +56,7 @@ private:
FixedLine m_aJavaLine;
CheckBox m_aJavaEnableCB;
FixedText m_aJavaFoundLabel;
+ SvxSimpleTableContainer m_aJavaListContainer;
svx::SvxRadioButtonListBox m_aJavaList;
FixedText m_aJavaPathText;
PushButton m_aAddBtn;
diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index a3b00fb63..ddf4d6170 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -35,7 +35,6 @@
#include <sfx2/app.hxx>
#include <svl/aeitem.hxx>
#include <svtools/svtabbx.hxx>
-#include <svtools/filedlg.hxx>
#include <tools/config.hxx>
#include <tools/urlobj.hxx>
#include <vcl/svapp.hxx>
diff --git a/cui/source/options/radiobtnbox.cxx b/cui/source/options/radiobtnbox.cxx
index 06c035286..ca30c33ea 100644
--- a/cui/source/options/radiobtnbox.cxx
+++ b/cui/source/options/radiobtnbox.cxx
@@ -35,9 +35,8 @@ namespace svx {
// class SvxRadioButtonListBox ----------------------------------------------------
-SvxRadioButtonListBox::SvxRadioButtonListBox( Window* _pParent, const ResId& _rId ) :
-
- SvxSimpleTable( _pParent, _rId )
+SvxRadioButtonListBox::SvxRadioButtonListBox(SvxSimpleTableContainer& rParent, WinBits nBits)
+ : SvxSimpleTable(rParent, nBits)
{
EnableCheckButton( new SvLBoxButtonData( this, true ) );
@@ -50,16 +49,6 @@ SvxRadioButtonListBox::~SvxRadioButtonListBox()
void SvxRadioButtonListBox::SetTabs()
{
SvxSimpleTable::SetTabs();
-/*
- sal_uInt16 nAdjust = SV_LBOXTAB_ADJUST_RIGHT | SV_LBOXTAB_ADJUST_LEFT |
- SV_LBOXTAB_ADJUST_CENTER | SV_LBOXTAB_ADJUST_NUMERIC | SV_LBOXTAB_FORCE;
- if ( aTabs.Count() > 0 )
- {
- SvLBoxTab* pTab = (SvLBoxTab*)aTabs.GetObject(0);
- pTab->nFlags &= ~nAdjust;
- pTab->nFlags |= SV_LBOXTAB_PUSHABLE | SV_LBOXTAB_ADJUST_CENTER | SV_LBOXTAB_FORCE;
- }
-*/
}
void SvxRadioButtonListBox::MouseButtonUp( const MouseEvent& _rMEvt )
diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx
index 410d229c2..a6ae33454 100644
--- a/cui/source/options/treeopt.cxx
+++ b/cui/source/options/treeopt.cxx
@@ -346,7 +346,6 @@ SfxTabPage* CreateGeneralTabPage( sal_uInt16 nId, Window* pParent, const SfxItem
case RID_SVXPAGE_ASIAN_LAYOUT: fnCreate = &SvxAsianLayoutPage::Create; break;
case RID_SVX_FONT_SUBSTITUTION: fnCreate = &SvxFontSubstTabPage::Create; break;
case RID_SVXPAGE_INET_PROXY: fnCreate = &SvxProxyTabPage::Create; break;
- case RID_SVXPAGE_INET_SEARCH: fnCreate = &SvxSearchTabPage::Create; break;
case RID_SVXPAGE_INET_SECURITY: fnCreate = &SvxSecurityTabPage::Create; break;
case RID_SVXPAGE_INET_MAIL: fnCreate = &SvxEMailTabPage::Create; break;
case RID_SVXPAGE_COLORCONFIG: fnCreate = &SvxColorOptionsTabPage::Create; break;
@@ -405,7 +404,6 @@ static OptionsMapping_Impl const OptionsMap_Impl[] =
{ "LanguageSettings", "ComplexTextLayout", RID_SVXPAGE_OPTIONS_CTL },
{ "Internet", NULL, SID_INET_DLG },
{ "Internet", "Proxy", RID_SVXPAGE_INET_PROXY },
- { "Internet", "Search", RID_SVXPAGE_INET_SEARCH },
{ "Internet", "Email", RID_SVXPAGE_INET_MAIL },
{ "Internet", "MozillaPlugin", RID_SVXPAGE_INET_MOZPLUGIN },
{ "LoadSave", NULL, SID_FILTER_DLG },
diff --git a/cui/source/options/treeopt.src b/cui/source/options/treeopt.src
index 55eaf83e8..ff7d70fa1 100644
--- a/cui/source/options/treeopt.src
+++ b/cui/source/options/treeopt.src
@@ -119,7 +119,7 @@ ModalDialog RID_OFADLG_OPTIONS_TREE
{
< "This dialog is used to define general settings when working with %PRODUCTNAME. Enter your personal data, the defaults to be used when saving documents, and paths to important files. These settings will be saved automatically and used in later sessions as well."; SID_GENERAL_OPTIONS; > ;
< "This is where you make settings concerning language and writing aids for your work with %PRODUCTNAME."; SID_LANGUAGE_OPTIONS; > ;
- < "This is where you configure %PRODUCTNAME for the Internet. You can define search engines or save your proxy settings." ; SID_INET_DLG; > ;
+ < "This is where you configure %PRODUCTNAME for the Internet. You can save your proxy settings." ; SID_INET_DLG; > ;
< "This is where you specify various settings for text documents. These settings determine how your text documents are handled in %PRODUCTNAME and are valid for all new %PRODUCTNAME Writer documents. You can also define a few settings for the active text document if you save it afterwards." ; SID_SW_EDITOPTIONS; > ;
< "This is where you define the basic settings for %PRODUCTNAME documents in HTML format. For example, you decide which contents should be displayed on the screen or printed, how the pages are scrolled on the screen, in which color keywords are highlighted in the source text and much more." ; SID_SW_ONLINEOPTIONS; > ;
< "This is where you define various global settings for spreadsheets. For example, you can define which contents should be displayed and in which direction the cursor will move after you enter data in a cell. You also define sort lists, the number of the decimal places displayed, etc." ; SID_SC_EDITOPTIONS; > ;
@@ -184,7 +184,6 @@ Resource RID_OFADLG_OPTIONS_TREE_PAGES
{
< "Internet" ; 0; > ;
< "Proxy" ; RID_SVXPAGE_INET_PROXY; > ;
- < "Search" ; RID_SVXPAGE_INET_SEARCH; > ;
< "E-mail" ; RID_SVXPAGE_INET_MAIL; > ;
< "Browser Plug-in" ; RID_SVXPAGE_INET_MOZPLUGIN; > ;
};
diff --git a/cui/source/options/webconninfo.cxx b/cui/source/options/webconninfo.cxx
index 9f65bf463..3a5a90c8e 100644
--- a/cui/source/options/webconninfo.cxx
+++ b/cui/source/options/webconninfo.cxx
@@ -48,10 +48,9 @@ namespace svx
// class PasswordTable ---------------------------------------------------
-PasswordTable::PasswordTable( Window* pParent, const ResId& rResId ) :
- SvxSimpleTable( pParent, rResId )
+PasswordTable::PasswordTable(SvxSimpleTableContainer& rParent, WinBits nBits)
+ : SvxSimpleTable(rParent, nBits | WB_NOINITIALSELECTION)
{
- SetStyle( GetStyle() | WB_NOINITIALSELECTION );
}
void PasswordTable::InsertHeaderItem( sal_uInt16 nColumn, const String& rText, HeaderBarItemBits nBits )
@@ -97,7 +96,8 @@ void PasswordTable::Resort( bool bForced )
WebConnectionInfoDialog::WebConnectionInfoDialog( Window* pParent ) :
ModalDialog( pParent, CUI_RES( RID_SVXDLG_WEBCONNECTION_INFO ) )
,m_aNeverShownFI ( this, CUI_RES( FI_NEVERSHOWN ) )
- ,m_aPasswordsLB ( this, CUI_RES( LB_PASSWORDS ) )
+ ,m_aPasswordsLBContainer(this, CUI_RES( LB_PASSWORDS))
+ ,m_aPasswordsLB(m_aPasswordsLBContainer)
,m_aRemoveBtn ( this, CUI_RES( PB_REMOVE ) )
,m_aRemoveAllBtn ( this, CUI_RES( PB_REMOVEALL ) )
,m_aChangeBtn ( this, CUI_RES( PB_CHANGE ) )
diff --git a/cui/source/options/webconninfo.hxx b/cui/source/options/webconninfo.hxx
index 49778839f..bd8e04aee 100644
--- a/cui/source/options/webconninfo.hxx
+++ b/cui/source/options/webconninfo.hxx
@@ -42,7 +42,7 @@ namespace svx
class PasswordTable : public SvxSimpleTable
{
public:
- PasswordTable( Window* pParent, const ResId& rResId );
+ PasswordTable(SvxSimpleTableContainer& rParent, WinBits nBits = WB_BORDER);
void InsertHeaderItem( sal_uInt16 nColumn, const String& rText, HeaderBarItemBits nBits );
void ResetTabs();
@@ -56,6 +56,7 @@ namespace svx
{
private:
FixedInfo m_aNeverShownFI;
+ SvxSimpleTableContainer m_aPasswordsLBContainer;
PasswordTable m_aPasswordsLB;
PushButton m_aRemoveBtn;
PushButton m_aRemoveAllBtn;
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 6eefeae62..3383a0b27 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -428,7 +428,8 @@ enum OfaAutoFmtOptions
OfaSwAutoFmtOptionsPage::OfaSwAutoFmtOptionsPage( Window* pParent,
const SfxItemSet& rSet ) :
SfxTabPage(pParent, CUI_RES(RID_OFAPAGE_AUTOFMT_APPLY), rSet),
- aCheckLB (this, CUI_RES(CLB_SETTINGS)),
+ m_aCheckLBContainer(this, CUI_RES(CLB_SETTINGS)),
+ aCheckLB(m_aCheckLBContainer),
aEditPB (this, CUI_RES(PB_EDIT)),
aHeader1Expl (this, CUI_RES(FT_HEADER1_EXPLANATION)),
aHeader2Expl (this, CUI_RES(FT_HEADER2_EXPLANATION)),
@@ -1897,7 +1898,8 @@ SvLBoxEntry* OfaQuoteTabPage::CreateEntry(String& rTxt, sal_uInt16 nCol)
OfaQuoteTabPage::OfaQuoteTabPage( Window* pParent, const SfxItemSet& rSet ) :
SfxTabPage(pParent, CUI_RES( RID_OFAPAGE_AUTOCORR_QUOTE ), rSet),
aCheckLB (this, CUI_RES(CLB_SETTINGS )),
- aSwCheckLB (this, CUI_RES(CLB_SETTINGS )),
+ m_aSwCheckLBContainer(this, CUI_RES(CLB_SETTINGS)),
+ aSwCheckLB(m_aSwCheckLBContainer),
sHeader1 (CUI_RES( STR_HEADER1 )),
sHeader2 (CUI_RES( STR_HEADER2 )),
sNonBrkSpace (CUI_RES( ST_NON_BREAK_SPACE )),
diff --git a/cui/source/tabpages/autocdlg.src b/cui/source/tabpages/autocdlg.src
index e483e1ad4..3076af0e8 100644
--- a/cui/source/tabpages/autocdlg.src
+++ b/cui/source/tabpages/autocdlg.src
@@ -434,7 +434,6 @@ TabPage RID_OFAPAGE_AUTOCORR_EXCEPT
Pos = MAP_APPFONT ( 137 , 78 ) ;
Size = MAP_APPFONT ( 111 , 10 ) ;
Text [ en-US ] = "~AutoInclude";
- Text [ en-US ] = "~AutoInclude" ;
TabStop = TRUE ;
};
FixedLine FL_DOUBLECAPS
@@ -483,7 +482,6 @@ TabPage RID_OFAPAGE_AUTOCORR_EXCEPT
Pos = MAP_APPFONT ( 137 , 169 ) ;
Size = MAP_APPFONT ( 111 , 10 ) ;
Text [ en-US ] = "A~utoInclude";
- Text [ en-US ] = "A~utoInclude" ;
};
String STR_PB_NEWABBREV
{
diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 9e29eba8c..a13cb4958 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -88,21 +88,6 @@ static sal_uInt16 pRanges[] =
sal_Bool SvxBorderTabPage::bSync = sal_True;
-//------------------------------------------------------------------------
-
-#define RGBCOL(eColorName) (TpBorderRGBColor(eColorName))
-
-// LOKALE FUNKTION
-// Konvertiert in echte RGB-Farben, damit in den Listboxen
-// endlich mal richtig selektiert werden kann.
-
-Color TpBorderRGBColor( ColorData aColorData )
-{
- Color aRGBColor( aColorData );
-
- return( aRGBColor );
-}
-
// -----------------------------------------------------------------------
void lcl_SetDecimalDigitsTo1(MetricField& rField)
{
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 3bdb44528..daf8b6d6d 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -1553,9 +1553,9 @@ void SvxCharEffectsPage::Initialize()
if ( !pFrame ||
SFX_ITEM_DEFAULT > pFrame->GetBindings().QueryState( SID_ATTR_AUTO_COLOR_INVALID, pDummy ) )
{
- m_aUnderlineColorLB.InsertAutomaticEntry();
- m_aOverlineColorLB.InsertAutomaticEntry();
- m_aFontColorLB.InsertAutomaticEntry();
+ m_aUnderlineColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
+ m_aOverlineColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
+ m_aFontColorLB.InsertAutomaticEntryColor( Color( COL_AUTO ) );
}
}
for ( long i = 0; i < pColorTable->Count(); i++ )
diff --git a/cui/source/uno/services.cxx b/cui/source/uno/services.cxx
index cb67736a3..a63fd3c1e 100644
--- a/cui/source/uno/services.cxx
+++ b/cui/source/uno/services.cxx
@@ -57,10 +57,4 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( char const
return cppu::component_getFactoryHelper(implName, serviceManager, registryKey, entries);
}
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment ( const sal_Char ** ppEnvTypeName, uno_Environment ** )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/util/cui.map b/cui/util/cui.map
index f4c89f960..e0809cfbd 100644
--- a/cui/util/cui.map
+++ b/cui/util/cui.map
@@ -2,7 +2,6 @@ UDK_3_0_0 {
global:
CreateDialogFactory;
GetSpecialCharsForEdit;
- component_getImplementationEnvironment;
component_getFactory;
local:
*;
diff --git a/embedserv/prj/build.lst b/embedserv/prj/build.lst
index 189479e4b..a6cfd10ea 100644
--- a/embedserv/prj/build.lst
+++ b/embedserv/prj/build.lst
@@ -1,4 +1,4 @@
-es embedserv : offuh sal cppu cppuhelper comphelper LIBXSLT:libxslt NULL
+es embedserv : offapi sal cppu cppuhelper comphelper LIBXSLT:libxslt NULL
es embedserv usr1 - w es_mkout NULL
es embedserv\source\embed nmake - w es_embed NULL
es embedserv\source\inprocserv nmake - w es_inproc NULL
diff --git a/embedserv/source/embed/register.cxx b/embedserv/source/embed/register.cxx
index 018829514..841c9966f 100644
--- a/embedserv/source/embed/register.cxx
+++ b/embedserv/source/embed/register.cxx
@@ -67,11 +67,6 @@ uno::Sequence< ::rtl::OUString > SAL_CALL EmbedServer_getSupportedServiceNames()
extern "C" {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
void * pRet = 0;
diff --git a/embedserv/source/inc/embservconst.h b/embedserv/source/inc/embservconst.h
index ac4cdcf70..a952c56be 100644
--- a/embedserv/source/inc/embservconst.h
+++ b/embedserv/source/inc/embservconst.h
@@ -29,7 +29,7 @@
#ifndef _EMBSERVCONST_H_
#define _EMBSERVCONST_H_
-#include <initguid.h>
+#include <guiddef.h>
#ifndef _COMPHELPER_CLASSIDS_HXX
#include <comphelper/classids.hxx>
diff --git a/embedserv/util/exports.dxp b/embedserv/util/exports.dxp
index f0e1c6993..700330789 100755
--- a/embedserv/util/exports.dxp
+++ b/embedserv/util/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/prj/build.lst b/extensions/prj/build.lst
index 9e31422bc..fd883a262 100644
--- a/extensions/prj/build.lst
+++ b/extensions/prj/build.lst
@@ -1,4 +1,4 @@
-ex extensions : officecfg TRANSLATIONS:translations rdbmaker svx SANE:sane TWAIN:twain np_sdk offuh stoc ZLIB:zlib CURL:curl LIBXSLT:libxslt NULL
+ex extensions : officecfg TRANSLATIONS:translations DESKTOP:rdbmaker svx SANE:sane TWAIN:twain np_sdk offapi stoc ZLIB:zlib CURL:curl LIBXSLT:libxslt NULL
ex extensions usr1 - all ex_mkout NULL
ex extensions\inc nmake - all ex_inc NULL
@@ -25,14 +25,13 @@ ex extensions\source\abpilot nmake - all ex_abpilot ex_in
ex extensions\source\logging nmake - all ex_logging ex_inc NULL
ex extensions\source\oooimprovecore nmake - all ex_oooimprovecore ex_inc NULL
ex extensions\source\oooimprovement nmake - all ex_oooimprovement ex_inc NULL
-ex extensions\source\preload nmake - all ex_preload ex_inc NULL
ex extensions\source\config\ldap nmake - all ex_ldap ex_inc NULL
ex extensions\source\nsplugin\source nmake - u ex_nsplugin ex_inc NULL
ex extensions\source\nsplugin\source nmake - w ex_nsplugin ex_inc NULL
ex extensions\source\update\feed nmake - all ex_updchkfeed ex_inc NULL
ex extensions\source\update\check nmake - all ex_updchk ex_inc NULL
ex extensions\source\update\ui nmake - all ex_updchkui ex_inc NULL
-ex extensions\util nmake - all ex_util ex_preload ex_abpilot ex_dbpilots ex_logging ex_ldap ex_propctrlr ex_bib ex_plutil ex_oooimprovecore NULL
+ex extensions\util nmake - all ex_util ex_abpilot ex_dbpilots ex_logging ex_ldap ex_propctrlr ex_bib ex_plutil ex_oooimprovecore NULL
# Fails at the moment
# ex extensions\qa\complex\extensions nmake - all ex_complex ex_util NULL
diff --git a/extensions/prj/d.lst b/extensions/prj/d.lst
index 9d7b7de91..8f726eb87 100644
--- a/extensions/prj/d.lst
+++ b/extensions/prj/d.lst
@@ -49,7 +49,6 @@ mkdir: %_DEST%\xml\registry\spool\org\openoffice\Office\Logging
..\%__SRC%\misc\oooimprovement.component %_DEST%\xml\oooimprovement.component
..\%__SRC%\misc\pcr.component %_DEST%\xml\pcr.component
..\%__SRC%\misc\pl.component %_DEST%\xml\pl.component
-..\%__SRC%\misc\preload.component %_DEST%\xml\preload.component
..\%__SRC%\misc\res.component %_DEST%\xml\res.component
..\%__SRC%\misc\scn.component %_DEST%\xml\scn.component
..\%__SRC%\misc\updatefeed.component %_DEST%\xml\updatefeed.component
diff --git a/extensions/source/abpilot/abpservices.cxx b/extensions/source/abpilot/abpservices.cxx
index 8703dc8cb..d78593126 100644
--- a/extensions/source/abpilot/abpservices.cxx
+++ b/extensions/source/abpilot/abpservices.cxx
@@ -55,22 +55,13 @@ extern "C" void SAL_CALL abp_initializeModule()
}
//---------------------------------------------------------------------------------------
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **ppEnvTypeName,
- uno_Environment ** /*ppEnv*/
- )
-{
- abp_initializeModule();
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
void* /*pRegistryKey*/)
{
+ abp_initializeModule();
+
Reference< XInterface > xRet;
if (pServiceManager && pImplementationName)
{
diff --git a/extensions/source/abpilot/exports.dxp b/extensions/source/abpilot/exports.dxp
index f0e1c6993..700330789 100644
--- a/extensions/source/abpilot/exports.dxp
+++ b/extensions/source/abpilot/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx
index b9b972701..0a6921f0b 100644
--- a/extensions/source/bibliography/bibload.cxx
+++ b/extensions/source/bibliography/bibload.cxx
@@ -216,12 +216,6 @@ Sequence< rtl::OUString > BibliographyLoader::getSupportedServiceNames_Static(vo
extern "C"
{
- SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
- {
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
- }
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, XMultiServiceFactory * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/extensions/source/config/ldap/componentdef.cxx b/extensions/source/config/ldap/componentdef.cxx
index f8c2db055..6d38e2090 100644
--- a/extensions/source/config/ldap/componentdef.cxx
+++ b/extensions/source/config/ldap/componentdef.cxx
@@ -56,13 +56,6 @@ static const cppu::ImplementationEntry kImplementations_entries[] =
} ;
//------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **aEnvTypeName,
- uno_Environment** /*aEnvironment*/) {
- *aEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-//------------------------------------------------------------------------------
-
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(const sal_Char *aImplementationName,
void *aServiceManager,
void *aRegistryKey) {
diff --git a/extensions/source/config/ldap/exports.dxp b/extensions/source/config/ldap/exports.dxp
index f0e1c6993..700330789 100644
--- a/extensions/source/config/ldap/exports.dxp
+++ b/extensions/source/config/ldap/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/source/dbpilots/dbpservices.cxx b/extensions/source/dbpilots/dbpservices.cxx
index 0600af0fe..f158fdac3 100644
--- a/extensions/source/dbpilots/dbpservices.cxx
+++ b/extensions/source/dbpilots/dbpservices.cxx
@@ -59,22 +59,13 @@ extern "C" void SAL_CALL dbp_initializeModule()
}
//---------------------------------------------------------------------------------------
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **ppEnvTypeName,
- uno_Environment ** /*ppEnv*/
- )
-{
- dbp_initializeModule();
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
void* /*pRegistryKey*/)
{
+ dbp_initializeModule();
+
Reference< XInterface > xRet;
if (pServiceManager && pImplementationName)
{
diff --git a/extensions/source/logging/log_module.cxx b/extensions/source/logging/log_module.cxx
index 5cdf5e737..8fbdb094a 100644
--- a/extensions/source/logging/log_module.cxx
+++ b/extensions/source/logging/log_module.cxx
@@ -36,7 +36,24 @@ namespace logging
{
//........................................................................
- IMPLEMENT_COMPONENT_MODULE( LogModule );
+ struct LogModuleCreator
+ {
+ LogModule m_aLogModule;
+ };
+ namespace
+ {
+ class theLogModuleInstance : public rtl::Static<LogModuleCreator, theLogModuleInstance> {};
+ }
+
+ LogModule::LogModule()
+ :BaseClass()
+ {
+ }
+
+ LogModule& LogModule::getInstance()
+ {
+ return theLogModuleInstance::get().m_aLogModule;
+ }
//........................................................................
} // namespace logging
diff --git a/extensions/source/logging/log_module.hxx b/extensions/source/logging/log_module.hxx
index dbc06816c..7f825dabf 100644
--- a/extensions/source/logging/log_module.hxx
+++ b/extensions/source/logging/log_module.hxx
@@ -36,7 +36,55 @@ namespace logging
{
//........................................................................
- DECLARE_COMPONENT_MODULE( LogModule, LogModuleClient )
+ class LogModule : public ::comphelper::OModule
+ {
+ friend struct LogModuleCreator;
+ typedef ::comphelper::OModule BaseClass;
+
+ public:
+ static LogModule& getInstance();
+
+ private:
+ LogModule();
+ };
+
+ /* -------------------------------------------------------------------- */
+ class LogModuleClient : public ::comphelper::OModuleClient
+ {
+ private:
+ typedef ::comphelper::OModuleClient BaseClass;
+
+ public:
+ LogModuleClient() : BaseClass( LogModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OAutoRegistration : public ::comphelper::OAutoRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OAutoRegistration< TYPE > BaseClass;
+
+ public:
+ OAutoRegistration() : BaseClass( LogModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OSingletonRegistration : public ::comphelper::OSingletonRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OSingletonRegistration< TYPE > BaseClass;
+
+ public:
+ OSingletonRegistration() : BaseClass( LogModule::getInstance() )
+ {
+ }
+ };
//........................................................................
} // namespace logging
diff --git a/extensions/source/logging/log_services.cxx b/extensions/source/logging/log_services.cxx
index 224febd0d..f568f634b 100644
--- a/extensions/source/logging/log_services.cxx
+++ b/extensions/source/logging/log_services.cxx
@@ -59,6 +59,11 @@ namespace logging
} // namespace logging
//........................................................................
-IMPLEMENT_COMPONENT_LIBRARY_API( ::logging::LogModule, ::logging::initializeModule )
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
+ const sal_Char* pImplementationName, void* pServiceManager, void* pRegistryKey )
+{
+ ::logging::initializeModule();
+ return ::logging::LogModule::getInstance().getComponentFactory( pImplementationName, pServiceManager, pRegistryKey );
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/nsplugin/source/nsplugin.rc b/extensions/source/nsplugin/source/nsplugin.rc
index 7d4b60b5b..ee7107a43 100644
--- a/extensions/source/nsplugin/source/nsplugin.rc
+++ b/extensions/source/nsplugin/source/nsplugin.rc
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#define ADDITIONAL_VERINFO1 value "FileExtents", "sdc|sds|sda|sdd|sdp|smf|vor|sgl|sdw|sxc|stc|sxd|std|sxi|sti|sxm|sxw|sxg|stw|odt|ott|odm|oth|ods|ots|odg|otg|odp|otp|odf\0"\
- value "FileOpenName", "StarCalc 3.0 - 5.0|StarChart 3.0 - 5.0|StarDraw 3.0 - 5.0|StarImpress 3.0 - 5.0|StarImpress-packed 3.0 - 5.0|StarMath 3.0 - 5.0|StarWriter Template 3.0 - 5.0|StarWriter Global 3.0 - 5.0|StarWriter 3.0 - 5.0|StarOffice 6.0/7 Spreadsheet|StarOffice 6.0/7 Spreadsheet Template|StarOffice 6.0/7 Drawing|StarOffice 6.0/7 Drawing Template|StarOffice 6.0/7 Presentation|StarOffice 6.0/7 Presentation Template|StarOffice 6.0/7 Formula|StarOffice 6.0/7 Text Document|StarOffice 6.0/7 Master Document|StarOffice 6.0/7 Text Document Template|OpenDocument Text|OpenDocument Text Template|OpenDocument Master Document|HTML Document Template|OpenDocument Spreadsheet|OpenDocument Spreadsheet Template|OpenDocument Drawing|OpenDocument Drawing Template|OpenDocument Presentation|OpenDocument Presentation Template|OpenDocument Formula\0"
-#define ADDITIONAL_VERINFO2 value "FileDescription", "Oracle Open Office Plug-in handles all its documents" value "ProductName", "Oracle Open Office Plug-in" value "MIMEType", "application/vnd.stardivision.calc|application/vnd.stardivision.chart|application/vnd.stardivision.draw|application/vnd.stardivision.impress|application/vnd.stardivision.impress-packed|application/vnd.stardivision.math|application/vnd.stardivision.writer|application/vnd.stardivision.writer-global|application/vnd.staroffice.writer|application/vnd.sun.xml.calc|application/vnd.sun.xml.calc.template|application/vnd.sun.xml.draw|application/vnd.sun.xml.draw.template|"
+#define ADDITIONAL_VERINFO1 VALUE "FileExtents", "sdc|sds|sda|sdd|sdp|smf|vor|sgl|sdw|sxc|stc|sxd|std|sxi|sti|sxm|sxw|sxg|stw|odt|ott|odm|oth|ods|ots|odg|otg|odp|otp|odf\0"\
+ VALUE "FileOpenName", "StarCalc 3.0 - 5.0|StarChart 3.0 - 5.0|StarDraw 3.0 - 5.0|StarImpress 3.0 - 5.0|StarImpress-packed 3.0 - 5.0|StarMath 3.0 - 5.0|StarWriter Template 3.0 - 5.0|StarWriter Global 3.0 - 5.0|StarWriter 3.0 - 5.0|StarOffice 6.0/7 Spreadsheet|StarOffice 6.0/7 Spreadsheet Template|StarOffice 6.0/7 Drawing|StarOffice 6.0/7 Drawing Template|StarOffice 6.0/7 Presentation|StarOffice 6.0/7 Presentation Template|StarOffice 6.0/7 Formula|StarOffice 6.0/7 Text Document|StarOffice 6.0/7 Master Document|StarOffice 6.0/7 Text Document Template|OpenDocument Text|OpenDocument Text Template|OpenDocument Master Document|HTML Document Template|OpenDocument Spreadsheet|OpenDocument Spreadsheet Template|OpenDocument Drawing|OpenDocument Drawing Template|OpenDocument Presentation|OpenDocument Presentation Template|OpenDocument Formula\0"
+#define ADDITIONAL_VERINFO2 VALUE "FileDescription", "Oracle Open Office Plug-in handles all its documents" VALUE "ProductName", "Oracle Open Office Plug-in" VALUE "MIMEType", "application/vnd.stardivision.calc|application/vnd.stardivision.chart|application/vnd.stardivision.draw|application/vnd.stardivision.impress|application/vnd.stardivision.impress-packed|application/vnd.stardivision.math|application/vnd.stardivision.writer|application/vnd.stardivision.writer-global|application/vnd.staroffice.writer|application/vnd.sun.xml.calc|application/vnd.sun.xml.calc.template|application/vnd.sun.xml.draw|application/vnd.sun.xml.draw.template|
#define ADDITIONAL_VERINFO3 "application/vnd.sun.xml.impress|application/vnd.sun.xml.impress.template|application/vnd.sun.xml.math|application/vnd.sun.xml.writer|application/vnd.sun.xml.writer.global|application/vnd.sun.xml.writer.template|application/vnd.oasis.opendocument.text|application/vnd.oasis.opendocument.text-template|application/vnd.oasis.opendocument.text-master|application/vnd.oasis.opendocument.text-web|application/vnd.oasis.opendocument.spreadsheet|application/vnd.oasis.opendocument.spreadsheet-template|application/vnd.oasis.opendocument.graphics|application/vnd.oasis.opendocument.graphics-template|application/vnd.oasis.opendocument.presentation|application/vnd.oasis.opendocument.presentation-template|application/vnd.oasis.opendocument.formula\0"
diff --git a/extensions/source/nsplugin/source/nsplugin_oo.rc b/extensions/source/nsplugin/source/nsplugin_oo.rc
index 9d30de391..1fc8285c6 100644
--- a/extensions/source/nsplugin/source/nsplugin_oo.rc
+++ b/extensions/source/nsplugin/source/nsplugin_oo.rc
@@ -24,7 +24,7 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#define ADDITIONAL_VERINFO1 value "FileExtents", "sdc|sds|sda|sdd|sdp|smf|vor|sgl|sdw|sxc|stc|sxd|std|sxi|sti|sxm|sxw|sxg|stw|odt|ott|odm|oth|ods|ots|odg|otg|odp|otp|odf\0"\
- value "FileOpenName", "StarCalc 3.0 - 5.0|StarChart 3.0 - 5.0|StarDraw 3.0 - 5.0|StarImpress 3.0 - 5.0|StarImpress-packed 3.0 - 5.0|StarMath 3.0 - 5.0|StarWriter Template 3.0 - 5.0|StarWriter Global 3.0 - 5.0|StarWriter 3.0 - 5.0|StarOffice 6.0/7 Spreadsheet|StarOffice 6.0/7 Spreadsheet Template|StarOffice 6.0/7 Drawing|StarOffice 6.0/7 Drawing Template|StarOffice 6.0/7 Presentation|StarOffice 6.0/7 Presentation Template|StarOffice 6.0/7 Formula|StarOffice 6.0/7 Text Document|StarOffice 6.0/7 Master Document|StarOffice 6.0/7 Text Document Template|OpenDocument Text|OpenDocument Text Template|OpenDocument Master Document|HTML Document Template|OpenDocument Spreadsheet|OpenDocument Spreadsheet Template|OpenDocument Drawing|OpenDocument Drawing Template|OpenDocument Presentation|OpenDocument Presentation Template|OpenDocument Formula\0"
-#define ADDITIONAL_VERINFO2 value "FileDescription", "LibreOffice Plug-in handles all its documents" value "ProductName", "LibreOffice Plug-in" value "MIMEType", "application/vnd.stardivision.calc|application/vnd.stardivision.chart|application/vnd.stardivision.draw|application/vnd.stardivision.impress|application/vnd.stardivision.impress-packed|application/vnd.stardivision.math|application/vnd.stardivision.writer|application/vnd.stardivision.writer-global|application/vnd.staroffice.writer|application/vnd.sun.xml.calc|application/vnd.sun.xml.calc.template|application/vnd.sun.xml.draw|application/vnd.sun.xml.draw.template|"
+#define ADDITIONAL_VERINFO1 VALUE "FileExtents", "sdc|sds|sda|sdd|sdp|smf|vor|sgl|sdw|sxc|stc|sxd|std|sxi|sti|sxm|sxw|sxg|stw|odt|ott|odm|oth|ods|ots|odg|otg|odp|otp|odf\0"\
+ VALUE "FileOpenName", "StarCalc 3.0 - 5.0|StarChart 3.0 - 5.0|StarDraw 3.0 - 5.0|StarImpress 3.0 - 5.0|StarImpress-packed 3.0 - 5.0|StarMath 3.0 - 5.0|StarWriter Template 3.0 - 5.0|StarWriter Global 3.0 - 5.0|StarWriter 3.0 - 5.0|StarOffice 6.0/7 Spreadsheet|StarOffice 6.0/7 Spreadsheet Template|StarOffice 6.0/7 Drawing|StarOffice 6.0/7 Drawing Template|StarOffice 6.0/7 Presentation|StarOffice 6.0/7 Presentation Template|StarOffice 6.0/7 Formula|StarOffice 6.0/7 Text Document|StarOffice 6.0/7 Master Document|StarOffice 6.0/7 Text Document Template|OpenDocument Text|OpenDocument Text Template|OpenDocument Master Document|HTML Document Template|OpenDocument Spreadsheet|OpenDocument Spreadsheet Template|OpenDocument Drawing|OpenDocument Drawing Template|OpenDocument Presentation|OpenDocument Presentation Template|OpenDocument Formula\0"
+#define ADDITIONAL_VERINFO2 VALUE "FileDescription", "LibreOffice Plug-in handles all its documents" VALUE "ProductName", "LibreOffice Plug-in" VALUE "MIMEType", "application/vnd.stardivision.calc|application/vnd.stardivision.chart|application/vnd.stardivision.draw|application/vnd.stardivision.impress|application/vnd.stardivision.impress-packed|application/vnd.stardivision.math|application/vnd.stardivision.writer|application/vnd.stardivision.writer-global|application/vnd.staroffice.writer|application/vnd.sun.xml.calc|application/vnd.sun.xml.calc.template|application/vnd.sun.xml.draw|application/vnd.sun.xml.draw.template|"
#define ADDITIONAL_VERINFO3 "application/vnd.sun.xml.impress|application/vnd.sun.xml.impress.template|application/vnd.sun.xml.math|application/vnd.sun.xml.writer|application/vnd.sun.xml.writer.global|application/vnd.sun.xml.writer.template|application/vnd.oasis.opendocument.text|application/vnd.oasis.opendocument.text-template|application/vnd.oasis.opendocument.text-master|application/vnd.oasis.opendocument.text-web|application/vnd.oasis.opendocument.spreadsheet|application/vnd.oasis.opendocument.spreadsheet-template|application/vnd.oasis.opendocument.graphics|application/vnd.oasis.opendocument.graphics-template|application/vnd.oasis.opendocument.presentation|application/vnd.oasis.opendocument.presentation-template|application/vnd.oasis.opendocument.formula\0"
diff --git a/extensions/source/ole/oleautobridge.uno.dxp b/extensions/source/ole/oleautobridge.uno.dxp
index 1f26fd019..843ff2fc3 100644
--- a/extensions/source/ole/oleautobridge.uno.dxp
+++ b/extensions/source/ole/oleautobridge.uno.dxp
@@ -1,3 +1,2 @@
component_getFactory @101
-component_getImplementationEnvironment @102
component_canUnload @103
diff --git a/extensions/source/ole/servreg.cxx b/extensions/source/ole/servreg.cxx
index 06a4757fd..5e49c5da8 100644
--- a/extensions/source/ole/servreg.cxx
+++ b/extensions/source/ole/servreg.cxx
@@ -120,14 +120,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
return pRet;
}
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-
extern "C" sal_Bool component_canUnload( TimeValue* libUnused)
{
return globalModuleCount.canUnload( &globalModuleCount, libUnused);
diff --git a/extensions/source/oooimprovecore/core.cxx b/extensions/source/oooimprovecore/core.cxx
index ac8363b56..1836e4dc2 100644
--- a/extensions/source/oooimprovecore/core.cxx
+++ b/extensions/source/oooimprovecore/core.cxx
@@ -36,7 +36,6 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/oooimprovement/XCoreController.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
-#include <comphelper/componentmodule.hxx>
#include <comphelper/configurationhelper.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/uieventslogger.hxx>
diff --git a/extensions/source/oooimprovecore/oooimprovecore_module.cxx b/extensions/source/oooimprovecore/oooimprovecore_module.cxx
index c686bee94..6457da10d 100644
--- a/extensions/source/oooimprovecore/oooimprovecore_module.cxx
+++ b/extensions/source/oooimprovecore/oooimprovecore_module.cxx
@@ -33,7 +33,24 @@
namespace oooimprovecore
{
- IMPLEMENT_COMPONENT_MODULE( OooimprovecoreModule );
+ struct OooimprovecoreModuleCreator
+ {
+ OooimprovecoreModule m_aOooimprovecoreModule;
+ };
+ namespace
+ {
+ class theOooimprovecoreModuleInstance : public rtl::Static<OooimprovecoreModuleCreator, theOooimprovecoreModuleInstance> {};
+ }
+
+ OooimprovecoreModule::OooimprovecoreModule()
+ :BaseClass()
+ {
+ }
+
+ OooimprovecoreModule& OooimprovecoreModule::getInstance()
+ {
+ return theOooimprovecoreModuleInstance::get().m_aOooimprovecoreModule;
+ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/oooimprovecore/oooimprovecore_module.hxx b/extensions/source/oooimprovecore/oooimprovecore_module.hxx
index 3cf4d7155..aeb1ff0ed 100644
--- a/extensions/source/oooimprovecore/oooimprovecore_module.hxx
+++ b/extensions/source/oooimprovecore/oooimprovecore_module.hxx
@@ -33,7 +33,56 @@
namespace oooimprovecore
{
- DECLARE_COMPONENT_MODULE( OooimprovecoreModule, OooimprovecoreModuleClient )
+ /* -------------------------------------------------------------------- */
+ class OooimprovecoreModule : public ::comphelper::OModule
+ {
+ friend struct OooimprovecoreModuleCreator;
+ typedef ::comphelper::OModule BaseClass;
+
+ public:
+ static OooimprovecoreModule& getInstance();
+
+ private:
+ OooimprovecoreModule();
+ };
+
+ /* -------------------------------------------------------------------- */
+ class OooimprovecoreModuleClient : public ::comphelper::OModuleClient
+ {
+ private:
+ typedef ::comphelper::OModuleClient BaseClass;
+
+ public:
+ OooimprovecoreModuleClient() : BaseClass( OooimprovecoreModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OAutoRegistration : public ::comphelper::OAutoRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OAutoRegistration< TYPE > BaseClass;
+
+ public:
+ OAutoRegistration() : BaseClass( OooimprovecoreModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OSingletonRegistration : public ::comphelper::OSingletonRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OSingletonRegistration< TYPE > BaseClass;
+
+ public:
+ OSingletonRegistration() : BaseClass( OooimprovecoreModule::getInstance() )
+ {
+ }
+ };
}
#endif
diff --git a/extensions/source/oooimprovecore/oooimprovecore_services.cxx b/extensions/source/oooimprovecore/oooimprovecore_services.cxx
index dbfdd4ea9..d0800869f 100644
--- a/extensions/source/oooimprovecore/oooimprovecore_services.cxx
+++ b/extensions/source/oooimprovecore/oooimprovecore_services.cxx
@@ -43,6 +43,11 @@ namespace oooimprovecore
}
-IMPLEMENT_COMPONENT_LIBRARY_API( ::oooimprovecore::OooimprovecoreModule, ::oooimprovecore::initializeModule)
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
+ const sal_Char* pImplementationName, void* pServiceManager, void* pRegistryKey )
+{
+ ::oooimprovecore::initializeModule();
+ return ::oooimprovecore::OooimprovecoreModule::getInstance().getComponentFactory( pImplementationName, pServiceManager, pRegistryKey );
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/oooimprovement/oooimprovement_exports.cxx b/extensions/source/oooimprovement/oooimprovement_exports.cxx
index d7c3a7bf1..c33157926 100644
--- a/extensions/source/oooimprovement/oooimprovement_exports.cxx
+++ b/extensions/source/oooimprovement/oooimprovement_exports.cxx
@@ -63,9 +63,6 @@ namespace
extern "C"
{
- SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const sal_Char** env_type_name, uno_Environment**)
- { *env_type_name = CPPU_CURRENT_LANGUAGE_BINDING_NAME; }
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* pImplName, void* pServiceManager, void*)
{
if ( !pServiceManager || !pImplName ) return 0;
diff --git a/extensions/source/plugin/base/service.cxx b/extensions/source/plugin/base/service.cxx
index e2de74853..5ecb800d4 100644
--- a/extensions/source/plugin/base/service.cxx
+++ b/extensions/source/plugin/base/service.cxx
@@ -58,13 +58,6 @@
using namespace cppu;
extern "C" {
- SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char** ppEnvTypeName,
- uno_Environment** /*ppEnv*/ )
- {
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
- }
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pXUnoSMgr,
diff --git a/extensions/source/preload/makefile.mk b/extensions/source/preload/makefile.mk
deleted file mode 100644
index 8bd622661..000000000
--- a/extensions/source/preload/makefile.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-PRJINC=..$/inc
-
-PRJNAME=extensions
-TARGET=preload
-ENABLE_EXCEPTIONS=TRUE
-VISIBILITY_HIDDEN=TRUE
-USE_DEFFILE=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- defines ------------------------------------------------------
-
-CDEFS+=-DCOMPMOD_NAMESPACE=preload
-CDEFS+=-DCOMPMOD_RESPREFIX=preload
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= $(SLO)$/services.obj\
- $(SLO)$/modulepreload.obj\
- $(SLO)$/preloadservices.obj\
- $(SLO)$/oemwiz.obj
-
-SRS1NAME=$(TARGET)
-SRC1FILES= preload.src
-
-RESLIB1NAME=preload
-RESLIB1IMAGES=$(PRJ)$/res
-RESLIB1SRSFILES= $(SRS)$/preload.srs
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-
-SHL1STDLIBS= \
- $(SFXLIB) \
- $(SVTOOLLIB)\
- $(VCLLIB) \
- $(SVLLIB) \
- $(TOOLSLIB) \
- $(UNOTOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-
-SHL1LIBS= $(SLB)$/$(TARGET).lib
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-
-
-ALLTAR : $(MISC)/preload.component
-
-$(MISC)/preload.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- preload.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt preload.component
diff --git a/extensions/source/preload/modulepreload.cxx b/extensions/source/preload/modulepreload.cxx
deleted file mode 100644
index ead975319..000000000
--- a/extensions/source/preload/modulepreload.cxx
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-
-#include "componentmodule.cxx"
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/oemwiz.cxx b/extensions/source/preload/oemwiz.cxx
deleted file mode 100644
index a41acf0f5..000000000
--- a/extensions/source/preload/oemwiz.cxx
+++ /dev/null
@@ -1,445 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-#include "oemwiz.hxx"
-#include "componentmodule.hxx"
-#include <tools/debug.hxx>
-#include <sfx2/docfile.hxx>
-#include <svl/itemset.hxx>
-#include <svl/itempool.hxx>
-#include <vcl/msgbox.hxx>
-#include <unotools/pathoptions.hxx>
-#include "preload.hrc"
-#include <svx/svxids.hrc>
-#include <sfx2/app.hxx>
-#include <svtools/xtextedt.hxx>
-#include "osl/diagnose.h"
-#include "tools/urlobj.hxx"
-
-#include <sfx2/sfxdlg.hxx>
-#include <sfx2/tabdlg.hxx>
-#include <svx/dialogs.hrc>
-
-//.........................................................................
-namespace preload
-{
-//.........................................................................
-
- using namespace ::com::sun::star::uno;
- using namespace ::com::sun::star::lang;
- using namespace ::com::sun::star::beans;
-//.........................................................................
-
- struct OEMPreloadDialog_Impl
- {
- SfxItemSet* pSet;
- TabPage* pWelcomePage;
- TabPage* pLicensePage;
- TabPage* pUserDataPage;
-
- OEMPreloadDialog_Impl(OEMPreloadDialog* pDialog);
- ~OEMPreloadDialog_Impl()
- {
- delete pWelcomePage;
- delete pLicensePage;
- delete pUserDataPage;
- delete pSet;
- }
- void WriteUserData();
- };
-
- OEMPreloadDialog_Impl::OEMPreloadDialog_Impl(OEMPreloadDialog* pDialog)
- {
- SfxItemPool& rPool = SFX_APP()->GetPool();
- pSet = new SfxItemSet(rPool, SID_FIELD_GRABFOCUS, SID_FIELD_GRABFOCUS);
- SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create();
- if ( pFact )
- {
- CreateTabPage pFunc = pFact->GetTabPageCreatorFunc(RID_SFXPAGE_GENERAL);
- pUserDataPage = (*pFunc)(pDialog, *pSet);
- ((SfxTabPage*)pUserDataPage)->Reset(*pSet);
- }
- else
- pUserDataPage = NULL;
- pWelcomePage = new OEMWelcomeTabPage(pDialog);
- pLicensePage = new OEMLicenseTabPage(pDialog);
- }
-
- void OEMPreloadDialog_Impl::WriteUserData()
- {
- if ( pUserDataPage )
- ((SfxTabPage*)pUserDataPage)->FillItemSet(*pSet);
- }
-
- //=====================================================================
- //= OEMPreloadDialog
- //=====================================================================
- //---------------------------------------------------------------------
- OEMPreloadDialog::OEMPreloadDialog( Window* _pParent,
- const Reference< XPropertySet >& /*_rxObjectModel*/, const Reference< XMultiServiceFactory >& /*_rxORB*/ )
- :WizardDialog(_pParent, ModuleRes(RID_DLG_OEMWIZARD)/*, _rxObjectModel, _rxORB*/)
- ,aPrevPB(this, ModuleRes(PB_PREV ))
- ,aNextPB(this, ModuleRes(PB_NEXT ))
- ,aCancelPB(this, ModuleRes(PB_CANCEL ))
- ,aAcceptST(ModuleRes(ST_ACCEPT))
- ,aFinishST(ModuleRes(ST_FINISH))
- ,aLicense(ModuleRes(ST_LICENSE_AGREEMENT))
- ,aUserData(ModuleRes(ST_INSERT_USER_DATA))
- ,pImpl(new OEMPreloadDialog_Impl(this))
- {
- FreeResource();
- aDlgTitle = GetText();
- aPrevPB.Enable(sal_False);
- aNextST = aNextPB.GetText();
- aPrevPB.SetClickHdl(LINK(this, OEMPreloadDialog, NextPrevPageHdl));
- aNextPB.SetClickHdl(LINK(this, OEMPreloadDialog, NextPrevPageHdl));
- AddButton( &aPrevPB, WIZARDDIALOG_BUTTON_STDOFFSET_X );
- AddButton( &aNextPB, WIZARDDIALOG_BUTTON_STDOFFSET_X );
- AddButton( &aCancelPB, WIZARDDIALOG_BUTTON_STDOFFSET_X );
-
- SetPrevButton(&aPrevPB);
- SetNextButton(&aNextPB);
-
- AddPage( pImpl->pWelcomePage );
- AddPage( pImpl->pLicensePage );
- if ( pImpl->pUserDataPage )
- AddPage( pImpl->pUserDataPage );
- SetPage( OEM_WELCOME, pImpl->pWelcomePage );
- SetPage( OEM_LICENSE, pImpl->pLicensePage );
- if ( pImpl->pUserDataPage )
- SetPage( OEM_USERDATA, pImpl->pUserDataPage );
- ShowPage( OEM_WELCOME );
- }
-
- OEMPreloadDialog::~OEMPreloadDialog( )
- {
- delete pImpl;
- }
-
- IMPL_LINK(OEMPreloadDialog, NextPrevPageHdl, PushButton*, pButton)
- {
- if(pButton == &aPrevPB)
- {
- if(GetCurLevel())
- ShowPage(GetCurLevel() - 1);
- }
- else if(OEM_USERDATA > GetCurLevel())
- ShowPage(GetCurLevel() + 1);
- else
- {
- pImpl->WriteUserData();
- Finnish(RET_OK);
- }
-
- String sTitle(aDlgTitle);
-
- switch(GetCurLevel())
- {
- case OEM_WELCOME:
- aNextPB.SetText(aNextST);
- aNextPB.Enable(sal_True);
- break;
- case OEM_LICENSE:
- sTitle += aLicense;
- aNextPB.SetText(aNextST);
- aCancelPB.GrabFocus();
- break;
- case OEM_USERDATA:
- sTitle += aUserData;
- aNextPB.SetText(aFinishST);
- break;
- }
- SetText(sTitle);
- aPrevPB.Enable(GetCurLevel() != OEM_WELCOME);
- return 0;
- }
-
- sal_Bool OEMPreloadDialog::LoadFromLocalFile(const String& rFileName, String& rContent)
- {
- SvtPathOptions aPathOpt;
- String sFileName = aPathOpt.GetUserConfigPath();//GetModulePath();
- INetURLObject aURLObject(sFileName);
- OSL_ASSERT(aURLObject.getSegmentCount() >= 2);
- aURLObject.removeSegment(); //remove '/config'
- aURLObject.removeSegment(); //remove '/user'
- sFileName = aURLObject.GetMainURL(INetURLObject::DECODE_TO_IURI);
- sFileName += rFileName;
-
- SfxMedium aMedium( sFileName,STREAM_READ, sal_True );
- SvStream* pInStream = aMedium.GetInStream();
- if( !pInStream )
- return sal_False;
-
- pInStream->ReadCString( rContent, RTL_TEXTENCODING_UTF8 );
-
- xub_StrLen nPos;
- while ( ( nPos = rContent.Search( 12 )) != STRING_NOTFOUND )
- rContent.Erase( nPos, 1 );
- return sal_True;
- }
-
-
- void OEMPreloadDialog::SetCancelString( const String& rText )
- {
- aCancelPB.SetText(rText);
- }
-
- OEMWelcomeTabPage::OEMWelcomeTabPage(Window* pParent) :
- TabPage(pParent, ModuleRes(RID_TP_WELCOME)),
- aInfoFT(this, ModuleRes(FT_INFO))
- {
- FreeResource();
- }
-
- OEMWelcomeTabPage::~OEMWelcomeTabPage()
- {
- }
-
- OEMLicenseTabPage::OEMLicenseTabPage(OEMPreloadDialog* pParent) :
- TabPage(pParent, ModuleRes(RID_TP_LICENSE)),
- aLicenseML(this, ModuleRes(ML_LICENSE)),
- aInfo1FT(this, ModuleRes(FT_INFO1)),
- aInfo2FT(this, ModuleRes(FT_INFO2)),
- aInfo3FT(this, ModuleRes(FT_INFO3)),
- aInfo2_1FT(this, ModuleRes(FT_INFO2_1)),
- aInfo3_1FT(this, ModuleRes(FT_INFO3_1)),
- aCBAccept(this, ModuleRes(CB_ACCEPT)),
- aPBPageDown(this, ModuleRes(PB_PAGEDOWN)),
- aArrow(this, ModuleRes(IMG_ARROW)),
- aStrAccept( ModuleRes(LICENCE_ACCEPT) ),
- aStrNotAccept( ModuleRes(LICENCE_NOTACCEPT) ),
- bEndReached(sal_False),
- pPreloadDialog(pParent)
- {
- FreeResource();
-
- aLicenseML.SetEndReachedHdl( LINK(this, OEMLicenseTabPage, EndReachedHdl) );
- aLicenseML.SetScrolledHdl( LINK(this, OEMLicenseTabPage, ScrolledHdl) );
-
- aPBPageDown.SetClickHdl( LINK(this, OEMLicenseTabPage, PageDownHdl) );
- aCBAccept.SetClickHdl( LINK(this, OEMLicenseTabPage, AcceptHdl) );
-
- // We want a automatic repeating page down button
- WinBits aStyle = aPBPageDown.GetStyle();
- aStyle |= WB_REPEAT;
- aPBPageDown.SetStyle( aStyle );
-
- aOldCancelText = pPreloadDialog->GetCancelString();
- pPreloadDialog->SetCancelString( aStrNotAccept );
-
- String aText = aInfo2FT.GetText();
- aText.SearchAndReplaceAll( UniString::CreateFromAscii("%PAGEDOWN"), aPBPageDown.GetText() );
- aInfo2FT.SetText( aText );
- }
-
- OEMLicenseTabPage::~OEMLicenseTabPage()
- {
- }
-
- void OEMLicenseTabPage::ActivatePage()
- {
- if(!aLicenseML.GetText().Len())
- {
- aLicenseML.SetLeftMargin( 5 );
- String sLicense;
-#ifdef UNX
- OEMPreloadDialog::LoadFromLocalFile(String::CreateFromAscii("LICENSE"), sLicense);
-#else
- OEMPreloadDialog::LoadFromLocalFile(String::CreateFromAscii("license.txt"), sLicense);
-#endif
- aLicenseML.SetText( sLicense );
- }
-
- EnableControls();
- }
-
- //------------------------------------------------------------------------
- IMPL_LINK( OEMLicenseTabPage, AcceptHdl, CheckBox *, EMPTYARG )
- {
- EnableControls();
- return 0;
- }
-
- //------------------------------------------------------------------------
- IMPL_LINK( OEMLicenseTabPage, PageDownHdl, PushButton *, EMPTYARG )
- {
- aLicenseML.ScrollDown( SCROLL_PAGEDOWN );
- return 0;
- }
-
- //------------------------------------------------------------------------
- IMPL_LINK( OEMLicenseTabPage, EndReachedHdl, LicenceView *, EMPTYARG )
- {
- bEndReached = sal_True;
-
- EnableControls();
- aCBAccept.GrabFocus();
-
- return 0;
- }
-
- //------------------------------------------------------------------------
- IMPL_LINK( OEMLicenseTabPage, ScrolledHdl, LicenceView *, EMPTYARG )
- {
- EnableControls();
-
- return 0;
- }
-
- //------------------------------------------------------------------------
- void OEMLicenseTabPage::EnableControls()
- {
- if( !bEndReached &&
- ( aLicenseML.IsEndReached() || !aLicenseML.GetText().Len() ) )
- bEndReached = sal_True;
-
- if ( bEndReached )
- {
- Point aPos( 0, aInfo3_1FT.GetPosPixel().Y() );
- aArrow.SetPosPixel( aPos );
- aCBAccept.Enable();
- }
- else
- {
- Point aPos( 0, aInfo2_1FT.GetPosPixel().Y() );
- aArrow.SetPosPixel( aPos );
- aCBAccept.Disable();
- }
-
- if ( aLicenseML.IsEndReached() )
- aPBPageDown.Disable();
- else
- aPBPageDown.Enable();
-
- if ( aCBAccept.IsChecked() )
- {
- PushButton *pNext = pPreloadDialog->GetNextButton();
- if ( ! pNext->IsEnabled() )
- {
- pPreloadDialog->SetCancelString( aOldCancelText );
- pNext->Enable(sal_True);
- }
- }
- else
- {
- PushButton *pNext = pPreloadDialog->GetNextButton();
- if ( pNext->IsEnabled() )
- {
- pPreloadDialog->SetCancelString( aStrNotAccept );
- pNext->Enable(sal_False);
- }
- }
- }
-
- //------------------------------------------------------------------------
- //------------------------------------------------------------------------
- //------------------------------------------------------------------------
- LicenceView::LicenceView( Window* pParent, const ResId& rResId )
- : MultiLineEdit( pParent, rResId )
- {
- SetLeftMargin( 5 );
-
- mbEndReached = IsEndReached();
-
- StartListening( *GetTextEngine() );
- }
-
- //------------------------------------------------------------------------
- LicenceView::~LicenceView()
- {
- maEndReachedHdl = Link();
- maScrolledHdl = Link();
-
- EndListeningAll();
- }
-
- //------------------------------------------------------------------------
- void LicenceView::ScrollDown( ScrollType eScroll )
- {
- ScrollBar* pScroll = GetVScrollBar();
-
- if ( pScroll )
- pScroll->DoScrollAction( eScroll );
- }
-
- //------------------------------------------------------------------------
- sal_Bool LicenceView::IsEndReached() const
- {
- sal_Bool bEndReached;
-
- ExtTextView* pView = GetTextView();
- ExtTextEngine* pEdit = GetTextEngine();
- sal_uLong nHeight = pEdit->GetTextHeight();
- Size aOutSize = pView->GetWindow()->GetOutputSizePixel();
- Point aBottom( 0, aOutSize.Height() );
-
- if ( (sal_uLong) pView->GetDocPos( aBottom ).Y() >= nHeight - 1 )
- bEndReached = sal_True;
- else
- bEndReached = sal_False;
-
- return bEndReached;
- }
-
- //------------------------------------------------------------------------
- void LicenceView::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
- {
- if ( rHint.IsA( TYPE(TextHint) ) )
- {
- sal_Bool bLastVal = EndReached();
- sal_uLong nId = ((const TextHint&)rHint).GetId();
-
- if ( nId == TEXT_HINT_PARAINSERTED )
- {
- if ( bLastVal )
- mbEndReached = IsEndReached();
- }
- else if ( nId == TEXT_HINT_VIEWSCROLLED )
- {
- if ( ! mbEndReached )
- mbEndReached = IsEndReached();
- maScrolledHdl.Call( this );
- }
-
- if ( EndReached() && !bLastVal )
- {
- maEndReachedHdl.Call( this );
- }
- }
- }
-
- //------------------------------------------------------------------------
-
-//.........................................................................
-} // namespace preload
-//.........................................................................
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/oemwiz.hxx b/extensions/source/preload/oemwiz.hxx
deleted file mode 100644
index ab74b5e8e..000000000
--- a/extensions/source/preload/oemwiz.hxx
+++ /dev/null
@@ -1,156 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _EXTENSIONS_PRELOAD_OEMWIZ_HXX_
-#define _EXTENSIONS_PRELOAD_OEMWIZ_HXX_
-
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <svtools/wizdlg.hxx>
-#include <vcl/button.hxx>
-#include <vcl/tabpage.hxx>
-#include <vcl/fixed.hxx>
-#include <svtools/svmedit.hxx>
-#include <svl/lstner.hxx>
-#include <vcl/scrbar.hxx>
-
-//.........................................................................
-namespace preload
-{
- #define OEM_WELCOME 0
- #define OEM_LICENSE 1
- #define OEM_USERDATA 2
-
-//.........................................................................
- //=====================================================================
- //= OEMPreloadDialog
- //=====================================================================
- struct OEMPreloadDialog_Impl;
- class OEMPreloadDialog : public WizardDialog
- {
- PushButton aPrevPB;
- PushButton aNextPB;
- CancelButton aCancelPB;
-
- String aNextST;
- String aAcceptST;
- String aFinishST;
- String aDlgTitle;
- String aLicense;
- String aUserData;
- OEMPreloadDialog_Impl* pImpl;
-
- DECL_LINK(NextPrevPageHdl, PushButton*);
- protected:
-
- public:
- OEMPreloadDialog(
- Window* _pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObjectModel,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB
- );
- ~OEMPreloadDialog();
-
- const String& GetAcceptString()const {return aAcceptST;}
- const String GetCancelString() const {return aCancelPB.GetText();}
- void SetCancelString( const String& rText );
-
- static sal_Bool LoadFromLocalFile(const String& rFileName, String& rContent);
- };
- class OEMWelcomeTabPage : public TabPage
- {
- FixedText aInfoFT;
- public:
- OEMWelcomeTabPage(Window* pParent);
- ~OEMWelcomeTabPage();
- };
- class LicenceView : public MultiLineEdit, public SfxListener
- {
- sal_Bool mbEndReached;
- Link maEndReachedHdl;
- Link maScrolledHdl;
-
- public:
- LicenceView( Window* pParent, const ResId& rResId );
- ~LicenceView();
-
- void ScrollDown( ScrollType eScroll );
-
- sal_Bool IsEndReached() const;
- sal_Bool EndReached() const { return mbEndReached; }
- void SetEndReached( sal_Bool bEnd ) { mbEndReached = bEnd; }
-
- void SetEndReachedHdl( const Link& rHdl ) { maEndReachedHdl = rHdl; }
- const Link& GetAutocompleteHdl() const { return maEndReachedHdl; }
-
- void SetScrolledHdl( const Link& rHdl ) { maScrolledHdl = rHdl; }
- const Link& GetScrolledHdl() const { return maScrolledHdl; }
-
- virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
- private:
- using MultiLineEdit::Notify;
- };
- class OEMLicenseTabPage : public TabPage
- {
- LicenceView aLicenseML;
- FixedText aInfo1FT;
- FixedText aInfo2FT;
- FixedText aInfo3FT;
- FixedText aInfo2_1FT;
- FixedText aInfo3_1FT;
- CheckBox aCBAccept;
- PushButton aPBPageDown;
- FixedImage aArrow;
- String aStrAccept;
- String aStrNotAccept;
- String aOldCancelText;
- sal_Bool bEndReached;
-
- OEMPreloadDialog* pPreloadDialog;
-
- void EnableControls();
-
- DECL_LINK( AcceptHdl, CheckBox * );
- DECL_LINK( PageDownHdl, PushButton * );
- DECL_LINK( EndReachedHdl, LicenceView * );
- DECL_LINK( ScrolledHdl, LicenceView * );
-
- public:
- OEMLicenseTabPage(OEMPreloadDialog* pParent);
- ~OEMLicenseTabPage();
-
- virtual void ActivatePage();
- };
-
-//.........................................................................
-} // namespace preload
-//.........................................................................
-
-#endif // _EXTENSIONS_PRELOAD_OEMWIZ_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/preload.component b/extensions/source/preload/preload.component
deleted file mode 100644
index 56a8a0d7a..000000000
--- a/extensions/source/preload/preload.component
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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="org.openoffice.comp.preload.OEMPreloadWizard">
- <service name="org.openoffice.comp.preload.OEMPreloadWizard"/>
- </implementation>
-</component>
diff --git a/extensions/source/preload/preload.hrc b/extensions/source/preload/preload.hrc
deleted file mode 100644
index a7d9725bd..000000000
--- a/extensions/source/preload/preload.hrc
+++ /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.
- *
- ************************************************************************/
-
-#ifndef _EXTENSIONS_PRELOAD_PRELOAD_HRC_
-#define _EXTENSIONS_PRELOAD_PRELOAD_HRC_
-
-#define RID_DLG_OEMWIZARD 1024
-#define RID_TP_LICENSE 1025
-#define RID_TP_WELCOME 1027
-
-
-#define PB_PREV 1
-#define PB_NEXT 2
-#define PB_CANCEL 3
-
-#define ST_ACCEPT 5
-#define ST_FINISH 6
-#define FT_INFO 7
-#define ML_README 8
-#define FT_INFO1 9
-#define FT_INFO2 10
-#define ML_LICENSE 11
-#define ST_LICENSE_AGREEMENT 12
-#define ST_INSERT_USER_DATA 13
-#define IMG_ARROW 14
-#define FT_INFO2_1 15
-#define FT_INFO3_1 16
-#define FT_INFO3 17
-#define PB_PAGEDOWN 18
-#define CB_ACCEPT 19
-#define LICENCE_ACCEPT 20
-#define LICENCE_NOTACCEPT 21
-
-#endif
diff --git a/extensions/source/preload/preload.src b/extensions/source/preload/preload.src
deleted file mode 100644
index 17ccbf8b4..000000000
--- a/extensions/source/preload/preload.src
+++ /dev/null
@@ -1,290 +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 _EXTENSIONS_PRELOAD_PRELOAD_HRC_
-#include "preload.hrc"
-#endif
-
-ModalDialog RID_DLG_OEMWIZARD
-{
- HelpID = "extensions:ModalDialog:RID_DLG_OEMWIZARD";
- Text = "%PRODUCTNAME %PRODUCTVERSION";
-
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Moveable = TRUE ;
- Closeable = TRUE ;
- Hide = TRUE;
- PushButton PB_PREV
- {
- HelpID = "extensions:PushButton:RID_DLG_OEMWIZARD:PB_PREV";
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "<< Back" ;
- };
- PushButton PB_NEXT
- {
- HelpID = "extensions:PushButton:RID_DLG_OEMWIZARD:PB_NEXT";
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "Next >>" ;
- };
- CancelButton PB_CANCEL
- {
- Size = MAP_APPFONT ( 50 , 14 ) ;
- };
- String ST_ACCEPT
- {
- Text [ en-US ] = "Accept";
- };
- String ST_FINISH
- {
- Text [ en-US ] = "Finish";
- };
- String ST_LICENSE_AGREEMENT
- {
- Text [ en-US ] = " - Software License Agreement";
- };
-
- String ST_INSERT_USER_DATA
- {
- Text [ en-US ] = "- User Data";
- };
-};
-TabPage RID_TP_WELCOME
-{
- HelpID = "extensions:TabPage:RID_TP_WELCOME";
-// HelpId = ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Size = MAP_APPFONT ( 260 , 185 ) ;
- Text [ en-US ] = "Welcome";
- FixedText FT_INFO
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 248 , 174 ) ;
- WordBreak = TRUE ;
- Text [ en-US ] = "Welcome to %PRODUCTNAME %PRODUCTVERSION OEM\n\nTo start the %PRODUCTNAME %PRODUCTVERSION OEM, "
- "please enter your personal data in the dialog following the license text. Important information is contained "
- "in the readme files which are located in the %PRODUCTNAME product directory. Please read these files carefully. "
- "You can also find detailed information at the Oracle website \n\n"
- "http://www.oracle.com/us/products/applications/open-office.";
- };
-};
-
-#define LICENSE_DIALOG_WIDTH 260
-#define LICENSE_DIALOG_HEIGTH 185
-#define LICENSE_RIGHT_BORDER 7
-#define LICENSE_BOTTOM_BORDER 0
-#define LICENSE_ROW_1 (7)
-#define LICENSE_COL_1 (7)
-
-#define OFFSET 2
-#define COL2_WIDTH 10
-#define OFFSET_IMG 10
-#define FT_HEIGHT 8
-#define PB_HEIGHT 14
-#define PD_WIDTH 40
-
-#define LICENCE_HEIGHT 102
-#define LICENSE_ROW_2 (LICENSE_ROW_1 + OFFSET + LICENCE_HEIGHT)
-#define LICENSE_ROW_3 (LICENSE_ROW_2 + OFFSET + FT_HEIGHT)
-#define LICENSE_ROW_4 (LICENSE_ROW_3 + OFFSET + 3*FT_HEIGHT )
-#define LICENSE_ROW_5 (LICENSE_ROW_4 + OFFSET + FT_HEIGHT)
-
-/*
-#define LICENSE_ROW_5 (LICENSE_DIALOG_HEIGTH - LICENSE_BOTTOM_BORDER - OFFSET - FT_HEIGHT)
-#define LICENSE_ROW_4 (LICENSE_ROW_5 - OFFSET - FT_HEIGHT)
-#define LICENSE_ROW_3 (LICENSE_ROW_4 - OFFSET - 3*FT_HEIGHT)
-#define LICENSE_ROW_2 (LICENSE_ROW_3 - OFFSET - FT_HEIGHT)
-#define LICENCE_HEIGHT (LICENSE_ROW_2-LICENSE_ROW_1-OFFSET)
-*/
-
-
-#define LICENSE_COL_2 (LICENSE_COL_1 + OFFSET_IMG)
-#define LICENSE_COL_3 (LICENSE_COL_2 + COL2_WIDTH +1)
-#define LICENSE_COL_4 (LICENSE_DIALOG_WIDTH - LICENSE_RIGHT_BORDER - PD_WIDTH)
-
-#define LICENSE_WIDTH (LICENSE_DIALOG_WIDTH - LICENSE_RIGHT_BORDER - LICENSE_ROW_1)
-#define COL3_WIDTH (LICENSE_COL_4 - LICENSE_COL_3)
-
-
-TabPage RID_TP_LICENSE
-{
- HelpID = "extensions:TabPage:RID_TP_LICENSE";
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Size = MAP_APPFONT ( LICENSE_DIALOG_WIDTH , LICENSE_DIALOG_HEIGTH ) ;
- Text [ en-US ] = "License Agreement";
-
- MultiLineEdit ML_LICENSE
- {
- HelpID = "extensions:MultiLineEdit:RID_TP_LICENSE:ML_LICENSE";
- PosSize = MAP_APPFONT ( LICENSE_COL_1 , LICENSE_ROW_1 , LICENSE_WIDTH , LICENCE_HEIGHT ) ;
- Border = TRUE ;
- VScroll = TRUE ;
- ReadOnly = TRUE ;
- };
-
- FixedText FT_INFO1
- {
- WordBreak = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_1 , LICENSE_ROW_2 ) ;
- Size = MAP_APPFONT ( LICENSE_WIDTH , FT_HEIGHT ) ;
- Text [ en-US ] = "Please follow these steps to proceed with the installation:" ;
- };
-
- FixedImage IMG_ARROW
- {
- Pos = MAP_APPFONT ( LICENSE_COL_1 , LICENSE_ROW_3 ) ;
- Size = MAP_PIXEL ( 16 , 16 ) ;
- Fixed = Image
- {
- ImageBitmap = Bitmap
- {
- File = "arrow.bmp" ;
- File[ ar ] = "m_arrow.bmp" ;
- };
- MaskColor = Color { Red = 0xFFFF ; Green = 0x0000 ; Blue = 0xFFFF ; };
- };
- };
-
- FixedText FT_INFO2_1
- {
- WordBreak = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_2 , LICENSE_ROW_3 ) ;
- Size = MAP_APPFONT ( COL2_WIDTH , FT_HEIGHT ) ;
- Text [ en-US ] = "1." ;
- };
-
- FixedText FT_INFO2
- {
- WordBreak = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_3 , LICENSE_ROW_3 ) ;
- Size = MAP_APPFONT ( COL3_WIDTH, 3*FT_HEIGHT ) ;
- Text [ en-US ] = "View the complete License Agreement. Please use the scroll bar or the '%PAGEDOWN' button in this dialog to view the entire license text." ;
- };
-
- PushButton PB_PAGEDOWN
- {
- HelpID = "extensions:PushButton:RID_TP_LICENSE:PB_PAGEDOWN";
- TabStop = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_4 , LICENSE_ROW_3 ) ;
- Size = MAP_APPFONT ( PD_WIDTH , PB_HEIGHT ) ;
- Text [ en-US ] = "Page Down" ;
- };
-
- FixedText FT_INFO3_1
- {
- WordBreak = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_2 , LICENSE_ROW_4 ) ;
- Size = MAP_APPFONT ( COL2_WIDTH, FT_HEIGHT ) ;
- Text [ en-US ] = "2." ;
- };
-
- FixedText FT_INFO3
- {
- WordBreak = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_3, LICENSE_ROW_4 ) ;
- Size = MAP_APPFONT ( COL3_WIDTH, FT_HEIGHT ) ;
- Text [ en-US ] = "Accept the License Agreement." ;
- };
-
- CheckBox CB_ACCEPT
- {
- HelpID = "extensions:CheckBox:RID_TP_LICENSE:CB_ACCEPT";
- TabStop = TRUE ;
- Pos = MAP_APPFONT ( LICENSE_COL_3, LICENSE_ROW_5 ) ;
- Size = MAP_APPFONT ( COL3_WIDTH, FT_HEIGHT ) ;
- Text [ en-US ] = "I accept the terms of the Agreement." ;
- };
-
- String LICENCE_ACCEPT
- {
- Text [ en-US ] = "~Accept" ;
- };
-
- String LICENCE_NOTACCEPT
- {
- Text [ en-US ] = "Decline" ;
- };
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/extensions/source/preload/preloadservices.cxx b/extensions/source/preload/preloadservices.cxx
deleted file mode 100644
index f23d65310..000000000
--- a/extensions/source/preload/preloadservices.cxx
+++ /dev/null
@@ -1,73 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-#include "preloadservices.hxx"
-#include "componentmodule.hxx"
-#include "unoautopilot.hxx"
-#include "oemwiz.hxx"
-
-// the registration methods
-extern "C" void SAL_CALL createRegistryInfo_OEMPreloadDialog()
-{
- static ::preload::OMultiInstanceAutoRegistration<
- ::preload::OUnoAutoPilot< ::preload::OEMPreloadDialog, ::preload::OEMPreloadSI >
- > aAutoRegistration;
-}
-static const char cServiceName[] = "org.openoffice.comp.preload.OEMPreloadWizard";
-//.........................................................................
-namespace preload
-{
-//.........................................................................
-
- using namespace ::com::sun::star::uno;
-
- //=====================================================================
- //= OEMPreloadSI
- //=====================================================================
- //---------------------------------------------------------------------
- ::rtl::OUString OEMPreloadSI::getImplementationName() const
- {
- return ::rtl::OUString::createFromAscii(cServiceName);
- }
-
- //---------------------------------------------------------------------
- Sequence< ::rtl::OUString > OEMPreloadSI::getServiceNames() const
- {
- Sequence< ::rtl::OUString > aReturn(1);
- aReturn[0] = ::rtl::OUString::createFromAscii(cServiceName);
- return aReturn;
- }
-
-
-//.........................................................................
-} // namespace preload
-//.........................................................................
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/preloadservices.hxx b/extensions/source/preload/preloadservices.hxx
deleted file mode 100644
index ba51e0547..000000000
--- a/extensions/source/preload/preloadservices.hxx
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _EXTENSIONS_PRELOAD_PRELOADSERVICES_HXX_
-#define _EXTENSIONS_PRELOAD_PRELOADSERVICES_HXX_
-
-#include <com/sun/star/uno/Sequence.hxx>
-#include <rtl/ustring.hxx>
-
-//.........................................................................
-namespace preload
-{
-//.........................................................................
-
- //=====================================================================
- //= OGroupBoxSI
- //=====================================================================
- /// service info for the OEM preload wizard
- struct OEMPreloadSI
- {
- public:
- ::rtl::OUString getImplementationName() const;
- ::com::sun::star::uno::Sequence< ::rtl::OUString >
- getServiceNames() const;
- };
-//.........................................................................
-} // namespace preload
-//.........................................................................
-
-#endif // _EXTENSIONS_PRELOAD_PRELOADSERVICES_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/services.cxx b/extensions/source/preload/services.cxx
deleted file mode 100644
index e2092d6c3..000000000
--- a/extensions/source/preload/services.cxx
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-#include "componentmodule.hxx"
-
-//---------------------------------------------------------------------------------------
-
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::registry;
-
-//---------------------------------------------------------------------------------------
-
-extern "C" void SAL_CALL createRegistryInfo_OEMPreloadDialog();
-
-//---------------------------------------------------------------------------------------
-
-extern "C" void SAL_CALL preload_initializeModule()
-{
- static sal_Bool s_bInit = sal_False;
- if (!s_bInit)
- {
- createRegistryInfo_OEMPreloadDialog();
- ::preload::OModule::setResourceFilePrefix("preload");
- s_bInit = sal_True;
- }
-}
-
-//---------------------------------------------------------------------------------------
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **ppEnvTypeName,
- uno_Environment ** /*ppEnv*/
- )
-{
- preload_initializeModule();
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
- const sal_Char* pImplementationName,
- void* pServiceManager,
- void* /*pRegistryKey*/)
-{
- Reference< XInterface > xRet;
- if (pServiceManager && pImplementationName)
- {
- xRet = ::preload::OModule::getComponentFactory(
- ::rtl::OUString::createFromAscii(pImplementationName),
- static_cast< XMultiServiceFactory* >(pServiceManager));
- }
-
- if (xRet.is())
- xRet->acquire();
- return xRet.get();
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/unoautopilot.hxx b/extensions/source/preload/unoautopilot.hxx
deleted file mode 100644
index dd485d887..000000000
--- a/extensions/source/preload/unoautopilot.hxx
+++ /dev/null
@@ -1,109 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _EXTENSIONS_PRELOAD_UNOAUTOPILOT_HXX_
-#define _EXTENSIONS_PRELOAD_UNOAUTOPILOT_HXX_
-
-#include <svtools/genericunodialog.hxx>
-#include <comphelper/proparrhlp.hxx>
-#include "componentmodule.hxx"
-#include <cppuhelper/typeprovider.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-
-//.........................................................................
-namespace preload
-{
-//.........................................................................
-
- //=====================================================================
- //= IServiceInfo
- //=====================================================================
- /** interface for the SERVICEINFO template parameter of the OUnoAutoPilot class
- */
- struct IServiceInfo
- {
- public:
- ::rtl::OUString getImplementationName() const;
- ::com::sun::star::uno::Sequence< ::rtl::OUString >
- getServiceNames() const;
- };
-
- //=====================================================================
- //= OUnoAutoPilot
- //=====================================================================
- typedef ::svt::OGenericUnoDialog OUnoAutoPilot_Base;
- template <class TYPE, class SERVICEINFO>
- class OUnoAutoPilot
- :public OUnoAutoPilot_Base
- ,public ::comphelper::OPropertyArrayUsageHelper< OUnoAutoPilot< TYPE, SERVICEINFO > >
- ,public OModuleResourceClient
- {
- OUnoAutoPilot(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
-
- protected:
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
- m_xObjectModel;
-
- public:
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId( ) throw(::com::sun::star::uno::RuntimeException);
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
- virtual ::comphelper::StringSequence SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
-
- // XServiceInfo - static methods
- static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
- static ::rtl::OUString getImplementationName_Static(void) throw( ::com::sun::star::uno::RuntimeException );
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
- SAL_CALL Create(const ::com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >&);
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
- virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
-
- // OPropertyArrayUsageHelper
- virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const;
-
- protected:
- // OGenericUnoDialog overridables
- virtual Dialog* createDialog(Window* _pParent);
- virtual void implInitialize(const com::sun::star::uno::Any& _rValue);
- };
-
-#include "unoautopilot.inl"
-
-//.........................................................................
-} // namespace dbp
-//.........................................................................
-
-#endif // _EXTENSIONS_PRELOAD_UNOAUTOPILOT_HXX_
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/preload/unoautopilot.inl b/extensions/source/preload/unoautopilot.inl
deleted file mode 100644
index 6e4dd1815..000000000
--- a/extensions/source/preload/unoautopilot.inl
+++ /dev/null
@@ -1,128 +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.
- *
- ************************************************************************/
-
-// no include protecttion
-// this file is included from unoautopilot.hxx directly
-
-//=====================================================================
-//= OUnoAutoPilot
-//=====================================================================
-template <class TYPE, class SERVICEINFO>
-OUnoAutoPilot<TYPE, SERVICEINFO>::OUnoAutoPilot(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB)
- :OUnoAutoPilot_Base(_rxORB)
-{
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL OUnoAutoPilot<TYPE, SERVICEINFO>::getImplementationId( ) throw(::com::sun::star::uno::RuntimeException)
-{
- static ::cppu::OImplementationId aId;
- return aId.getImplementationId();
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL OUnoAutoPilot<TYPE, SERVICEINFO>::Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
-{
- return *(new OUnoAutoPilot<TYPE, SERVICEINFO>(_rxFactory));
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::rtl::OUString SAL_CALL OUnoAutoPilot<TYPE, SERVICEINFO>::getImplementationName() throw(::com::sun::star::uno::RuntimeException)
-{
- return getImplementationName_Static();
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::rtl::OUString OUnoAutoPilot<TYPE, SERVICEINFO>::getImplementationName_Static() throw(::com::sun::star::uno::RuntimeException)
-{
- return SERVICEINFO().getImplementationName();
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::comphelper::StringSequence SAL_CALL OUnoAutoPilot<TYPE, SERVICEINFO>::getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException)
-{
- return getSupportedServiceNames_Static();
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::comphelper::StringSequence OUnoAutoPilot<TYPE, SERVICEINFO>::getSupportedServiceNames_Static() throw(::com::sun::star::uno::RuntimeException)
-{
- return SERVICEINFO().getServiceNames();
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OUnoAutoPilot<TYPE, SERVICEINFO>::getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException)
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) );
- return xInfo;
-}
-
-//---------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::cppu::IPropertyArrayHelper& OUnoAutoPilot<TYPE, SERVICEINFO>::getInfoHelper()
-{
- return *const_cast<OUnoAutoPilot*>(this)->getArrayHelper();
-}
-
-//--------------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-::cppu::IPropertyArrayHelper* OUnoAutoPilot<TYPE, SERVICEINFO>::createArrayHelper( ) const
-{
- ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > aProps;
- describeProperties(aProps);
- return new ::cppu::OPropertyArrayHelper(aProps);
-}
-
-//--------------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-Dialog* OUnoAutoPilot<TYPE, SERVICEINFO>::createDialog(Window* _pParent)
-{
- return new TYPE(_pParent, m_xObjectModel, m_aContext.getLegacyServiceFactory());
-}
-
-//--------------------------------------------------------------------------
-template <class TYPE, class SERVICEINFO>
-void OUnoAutoPilot<TYPE, SERVICEINFO>::implInitialize(const com::sun::star::uno::Any& _rValue)
-{
- ::com::sun::star::beans::PropertyValue aArgument;
- if (_rValue >>= aArgument)
- if (0 == aArgument.Name.compareToAscii("ObjectModel"))
- {
- aArgument.Value >>= m_xObjectModel;
- return;
- }
-
- OUnoAutoPilot_Base::implInitialize(_rValue);
-}
-
diff --git a/extensions/source/propctrlr/pcrservices.cxx b/extensions/source/propctrlr/pcrservices.cxx
index 90ddc35a3..43f40c571 100644
--- a/extensions/source/propctrlr/pcrservices.cxx
+++ b/extensions/source/propctrlr/pcrservices.cxx
@@ -91,22 +91,13 @@ extern "C" void SAL_CALL pcr_initializeModule()
}
//---------------------------------------------------------------------------------------
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char **ppEnvTypeName,
- uno_Environment ** /*ppEnv*/
- )
-{
- pcr_initializeModule();
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
void* /*pRegistryKey*/)
{
+ pcr_initializeModule();
+
Reference< XInterface > xRet;
if (pServiceManager && pImplementationName)
{
diff --git a/extensions/source/resource/ResourceIndexAccess.cxx b/extensions/source/resource/ResourceIndexAccess.cxx
new file mode 100644
index 000000000..31a244b96
--- /dev/null
+++ b/extensions/source/resource/ResourceIndexAccess.cxx
@@ -0,0 +1,208 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Major Contributor(s):
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include <ResourceIndexAccess.hxx>
+
+#include <com/sun/star/container/XIndexAccess.hpp>
+#include <com/sun/star/beans/PropertyValue.hpp>
+#include <comphelper/stlunosequence.hxx>
+#include <osl/mutex.hxx>
+#include <tools/rcid.h>
+#include <tools/resary.hxx>
+#include <tools/resmgr.hxx>
+#include <vcl/svapp.hxx>
+
+using namespace ::extensions::resource;
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::beans;
+using namespace ::com::sun::star::container;
+
+using ::comphelper::stl_begin;
+using ::comphelper::stl_end;
+using ::rtl::OString;
+using ::rtl::OUString;
+using ::rtl::OUStringToOString;
+
+namespace
+{
+ static ::boost::shared_ptr<ResMgr> GetResMgr(Sequence<Any> const& rArgs)
+ {
+ if(rArgs.getLength()!=1)
+ return ::boost::shared_ptr<ResMgr>();
+ OUString sFilename;
+ rArgs[0] >>= sFilename;
+ SolarMutexGuard aGuard;
+ const OString sEncName(OUStringToOString(sFilename, osl_getThreadTextEncoding()));
+ return ::boost::shared_ptr<ResMgr>(ResMgr::CreateResMgr(sEncName));
+ }
+
+ class ResourceIndexAccessBase : public cppu::WeakImplHelper1< ::com::sun::star::container::XIndexAccess>
+ {
+ public:
+ ResourceIndexAccessBase( ::boost::shared_ptr<ResMgr> pResMgr)
+ : m_pResMgr(pResMgr)
+ {
+ OSL_ENSURE(m_pResMgr, "no ressource manager given");
+ }
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException)
+ { return m_pResMgr.get() ? SAL_MAX_UINT16 : 0; };
+ // XElementAccess
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException)
+ { return static_cast<bool>(m_pResMgr.get()); };
+
+ protected:
+ // m_pResMgr should never be NULL
+ const ::boost::shared_ptr<ResMgr> m_pResMgr;
+ };
+
+ class ResourceStringIndexAccess : public ResourceIndexAccessBase
+ {
+ public:
+ ResourceStringIndexAccess( ::boost::shared_ptr<ResMgr> pResMgr)
+ : ResourceIndexAccessBase(pResMgr) {}
+ // XIndexAccess
+ 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);
+ // XElementAccessBase
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
+ { return ::getCppuType(reinterpret_cast< ::rtl::OUString*>(NULL)); };
+ };
+
+ class ResourceStringListIndexAccess : public ResourceIndexAccessBase
+ {
+ public:
+ ResourceStringListIndexAccess( ::boost::shared_ptr<ResMgr> pResMgr)
+ : ResourceIndexAccessBase(pResMgr) {}
+ // XIndexAccess
+ 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);
+ // XElementAccessBase
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
+ { return ::getCppuType(reinterpret_cast<Sequence<PropertyValue> * >(NULL)); };
+ };
+}
+
+ResourceIndexAccess::ResourceIndexAccess(Sequence<Any> const& rArgs, Reference<XComponentContext> const&)
+ : m_pResMgr(GetResMgr(rArgs))
+{};
+
+Reference<XInterface> initResourceIndexAccess(ResourceIndexAccess* pResourceIndexAccess)
+{
+ Reference<XInterface> xResult(static_cast<cppu::OWeakObject*>(pResourceIndexAccess));
+ if(!pResourceIndexAccess->hasElements())
+ // xResult does not help the client to analyse the problem
+ // and will crash on getByIndex calls, better just give back an empty Reference
+ // so that such ResourceStringIndexAccess instances are never release into the wild
+ throw RuntimeException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("ressource manager could not get initialized")),
+ /* xResult */ Reference<XInterface>());
+ return xResult;
+}
+
+Any SAL_CALL ResourceIndexAccess::getByName(const OUString& aName)
+ throw (NoSuchElementException, WrappedTargetException, RuntimeException)
+{
+ const Sequence<OUString> aNames(getElementNames());
+ Reference<XIndexAccess> xResult;
+ switch(::std::find(stl_begin(aNames), stl_end(aNames), aName)-stl_begin(aNames))
+ {
+ case 0:
+ xResult = Reference<XIndexAccess>(new ResourceStringIndexAccess(m_pResMgr));
+ break;
+ case 1:
+ xResult = Reference<XIndexAccess>(new ResourceStringListIndexAccess(m_pResMgr));
+ break;
+ default:
+ throw NoSuchElementException();
+ }
+ return makeAny(xResult);
+}
+
+Sequence<OUString> SAL_CALL ResourceIndexAccess::getElementNames( )
+ throw (RuntimeException)
+{
+ static Sequence<OUString> aResult;
+ if( aResult.getLength() == 0)
+ {
+ aResult.realloc(2);
+ aResult[0] = OUString(RTL_CONSTASCII_USTRINGPARAM("String"));
+ aResult[1] = OUString(RTL_CONSTASCII_USTRINGPARAM("StringList"));
+ }
+ return aResult;
+}
+
+::sal_Bool SAL_CALL ResourceIndexAccess::hasByName(const OUString& aName)
+ throw (RuntimeException)
+{
+ const Sequence<OUString> aNames(getElementNames());
+ return (::std::find(stl_begin(aNames), stl_end(aNames), aName) != stl_end(aNames));
+}
+
+Any SAL_CALL ResourceStringIndexAccess::getByIndex(sal_Int32 nIdx)
+ throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException)
+{
+ if(nIdx > SAL_MAX_UINT16 || nIdx < 0)
+ throw IndexOutOfBoundsException();
+ SolarMutexGuard aGuard;
+ const ResId aId(static_cast<sal_uInt16>(nIdx), *m_pResMgr);
+ aId.SetRT(RSC_STRING);
+ if(!m_pResMgr->IsAvailable(aId))
+ throw RuntimeException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("string ressource for id not available")),
+ Reference<XInterface>());
+ return makeAny(OUString(String(aId)));
+}
+
+Any SAL_CALL ResourceStringListIndexAccess::getByIndex(sal_Int32 nIdx)
+ throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException)
+{
+ if(nIdx > SAL_MAX_UINT16 || nIdx < 0)
+ throw IndexOutOfBoundsException();
+ SolarMutexGuard aGuard;
+ const ResId aId(static_cast<sal_uInt16>(nIdx), *m_pResMgr);
+ aId.SetRT(RSC_STRINGARRAY);
+ if(!m_pResMgr->IsAvailable(aId))
+ throw RuntimeException(
+ OUString(RTL_CONSTASCII_USTRINGPARAM("string list ressource for id not available")),
+ Reference<XInterface>());
+ const ResStringArray aStringList(aId);
+ Sequence<PropertyValue> aPropList(aStringList.Count());
+ for(sal_Int32 nCount = 0; nCount != aPropList.getLength(); ++nCount)
+ {
+ aPropList[nCount].Name = aStringList.GetString(nCount);
+ aPropList[nCount].Handle = -1;
+ aPropList[nCount].Value <<= aStringList.GetValue(nCount);
+ aPropList[nCount].State = PropertyState_DIRECT_VALUE;
+ }
+ return makeAny(aPropList);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/ResourceIndexAccess.hxx b/extensions/source/resource/ResourceIndexAccess.hxx
new file mode 100644
index 000000000..41632591a
--- /dev/null
+++ b/extensions/source/resource/ResourceIndexAccess.hxx
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Major Contributor(s):
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef EXTENSIONS_RESOURCE_RESOURCESTRINGINDEXACCESS_HXX
+#define EXTENSIONS_RESOURCE_RESOURCESTRINGINDEXACCESS_HXX
+
+#include "precompiled_extensions.hxx"
+
+#include <boost/shared_ptr.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <com/sun/star/uno/XInterface.hpp>
+#include <cppuhelper/implbase1.hxx>
+
+class ResMgr;
+
+namespace extensions { namespace resource
+{
+ /** This class provides access to tools library text resources */
+ class ResourceIndexAccess : public cppu::WeakImplHelper1< ::com::sun::star::container::XNameAccess>
+ {
+ public:
+ /** The ctor takes a sequence with one element: the name of the resource, e.g. svt */
+ ResourceIndexAccess(::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> const& rArgs, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> const&);
+ // XNameAccess
+ // The XNameAccess provides access to two named elements:
+ // "String" returns a XIndexAccess to String resources
+ // "StringList" returns a XIndexAccess to StringList/StringArray resources
+ virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
+ { return ::getCppuType(reinterpret_cast< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>*>(NULL)); };
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException)
+ { return static_cast<bool>(m_pResMgr.get()); };
+
+ private:
+ // m_pResMgr should never be NULL
+ const ::boost::shared_ptr<ResMgr> m_pResMgr;
+ };
+}}
+
+::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> initResourceIndexAccess(::extensions::resource::ResourceIndexAccess*);
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/exports.dxp b/extensions/source/resource/exports.dxp
index f0e1c6993..700330789 100644
--- a/extensions/source/resource/exports.dxp
+++ b/extensions/source/resource/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/source/resource/makefile.mk b/extensions/source/resource/makefile.mk
index adeec5fd0..4839ec0b7 100644
--- a/extensions/source/resource/makefile.mk
+++ b/extensions/source/resource/makefile.mk
@@ -39,9 +39,10 @@ ENABLE_EXCEPTIONS=TRUE
# --- Files --------------------------------------------------------
-SLOFILES= $(SLO)$/resource.obj \
- $(SLO)$/oooresourceloader.obj \
- $(SLO)$/res_services.obj
+SLOFILES= \
+ $(SLO)$/ResourceIndexAccess.obj \
+ $(SLO)$/oooresourceloader.obj \
+ $(SLO)$/resourceservices.obj
LIB1TARGET= $(SLB)$/$(TARGET).lib
LIB1OBJFILES= $(SLOFILES)
@@ -49,6 +50,7 @@ LIB1OBJFILES= $(SLOFILES)
SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
SHL1STDLIBS= \
+ $(COMPHELPERLIB) \
$(CPPULIB) \
$(CPPUHELPERLIB) \
$(SALLIB) \
diff --git a/extensions/source/resource/oooresourceloader.cxx b/extensions/source/resource/oooresourceloader.cxx
index bfe299bfd..9488c658e 100644
--- a/extensions/source/resource/oooresourceloader.cxx
+++ b/extensions/source/resource/oooresourceloader.cxx
@@ -29,15 +29,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_extensions.hxx"
-#ifndef EXTENSIONS_SOURCE_RESOURCE_OOORESOURCELOADER_CXX
-#define EXTENSIONS_SOURCE_RESOURCE_OOORESOURCELOADER_CXX
-#include "res_services.hxx"
-
-/** === begin UNO includes === **/
-#include <com/sun/star/resource/XResourceBundleLoader.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-/** === end UNO includes === **/
+#include <oooresourceloader.hxx>
#include <vcl/svapp.hxx>
#include <tools/simplerm.hxx>
#include <tools/rcid.h>
@@ -47,87 +39,14 @@
#include <boost/shared_ptr.hpp>
#include <map>
-//........................................................................
-namespace res
-{
-//........................................................................
-
- /** === begin UNO using === **/
- using ::com::sun::star::uno::Reference;
- using ::com::sun::star::resource::XResourceBundleLoader;
- using ::com::sun::star::resource::XResourceBundle;
- using ::com::sun::star::resource::MissingResourceException;
- using ::com::sun::star::uno::XComponentContext;
- using ::com::sun::star::uno::Sequence;
- using ::com::sun::star::uno::XInterface;
- using ::com::sun::star::uno::RuntimeException;
- using ::com::sun::star::lang::Locale;
- using ::com::sun::star::uno::Any;
- using ::com::sun::star::container::NoSuchElementException;
- using ::com::sun::star::lang::WrappedTargetException;
- using ::com::sun::star::uno::Type;
- using ::com::sun::star::uno::WeakReference;
- /** === end UNO using === **/
-
- //====================================================================
- //= helper
- //====================================================================
- typedef ::std::pair< ::rtl::OUString, Locale > ResourceBundleDescriptor;
-
- struct ResourceBundleDescriptorLess : public ::std::binary_function< ResourceBundleDescriptor, ResourceBundleDescriptor, bool >
- {
- bool operator()( const ResourceBundleDescriptor& _lhs, const ResourceBundleDescriptor& _rhs ) const
- {
- if ( _lhs.first < _rhs.first )
- return true;
- if ( _lhs.second.Language < _rhs.second.Language )
- return true;
- if ( _lhs.second.Country < _rhs.second.Country )
- return true;
- if ( _lhs.second.Variant < _rhs.second.Variant )
- return true;
- return false;
- }
- };
+using namespace ::com::sun::star::uno;
+using namespace ::com::sun::star::resource;
+using namespace ::com::sun::star::container;
+using namespace ::com::sun::star::lang;
- //====================================================================
- //= OpenOfficeResourceLoader
- //====================================================================
- typedef ::cppu::WeakImplHelper1 < XResourceBundleLoader
- > OpenOfficeResourceLoader_Base;
- class OpenOfficeResourceLoader : public OpenOfficeResourceLoader_Base
- {
- private:
- typedef ::std::map< ResourceBundleDescriptor, WeakReference< XResourceBundle >, ResourceBundleDescriptorLess >
- ResourceBundleCache;
-
- private:
- Reference< XComponentContext > m_xContext;
- ::osl::Mutex m_aMutex;
- ResourceBundleCache m_aBundleCache;
-
- protected:
- OpenOfficeResourceLoader( const Reference< XComponentContext >& _rxContext );
-
- public:
- static Sequence< ::rtl::OUString > getSupportedServiceNames_static();
- static ::rtl::OUString getImplementationName_static();
- static ::rtl::OUString getSingletonName_static();
- static Reference< XInterface > Create( const Reference< XComponentContext >& _rxContext );
- // XResourceBundleLoader
- virtual Reference< XResourceBundle > SAL_CALL loadBundle_Default( const ::rtl::OUString& aBaseName ) throw (MissingResourceException, RuntimeException);
- virtual Reference< XResourceBundle > SAL_CALL loadBundle( const ::rtl::OUString& abaseName, const Locale& aLocale ) throw (MissingResourceException, RuntimeException);
-
- private:
- OpenOfficeResourceLoader(); // never implemented
- OpenOfficeResourceLoader( const OpenOfficeResourceLoader& ); // never implemented
- OpenOfficeResourceLoader& operator=( const OpenOfficeResourceLoader& ); // never implemented
- };
-
- //====================================================================
- //= IResourceType
- //====================================================================
+namespace extensions { namespace resource
+{
/** encapsulates access to a fixed resource type
*/
class IResourceType
@@ -153,9 +72,6 @@ namespace res
virtual ~IResourceType() { };
};
- //====================================================================
- //= StringResourceAccess
- //====================================================================
class StringResourceAccess : public IResourceType
{
public:
@@ -166,18 +82,15 @@ namespace res
virtual Any getResource( SimpleResMgr& _resourceManager, sal_Int32 _resourceId ) const;
};
- //--------------------------------------------------------------------
StringResourceAccess::StringResourceAccess()
{
}
- //--------------------------------------------------------------------
RESOURCE_TYPE StringResourceAccess::getResourceType() const
{
return RSC_STRING;
}
- //--------------------------------------------------------------------
Any StringResourceAccess::getResource( SimpleResMgr& _resourceManager, sal_Int32 _resourceId ) const
{
OSL_PRECOND( _resourceManager.IsAvailable( getResourceType(), _resourceId ), "StringResourceAccess::getResource: precondition not met!" );
@@ -186,9 +99,6 @@ namespace res
return aResource;
}
- //====================================================================
- //= OpenOfficeResourceBundle
- //====================================================================
typedef ::cppu::WeakImplHelper1 < XResourceBundle
> OpenOfficeResourceBundle_Base;
class OpenOfficeResourceBundle : public OpenOfficeResourceBundle_Base
@@ -257,42 +167,12 @@ namespace res
bool impl_getResourceTypeAndId_nothrow( const ::rtl::OUString& _key, ResourceTypePtr& _out_resourceType, sal_Int32& _out_resourceId ) const;
};
- //====================================================================
- //= OpenOfficeResourceLoader
- //====================================================================
- //--------------------------------------------------------------------
- OpenOfficeResourceLoader::OpenOfficeResourceLoader( const Reference< XComponentContext >& _rxContext )
+ OpenOfficeResourceLoader::OpenOfficeResourceLoader( Reference< XComponentContext > const& _rxContext )
:m_xContext( _rxContext )
{
}
//--------------------------------------------------------------------
- Sequence< ::rtl::OUString > OpenOfficeResourceLoader::getSupportedServiceNames_static()
- {
- Sequence< ::rtl::OUString > aServices( 1 );
- aServices[ 0 ] = getSingletonName_static();
- return aServices;
- }
-
- //--------------------------------------------------------------------
- ::rtl::OUString OpenOfficeResourceLoader::getImplementationName_static()
- {
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.resource.OpenOfficeResourceLoader" ) );
- }
-
- //--------------------------------------------------------------------
- ::rtl::OUString OpenOfficeResourceLoader::getSingletonName_static()
- {
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.resource.OfficeResourceLoader" ) );
- }
-
- //--------------------------------------------------------------------
- Reference< XInterface > OpenOfficeResourceLoader::Create( const Reference< XComponentContext >& _rxContext )
- {
- return *( new OpenOfficeResourceLoader( _rxContext ) );
- }
-
- //--------------------------------------------------------------------
Reference< XResourceBundle > SAL_CALL OpenOfficeResourceLoader::loadBundle_Default( const ::rtl::OUString& _baseName ) throw (MissingResourceException, RuntimeException)
{
return loadBundle( _baseName, Application::GetSettings().GetUILocale() );
@@ -319,21 +199,6 @@ namespace res
return xBundle;
}
- //--------------------------------------------------------------------
- ComponentInfo getComponentInfo_OpenOfficeResourceLoader()
- {
- ComponentInfo aInfo;
- aInfo.aSupportedServices = OpenOfficeResourceLoader::getSupportedServiceNames_static();
- aInfo.sImplementationName = OpenOfficeResourceLoader::getImplementationName_static();
- aInfo.sSingletonName = OpenOfficeResourceLoader::getSingletonName_static();
- aInfo.pFactory = &OpenOfficeResourceLoader::Create;
- return aInfo;
- }
-
- //====================================================================
- //= OpenOfficeResourceBundle
- //====================================================================
- //--------------------------------------------------------------------
OpenOfficeResourceBundle::OpenOfficeResourceBundle( const Reference< XComponentContext >& /*_rxContext*/, const ::rtl::OUString& _rBaseName, const Locale& _rLocale )
:m_aLocale( _rLocale )
,m_pResourceManager( NULL )
@@ -352,34 +217,29 @@ namespace res
ResourceTypePtr( new StringResourceAccess );
}
- //--------------------------------------------------------------------
OpenOfficeResourceBundle::~OpenOfficeResourceBundle()
{
delete m_pResourceManager;
}
- //--------------------------------------------------------------------
Reference< XResourceBundle > SAL_CALL OpenOfficeResourceBundle::getParent() throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
return m_xParent;
}
- //--------------------------------------------------------------------
void SAL_CALL OpenOfficeResourceBundle::setParent( const Reference< XResourceBundle >& _parent ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
m_xParent = _parent;
}
- //--------------------------------------------------------------------
Locale SAL_CALL OpenOfficeResourceBundle::getLocale( ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
return m_aLocale;
}
- //--------------------------------------------------------------------
bool OpenOfficeResourceBundle::impl_getResourceTypeAndId_nothrow( const ::rtl::OUString& _key, ResourceTypePtr& _out_resourceType, sal_Int32& _out_resourceId ) const
{
sal_Int32 typeSeparatorPos = _key.indexOf( ':' );
@@ -399,7 +259,6 @@ namespace res
return true;
}
- //--------------------------------------------------------------------
bool OpenOfficeResourceBundle::impl_getDirectElement_nothrow( const ::rtl::OUString& _key, Any& _out_Element ) const
{
ResourceTypePtr resourceType;
@@ -415,7 +274,6 @@ namespace res
return _out_Element.hasValue();
}
- //--------------------------------------------------------------------
Any SAL_CALL OpenOfficeResourceBundle::getDirectElement( const ::rtl::OUString& _key ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -425,7 +283,6 @@ namespace res
return aElement;
}
- //--------------------------------------------------------------------
Any SAL_CALL OpenOfficeResourceBundle::getByName( const ::rtl::OUString& _key ) throw (NoSuchElementException, WrappedTargetException, RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -443,7 +300,6 @@ namespace res
return aElement;
}
- //--------------------------------------------------------------------
Sequence< ::rtl::OUString > SAL_CALL OpenOfficeResourceBundle::getElementNames( ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -452,7 +308,6 @@ namespace res
return Sequence< ::rtl::OUString >( );
}
- //--------------------------------------------------------------------
::sal_Bool SAL_CALL OpenOfficeResourceBundle::hasByName( const ::rtl::OUString& _key ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -468,13 +323,11 @@ namespace res
return sal_True;
}
- //--------------------------------------------------------------------
Type SAL_CALL OpenOfficeResourceBundle::getElementType( ) throw (RuntimeException)
{
return ::cppu::UnoType< Any >::get();
}
- //--------------------------------------------------------------------
::sal_Bool SAL_CALL OpenOfficeResourceBundle::hasElements( ) throw (RuntimeException)
{
::osl::MutexGuard aGuard( m_aMutex );
@@ -483,10 +336,6 @@ namespace res
return ::sal_Bool( );
}
-//........................................................................
-} // namespace res
-//........................................................................
-
-#endif // EXTENSIONS_SOURCE_RESOURCE_OOORESOURCELOADER_CXX
+}}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/oooresourceloader.hxx b/extensions/source/resource/oooresourceloader.hxx
new file mode 100644
index 000000000..fd7f526ce
--- /dev/null
+++ b/extensions/source/resource/oooresourceloader.hxx
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+
+#ifndef EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
+#define EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
+
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/resource/XResourceBundleLoader.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <cppuhelper/implbase1.hxx>
+
+#include <functional>
+#include <map>
+#include <utility>
+
+namespace extensions { namespace resource
+{
+ typedef ::std::pair< ::rtl::OUString, ::com::sun::star::lang::Locale> ResourceBundleDescriptor;
+
+ struct ResourceBundleDescriptorLess : public ::std::binary_function<ResourceBundleDescriptor, ResourceBundleDescriptor, bool>
+ {
+ bool operator()( const ResourceBundleDescriptor& _lhs, const ResourceBundleDescriptor& _rhs ) const
+ {
+ if ( _lhs.first < _rhs.first )
+ return true;
+ if ( _lhs.second.Language < _rhs.second.Language )
+ return true;
+ if ( _lhs.second.Country < _rhs.second.Country )
+ return true;
+ if ( _lhs.second.Variant < _rhs.second.Variant )
+ return true;
+ return false;
+ }
+ };
+
+ class OpenOfficeResourceLoader : public ::cppu::WeakImplHelper1< ::com::sun::star::resource::XResourceBundleLoader>
+ {
+ public:
+ typedef ::std::map<
+ ResourceBundleDescriptor,
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::resource::XResourceBundle>,
+ ResourceBundleDescriptorLess> ResourceBundleCache;
+
+ OpenOfficeResourceLoader(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> const&);
+ // XResourceBundleLoader
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle> SAL_CALL loadBundle_Default( const ::rtl::OUString& aBaseName ) throw (::com::sun::star::resource::MissingResourceException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle> SAL_CALL loadBundle( const ::rtl::OUString& abaseName, const ::com::sun::star::lang::Locale& aLocale ) throw (::com::sun::star::resource::MissingResourceException, ::com::sun::star::uno::RuntimeException);
+
+ private:
+ OpenOfficeResourceLoader(); // never implemented
+ OpenOfficeResourceLoader( const OpenOfficeResourceLoader& ); // never implemented
+ OpenOfficeResourceLoader& operator=( const OpenOfficeResourceLoader& ); // never implemented
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> m_xContext;
+ ::osl::Mutex m_aMutex;
+ ResourceBundleCache m_aBundleCache;
+ };
+}}
+
+#endif // EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/res.component b/extensions/source/resource/res.component
index 57f96609d..b5df9748e 100644
--- a/extensions/source/resource/res.component
+++ b/extensions/source/resource/res.component
@@ -28,11 +28,11 @@
<component loader="com.sun.star.loader.SharedLibrary"
xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.comp.extensions.ResourceService">
- <service name="com.sun.star.resource.VclStringResourceLoader"/>
- </implementation>
<implementation name="com.sun.star.comp.resource.OpenOfficeResourceLoader">
<service name="com.sun.star.resource.OfficeResourceLoader"/>
<singleton name="com.sun.star.resource.OfficeResourceLoader"/>
</implementation>
+ <implementation name="org.libreoffice.extensions.resource.ResourceIndexAccess">
+ <service name="org.libreoffice.resource.ResourceIndexAccess"/>
+ </implementation>
</component>
diff --git a/extensions/source/resource/res_services.cxx b/extensions/source/resource/res_services.cxx
deleted file mode 100644
index 70d4bac12..000000000
--- a/extensions/source/resource/res_services.cxx
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-#include "res_services.hxx"
-
-/** === begin UNO using === **/
-using ::com::sun::star::uno::Reference;
-using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::uno::Exception;
-using ::com::sun::star::lang::XMultiServiceFactory;
-using ::com::sun::star::lang::XSingleServiceFactory;
-using ::com::sun::star::uno::UNO_QUERY;
-/** === end UNO using === **/
-
-#include <vector>
-
-namespace res
-{
- ::std::vector< ComponentInfo > getComponentInfos()
- {
- ::std::vector< ::res::ComponentInfo > aComponentInfos;
- aComponentInfos.push_back( getComponentInfo_VclStringResourceLoader() );
- aComponentInfos.push_back( getComponentInfo_OpenOfficeResourceLoader() );
- return aComponentInfos;
- }
-}
-
-extern "C" {
-
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, XMultiServiceFactory * /*pServiceManager*/, void * /*pRegistryKey*/ )
-{
- void * pRet = 0;
- ::std::vector< ::res::ComponentInfo > aComponentInfos( ::res::getComponentInfos() );
- for ( ::std::vector< ::res::ComponentInfo >::const_iterator loop = aComponentInfos.begin();
- loop != aComponentInfos.end();
- ++loop
- )
- {
- if ( 0 == loop->sImplementationName.compareToAscii( pImplName ) )
- {
- // create the factory
- Reference< XSingleServiceFactory > xFactory( ::cppu::createSingleComponentFactory(
- loop->pFactory, loop->sImplementationName, loop->aSupportedServices ),
- UNO_QUERY );
- // acquire, because we return an interface pointer instead of a reference
- xFactory->acquire();
- pRet = xFactory.get();
- }
- }
- return pRet;
-}
-
-} // extern "C"
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/res_services.hxx b/extensions/source/resource/res_services.hxx
deleted file mode 100644
index 3f47764e5..000000000
--- a/extensions/source/resource/res_services.hxx
+++ /dev/null
@@ -1,67 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef EXTENSIONS_RESOURCE_SERVICES_HXX
-#define EXTENSIONS_RESOURCE_SERVICES_HXX
-
-/** === begin UNO includes === **/
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-/** === end UNO includes === **/
-#include <cppuhelper/factory.hxx>
-
-//........................................................................
-namespace res
-{
-//........................................................................
-
- struct ComponentInfo
- {
- /// services supported by the component
- ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupportedServices;
- /// implementation name of the component
- ::rtl::OUString sImplementationName;
- /** name of the singleton instance of the component, if it is a singleton, empty otherwise
- If the component is a singleton, aSupportedServices must contain exactly one element.
- */
- ::rtl::OUString sSingletonName;
- /// factory for creating the component
- ::cppu::ComponentFactoryFunc pFactory;
- };
-
- ComponentInfo getComponentInfo_VclStringResourceLoader();
- ComponentInfo getComponentInfo_OpenOfficeResourceLoader();
-
-//........................................................................
-} // namespace res
-//........................................................................
-
-#endif // EXTENSIONS_RESOURCE_SERVICES_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/resource.cxx b/extensions/source/resource/resource.cxx
deleted file mode 100644
index 04161f7cb..000000000
--- a/extensions/source/resource/resource.cxx
+++ /dev/null
@@ -1,476 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-#include "res_services.hxx"
-
-#include <osl/mutex.hxx>
-#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type
-#include <cppuhelper/factory.hxx> // helper for factories
-#include <cppuhelper/implbase3.hxx> // helper for implementations
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/script/XInvocation.hpp>
-#include <com/sun/star/script/XTypeConverter.hpp>
-#include <com/sun/star/reflection/InvocationTargetException.hpp>
-#include <com/sun/star/beans/XExactName.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/beans/PropertyState.hpp>
-
-#include <tools/resmgr.hxx>
-#include <tools/rcid.h>
-#include <tools/resary.hxx>
-#include <vcl/svapp.hxx>
-
-#include <rtl/ustring.hxx>
-#include <rtl/strbuf.hxx>
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::script;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::reflection;
-
-using ::rtl::OUString;
-using ::rtl::OStringBuffer;
-using ::rtl::OUStringToOString;
-using ::rtl::OStringToOUString;
-
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-//------------------------------------------------------------------------
-class ResourceService : public cppu::WeakImplHelper3< XInvocation, XExactName, XServiceInfo >
-{
-public:
- ResourceService( const Reference< XMultiServiceFactory > & );
- ~ResourceService();
-
- // XServiceInfo
- OUString SAL_CALL getImplementationName() throw();
- sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw();
- Sequence< OUString > SAL_CALL getSupportedServiceNames(void) throw();
-
- static Sequence< OUString > getSupportedServiceNames_Static(void) throw();
- static OUString getImplementationName_Static() throw()
- {
- return OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.extensions.ResourceService"));
- }
- static Reference< XInterface > Create( const Reference< XComponentContext >& _rxContext );
-
- // XExactName
- OUString SAL_CALL getExactName( const OUString & ApproximateName ) throw(RuntimeException);
-
- // XInvokation
- Reference< XIntrospectionAccess > SAL_CALL getIntrospection(void) throw(RuntimeException);
- Any SAL_CALL invoke(const OUString& FunctionName, const Sequence< Any >& Params, Sequence< sal_Int16 >& OutParamIndex, Sequence< Any >& OutParam) throw(IllegalArgumentException, CannotConvertException, InvocationTargetException, RuntimeException);
- void SAL_CALL setValue(const OUString& PropertyName, const Any& Value) throw(UnknownPropertyException, CannotConvertException, InvocationTargetException, RuntimeException);
- Any SAL_CALL getValue(const OUString& PropertyName) throw(UnknownPropertyException, RuntimeException);
- sal_Bool SAL_CALL hasMethod(const OUString& Name) throw(RuntimeException);
- sal_Bool SAL_CALL hasProperty(const OUString& Name) throw(RuntimeException);
-private:
- Reference< XTypeConverter > getTypeConverter() const;
- Reference< XInvocation > getDefaultInvocation() const;
-
- Reference< XMultiServiceFactory > xSMgr;
- Reference< XInvocation > xDefaultInvocation;
- Reference< XTypeConverter > xTypeConverter;
- OUString aFileName;
- ResMgr * pResMgr;
-};
-
-
-//-----------------------------------------------------------------------------
-ResourceService::ResourceService( const Reference< XMultiServiceFactory > & rSMgr )
- : xSMgr( rSMgr )
- , pResMgr( NULL )
-{
-}
-
-//-----------------------------------------------------------------------------
-Reference< XInterface > ResourceService::Create( const Reference< XComponentContext >& _rxContext )
-{
- Reference< XMultiServiceFactory > xFactory( _rxContext->getServiceManager(), UNO_QUERY_THROW );
- return *( new ResourceService( xFactory ) );
-}
-
-//-----------------------------------------------------------------------------
-ResourceService::~ResourceService()
-{
- delete pResMgr;
-}
-
-// XServiceInfo
-OUString ResourceService::getImplementationName() throw()
-{
- return getImplementationName_Static();
-}
-
-// XServiceInfo
-sal_Bool SAL_CALL ResourceService::supportsService(const OUString& ServiceName) throw()
-{
- Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getConstArray();
- for( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return sal_True;
- return sal_False;
-}
-
-// XServiceInfo
-Sequence< OUString > SAL_CALL ResourceService::getSupportedServiceNames(void) throw()
-{
- return getSupportedServiceNames_Static();
-}
-
-// ResourceService
-Sequence< OUString > ResourceService::getSupportedServiceNames_Static(void) throw()
-{
- Sequence< OUString > aSNS( 1 );
- aSNS.getArray()[0] = OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.resource.VclStringResourceLoader"));
- return aSNS;
-}
-
-// ResourceService
-Reference< XTypeConverter > ResourceService::getTypeConverter() const
-{
- SolarMutexGuard aGuard;
- if( xSMgr.is() )
- {
- Reference< XTypeConverter > xConv( xSMgr->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.script.Converter" ))), UNO_QUERY );
- ((ResourceService*)this)->xTypeConverter = xConv;
- }
- return xTypeConverter;
-}
-
-// ResourceService
-Reference< XInvocation > ResourceService::getDefaultInvocation() const
-{
- SolarMutexGuard aGuard;
- /* f�hrt zur Zeit noch zu einer rekursion
- if( xSMgr.is() )
- {
- Reference< XSingleServiceFactory > xFact( xSMgr->createInstance( OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.script.Invocation")) ), UNO_QUERY );
- if( xFact.is() )
- {
- Sequence< Any > aArgs( 1 );
- Reference< XInterface > xThis( *this );
- aArgs.getArray()[0].set( &xThis, XInterface_Reference< get >lection() );
- Reference< XInvokation > xI( xFact->createInstanceWithArguments( aArgs ), UNO_QUERY );
- ((ResourceService*)this)->xDefaultInvocation = xI;
- }
- }
- */
- return xDefaultInvocation;
-}
-
-// XExactName
-OUString SAL_CALL ResourceService::getExactName( const OUString & ApproximateName ) throw(RuntimeException)
-{
- OUString aName( ApproximateName );
- aName = aName.toAsciiLowerCase();
- if( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("filename")) )
- return OUString(RTL_CONSTASCII_USTRINGPARAM("FileName"));
- else if( aName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("getstring" ) ))
- return OUString(RTL_CONSTASCII_USTRINGPARAM("getString"));
- else if( aName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("getstrings" ) ))
- return OUString(RTL_CONSTASCII_USTRINGPARAM("getStrings"));
- else if( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasstring")) )
- return OUString(RTL_CONSTASCII_USTRINGPARAM("hasString"));
- else if( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasstrings")) )
- return OUString(RTL_CONSTASCII_USTRINGPARAM("hasStrings"));
- else if( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getstringlist")) )
- return OUString(RTL_CONSTASCII_USTRINGPARAM("getStringList"));
- else if( aName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasStringList")) )
- return OUString(RTL_CONSTASCII_USTRINGPARAM("hasStringList"));
- Reference< XExactName > xEN( getDefaultInvocation(), UNO_QUERY );
- if( xEN.is() )
- return xEN->getExactName( ApproximateName );
- return OUString();
-}
-
-// XInvokation
-Reference< XIntrospectionAccess > SAL_CALL ResourceService::getIntrospection(void)
- throw(RuntimeException)
-{
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- return xI->getIntrospection();
- return Reference< XIntrospectionAccess >();
-}
-
-// XInvokation
-Any SAL_CALL ResourceService::invoke
-(
- const OUString& FunctionName,
- const Sequence< Any >& Params,
- Sequence< sal_Int16 >& OutParamIndex,
- Sequence< Any >& OutParam
-)
- throw(IllegalArgumentException, CannotConvertException, InvocationTargetException, RuntimeException)
-{
- Any aRet;
- if( FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getString"))
- || FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("getStrings" ) )
- || FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("hasString" ) )
- || FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("hasStrings" ) )
- )
- {
- sal_Int32 nElements = Params.getLength();
- if( nElements < 1 )
- throw IllegalArgumentException();
- if( nElements > 1 && (FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getString")) || FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasString")) ) )
- throw IllegalArgumentException();
- if( !pResMgr )
- throw IllegalArgumentException();
-
- Sequence< OUString > aStrings( Params.getLength() );
- Sequence< sal_Bool > aBools( Params.getLength() );
- const Any* pIn = Params.getConstArray();
- OUString* pOutString = aStrings.getArray();
- sal_Bool* pOutBool = aBools.getArray();
-
- Reference< XTypeConverter > xC = getTypeConverter();
- bool bGetBranch = FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "getString" ) ) || FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "getStrings" ) );
-
- SolarMutexGuard aGuard;
- for( sal_Int32 n = 0; n < nElements; n++ )
- {
- sal_Int32 nId = 0;
- if( !(pIn[n] >>= nId) )
- {
- if( xC.is() )
- {
- xC->convertToSimpleType( pIn[n], TypeClass_LONG ) >>= nId;
- }
- else
- throw CannotConvertException();
- }
- if( nId > 0xFFFF || nId < 0 )
- throw IllegalArgumentException();
-
- if( bGetBranch )
- {
- ResId aId( (sal_uInt16)nId, *pResMgr );
- aId.SetRT( RSC_STRING );
- if( pResMgr->IsAvailable( aId ) )
- {
- String aStr( aId );
- pOutString[n] = aStr;
- }
- else
- throw IllegalArgumentException();
- }
- else // hasString(s)
- {
- sal_Bool bRet = sal_False;
- if( pResMgr )
- {
- ResId aId( (sal_uInt16)nId, *pResMgr );
- aId.SetRT( RSC_STRING );
- bRet = pResMgr->IsAvailable( aId );
- }
- pOutBool[n] = bRet;
- }
- }
- if( FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getString")) )
- aRet <<= pOutString[0];
- else if( FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("getStrings" ) ) )
- aRet <<= aStrings;
- else if( FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("hasString" ) ) )
- aRet <<= pOutBool[0];
- else
- aRet <<= aBools;
- }
- else if( FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getStringList")) || FunctionName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("hasStringList" ) ) )
- {
- if( Params.getLength() != 1 )
- throw IllegalArgumentException();
- Reference< XTypeConverter > xC = getTypeConverter();
- SolarMutexGuard aGuard;
-
- sal_Int32 nId = 0;
- if( !(Params.getConstArray()[0] >>= nId) )
- {
- if( xC.is() )
- {
- xC->convertToSimpleType( Params.getConstArray()[0], TypeClass_LONG ) >>= nId;
- }
- else
- throw CannotConvertException();
- }
-
- if( FunctionName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getStringList")) )
- {
- ResId aId( (sal_uInt16)nId, *pResMgr );
- aId.SetRT( RSC_STRINGARRAY );
- if( pResMgr->IsAvailable( aId ) )
- {
- ResStringArray aStr( aId );
- int nEntries = aStr.Count();
- Sequence< PropertyValue > aPropSeq( nEntries );
- PropertyValue* pOut = aPropSeq.getArray();
- for( int i = 0; i < nEntries; i++ )
- {
- pOut[i].Name = aStr.GetString( i );
- pOut[i].Handle = -1;
- pOut[i].Value <<= aStr.GetValue( i );
- pOut[i].State = PropertyState_DIRECT_VALUE;
- }
- aRet <<= aPropSeq;
- }
- else
- throw IllegalArgumentException();
- }
- else // hasStringList
- {
- sal_Bool bRet = sal_False;
- if( pResMgr )
- {
- ResId aId( (sal_uInt16)nId, *pResMgr );
- aId.SetRT( RSC_STRINGARRAY );
- bRet = pResMgr->IsAvailable( aId );
- }
- aRet <<= bRet;
- }
- }
- else
- {
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- return xI->invoke( FunctionName, Params, OutParamIndex, OutParam );
- else
- throw IllegalArgumentException();
- }
- return aRet;
-}
-
-// XInvokation
-void SAL_CALL ResourceService::setValue(const OUString& PropertyName, const Any& Value)
- throw(UnknownPropertyException, CannotConvertException, InvocationTargetException, RuntimeException)
-{
- if( PropertyName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("FileName")) )
- {
- OUString aName;
- if( !(Value >>= aName) )
- {
- Reference< XTypeConverter > xC = getTypeConverter();
- if( xC.is() )
- xC->convertToSimpleType( Value, TypeClass_STRING ) >>= aName;
- else
- throw CannotConvertException();
- }
-
- SolarMutexGuard aGuard;
- OStringBuffer aBuf( aName.getLength()+8 );
- aBuf.append( OUStringToOString( aName, osl_getThreadTextEncoding() ) );
- ResMgr * pRM = ResMgr::CreateResMgr( aBuf.getStr() );
- if( !pRM )
- throw InvocationTargetException();
- if( pResMgr )
- delete pResMgr;
- pResMgr = pRM;
- aFileName = OStringToOUString( aBuf.makeStringAndClear(), osl_getThreadTextEncoding() );
- }
- else
- {
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- xI->setValue( PropertyName, Value );
- else
- throw UnknownPropertyException();
- }
-}
-
-// XInvokation
-Any SAL_CALL ResourceService::getValue(const OUString& PropertyName)
- throw(UnknownPropertyException, RuntimeException)
-{
- SolarMutexGuard aGuard;
- if( PropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("FileName" ) ))
- return makeAny( aFileName );
-
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- return xI->getValue( PropertyName );
-
- throw UnknownPropertyException();
-}
-
-// XInvokation
-sal_Bool SAL_CALL ResourceService::hasMethod(const OUString& Name)
- throw(RuntimeException)
-{
- if( Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getString")) ||
- Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getStrings")) ||
- Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasString")) ||
- Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasStrings")) ||
- Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("getStringList")) ||
- Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("hasStringList"))
- )
- return sal_True;
- else
- {
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- return xI->hasMethod( Name );
- else
- return sal_False;
- }
-}
-
-// XInvokation
-sal_Bool SAL_CALL ResourceService::hasProperty(const OUString& Name)
- throw(RuntimeException)
-{
- if( Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("FileName")) )
- return sal_True;
- else
- {
- Reference< XInvocation > xI = getDefaultInvocation();
- if( xI.is() )
- return xI->hasProperty( Name );
- else
- return sal_False;
- }
-}
-
-namespace res
-{
- ComponentInfo getComponentInfo_VclStringResourceLoader()
- {
- ComponentInfo aInfo;
- aInfo.aSupportedServices = ResourceService::getSupportedServiceNames_Static();
- aInfo.sImplementationName = ResourceService::getImplementationName_Static();
- aInfo.pFactory = &ResourceService::Create;
- return aInfo;
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/resourceservices.cxx b/extensions/source/resource/resourceservices.cxx
new file mode 100644
index 000000000..0a08bb526
--- /dev/null
+++ b/extensions/source/resource/resourceservices.cxx
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Major Contributor(s):
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include "precompiled_extensions.hxx"
+
+#include <ResourceIndexAccess.hxx>
+#include <oooresourceloader.hxx>
+#include <comphelper/servicedecl.hxx>
+#include <uno/environment.h>
+
+namespace sdecl = ::comphelper::service_decl;
+
+sdecl::class_< ::extensions::resource::ResourceIndexAccess, sdecl::with_args<true> > ResourceIndexAccessServiceImpl;
+sdecl::class_< ::extensions::resource::OpenOfficeResourceLoader> OpenOfficeResourceLoaderServiceImpl;
+
+const sdecl::ServiceDecl ResourceIndexAccessDecl(
+ ResourceIndexAccessServiceImpl,
+ "org.libreoffice.extensions.resource.ResourceIndexAccess",
+ "org.libreoffice.resource.ResourceIndexAccess");
+
+const sdecl::ServiceDecl OpenOfficeResourceLoaderDecl(
+ OpenOfficeResourceLoaderServiceImpl,
+ "com.sun.star.comp.resource.OpenOfficeResourceLoader",
+ "com.sun.star.resource.OfficeResourceLoader");
+
+COMPHELPER_SERVICEDECL_EXPORTS2(
+ ResourceIndexAccessDecl,
+ OpenOfficeResourceLoaderDecl
+);
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/scanner/exports.dxp b/extensions/source/scanner/exports.dxp
index f0e1c6993..700330789 100644
--- a/extensions/source/scanner/exports.dxp
+++ b/extensions/source/scanner/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx
index a0aedbbd7..9d6ef73bd 100644
--- a/extensions/source/scanner/sanedlg.cxx
+++ b/extensions/source/scanner/sanedlg.cxx
@@ -39,6 +39,7 @@
#include <grid.hxx>
#include <math.h>
#include <sal/macros.h>
+#include <rtl/strbuf.hxx>
ResId SaneResId( sal_uInt32 nID )
{
@@ -1270,9 +1271,10 @@ void SaneDlg::SaveState()
sal_Bool bValue;
if( mrSane.GetOptionValue( nOption, bValue ) )
{
- ByteString aString( "BOOL=" );
- aString += ByteString::CreateFromInt32(bValue);
- aConfig.WriteKey( aOption, aString );
+ rtl::OStringBuffer aString(RTL_CONSTASCII_STRINGPARAM(
+ "BOOL="));
+ aString.append(static_cast<sal_Int32>(bValue));
+ aConfig.WriteKey(aOption, aString.makeStringAndClear());
}
}
break;
diff --git a/extensions/source/scanner/scnserv.cxx b/extensions/source/scanner/scnserv.cxx
index 0eefadb5c..ad74c1561 100644
--- a/extensions/source/scanner/scnserv.cxx
+++ b/extensions/source/scanner/scnserv.cxx
@@ -37,18 +37,6 @@
using namespace com::sun::star::registry;
-// ------------------------------------------
-// - component_getImplementationEnvironment -
-// ------------------------------------------
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, uno_Environment** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-// ------------------------
-// - component_getFactory -
-// ------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplName, void* pServiceManager, void* /*pRegistryKey*/ )
{
diff --git a/extensions/source/update/check/Jobs.xcu b/extensions/source/update/check/Jobs.xcu
index ed324650c..840d63069 100644
--- a/extensions/source/update/check/Jobs.xcu
+++ b/extensions/source/update/check/Jobs.xcu
@@ -8,7 +8,7 @@
</prop>
<node oor:name="Arguments">
<prop oor:name="AutoCheckEnabled" oor:type="xs:boolean" oor:op="replace">
- <value>false</value>
+ <value>true</value>
</prop>
<prop oor:name="LastCheck" oor:type="xs:long" oor:op="replace">
<value>0</value>
diff --git a/extensions/source/update/check/updatecheckjob.cxx b/extensions/source/update/check/updatecheckjob.cxx
index 949d47ec1..e2e85d308 100644
--- a/extensions/source/update/check/updatecheckjob.cxx
+++ b/extensions/source/update/check/updatecheckjob.cxx
@@ -381,13 +381,6 @@ static const cppu::ImplementationEntry kImplementations_entries[] =
//------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Environment **)
-{
- *aEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-
-//------------------------------------------------------------------------------
-
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
return cppu::component_getFactoryHelper(
diff --git a/extensions/source/update/feed/updatefeed.cxx b/extensions/source/update/feed/updatefeed.cxx
index 7e6f441d2..87d743945 100644
--- a/extensions/source/update/feed/updatefeed.cxx
+++ b/extensions/source/update/feed/updatefeed.cxx
@@ -844,13 +844,6 @@ static const cppu::ImplementationEntry kImplementations_entries[] =
//------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Environment **)
-{
- *aEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-
-//------------------------------------------------------------------------------
-
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
return cppu::component_getFactoryHelper(
diff --git a/extensions/source/update/ui/updatecheckui.cxx b/extensions/source/update/ui/updatecheckui.cxx
index f7aaf2b0c..8c5be1bdf 100644
--- a/extensions/source/update/ui/updatecheckui.cxx
+++ b/extensions/source/update/ui/updatecheckui.cxx
@@ -1044,13 +1044,6 @@ static const cppu::ImplementationEntry kImplementations_entries[] =
//------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char **aEnvTypeName, uno_Environment **)
-{
- *aEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
-}
-
-//------------------------------------------------------------------------------
-
extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(const sal_Char *pszImplementationName, void *pServiceManager, void *pRegistryKey)
{
return cppu::component_getFactoryHelper(
diff --git a/extensions/source/xmlextract/xmxuno.cxx b/extensions/source/xmlextract/xmxuno.cxx
index e7de536ee..d0366ce10 100644
--- a/extensions/source/xmlextract/xmxuno.cxx
+++ b/extensions/source/xmlextract/xmxuno.cxx
@@ -46,13 +46,6 @@ static REF( NMSP_UNO::XInterface ) SAL_CALL create_XMLExtractor( const REF( NMSP
extern "C"
{
-//==================================================================================================
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-//==================================================================================================
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/extensions/test/ole/cpnt/cpnt.cxx b/extensions/test/ole/cpnt/cpnt.cxx
index 41eba2633..c826a3c91 100644
--- a/extensions/test/ole/cpnt/cpnt.cxx
+++ b/extensions/test/ole/cpnt/cpnt.cxx
@@ -395,12 +395,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
return pRet;
}
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
// XTestSequence ============================================================================
Sequence<sal_Int8> SAL_CALL OComponent::methodByte(const Sequence< sal_Int8 >& aSeq) throw( RuntimeException )
diff --git a/extensions/test/ole/cpnt/exports.dxp b/extensions/test/ole/cpnt/exports.dxp
index a265aeec0..51703a046 100644
--- a/extensions/test/ole/cpnt/exports.dxp
+++ b/extensions/test/ole/cpnt/exports.dxp
@@ -1,3 +1,2 @@
component_writeInfo
component_getFactory
-component_getImplementationEnvironment \ No newline at end of file
diff --git a/extensions/test/sax/exports.dxp b/extensions/test/sax/exports.dxp
deleted file mode 100644
index e4bc69d23..000000000
--- a/extensions/test/sax/exports.dxp
+++ /dev/null
@@ -1,2 +0,0 @@
-exService_writeRegEntry
-exService_getFactory
diff --git a/extensions/test/sax/factory.hxx b/extensions/test/sax/factory.hxx
deleted file mode 100644
index a2d22acda..000000000
--- a/extensions/test/sax/factory.hxx
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-XInterfaceRef OSaxWriterTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception));
-UString OSaxWriterTest_getServiceName( ) THROWS( () );
-UString OSaxWriterTest_getImplementationName( ) THROWS( () );
-Sequence<UString> OSaxWriterTest_getSupportedServiceNames( ) THROWS( () );
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/test/sax/makefile.mk b/extensions/test/sax/makefile.mk
deleted file mode 100644
index 62e2706dd..000000000
--- a/extensions/test/sax/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=extensions
-TARGET=testsax
-USE_DEFFILE=TRUE
-ENABLE_EXCEPTIONS=TRUE
-# --- Settings -----------------------------------------------------
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-
-
-OBJFILES = $(SLO)$/testsax.obj $(SLO)$/testwriter.obj
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1OBJFILES= $(OBJFILES)
-
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-
-SHL1STDLIBS= \
- $(SALLIB) \
- $(TOOLSLIB)
-
-SHL1LIBS= $(LIB1TARGET)
-SHL1IMPLIB= i$(TARGET)
-SHL1DEPN= makefile.mk $(SHL1LIBS)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEF1EXPORTFILE= exports.dxp
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/extensions/test/sax/testsax.cxx b/extensions/test/sax/testsax.cxx
deleted file mode 100644
index 8f3ef9046..000000000
--- a/extensions/test/sax/testsax.cxx
+++ /dev/null
@@ -1,902 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-
-#include <stdio.h>
-#include <string.h>
-#include <smart/com/sun/star/test/XSimpleTest.hxx>
-
-#include <rtl/wstring.hxx>
-#include <osl/time.h>
-#include <usr/weak.hxx>
-#include <tools/string.hxx>
-#include <osl/conditn.hxx>
-
-#include <smart/com/sun/star/io/XOutputStream.hxx>
-#include <smart/com/sun/star/xml/sax/SAXParseException.hxx>
-#include <smart/com/sun/star/xml/sax/XParser.hxx>
-#include <smart/com/sun/star/xml/sax/XExtendedDocumentHandler.hxx>
-
-#include <smart/com/sun/star/lang/XMultiServiceFactory.hxx> // for the multiservice-factories
-#include <usr/factoryhlp.hxx>
-
-#include <usr/reflserv.hxx> // for EXTERN_SERVICE_CALLTYPE
-
-#include "factory.hxx"
-
-using namespace usr;
-
-#define BUILD_ERROR(expr, Message)\
- {\
- m_seqErrors.realloc( m_seqErrors.getLen() + 1 ); \
- m_seqExceptions.realloc( m_seqExceptions.getLen() + 1 ); \
- String str; \
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqErrors.getArray()[ m_seqErrors.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- }\
- ((void)0)
-
-
-#define WARNING_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- m_seqWarnings.realloc( m_seqErrors.getLen() +1 ); \
- String str;\
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqWarnings.getArray()[ m_seqWarnings.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- return; \
- }\
- ((void)0)
-
-#define ERROR_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- BUILD_ERROR(expr, Message );\
- return; \
- }\
- ((void)0)
-
-#define ERROR_EXCEPTION_ASSERT(expr, Message, Exception) \
- if( !(expr)) { \
- BUILD_ERROR(expr,Message);\
- m_seqExceptions.getArray()[ m_seqExceptions.getLen()-1] = UsrAny( Exception );\
- return; \
- } \
- ((void)0)
-
-/****
-* test szenarios :
-****/
-
-
-class OSaxParserTest :
- public XSimpleTest,
- public OWeakObject
-{
-public:
- OSaxParserTest( const XMultiServiceFactoryRef & rFactory ) : m_rFactory( rFactory )
- {
-
- }
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void testInvariant(const UString& TestName, const XInterfaceRef& TestObject)
- THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual INT32 test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual BOOL testPassed(void) THROWS( ( UsrSystemException) );
- virtual Sequence< UString > getErrors(void) THROWS( (UsrSystemException) );
- virtual Sequence< UsrAny > getErrorExceptions(void) THROWS( (UsrSystemException) );
- virtual Sequence< UString > getWarnings(void) THROWS( (UsrSystemException) );
-
-private:
- void testSimple( const XParserRef &r );
- void testNamespaces( const XParserRef &r );
- void testFile( const XParserRef &r );
- void testEncoding( const XParserRef &rParser );
- void testPerformance( const XParserRef &rParser );
-
-private:
- Sequence<UsrAny> m_seqExceptions;
- Sequence<UString> m_seqErrors;
- Sequence<UString> m_seqWarnings;
- XMultiServiceFactoryRef m_rFactory;
-};
-
-
-
-/**
-* for external binding
-**/
-XInterfaceRef OSaxParserTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception))
-{
- OSaxParserTest *p = new OSaxParserTest( rSMgr );
- XInterfaceRef xService = *p;
- return xService;
-}
-
-
-UString OSaxParserTest_getServiceName( ) THROWS( () )
-{
- return L"test.com.sun.star.xml.sax.Parser";
-}
-
-UString OSaxParserTest_getImplementationName( ) THROWS( () )
-{
- return L"test.extensions.xml.sax.Parser";
-}
-
-Sequence<UString> OSaxParserTest_getSupportedServiceNames( ) THROWS( () )
-{
- Sequence<UString> aRet(1);
-
- aRet.getArray()[0] = OSaxParserTest_getImplementationName( );
-
- return aRet;
-}
-
-
-BOOL OSaxParserTest::queryInterface( Uik uik , XInterfaceRef &rOut )
-{
- if( XSimpleTest::getSmartUik() == uik ) {
- rOut = (XSimpleTest *) this;
- }
- else {
- return OWeakObject::queryInterface( uik , rOut );
- }
- return TRUE;
-}
-
-
-void OSaxParserTest::testInvariant( const UString& TestName, const XInterfaceRef& TestObject )
- THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Parser" == TestName ) {
- XParserRef parser( TestObject , USR_QUERY );
-
- ERROR_ASSERT( parser.is() , "XDataInputStream cannot be queried" );
- }
-}
-
-
-INT32 OSaxParserTest::test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Parser" == TestName ) {
- try {
- if( 0 == hTestHandle ) {
- testInvariant( TestName , TestObject );
- }
- else {
-
- XParserRef parser( TestObject , USR_QUERY );
-
- if( 1 == hTestHandle ) {
- testSimple( parser );
- }
- else if( 2 == hTestHandle ) {
- testNamespaces( parser );
- }
- else if( 3 == hTestHandle ) {
- testEncoding( parser );
- }
- else if( 4 == hTestHandle ) {
- testFile( parser );
- }
- else if( 5 == hTestHandle ) {
- testPerformance( parser );
- }
- }
- }
- catch( Exception& e ) {
- BUILD_ERROR( 0 , UStringToString( e.getName() , CHARSET_SYSTEM ).GetCharStr() );
- }
- catch(...) {
- BUILD_ERROR( 0 , "unknown exception (Exception is not base class)" );
- }
-
- hTestHandle ++;
-
- if( hTestHandle >= 6) {
- // all tests finished.
- hTestHandle = -1;
- }
- }
- else {
- BUILD_ERROR( 0 , "service not supported by test." );
- }
- return hTestHandle;
-}
-
-
-
-BOOL OSaxParserTest::testPassed(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors.getLen() == 0;
-}
-
-
-Sequence< UString > OSaxParserTest::getErrors(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors;
-}
-
-
-Sequence< UsrAny > OSaxParserTest::getErrorExceptions(void) THROWS( (UsrSystemException) )
-{
- return m_seqExceptions;
-}
-
-
-Sequence< UString > OSaxParserTest::getWarnings(void) THROWS( (UsrSystemException) )
-{
- return m_seqWarnings;
-}
-
-XInputStreamRef createStreamFromSequence( const Sequence<BYTE> seqBytes , XMultiServiceFactoryRef &xSMgr )
-{
- XInterfaceRef xOutStreamService = xSMgr->createInstance( L"com.sun.star.io.Pipe" );
- OSL_ASSERT( xOutStreamService.is() );
- XOutputStreamRef rOutStream( xOutStreamService , USR_QUERY );
- OSL_ASSERT( rOutStream.is() );
-
- XInputStreamRef rInStream( xOutStreamService , USR_QUERY );
- OSL_ASSERT( rInStream.is() );
-
- rOutStream->writeBytes( seqBytes );
- rOutStream->flush();
- rOutStream->closeOutput();
-
- return rInStream;
-}
-
-XInputStreamRef createStreamFromFile( const char *pcFile , XMultiServiceFactoryRef &xSMgr )
-{
- FILE *f = fopen( pcFile , "rb" );
- XInputStreamRef r;
-
- if( f ) {
- fseek( f , 0 , SEEK_END );
- int nLength = ftell( f );
- fseek( f , 0 , SEEK_SET );
-
- Sequence<BYTE> seqIn(nLength);
- fread( seqIn.getArray() , nLength , 1 , f );
-
- r = createStreamFromSequence( seqIn , xSMgr );
- fclose( f );
- }
- return r;
-}
-
-
-
-
-
-
-
-
-
-#define PCHAR_TO_USTRING(x) StringToUString(String(x),CHARSET_PC_1252)
-#define USTRING_TO_PCHAR(x) UStringToString(x,CHARSET_PC_437).GetStr()
-
-
-
-class TestDocumentHandler :
- public XExtendedDocumentHandler,
- public XEntityResolver,
- public XErrorHandler,
- public OWeakObject
-{
-public:
- TestDocumentHandler( XMultiServiceFactoryRef &r , BOOL bPrint )
- {
- m_xSMgr = r;
- m_bPrint = bPrint;
- }
-
-
-public:
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-
-public: // Error handler
- virtual void error(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Error !\n" );
- THROW( SAXException( L"error from error handler" , XInterfaceRef() , aSAXParseException ) );
- }
- virtual void fatalError(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Fatal Error !\n" );
- }
- virtual void warning(const UsrAny& aSAXParseException) THROWS( (SAXException, UsrSystemException) )
- {
- printf( "Warning !\n" );
- }
-
-
-public: // ExtendedDocumentHandler
-
- virtual void startDocument(void) THROWS( (SAXException, UsrSystemException) )
- {
- m_iLevel = 0;
- m_iElementCount = 0;
- m_iAttributeCount = 0;
- m_iWhitespaceCount =0;
- m_iCharCount=0;
- if( m_bPrint ) {
- printf( "document started\n" );
- }
- }
- virtual void endDocument(void) THROWS( (SAXException, UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "document finished\n" );
- printf( "(ElementCount %d),(AttributeCount %d),(WhitespaceCount %d),(CharCount %d)\n",
- m_iElementCount, m_iAttributeCount, m_iWhitespaceCount , m_iCharCount );
- }
- }
- virtual void startElement(const UString& aName, const XAttributeListRef& xAttribs)
- THROWS( (SAXException,UsrSystemException) )
- {
-
- if( m_rLocator.is() ) {
- if( m_bPrint )
- printf( "%s(%d):" , USTRING_TO_PCHAR( m_rLocator->getSystemId() ) ,
- m_rLocator->getLineNumber() );
- }
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "<%s> " , USTRING_TO_PCHAR( aName ) );
-
- for( i = 0 ; i < xAttribs->getLength() ; i ++ ) {
- printf( "(%s,%s,'%s')" , USTRING_TO_PCHAR( xAttribs->getNameByIndex( i ) ) ,
- USTRING_TO_PCHAR( xAttribs->getTypeByIndex( i ) ) ,
- USTRING_TO_PCHAR( xAttribs->getValueByIndex( i ) ) );
- }
- printf( "\n" );
- }
- m_iLevel ++;
- m_iElementCount ++;
- m_iAttributeCount += xAttribs->getLength();
- }
- virtual void endElement(const UString& aName) THROWS( (SAXException,UsrSystemException) )
- {
- OSL_ASSERT( m_iLevel );
- m_iLevel --;
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "</%s>\n" , USTRING_TO_PCHAR( aName ) );
- }
- }
-
- virtual void characters(const UString& aChars) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- int i;
- for( i = 0; i < m_iLevel ; i ++ ) {
- printf( " " );
- }
- printf( "%s\n" , USTRING_TO_PCHAR( aChars ) );
- }
- m_iCharCount += aChars.len();
- }
- virtual void ignorableWhitespace(const UString& aWhitespaces) THROWS( (SAXException,UsrSystemException) )
- {
- m_iWhitespaceCount += aWhitespaces.len();
- }
-
- virtual void processingInstruction(const UString& aTarget, const UString& aData) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint )
- printf( "PI : %s,%s\n" , USTRING_TO_PCHAR( aTarget ) , USTRING_TO_PCHAR( aData ) );
- }
-
- virtual void setDocumentLocator(const XLocatorRef& xLocator) THROWS( (SAXException,UsrSystemException) )
- {
- m_rLocator = xLocator;
- }
-
- virtual InputSource resolveEntity(const UString& sPublicId, const UString& sSystemId)
- THROWS( (SAXException,UsrSystemException) )
- {
- InputSource source;
- source.sSystemId = sSystemId;
- source.sPublicId = sPublicId;
- source.aInputStream = createStreamFromFile( USTRING_TO_PCHAR( sSystemId ) , m_xSMgr );
-
- return source;
- }
-
- virtual void startCDATA(void) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "CDataStart :\n" );
- }
- }
- virtual void endCDATA(void) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "CEndStart :\n" );
- }
- }
- virtual void comment(const UString& sComment) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "<!--%s-->\n" , USTRING_TO_PCHAR( sComment ) );
- }
- }
- virtual void unknown(const UString& sString) THROWS( (SAXException,UsrSystemException) )
- {
- if( m_bPrint ) {
- printf( "UNKNOWN : {%s}\n" , USTRING_TO_PCHAR( sString ) );
- }
- }
-
- virtual void allowLineBreak( void) THROWS( (SAXException, UsrSystemException ) )
- {
-
- }
-
-
-public:
- int m_iLevel;
- int m_iElementCount;
- int m_iAttributeCount;
- int m_iWhitespaceCount;
- int m_iCharCount;
- BOOL m_bPrint;
-
- XMultiServiceFactoryRef m_xSMgr;
- XLocatorRef m_rLocator;
-};
-
-BOOL TestDocumentHandler::queryInterface( Uik aUik , XInterfaceRef & rOut )
-{
- if( aUik == XDocumentHandler::getSmartUik() ) {
- rOut = (XDocumentHandler * )this;
- }
- else if ( aUik == XExtendedDocumentHandler::getSmartUik() ) {
- rOut = (XExtendedDocumentHandler *) this;
- }
- else if ( aUik == XEntityResolver::getSmartUik() ) {
- rOut = (XEntityResolver *) this;
- }
- else if ( aUik == XErrorHandler::getSmartUik() ) {
- rOut = (XErrorHandler * ) this;
- }
- else {
- return OWeakObject::queryInterface( aUik , rOut );
- }
- return TRUE;
-}
-
-
-
-
-void OSaxParserTest::testSimple( const XParserRef &rParser )
-{
-
- char TestString[] =
- "<!DOCTYPE personnel [\n"
- "<!ENTITY testInternal \"internal Test!\">\n"
- "<!ENTITY test SYSTEM \"external_entity.xml\">\n"
- "]>\n"
-
- "<personnel>\n"
- "<person> fjklsfdklsdfkl\n"
- "fjklsfdklsdfkl\n"
- "<?testpi pidata?>\n"
- "&testInternal;\n"
- "<HUHU x='5' y='kjfd'> blahuhu\n"
- "<HI> blahi\n"
- " <![CDATA[<greeting>Hello, '+1+12world!</greeting>]]>\n"
- " <!-- huhu <jdk> -->\n"
- "<?testpi pidata?>\n"
- "</HI>\n"
- "aus XMLTest\n"
- "</HUHU>\n"
- "</person>\n"
- "</personnel>\n\n\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
-
- try {
- rParser->parseStream( source );
- ERROR_ASSERT( pDocHandler->m_iElementCount == 4 , "wrong element count" );
- ERROR_ASSERT( pDocHandler->m_iAttributeCount == 2 , "wrong attribut count" );
- ERROR_ASSERT( pDocHandler->m_iCharCount == 130 , "wrong char count" );
- ERROR_ASSERT( pDocHandler->m_iWhitespaceCount == 0, "wrong whitespace count" );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
-
- }
-
-
-}
-
-void OSaxParserTest::testNamespaces( const XParserRef &rParser )
-{
-
- char TestString[] =
- "<?xml version='1.0'?>\n"
- "<!-- all elements here are explicitly in the HTML namespace -->\n"
- "<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>\n"
- "<html:head><html:title>Frobnostication</html:title></html:head>\n"
- "<html:body><html:p>Moved to \n"
- "<html:a href='http://frob.com'>here.</html:a></html:p></html:body>\n"
- "</html:html>\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
-
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
-
- try {
- rParser->parseStream( source );
- ERROR_ASSERT( pDocHandler->m_iElementCount == 6 , "wrong element count" );
- ERROR_ASSERT( pDocHandler->m_iAttributeCount == 2 , "wrong attribut count" );
- ERROR_ASSERT( pDocHandler->m_iCharCount == 33, "wrong char count" );
- ERROR_ASSERT( pDocHandler->m_iWhitespaceCount == 0 , "wrong whitespace count" );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
- }
-}
-
-void OSaxParserTest::testEncoding( const XParserRef &rParser )
-{
- char TestString[] =
- "<?xml version='1.0' encoding=\"iso-8859-1\"?>\n"
- "<!-- all elements here are explicitly in the HTML namespace -->\n"
- "<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>\n"
- "<html:head><html:title>Frobnostication</html:title></html:head>\n"
- "<html:body><html:p>Moved to ß\n"
- "<html:a href='http://frob.com'>here.</html:a></html:p></html:body>\n"
- "</html:html>\n";
-
- Sequence<BYTE> seqBytes( strlen( TestString ) );
- memcpy( seqBytes.getArray() , TestString , strlen( TestString ) );
-
-
- XInputStreamRef rInStream;
- UString sInput;
-
- rInStream = createStreamFromSequence( seqBytes , m_rFactory );
- sInput = UString( L"internal" );
-
- if( rParser.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- try {
- rParser->parseStream( source );
- }
- catch( SAXParseException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch( SAXException& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
-
- }
- catch( Exception& e ) {
- BUILD_ERROR( 1 , USTRING_TO_PCHAR( e.Message ) );
- }
- catch(...) {
- BUILD_ERROR( 1 , "unknown exception" );
- }
-
- }
-
-}
-
-void OSaxParserTest::testFile( const XParserRef & rParser )
-{
-
- XInputStreamRef rInStream = createStreamFromFile( "testsax.xml" , m_rFactory );
- UString sInput = UString( PCHAR_TO_USTRING( "testsax.xml" ) );
-
-
- if( rParser.is() && rInStream.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , TRUE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
- XErrorHandlerRef rErrorHandler( ( XErrorHandler * )pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- rParser->setErrorHandler( rErrorHandler );
-
- try {
- rParser->parseStream( source );
- }
- catch( SAXParseException& e ) {
- UsrAny any;
- any.set( &e , SAXParseException_getReflection() );
- while(TRUE) {
- SAXParseException *pEx;
- if( any.getReflection() == SAXParseException_getReflection() ) {
- pEx = ( SAXParseException * ) any.get();
- printf( "%s\n" , UStringToString( pEx->Message , CHARSET_SYSTEM ).GetStr() );
- any = pEx->WrappedException;
- }
- else {
- break;
- }
- }
- }
- catch( SAXException& e ) {
- printf( "%s\n" , UStringToString( e.Message , CHARSET_SYSTEM ).GetStr() );
-
- }
- catch( Exception& e ) {
- printf( "normal exception ! %s\n", e.getName() );
- }
- catch(...) {
- printf( "any exception !!!!\n" );
- }
- }
-}
-
-void OSaxParserTest::testPerformance( const XParserRef & rParser )
-{
-
- XInputStreamRef rInStream = createStreamFromFile( "testPerformance.xml" , m_rFactory );
- UString sInput = UString( PCHAR_TO_USTRING( "testperformance.xml" ) );
-
- if( rParser.is() && rInStream.is() ) {
- InputSource source;
-
- source.aInputStream = rInStream;
- source.sSystemId = sInput;
-
- TestDocumentHandler *pDocHandler = new TestDocumentHandler( m_rFactory , FALSE );
- XDocumentHandlerRef rDocHandler( (XDocumentHandler *) pDocHandler , USR_QUERY );
- XEntityResolverRef rEntityResolver( (XEntityResolver *) pDocHandler , USR_QUERY );
- XErrorHandlerRef rErrorHandler( ( XErrorHandler * )pDocHandler , USR_QUERY );
-
- rParser->setDocumentHandler( rDocHandler );
- rParser->setEntityResolver( rEntityResolver );
- rParser->setErrorHandler( rErrorHandler );
-
- try {
- TimeValue aStartTime, aEndTime;
- osl_getSystemTime( &aStartTime );
- rParser->parseStream( source );
- osl_getSystemTime( &aEndTime );
-
- double fStart = (double)aStartTime.Seconds + ((double)aStartTime.Nanosec / 1000000000.0);
- double fEnd = (double)aEndTime.Seconds + ((double)aEndTime.Nanosec / 1000000000.0);
-
- printf( "Performance reading : %g s\n" , fEnd - fStart );
-
- }
- catch( SAXParseException& e ) {
- UsrAny any;
- any.set( &e , SAXParseException_getReflection() );
- while(TRUE) {
- SAXParseException *pEx;
- if( any.getReflection() == SAXParseException_getReflection() ) {
- pEx = ( SAXParseException * ) any.get();
- printf( "%s\n" , UStringToString( pEx->Message , CHARSET_SYSTEM ).GetStr() );
- any = pEx->WrappedException;
- }
- else {
- break;
- }
- }
- }
- catch( SAXException& e ) {
- printf( "%s\n" , UStringToString( e.Message , CHARSET_SYSTEM ).GetStr() );
-
- }
- catch( Exception& e ) {
- printf( "normal exception ! %s\n", e.getName() );
- }
- catch(...) {
- printf( "any exception !!!!\n" );
- }
- }
-
-}
-
-
-extern "C"
-{
-BOOL EXTERN_SERVICE_CALLTYPE exService_writeRegEntry(
- const UNO_INTERFACE(XRegistryKey)* xUnoKey)
-
-{
- XRegistryKeyRef xKey;
- uno2smart(xKey, *xUnoKey);
-
- UString str = UString( L"/" ) + OSaxParserTest_getImplementationName() + UString( L"/UNO/SERVICES" );
- XRegistryKeyRef xNewKey = xKey->createKey( str );
- xNewKey->createKey( OSaxParserTest_getServiceName() );
-
- str = UString( L"/" ) + OSaxWriterTest_getImplementationName() + UString( L"/UNO/SERVICES" );
- xNewKey = xKey->createKey( str );
- xNewKey->createKey( OSaxWriterTest_getServiceName() );
-
- return TRUE;
-}
-
-
-UNO_INTERFACE(XInterface) EXTERN_SERVICE_CALLTYPE exService_getFactory
-(
- const wchar_t* implementationName,
- const UNO_INTERFACE(XMultiServiceFactory)* xUnoFact,
- const UNO_INTERFACE(XRegistryKey)*
-)
-{
- UNO_INTERFACE(XInterface) xUnoRet = {0, 0};
-
- XInterfaceRef xRet;
- XMultiServiceFactoryRef xSMgr;
- UString aImplementationName(implementationName);
-
- uno2smart(xSMgr, *xUnoFact);
-
- if (aImplementationName == OSaxWriterTest_getImplementationName() )
- {
- xRet = createSingleFactory( xSMgr, implementationName,
- OSaxWriterTest_CreateInstance,
- OSaxWriterTest_getSupportedServiceNames() );
- }
- else if (aImplementationName == OSaxParserTest_getImplementationName() )
- {
- xRet = createSingleFactory( xSMgr, implementationName,
- OSaxParserTest_CreateInstance,
- OSaxParserTest_getSupportedServiceNames() );
- }
- if (xRet.is())
- {
- smart2uno(xRet, xUnoRet);
- }
-
- return xUnoRet;
-}
-
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/test/sax/testwriter.cxx b/extensions/test/sax/testwriter.cxx
deleted file mode 100644
index 5877e39fc..000000000
--- a/extensions/test/sax/testwriter.cxx
+++ /dev/null
@@ -1,758 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_extensions.hxx"
-
-#include <vector>
-#include <smart/com/sun/star/test/XSimpleTest.hxx>
-#include <smart/com/sun/star/lang/XMultiServiceFactory.hxx> // for the multiservice-factories
-
-#include <stdio.h>
-
-#include <smart/com/sun/star/io/XActiveDataSource.hxx>
-#include <smart/com/sun/star/io/XOutputStream.hxx>
-#include <smart/com/sun/star/xml/sax/SAXParseException.hxx>
-#include <smart/com/sun/star/xml/sax/XParser.hxx>
-#include <smart/com/sun/star/xml/sax/XExtendedDocumentHandler.hxx>
-
-#include <rtl/wstring.hxx>
-#include <osl/time.h>
-#include <usr/weak.hxx>
-#include <tools/string.hxx>
-
-#include <usr/factoryhlp.hxx>
-
-#include <usr/reflserv.hxx> // for EXTERN_SERVICE_CALLTYPE
-
-using namespace std;
-using namespace usr;
-
-#define BUILD_ERROR(expr, Message)\
- {\
- m_seqErrors.realloc( m_seqErrors.getLen() + 1 ); \
- m_seqExceptions.realloc( m_seqExceptions.getLen() + 1 ); \
- String str; \
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqErrors.getArray()[ m_seqErrors.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- }\
- ((void)0)
-
-
-#define WARNING_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- m_seqWarnings.realloc( m_seqErrors.getLen() +1 ); \
- String str;\
- str += __FILE__;\
- str += " "; \
- str += "(" ; \
- str += __LINE__ ;\
- str += ")\n";\
- str += "[ " ; \
- str += #expr; \
- str += " ] : " ; \
- str += Message; \
- m_seqWarnings.getArray()[ m_seqWarnings.getLen()-1] = StringToUString( str , CHARSET_SYSTEM ); \
- return; \
- }\
- ((void)0)
-
-#define ERROR_ASSERT(expr, Message) \
- if( ! (expr) ) { \
- BUILD_ERROR(expr, Message );\
- return; \
- }\
- ((void)0)
-
-#define ERROR_EXCEPTION_ASSERT(expr, Message, Exception) \
- if( !(expr)) { \
- BUILD_ERROR(expr,Message);\
- m_seqExceptions.getArray()[ m_seqExceptions.getLen()-1] = UsrAny( Exception );\
- return; \
- } \
- ((void)0)
-
-/****
-* test szenarios :
-****/
-
-
-class OFileWriter :
- public XOutputStream,
- public OWeakObject
-{
-public:
- OFileWriter( char *pcFile ) { strcpy( m_pcFile , pcFile ); m_f = 0; }
-
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut )
- {
- if( XOutputStream::getSmartUik() == aUik ) {
- rOut = (XOutputStream *) this;
- }
- else return OWeakObject::queryInterface( aUik , rOut );
-
- return TRUE;
- }
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void writeBytes(const Sequence< BYTE >& aData)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
- virtual void flush(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
- virtual void closeOutput(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) );
-
-
-private:
- char m_pcFile[256];
- FILE *m_f;
-};
-
-
-void OFileWriter::writeBytes(const Sequence< BYTE >& aData)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- if( ! m_f ) {
- m_f = fopen( m_pcFile , "w" );
- }
-
- fwrite( aData.getConstArray() , 1 , aData.getLen() , m_f );
-
-}
-
-
-void OFileWriter::flush(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- fflush( m_f );
-}
-
-void OFileWriter::closeOutput(void)
- THROWS( (NotConnectedException, BufferSizeExceededException, UsrSystemException) )
-{
- fclose( m_f );
- m_f = 0;
-}
-
-
-class OSaxWriterTest :
- public XSimpleTest,
- public OWeakObject
-{
-public:
- OSaxWriterTest( const XMultiServiceFactoryRef & rFactory ) : m_rFactory( rFactory )
- {
-
- }
- ~OSaxWriterTest() {}
-
-public: // refcounting
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual void testInvariant(const UString& TestName, const XInterfaceRef& TestObject)
- THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual INT32 test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) );
-
- virtual BOOL testPassed(void) THROWS( ( UsrSystemException) );
- virtual Sequence< UString > getErrors(void) THROWS( (UsrSystemException) );
- virtual Sequence< UsrAny > getErrorExceptions(void) THROWS( (UsrSystemException) );
- virtual Sequence< UString > getWarnings(void) THROWS( (UsrSystemException) );
-
-private:
- void testSimple( const XExtendedDocumentHandlerRef &r );
- void testExceptions( const XExtendedDocumentHandlerRef &r );
- void testDTD( const XExtendedDocumentHandlerRef &r );
- void testPerformance( const XExtendedDocumentHandlerRef &r );
- void writeParagraph( const XExtendedDocumentHandlerRef &r , const UString & s);
-
-private:
- Sequence<UsrAny> m_seqExceptions;
- Sequence<UString> m_seqErrors;
- Sequence<UString> m_seqWarnings;
- XMultiServiceFactoryRef m_rFactory;
-
-};
-
-
-
-/*----------------------------------------
-*
-* Attributlist implementation
-*
-*----------------------------------------*/
-struct AttributeListImpl_impl;
-class AttributeListImpl :
- public XAttributeList,
- public OWeakObject
-{
-public:
- AttributeListImpl();
- AttributeListImpl( const AttributeListImpl & );
- ~AttributeListImpl();
-
-public:
- BOOL queryInterface( Uik aUik, XInterfaceRef & rOut );
- void acquire() { OWeakObject::acquire(); }
- void release() { OWeakObject::release(); }
- void* getImplementation(Reflection *p) { return OWeakObject::getImplementation(p); }
-
-public:
- virtual INT16 getLength(void) THROWS( (UsrSystemException) );
- virtual UString getNameByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getTypeByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getTypeByName(const UString& aName) THROWS( (UsrSystemException) );
- virtual UString getValueByIndex(INT16 i) THROWS( (UsrSystemException) );
- virtual UString getValueByName(const UString& aName) THROWS( (UsrSystemException) );
-
-public:
- void addAttribute( const UString &sName , const UString &sType , const UString &sValue );
- void clear();
-
-private:
- struct AttributeListImpl_impl *m_pImpl;
-};
-
-
-struct TagAttribute
-{
- TagAttribute(){}
- TagAttribute( const UString &sName, const UString &sType , const UString &sValue )
- {
- this->sName = sName;
- this->sType = sType;
- this->sValue = sValue;
- }
-
- UString sName;
- UString sType;
- UString sValue;
-};
-
-struct AttributeListImpl_impl
-{
- AttributeListImpl_impl()
- {
- // performance improvement during adding
- vecAttribute.reserve(20);
- }
- vector<struct TagAttribute> vecAttribute;
-};
-
-
-
-INT16 AttributeListImpl::getLength(void) THROWS( (UsrSystemException) )
-{
- return m_pImpl->vecAttribute.size();
-}
-
-
-AttributeListImpl::AttributeListImpl( const AttributeListImpl &r )
-{
- m_pImpl = new AttributeListImpl_impl;
- *m_pImpl = *(r.m_pImpl);
-}
-
-UString AttributeListImpl::getNameByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sName;
- }
- return UString();
-}
-
-
-UString AttributeListImpl::getTypeByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sType;
- }
- return UString();
-}
-
-UString AttributeListImpl::getValueByIndex(INT16 i) THROWS( (UsrSystemException) )
-{
- if( i < m_pImpl->vecAttribute.size() ) {
- return m_pImpl->vecAttribute[i].sValue;
- }
- return UString();
-
-}
-
-UString AttributeListImpl::getTypeByName( const UString& sName ) THROWS( (UsrSystemException) )
-{
- vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
- for (; ii != m_pImpl->vecAttribute.end(); ++ii)
- {
- if( (*ii).sName == sName )
- {
- return (*ii).sType;
- }
- }
- return UString();
-}
-
-UString AttributeListImpl::getValueByName(const UString& sName) THROWS( (UsrSystemException) )
-{
- vector<struct TagAttribute>::iterator ii = m_pImpl->vecAttribute.begin();
-
- for (; ii != m_pImpl->vecAttribute.end(); ++ii)
- {
- if( (*ii).sName == sName )
- {
- return (*ii).sValue;
- }
- }
- return UString();
-}
-
-
-BOOL AttributeListImpl::queryInterface( Uik aUik, XInterfaceRef & rOut )
-{
- if( aUik == XAttributeList::getSmartUik() ) {
- rOut = (XAttributeList * )this;
- }
- else {
- return OWeakObject::queryInterface( aUik , rOut );
- }
- return TRUE;
-}
-
-
-AttributeListImpl::AttributeListImpl()
-{
- m_pImpl = new AttributeListImpl_impl;
-}
-
-
-
-AttributeListImpl::~AttributeListImpl()
-{
- delete m_pImpl;
-}
-
-
-void AttributeListImpl::addAttribute( const UString &sName ,
- const UString &sType ,
- const UString &sValue )
-{
- m_pImpl->vecAttribute.push_back( TagAttribute( sName , sType , sValue ) );
-}
-
-void AttributeListImpl::clear()
-{
- vector<struct TagAttribute> dummy;
- m_pImpl->vecAttribute.swap( dummy );
-
- OSL_ASSERT( ! getLength() );
-}
-
-/**
-* for external binding
-**/
-XInterfaceRef OSaxWriterTest_CreateInstance( const XMultiServiceFactoryRef & rSMgr ) THROWS((Exception))
-{
- OSaxWriterTest *p = new OSaxWriterTest( rSMgr );
- XInterfaceRef xService = *p;
- return xService;
-}
-
-UString OSaxWriterTest_getServiceName( ) THROWS( () )
-{
- return L"test.com.sun.star.xml.sax.Writer";
-}
-
-UString OSaxWriterTest_getImplementationName( ) THROWS( () )
-{
- return L"test.extensions.xml.sax.Writer";
-}
-
-Sequence<UString> OSaxWriterTest_getSupportedServiceNames( ) THROWS( () )
-{
- Sequence<UString> aRet(1);
-
- aRet.getArray()[0] = OSaxWriterTest_getImplementationName( );
-
- return aRet;
-}
-
-
-BOOL OSaxWriterTest::queryInterface( Uik uik , XInterfaceRef &rOut )
-{
- if( XSimpleTest::getSmartUik() == uik ) {
- rOut = (XSimpleTest *) this;
- }
- else {
- return OWeakObject::queryInterface( uik , rOut );
- }
- return TRUE;
-}
-
-
-void OSaxWriterTest::testInvariant( const UString& TestName, const XInterfaceRef& TestObject )
- THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Writer" == TestName ) {
- XDocumentHandlerRef doc( TestObject , USR_QUERY );
- XExtendedDocumentHandlerRef ext( TestObject , USR_QUERY );
- XActiveDataSourceRef source( TestObject , USR_QUERY );
-
- ERROR_ASSERT( doc.is() , "XDocumentHandler cannot be queried" );
- ERROR_ASSERT( ext.is() , "XExtendedDocumentHandler cannot be queried" );
- ERROR_ASSERT( source.is() , "XActiveDataSource cannot be queried" );
- }
- else {
- BUILD_ERROR( 0 , "wrong test" );
- }
-}
-
-
-INT32 OSaxWriterTest::test( const UString& TestName,
- const XInterfaceRef& TestObject,
- INT32 hTestHandle) THROWS( ( IllegalArgumentException,
- UsrSystemException) )
-{
- if( L"com.sun.star.xml.sax.Writer" == TestName ) {
- try {
- if( 0 == hTestHandle ) {
- testInvariant( TestName , TestObject );
- }
- else {
-
- XExtendedDocumentHandlerRef writer( TestObject , USR_QUERY );
-
- if( 1 == hTestHandle ) {
- testSimple( writer );
- }
- else if( 2 == hTestHandle ) {
- testExceptions( writer );
- }
- else if( 3 == hTestHandle ) {
- testDTD( writer );
- }
- else if( 4 == hTestHandle ) {
- testPerformance( writer );
- }
- }
- }
- catch( Exception& e ) {
- BUILD_ERROR( 0 , UStringToString( e.getName() , CHARSET_SYSTEM ).GetCharStr() );
- }
- catch(...) {
- BUILD_ERROR( 0 , "unknown exception (Exception is not base class)" );
- }
-
- hTestHandle ++;
-
- if( hTestHandle >= 5) {
- // all tests finished.
- hTestHandle = -1;
- }
- }
- else {
- BUILD_ERROR( 0 , "service not supported by test." );
- }
- return hTestHandle;
-}
-
-
-
-BOOL OSaxWriterTest::testPassed(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors.getLen() == 0;
-}
-
-
-Sequence< UString > OSaxWriterTest::getErrors(void) THROWS( (UsrSystemException) )
-{
- return m_seqErrors;
-}
-
-
-Sequence< UsrAny > OSaxWriterTest::getErrorExceptions(void) THROWS( (UsrSystemException) )
-{
- return m_seqExceptions;
-}
-
-
-Sequence< UString > OSaxWriterTest::getWarnings(void) THROWS( (UsrSystemException) )
-{
- return m_seqWarnings;
-}
-
-void OSaxWriterTest::writeParagraph( const XExtendedDocumentHandlerRef &r , const UString & s)
-{
- int nMax = s.len();
- int nStart = 0;
-
- Sequence<UINT16> seq( s.len() );
- memcpy( seq.getArray() , s.getStr() , s.len() * sizeof( UINT16 ) );
-
- for( int n = 1 ; n < nMax ; n++ ){
- if( 32 == seq.getArray()[n] ) {
- r->allowLineBreak();
- r->characters( s.copy( nStart , n - nStart ) );
- nStart = n;
- }
- }
- r->allowLineBreak();
- r->characters( s.copy( nStart , n - nStart ) );
-
-
-}
-
-
-
-void OSaxWriterTest::testSimple( const XExtendedDocumentHandlerRef &r )
-{
- UString testParagraph = L"Dies ist ein bloeder Test um zu uberpruefen, ob der SAXWriter "
- L"wohl Zeilenumbrueche halbwegs richtig macht oder ob er die Zeile "
- L"bis zum bitteren Ende schreibt.";
-
- OFileWriter *pw = new OFileWriter("output.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- r->startDocument();
-
- pList->addAttribute( L"Arg1" , L"CDATA" , L"bla\n u" );
- pList->addAttribute( L"Arg2" , L"CDATA" , L"blub" );
-
- r->startElement( L"tag1" , rList );
- r->ignorableWhitespace( L"" );
-
- r->characters( L"huhu" );
- r->ignorableWhitespace( L"" );
-
- r->startElement( L"hi" , rList );
- r->ignorableWhitespace( L"" );
-
- // the enpassant must be converted & -> &amp;
- r->characters( L"&#252;" );
-
- // Test added for mib. Tests if errors during conversions occurs
- r->ignorableWhitespace( UString() );
- sal_Char array[256];
- for( sal_Int32 n = 32 ; n < 254 ; n ++ ) {
- array[n-32] = n;
- }
- array[254-32] = 0;
- r->characters(
- StringToUString( array , RTL_TEXTENCODING_SYMBOL )
- );
- r->ignorableWhitespace( UString() );
-
- // '>' must not be converted
- r->startCDATA();
- r->characters( L">fsfsdf<" );
- r->endCDATA();
- r->ignorableWhitespace( UString() );
-
- writeParagraph( r , testParagraph );
-
-
- r->ignorableWhitespace( UString() );
- r->comment( L"Dies ist ein Kommentar !" );
- r->ignorableWhitespace( UString() );
-
- r->startElement( L"emptytagtest" , rList );
- r->endElement( L"emptytagtest" );
-
- r->endElement( L"hi" );
- r->ignorableWhitespace( L"" );
-
- r->endElement( L"tag1" );
- r->endDocument();
-
-}
-
-void OSaxWriterTest::testExceptions( const XExtendedDocumentHandlerRef & r )
-{
-
- OFileWriter *pw = new OFileWriter("output2.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- { // startDocument must be called before start element
- BOOL bException = TRUE;
- try {
- r->startElement( L"huhu" , rList );
- bException = FALSE;
- }
- catch( SAXException& e ) {
-
- }
- ERROR_ASSERT( bException , "expected exception not thrown !" );
- }
-
- r->startDocument();
-
- r->startElement( L"huhu" , rList );
- r->startCDATA();
-
- {
- BOOL bException = TRUE;
- try {
- r->startElement( L"huhu" , rList );
- bException = FALSE;
- }
- catch( SAXException& e ) {
-
- }
- ERROR_ASSERT( bException , "expected exception not thrown !" );
- }
-
- r->endCDATA();
- r->endElement( L"hi" );
-
- r->endDocument();
-}
-
-
-void OSaxWriterTest::testDTD(const XExtendedDocumentHandlerRef &r )
-{
- OFileWriter *pw = new OFileWriter("outputDTD.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
-
- r->startDocument();
- r->unknown( L"<!DOCTYPE iCalendar >\n" );
- r->startElement( L"huhu" , rList );
-
- r->endElement( L"huhu" );
- r->endDocument();
-}
-
-void OSaxWriterTest::testPerformance(const XExtendedDocumentHandlerRef &r )
-{
- OFileWriter *pw = new OFileWriter("testPerformance.xml");
- AttributeListImpl *pList = new AttributeListImpl;
-
- UString testParagraph = L"Dies ist ein bloeder Test um zu uberpruefen, ob der SAXWriter "
- L"wohl > Zeilenumbrueche halbwegs richtig macht oder ob er die Zeile "
- L"bis zum bitteren Ende schreibt.";
-
-
- XAttributeListRef rList( (XAttributeList *) pList , USR_QUERY );
- XOutputStreamRef ref( ( XOutputStream * ) pw , USR_QUERY );
-
- XActiveDataSourceRef source( r , USR_QUERY );
-
- ERROR_ASSERT( ref.is() , "no output stream" );
- ERROR_ASSERT( source.is() , "no active data source" );
-
- source->setOutputStream( ref );
-
- TimeValue aStartTime, aEndTime;
- osl_getSystemTime( &aStartTime );
-
-
- r->startDocument();
- // just write a bunch of xml tags !
- // for performance testing
- sal_Int32 i2;
- for( i2 = 0 ; i2 < 15 ; i2 ++ )
- {
- r->startElement( UString( L"tag" ) + UString::valueOf( i2 ), rList );
- for( sal_Int32 i = 0 ; i < 450 ; i ++ )
- {
- r->ignorableWhitespace( L"");
- r->startElement( L"huhu" , rList );
- r->characters( testParagraph );
- r->ignorableWhitespace( L"");
- r->endElement( L"huhu" );
- }
- }
- for( i2 = 14 ; i2 >= 0 ; i2-- )
- {
- r->ignorableWhitespace( L"");
- r->endElement( UString( L"tag" ) + UString::valueOf( i2 ) );
- }
-
- r->endDocument();
-
- osl_getSystemTime( &aEndTime );
-
- double fStart = (double)aStartTime.Seconds + ((double)aStartTime.Nanosec / 1000000000.0);
- double fEnd = (double)aEndTime.Seconds + ((double)aEndTime.Nanosec / 1000000000.0);
-
- printf( "Performance writing : %g s\n" , fEnd - fStart );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/forms/Library_frm.mk b/forms/Library_frm.mk
index 6804d6195..02c4987c1 100644
--- a/forms/Library_frm.mk
+++ b/forms/Library_frm.mk
@@ -35,7 +35,6 @@ $(eval $(call gb_Library_set_include,frm,\
-I$(realpath $(SRCDIR)/forms/source/inc) \
-I$(realpath $(SRCDIR)/forms/source/solar/inc) \
-I$(OUTDIR)/inc \
- -I$(OUTDIR)/inc/offuh \
$(if $(filter YES,$(SYSTEM_LIBXML)),$(filter -I%,$(LIBXML_CFLAGS))) \
))
@@ -43,6 +42,12 @@ $(eval $(call gb_Library_add_defs,frm,\
$(if $(filter YES,$(SYSTEM_LIBXML)),-DSYSTEM_LIBXML $(filter-out -I%,$(LIBXML_CFLAGS))) \
))
+$(eval $(call gb_Library_add_api,frm,\
+ offapi \
+ oovbaapi \
+ udkapi \
+))
+
$(eval $(call gb_Library_add_linked_libs,frm,\
comphelper \
cppu \
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index b66a20f9b..7ad4bf53d 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -163,7 +163,7 @@ private:
if ( m_xDocumentModify.is() )
_enable ? m_xDocumentModify->enableSetModified() : m_xDocumentModify->disableSetModified();
}
- catch( const Exception& )
+ catch(const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -410,7 +410,7 @@ ODatabaseForm::ODatabaseForm( const ODatabaseForm& _cloneSource )
setPropertyValue( pSourceProperty->Name, xSourceProps->getPropertyValue( pSourceProperty->Name ) );
}
}
- catch( const Exception& )
+ catch(const Exception&)
{
throw WrappedTargetException(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Could not clone the given database form." ) ),
@@ -1173,7 +1173,7 @@ bool ODatabaseForm::hasValidParent() const
// the parent form is loaded and on a "virtual" row -> not valid
return false;
}
- catch(Exception&)
+ catch(const Exception&)
{
// parent could be forwardonly?
return false;
@@ -1261,11 +1261,10 @@ sal_Bool ODatabaseForm::executeRowSet(::osl::ResettableMutexGuard& _rClearForNot
m_xAggregateAsRowSet->execute();
bSuccess = sal_True;
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
_rClearForNotifies.clear();
if (m_sCurrentErrorContext.getLength())
@@ -1307,7 +1306,7 @@ sal_Bool ODatabaseForm::executeRowSet(::osl::ResettableMutexGuard& _rClearForNot
xUpdate->moveToInsertRow();
}
}
- catch(SQLException& eDB)
+ catch(const SQLException& eDB)
{
_rClearForNotifies.clear();
if (m_sCurrentErrorContext.getLength())
@@ -1750,7 +1749,9 @@ void ODatabaseForm::setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const A
{
m_xAggregateSet->setPropertyValue(PROPERTY_DATASOURCE, rValue);
}
- catch(Exception&) { }
+ catch(const Exception&)
+ {
+ }
}
break;
case PROPERTY_ID_TARGET_URL:
@@ -2051,7 +2052,7 @@ void ODatabaseForm::reset_impl(bool _bAproveByListeners)
if ( aDefault.hasValue() )
xColUpdate->updateObject( aDefault );
}
- catch(Exception&)
+ catch(const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -2059,7 +2060,7 @@ void ODatabaseForm::reset_impl(bool _bAproveByListeners)
}
}
}
- catch(Exception&)
+ catch(const Exception&)
{
}
@@ -2419,7 +2420,7 @@ void SAL_CALL ODatabaseForm::setParent(const InterfaceRef& Parent) throw ( ::com
Reference< XPropertySet > xParentProperties( xParentForm, UNO_QUERY_THROW );
xParentProperties->removePropertyChangeListener( PROPERTY_ISNEW, this );
}
- catch( const Exception& )
+ catch(const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -2441,7 +2442,7 @@ void SAL_CALL ODatabaseForm::setParent(const InterfaceRef& Parent) throw ( ::com
Reference< XPropertySet > xParentProperties( xParentForm, UNO_QUERY_THROW );
xParentProperties->addPropertyChangeListener( PROPERTY_ISNEW, this );
}
- catch( const Exception& )
+ catch(const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -2871,11 +2872,11 @@ sal_Bool ODatabaseForm::implEnsureConnection()
return xConnection.is();
}
}
- catch(SQLException& eDB)
+ catch(const SQLException& eDB)
{
onError(eDB, FRM_RES_STRING(RID_STR_CONNECTERROR));
}
- catch( Exception )
+ catch(const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -2962,9 +2963,8 @@ void SAL_CALL ODatabaseForm::unload() throw( RuntimeException )
if (xCloseable.is())
xCloseable->close();
}
- catch( const SQLException& e )
+ catch(const SQLException&)
{
- (void)e;
}
aGuard.reset();
}
@@ -3020,10 +3020,9 @@ void ODatabaseForm::reload_impl(sal_Bool bMoveToFirst, const Reference< XInterac
m_sCurrentErrorContext = FRM_RES_STRING(RID_ERR_REFRESHING_FORM);
bSuccess = executeRowSet(aGuard, bMoveToFirst, _rxCompletionHandler);
}
- catch( const SQLException& e )
+ catch(const SQLException&)
{
OSL_FAIL("ODatabaseForm::reload_impl : shouldn't executeRowSet catch this exception?");
- (void)e;
}
if (bSuccess)
@@ -3122,19 +3121,22 @@ bool ODatabaseForm::impl_approveRowChange_throw( const EventObject& _rEvent, con
if ( !xListener->approveRowSetChange( _rEvent ) )
return false;
}
- catch ( const DisposedException& e )
+ catch (const DisposedException& e)
{
if ( e.Context == xListener )
aIter.remove();
}
- catch ( const RuntimeException& ) { throw; }
- catch ( const SQLException& )
+ catch (const RuntimeException&)
+ {
+ throw;
+ }
+ catch (const SQLException&)
{
if ( _bAllowSQLException )
throw;
DBG_UNHANDLED_EXCEPTION();
}
- catch ( const Exception& )
+ catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -3163,13 +3165,16 @@ sal_Bool SAL_CALL ODatabaseForm::approveCursorMove(const EventObject& event) thr
if ( !xListener->approveCursorMove( event ) )
return sal_False;
}
- catch ( const DisposedException& e )
+ catch (const DisposedException& e)
{
if ( e.Context == xListener )
aIter.remove();
}
- catch ( const RuntimeException& ) { throw; }
- catch ( const Exception& )
+ catch (const RuntimeException&)
+ {
+ throw;
+ }
+ catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -3209,13 +3214,16 @@ sal_Bool SAL_CALL ODatabaseForm::approveRowChange(const RowChangeEvent& event) t
if ( !xListener->approveRowChange( event ) )
return false;
}
- catch ( const DisposedException& e )
+ catch (const DisposedException& e)
{
if ( e.Context == xListener )
aIter.remove();
}
- catch ( const RuntimeException& ) { throw; }
- catch ( const Exception& )
+ catch (const RuntimeException&)
+ {
+ throw;
+ }
+ catch (const Exception&)
{
DBG_UNHANDLED_EXCEPTION();
}
@@ -3499,12 +3507,11 @@ void SAL_CALL ODatabaseForm::insertRow() throw( SQLException, RuntimeException )
if (query_aggregation( m_xAggregate, xUpdate))
xUpdate->insertRow();
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto;
throw;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
onError(eDb, FRM_RES_STRING(RID_STR_ERR_INSERTRECORD));
throw;
@@ -3520,12 +3527,11 @@ void SAL_CALL ODatabaseForm::updateRow() throw( SQLException, RuntimeException )
if (query_aggregation( m_xAggregate, xUpdate))
xUpdate->updateRow();
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto;
throw;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
onError(eDb, FRM_RES_STRING(RID_STR_ERR_UPDATERECORD));
throw;
@@ -3541,12 +3547,11 @@ void SAL_CALL ODatabaseForm::deleteRow() throw( SQLException, RuntimeException )
if (query_aggregation( m_xAggregate, xUpdate))
xUpdate->deleteRow();
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto;
throw;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
onError(eDb, FRM_RES_STRING(RID_STR_ERR_DELETERECORD));
throw;
@@ -3562,12 +3567,11 @@ void SAL_CALL ODatabaseForm::cancelRowUpdates() throw( SQLException, RuntimeExce
if (query_aggregation( m_xAggregate, xUpdate))
xUpdate->cancelRowUpdates();
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto;
throw;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
onError(eDb, FRM_RES_STRING(RID_STR_ERR_INSERTRECORD));
throw;
@@ -3627,12 +3631,11 @@ Sequence<sal_Int32> SAL_CALL ODatabaseForm::deleteRows(const Sequence<Any>& rows
if (query_aggregation( m_xAggregate, xDelete))
return xDelete->deleteRows(rows);
}
- catch( const RowSetVetoException& eVeto )
+ catch(const RowSetVetoException&)
{
- (void)eVeto; // make compiler happy
throw;
}
- catch(SQLException& eDb)
+ catch(const SQLException& eDb)
{
onError(eDb, FRM_RES_STRING(RID_STR_ERR_DELETERECORDS));
throw;
diff --git a/forms/source/component/Edit.cxx b/forms/source/component/Edit.cxx
index a88646c36..5a2097a71 100644
--- a/forms/source/component/Edit.cxx
+++ b/forms/source/component/Edit.cxx
@@ -485,7 +485,7 @@ namespace
{
_rxDest->setPropertyValue( pSourceProps->Name, _rxSource->getPropertyValue( pSourceProps->Name ) );
}
- catch( IllegalArgumentException e )
+ catch(const IllegalArgumentException& e)
{
#if OSL_DEBUG_LEVEL > 0
::rtl::OString sMessage( "could not transfer the property named '" );
@@ -497,6 +497,8 @@ namespace
sMessage += ::rtl::OString( e.Message.getStr(), e.Message.getLength(), RTL_TEXTENCODING_ASCII_US );
}
OSL_FAIL( sMessage.getStr() );
+#else
+ (void)e;
#endif
}
diff --git a/forms/source/misc/services.cxx b/forms/source/misc/services.cxx
index 20065f971..d3cd82dfb 100644
--- a/forms/source/misc/services.cxx
+++ b/forms/source/misc/services.cxx
@@ -321,12 +321,6 @@ void SAL_CALL createRegistryInfo_FORMS()
}
//---------------------------------------------------------------------------------------
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const sal_Char** _ppEnvTypeName, uno_Environment** /*_ppEnv*/)
-{
- *_ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//---------------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* _pImplName, XMultiServiceFactory* _pServiceManager, void* /*_pRegistryKey*/)
{
if (!_pServiceManager || !_pImplName)
diff --git a/forms/source/resource/frm_resource.cxx b/forms/source/resource/frm_resource.cxx
index c8d65eb91..87d2f9c10 100644
--- a/forms/source/resource/frm_resource.cxx
+++ b/forms/source/resource/frm_resource.cxx
@@ -59,9 +59,7 @@ namespace frm
if (m_pImpl)
return;
- ByteString sFileName("frm");
-
- m_pImpl = SimpleResMgr::Create(sFileName.GetBuffer(), Application::GetSettings().GetUILocale());
+ m_pImpl = SimpleResMgr::Create("frm", Application::GetSettings().GetUILocale());
if (m_pImpl)
{
diff --git a/forms/util/frm.dxp b/forms/util/frm.dxp
index f0e1c6993..700330789 100644
--- a/forms/util/frm.dxp
+++ b/forms/util/frm.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp
index a9861e3ff..700330789 100644
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp
+++ b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp
@@ -1,2 +1 @@
component_getFactory
-component_getImplementationEnvironment
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx
index 9fff12566..a8a1feac8 100644
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx
+++ b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx
@@ -55,12 +55,6 @@ extern void * SAL_CALL Hyphenator_getFactory(
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/lingucomponent/source/languageguessing/guesslang.cxx b/lingucomponent/source/languageguessing/guesslang.cxx
index 8dc21453c..49e033040 100644
--- a/lingucomponent/source/languageguessing/guesslang.cxx
+++ b/lingucomponent/source/languageguessing/guesslang.cxx
@@ -422,12 +422,6 @@ static struct ::cppu::ImplementationEntry s_component_entries [] =
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- sal_Char const ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
sal_Char const * implName, lang::XMultiServiceFactory * xMgr,
registry::XRegistryKey * xRegistry )
diff --git a/lingucomponent/source/spellcheck/macosxspell/macreg.cxx b/lingucomponent/source/spellcheck/macosxspell/macreg.cxx
index 13d806dbb..42a26c40a 100644
--- a/lingucomponent/source/spellcheck/macosxspell/macreg.cxx
+++ b/lingucomponent/source/spellcheck/macosxspell/macreg.cxx
@@ -54,12 +54,6 @@ extern void * SAL_CALL MacSpellChecker_getFactory(
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/lingucomponent/source/spellcheck/spell/exports.dxp b/lingucomponent/source/spellcheck/spell/exports.dxp
index a9861e3ff..700330789 100644
--- a/lingucomponent/source/spellcheck/spell/exports.dxp
+++ b/lingucomponent/source/spellcheck/spell/exports.dxp
@@ -1,2 +1 @@
component_getFactory
-component_getImplementationEnvironment
diff --git a/lingucomponent/source/spellcheck/spell/sreg.cxx b/lingucomponent/source/spellcheck/spell/sreg.cxx
index 6c96975c0..6be89517e 100644
--- a/lingucomponent/source/spellcheck/spell/sreg.cxx
+++ b/lingucomponent/source/spellcheck/spell/sreg.cxx
@@ -52,12 +52,6 @@ extern void * SAL_CALL SpellChecker_getFactory(
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/lingucomponent/source/thesaurus/libnth/exports.dxp b/lingucomponent/source/thesaurus/libnth/exports.dxp
index a9861e3ff..700330789 100644
--- a/lingucomponent/source/thesaurus/libnth/exports.dxp
+++ b/lingucomponent/source/thesaurus/libnth/exports.dxp
@@ -1,2 +1 @@
component_getFactory
-component_getImplementationEnvironment
diff --git a/lingucomponent/source/thesaurus/libnth/ntreg.cxx b/lingucomponent/source/thesaurus/libnth/ntreg.cxx
index 8b82336e2..d9268405b 100644
--- a/lingucomponent/source/thesaurus/libnth/ntreg.cxx
+++ b/lingucomponent/source/thesaurus/libnth/ntreg.cxx
@@ -54,12 +54,6 @@ extern void * SAL_CALL Thesaurus_getFactory(
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/package/prj/d.lst b/package/prj/d.lst
index bcb9c084e..7b3aff248 100644
--- a/package/prj/d.lst
+++ b/package/prj/d.lst
@@ -1,6 +1,7 @@
..\%__SRC%\misc\*.map %_DEST%\bin\*.map
..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll
..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib
+..\%__SRC%\lib\*.a %_DEST%\lib\*.a
..\%__SRC%\lib\lib*.so %_DEST%\lib\lib*.so
..\%__SRC%\lib\*.dylib %_DEST%\lib\*.dylib
..\dtd\*.dtd %_DEST%\bin\*.*
diff --git a/package/source/manifest/UnoRegister.cxx b/package/source/manifest/UnoRegister.cxx
index d26deb81e..c5734977d 100644
--- a/package/source/manifest/UnoRegister.cxx
+++ b/package/source/manifest/UnoRegister.cxx
@@ -47,14 +47,6 @@ using namespace ::com::sun::star::packages::manifest;
using rtl::OUString;
-// C functions to implement this as a component
-
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
/**
* This function is called to get service factories for an implementation.
* @param pImplName name of implementation
diff --git a/package/source/xstor/register.cxx b/package/source/xstor/register.cxx
index 146bbbe77..480a11732 100644
--- a/package/source/xstor/register.cxx
+++ b/package/source/xstor/register.cxx
@@ -41,11 +41,6 @@ using namespace ::com::sun::star;
extern "C" {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
void * pRet = 0;
diff --git a/package/source/xstor/xstor.dxp b/package/source/xstor/xstor.dxp
index f0e1c6993..700330789 100644
--- a/package/source/xstor/xstor.dxp
+++ b/package/source/xstor/xstor.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/package/source/zipapi/sha1context.hxx b/package/source/zipapi/sha1context.hxx
index c8f6068f7..6d9374db8 100644
--- a/package/source/zipapi/sha1context.hxx
+++ b/package/source/zipapi/sha1context.hxx
@@ -56,4 +56,4 @@ public:
#endif
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/package/util/exports.dxp b/package/util/exports.dxp
index f0e1c6993..700330789 100644
--- a/package/util/exports.dxp
+++ b/package/util/exports.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/package/util/makefile.mk b/package/util/makefile.mk
index 0a3f0d77a..cf94fe80e 100644
--- a/package/util/makefile.mk
+++ b/package/util/makefile.mk
@@ -54,7 +54,11 @@ LIB1FILES= \
# --- Shared-Library -----------------------------------------------
SHL1TARGET=$(TARGET)$(MAJOR_VERSION)
+.IF "$(COM)" == "MSC"
SHL1IMPLIB=i$(TARGET)
+.ELSE
+SHL1IMPLIB=$(TARGET)$(MAJOR_VERSION)
+.ENDIF
SHL1USE_EXPORTS=name
SHL1STDLIBS=\
diff --git a/setup_native/prj/build.lst b/setup_native/prj/build.lst
index edd50fd90..2c18ccb0a 100644
--- a/setup_native/prj/build.lst
+++ b/setup_native/prj/build.lst
@@ -1,4 +1,4 @@
-pk setup_native : TRANSLATIONS:translations l10ntools soltools sal xml2cmp NULL
+pk setup_native : TRANSLATIONS:translations l10ntools soltools sal NATIVE:xml2cmp NULL
pk setup_native usr1 - all sn_mkout NULL
pk setup_native\scripts\source nmake - u sn_source NULL
pk setup_native\scripts nmake - u sn_scripts sn_source.u NULL
diff --git a/setup_native/prj/d.lst b/setup_native/prj/d.lst
index d57569b8c..6221f738c 100644
--- a/setup_native/prj/d.lst
+++ b/setup_native/prj/d.lst
@@ -33,7 +33,6 @@ mkdir: %_DEST%\bin\osolsmf
..\source\mac\ooo\osxdndinstall_nologo.png %_DEST%\bin\osl\osxdndinstall_nologo.png
..\source\mac\ooo\DS_Store %_DEST%\bin\osl\DS_Store
..\source\mac\ooo\DS_Store_Langpack %_DEST%\bin\osl\DS_Store_Langpack
-..\source\java\openofficeorg_setup.gif %_DEST%\bin\osl\Setup.gif
..\source\java\javaversion.dat %_DEST%\bin\javaversion.dat
..\source\java\javaversion2.dat %_DEST%\bin\javaversion2.dat
..\source\opensolaris\bundledextensions\installed %_DEST%\bin\osolsmf\installed
diff --git a/setup_native/source/java/brofficeorg_setup.gif b/setup_native/source/java/brofficeorg_setup.gif
deleted file mode 100644
index 570d8e462..000000000
--- a/setup_native/source/java/brofficeorg_setup.gif
+++ /dev/null
Binary files differ
diff --git a/setup_native/source/java/openofficeorg_setup.gif b/setup_native/source/java/openofficeorg_setup.gif
deleted file mode 100644
index 8beb9e12b..000000000
--- a/setup_native/source/java/openofficeorg_setup.gif
+++ /dev/null
Binary files differ
diff --git a/setup_native/source/mac/broffice/DS_Store b/setup_native/source/mac/broffice/DS_Store
deleted file mode 100644
index a534e3bed..000000000
--- a/setup_native/source/mac/broffice/DS_Store
+++ /dev/null
Binary files differ
diff --git a/setup_native/source/mac/broffice/osxdndinstall.png b/setup_native/source/mac/broffice/osxdndinstall.png
deleted file mode 100644
index cab66ea99..000000000
--- a/setup_native/source/mac/broffice/osxdndinstall.png
+++ /dev/null
Binary files differ
diff --git a/setup_native/source/mac/broffice/osxdndinstall.svg b/setup_native/source/mac/broffice/osxdndinstall.svg
deleted file mode 100644
index 7b7c6c6d7..000000000
--- a/setup_native/source/mac/broffice/osxdndinstall.svg
+++ /dev/null
@@ -1,1765 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="550"
- height="442"
- id="svg3134"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docname="Installation (OOo3_refresh_mac_install_image).svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- version="1.0">
- <defs
- id="defs3136">
- <linearGradient
- id="linearGradient7426">
- <stop
- id="stop7428"
- offset="0"
- style="stop-color:#f2f2f2;stop-opacity:1" />
- <stop
- id="stop7430"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1" />
- </linearGradient>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective3142" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2570"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2572"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2694"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2696"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2818"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2820"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2942"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2944"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <inkscape:perspective
- id="perspective2777"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3076"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,979.0216)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3079"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,577.0216)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4800" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective3742" />
- <inkscape:perspective
- id="perspective3744"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2870" />
- <inkscape:perspective
- id="perspective2802"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2531" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2854" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- id="perspective4034" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- id="perspective3939" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- id="perspective3852" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 21.26 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="62.360001 : 21.26 : 1"
- inkscape:persp3d-origin="31.18 : 14.173333 : 1"
- id="perspective3771" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- id="perspective59" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective3532" />
- <inkscape:perspective
- id="perspective2543"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2818"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3379"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3381"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3385"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3387"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3391"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3393"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,577.0216)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3397"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,979.0216)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3752"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3754"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3819"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3821"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3886"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3888"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3953"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,1863.9451)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3955"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,-0.4990909,2265.9451)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3092"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,979.0216)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3095"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,577.0216)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2521" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4715" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4717" />
- <inkscape:perspective
- id="perspective4719"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4721"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4723"
- inkscape:persp3d-origin="31.18 : 14.173333 : 1"
- inkscape:vp_z="62.360001 : 21.26 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 21.26 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4725"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4727"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4729"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4731"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4733"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4735" />
- <inkscape:perspective
- id="perspective4737"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4739" />
- <inkscape:perspective
- id="perspective4741"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4743"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective4211" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 12.41 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="391.03 : 12.41 : 1"
- inkscape:persp3d-origin="195.515 : 8.2733332 : 1"
- id="perspective3301" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 12.41 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="399.49701 : 12.41 : 1"
- inkscape:persp3d-origin="199.7485 : 8.2733332 : 1"
- id="perspective3226" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 18.512501 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="393.207 : 18.512501 : 1"
- inkscape:persp3d-origin="196.6035 : 12.341667 : 1"
- id="perspective3158" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 18.512501 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="393.207 : 18.512501 : 1"
- inkscape:persp3d-origin="196.6035 : 12.341667 : 1"
- id="perspective3146" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2902" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2900" />
- <inkscape:perspective
- id="perspective2898"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2896"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2894"
- inkscape:persp3d-origin="31.18 : 14.173333 : 1"
- inkscape:vp_z="62.360001 : 21.26 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 21.26 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2892"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2890"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2888"
- inkscape:persp3d-origin="420.94501 : 198.42668 : 1"
- inkscape:vp_z="841.89001 : 297.64001 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 297.64001 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2886"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2884"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2753" />
- <inkscape:perspective
- id="perspective2881"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2879" />
- <inkscape:perspective
- id="perspective2877"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective2875"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 18.512501 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="401.944 : 18.512501 : 1"
- inkscape:persp3d-origin="200.972 : 12.341667 : 1"
- id="perspective2645" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 18.512501 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="385.51999 : 18.512501 : 1"
- inkscape:persp3d-origin="192.75999 : 12.341667 : 1"
- id="perspective2633" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 48.070499 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="212.035 : 48.070499 : 1"
- inkscape:persp3d-origin="106.0175 : 32.047 : 1"
- id="perspective2474" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 48.070499 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="212.035 : 48.070499 : 1"
- inkscape:persp3d-origin="106.0175 : 32.047 : 1"
- id="perspective2426" />
- <inkscape:perspective
- id="perspective2869"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2869"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.71518,979.02157)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2922"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.7152,577.0947)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2982"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,979.0216)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient2985"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,577.0216)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3045"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,979.0216)"
- x1="275.5"
- y1="369.22446"
- x2="275.5"
- y2="-3.224514" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7426"
- id="linearGradient3048"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9981818,0,0,0.109589,150.2152,577.0216)"
- x1="286.08203"
- y1="-1.6191231"
- x2="286.08203"
- y2="357.27634" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.90030045"
- inkscape:cx="258.99473"
- inkscape:cy="241.49108"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1264"
- inkscape:window-height="750"
- inkscape:window-x="0"
- inkscape:window-y="14"
- showguides="true"
- inkscape:guide-bbox="true">
- <sodipodi:guide
- orientation="0,1"
- position="74.144094,396.21835"
- id="guide2444" />
- <sodipodi:guide
- orientation="1,0"
- position="74.504535,396.63219"
- id="guide2446" />
- <sodipodi:guide
- orientation="0,1"
- position="71.833579,326.0027"
- id="guide2448" />
- <sodipodi:guide
- orientation="1,0"
- position="474.05203,326.11834"
- id="guide2946" />
- </sodipodi:namedview>
- <metadata
- id="metadata3139">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Camada 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-150.71429,-577.0765)">
- <g
- id="g4297"
- style="fill:#800000"
- transform="translate(-30.90885,443.41812)" />
- <text
- transform="scale(1.0168078,0.98347)"
- font-size="103.091"
- id="text43"
- style="font-size:48.89245605px;font-family:Vegur-Regular"
- x="2415.6145"
- y="514.5885" />
- <text
- transform="scale(0.9979479,1.0020563)"
- font-size="103.091"
- id="text3748"
- style="font-size:91.03964996px;font-family:Vegur-Regular"
- x="2310.8984"
- y="391.8399" />
- <g
- id="g3200"
- inkscape:export-filename="C:\Users\Marcelo\Desktop\Trabalhos\LibreOffice\Finais\Telas\Installation (OOo3_refresh_mac_install_image).png"
- inkscape:export-xdpi="89.916817"
- inkscape:export-ydpi="89.916817">
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- y="577.07648"
- x="150.71429"
- height="442"
- width="550"
- id="rect13743"
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <image
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAAG6CAIAAACz4Bq0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAL EwAACxMBAJqcGAAAAAd0SU1FB9oJFwAWNxuKiGYAAAcMSURBVHja7d3BTqNQGIBRKAXBmEjrWve+ /xupWwluRCqBWTSZxYzVOqMU7z1nYUwlTXqLfP1pStNpmhIA+H4rSwCA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgAxWEfy OPu+b5qm67phGMZxnKbJcw/MIE3TLMvyPK+qarPZFEUR9WrEcPB9fHxs23a329n7gVOFJ0mSsizr uq7rWnJC7k3TNMMw2OmBk1enKIrtdhttdQJ/L6fv+7Zt9QY4uf3r+9fX16enp2hPugSenKZpnE8D llOdaZr2L4UlJ0Bd19nLgaWFJ9pDU+DJcUoNWGBy+r6XnACN42j/BhbVm98/I7SO4dkFcFwy5QAg OQAgOQD8UGtLAPC19hca+Jt3l005AJhyAOKYfkw5ACA5AEgOAEgOAJIDgOQAgOQAIDlAEM7Pzy0C kgPM4fr6uixL64DkAN9/XFitbm5uVAfJAeaQZZnqIDmA6iA5gOqA5ACqwxL48oIYvXkF9Q9vPHTd 9UPb/LH9m3/67DafupN3fvnn+z/yPv9zm+NX8s3n5cNbPnsJ/X117u7uXl5e/PtgygHMOkgOoDog OYDqIDmA6iA5AKqD5ACqg+QAqgOSA6gOkgOoDpIDoDpIDqA6SA6gOiA5gOogOYDqIDkA7xjH8eHh wXccIDnAt/fm/v7++fnZUiA5gN4gOYDeIDkAeoPkAHqD5AB6A5ID6A2SA+gNkgOgN0gOoDdIDqA3 IDmA3iA5gN4Qg7UliNA0TUfeSJxub2/1BlMOYL5BcgC9AckB9AbJAfQGyQH0Rm+QHGAGeoPkADPR GyQHAMkBgCO4+gDAFzt0LY80TU05AGDKAQhx+ol23DHlACA5AEgOAEgOAJIDgORYAgAkBwDJ+Tl8 1hdAcuZ6eCtjHODVsOTMYr12eQVgcfI8l5wAVVVl5wYWNd9kWXZxcSE5Adput0VR2MuBhfQmTdOz s7O6riUnQPun1uk1YAm9SZIkz/PLy8toXwqHfyy+urpKkqRt291uZ6cHTtibsizruo52xEmSJD30 VUKB6fu+aZqu64ZhGMcxkkcNLCE2WZbleV5V1WazifxUf+rgC8A8fGwFAMkBQHIAQHIAkBwAJMcS ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOALP7BU35aWAYh0xJAAAAAElFTkSuQmCC "
- width="550"
- height="442"
- id="image13745"
- x="150.71429"
- y="577.07648"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- style="display:inline" />
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2452"
- width="550"
- height="442"
- x="150.71429"
- y="577.07648"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <image
- style="display:inline"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- y="577.07648"
- x="150.71429"
- id="image2454"
- height="442"
- width="550"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAAG6CAIAAACz4Bq0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAL EwAACxMBAJqcGAAAAAd0SU1FB9oJFwAWNxuKiGYAAAcMSURBVHja7d3BTqNQGIBRKAXBmEjrWve+ /xupWwluRCqBWTSZxYzVOqMU7z1nYUwlTXqLfP1pStNpmhIA+H4rSwCA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgAxWEfy OPu+b5qm67phGMZxnKbJcw/MIE3TLMvyPK+qarPZFEUR9WrEcPB9fHxs23a329n7gVOFJ0mSsizr uq7rWnJC7k3TNMMw2OmBk1enKIrtdhttdQJ/L6fv+7Zt9QY4uf3r+9fX16enp2hPugSenKZpnE8D llOdaZr2L4UlJ0Bd19nLgaWFJ9pDU+DJcUoNWGBy+r6XnACN42j/BhbVm98/I7SO4dkFcFwy5QAg OQAgOQD8UGtLAPC19hca+Jt3l005AJhyAOKYfkw5ACA5AEgOAEgOAJIDgOQAgOQAIDlAEM7Pzy0C kgPM4fr6uixL64DkAN9/XFitbm5uVAfJAeaQZZnqIDmA6iA5gOqA5ACqwxL48oIYvXkF9Q9vPHTd 9UPb/LH9m3/67DafupN3fvnn+z/yPv9zm+NX8s3n5cNbPnsJ/X117u7uXl5e/PtgygHMOkgOoDog OYDqIDmA6iA5AKqD5ACqg+QAqgOSA6gOkgOoDpIDoDpIDqA6SA6gOiA5gOogOYDqIDkA7xjH8eHh wXccIDnAt/fm/v7++fnZUiA5gN4gOYDeIDkAeoPkAHqD5AB6A5ID6A2SA+gNkgOgN0gOoDdIDqA3 IDmA3iA5gN4Qg7UliNA0TUfeSJxub2/1BlMOYL5BcgC9AckB9AbJAfQGyQH0Rm+QHGAGeoPkADPR GyQHAMkBgCO4+gDAFzt0LY80TU05AGDKAQhx+ol23DHlACA5AEgOAEgOAJIDgORYAgAkBwDJ+Tl8 1hdAcuZ6eCtjHODVsOTMYr12eQVgcfI8l5wAVVVl5wYWNd9kWXZxcSE5Adput0VR2MuBhfQmTdOz s7O6riUnQPun1uk1YAm9SZIkz/PLy8toXwqHfyy+urpKkqRt291uZ6cHTtibsizruo52xEmSJD30 VUKB6fu+aZqu64ZhGMcxkkcNLCE2WZbleV5V1WazifxUf+rgC8A8fGwFAMkBQHIAQHIAkBwAJMcS ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOALP7BU35aWAYh0xJAAAAAElFTkSuQmCC " />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient3095);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2456"
- width="549"
- height="40"
- x="150.71429"
- y="577.07648" />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient3092);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2458"
- width="549"
- height="40"
- x="150.71429"
- y="979.07648" />
- <g
- transform="matrix(0.8999997,0,0,0.8999997,204.81441,-875.1749)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- id="g2526">
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2528"
- d="M 432.93612,2084.725 C 432.18148,2084.706 431.43803,2085.1779 431.14306,2085.8632 C 430.84807,2086.5485 431.02025,2087.4039 431.55836,2087.9261 L 447.75462,2104.1736 C 448.27697,2104.6968 449.12749,2104.8703 449.81733,2104.5942 C 450.50718,2104.3182 450.99483,2103.6092 450.99999,2102.875 L 450.99999,2086.5974 C 451.00199,2085.6166 450.09611,2084.7233 449.10176,2084.725 L 432.93612,2084.725 L 432.93612,2084.725 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2530"
- d="M 532.93616,1984.7249 C 532.18152,1984.7059 531.43807,1985.1778 531.1431,1985.8631 C 530.84811,1986.5484 531.02029,1987.4038 531.5584,1987.926 L 547.75466,2004.1735 C 548.27701,2004.6967 549.12753,2004.8702 549.81737,2004.5941 C 550.50722,2004.3181 550.99487,2003.6091 551.00003,2002.8749 L 551.00003,1986.5973 C 551.00203,1985.6165 550.09615,1984.7232 549.1018,1984.7249 L 532.93616,1984.7249 L 532.93616,1984.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.125;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2084.7249 C 532.18152,2084.7059 531.43807,2085.1778 531.1431,2085.8631 C 530.84811,2086.5484 531.02029,2087.4038 531.5584,2087.926 L 547.75466,2104.1735 C 548.27701,2104.6967 549.12753,2104.8702 549.81737,2104.5941 C 550.50722,2104.3181 550.99487,2103.6091 551.00003,2102.8749 L 551.00003,2086.5973 C 551.00203,2085.6165 550.09615,2084.7232 549.1018,2084.7249 L 532.93616,2084.7249 L 532.93616,2084.7249 z"
- id="path2532"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2534"
- d="M 512.93616,2084.7249 C 512.18152,2084.7059 511.43807,2085.1778 511.1431,2085.8631 C 510.84811,2086.5484 511.02029,2087.4038 511.5584,2087.926 L 527.75466,2104.1735 C 528.27701,2104.6967 529.12753,2104.8702 529.81737,2104.5941 C 530.50722,2104.3181 530.99487,2103.6091 531.00003,2102.8749 L 531.00003,2086.5973 C 531.00203,2085.6165 530.09615,2084.7232 529.1018,2084.7249 L 512.93616,2084.7249 L 512.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2084.7249 C 492.18152,2084.7059 491.43807,2085.1778 491.1431,2085.8631 C 490.84811,2086.5484 491.02029,2087.4038 491.5584,2087.926 L 507.75466,2104.1735 C 508.27701,2104.6967 509.12753,2104.8702 509.81737,2104.5941 C 510.50722,2104.3181 510.99487,2103.6091 511.00003,2102.8749 L 511.00003,2086.5973 C 511.00203,2085.6165 510.09615,2084.7232 509.1018,2084.7249 L 492.93616,2084.7249 L 492.93616,2084.7249 z"
- id="path2536"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2538"
- d="M 472.93616,2084.7249 C 472.18152,2084.7059 471.43807,2085.1778 471.1431,2085.8631 C 470.84811,2086.5484 471.02029,2087.4038 471.5584,2087.926 L 487.75466,2104.1735 C 488.27701,2104.6967 489.12753,2104.8702 489.81737,2104.5941 C 490.50722,2104.3181 490.99487,2103.6091 491.00003,2102.8749 L 491.00003,2086.5973 C 491.00203,2085.6165 490.09615,2084.7232 489.1018,2084.7249 L 472.93616,2084.7249 L 472.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 452.93616,2084.7249 C 452.18152,2084.7059 451.43807,2085.1778 451.1431,2085.8631 C 450.84811,2086.5484 451.02029,2087.4038 451.5584,2087.926 L 467.75466,2104.1735 C 468.27701,2104.6967 469.12753,2104.8702 469.81737,2104.5941 C 470.50722,2104.3181 470.99487,2103.6091 471.00003,2102.8749 L 471.00003,2086.5973 C 471.00203,2085.6165 470.09615,2084.7232 469.1018,2084.7249 L 452.93616,2084.7249 L 452.93616,2084.7249 z"
- id="path2540"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2542"
- d="M 532.93616,2064.7249 C 532.18152,2064.7059 531.43807,2065.1778 531.1431,2065.8631 C 530.84811,2066.5484 531.02029,2067.4038 531.5584,2067.926 L 547.75466,2084.1735 C 548.27701,2084.6967 549.12753,2084.8702 549.81737,2084.5941 C 550.50722,2084.3181 550.99487,2083.6091 551.00003,2082.8749 L 551.00003,2066.5973 C 551.00203,2065.6165 550.09615,2064.7232 549.1018,2064.7249 L 532.93616,2064.7249 L 532.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2064.7249 C 512.18152,2064.7059 511.43807,2065.1778 511.1431,2065.8631 C 510.84811,2066.5484 511.02029,2067.4038 511.5584,2067.926 L 527.75466,2084.1735 C 528.27701,2084.6967 529.12753,2084.8702 529.81737,2084.5941 C 530.50722,2084.3181 530.99487,2083.6091 531.00003,2082.8749 L 531.00003,2066.5973 C 531.00203,2065.6165 530.09615,2064.7232 529.1018,2064.7249 L 512.93616,2064.7249 L 512.93616,2064.7249 z"
- id="path2544"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2546"
- d="M 492.93616,2064.7249 C 492.18152,2064.7059 491.43807,2065.1778 491.1431,2065.8631 C 490.84811,2066.5484 491.02029,2067.4038 491.5584,2067.926 L 507.75466,2084.1735 C 508.27701,2084.6967 509.12753,2084.8702 509.81737,2084.5941 C 510.50722,2084.3181 510.99487,2083.6091 511.00003,2082.8749 L 511.00003,2066.5973 C 511.00203,2065.6165 510.09615,2064.7232 509.1018,2064.7249 L 492.93616,2064.7249 L 492.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 472.93616,2064.7249 C 472.18152,2064.7059 471.43807,2065.1778 471.1431,2065.8631 C 470.84811,2066.5484 471.02029,2067.4038 471.5584,2067.926 L 487.75466,2084.1735 C 488.27701,2084.6967 489.12753,2084.8702 489.81737,2084.5941 C 490.50722,2084.3181 490.99487,2083.6091 491.00003,2082.8749 L 491.00003,2066.5973 C 491.00203,2065.6165 490.09615,2064.7232 489.1018,2064.7249 L 472.93616,2064.7249 L 472.93616,2064.7249 z"
- id="path2548"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2550"
- d="M 452.93616,2064.7249 C 452.18152,2064.7059 451.43807,2065.1778 451.1431,2065.8631 C 450.84811,2066.5484 451.02029,2067.4038 451.5584,2067.926 L 467.75466,2084.1735 C 468.27701,2084.6967 469.12753,2084.8702 469.81737,2084.5941 C 470.50722,2084.3181 470.99487,2083.6091 471.00003,2082.8749 L 471.00003,2066.5973 C 471.00203,2065.6165 470.09615,2064.7232 469.1018,2064.7249 L 452.93616,2064.7249 L 452.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2044.7249 C 532.18152,2044.7059 531.43807,2045.1778 531.1431,2045.8631 C 530.84811,2046.5484 531.02029,2047.4038 531.5584,2047.926 L 547.75466,2064.1735 C 548.27701,2064.6967 549.12753,2064.8702 549.81737,2064.5941 C 550.50722,2064.3181 550.99487,2063.6091 551.00003,2062.8749 L 551.00003,2046.5973 C 551.00203,2045.6165 550.09615,2044.7232 549.1018,2044.7249 L 532.93616,2044.7249 L 532.93616,2044.7249 z"
- id="path2552"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2554"
- d="M 512.93616,2044.7249 C 512.18152,2044.7059 511.43807,2045.1778 511.1431,2045.8631 C 510.84811,2046.5484 511.02029,2047.4038 511.5584,2047.926 L 527.75466,2064.1735 C 528.27701,2064.6967 529.12753,2064.8702 529.81737,2064.5941 C 530.50722,2064.3181 530.99487,2063.6091 531.00003,2062.8749 L 531.00003,2046.5973 C 531.00203,2045.6165 530.09615,2044.7232 529.1018,2044.7249 L 512.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2044.7249 C 492.18152,2044.7059 491.43807,2045.1778 491.1431,2045.8631 C 490.84811,2046.5484 491.02029,2047.4038 491.5584,2047.926 L 507.75466,2064.1735 C 508.27701,2064.6967 509.12753,2064.8702 509.81737,2064.5941 C 510.50722,2064.3181 510.99487,2063.6091 511.00003,2062.8749 L 511.00003,2046.5973 C 511.00203,2045.6165 510.09615,2044.7232 509.1018,2044.7249 L 492.93616,2044.7249 L 492.93616,2044.7249 z"
- id="path2556"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2558"
- d="M 472.93616,2044.7249 C 472.18152,2044.7059 471.43807,2045.1778 471.1431,2045.8631 C 470.84811,2046.5484 471.02029,2047.4038 471.5584,2047.926 L 487.75466,2064.1735 C 488.27701,2064.6967 489.12753,2064.8702 489.81737,2064.5941 C 490.50722,2064.3181 490.99487,2063.6091 491.00003,2062.8749 L 491.00003,2046.5973 C 491.00203,2045.6165 490.09615,2044.7232 489.1018,2044.7249 L 472.93616,2044.7249 L 472.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2560"
- d="M 532.93616,2024.7249 C 532.18152,2024.7059 531.43807,2025.1778 531.1431,2025.8631 C 530.84811,2026.5484 531.02029,2027.4038 531.5584,2027.926 L 547.75466,2044.1735 C 548.27701,2044.6967 549.12753,2044.8702 549.81737,2044.5941 C 550.50722,2044.3181 550.99487,2043.6091 551.00003,2042.8749 L 551.00003,2026.5973 C 551.00203,2025.6165 550.09615,2024.7232 549.1018,2024.7249 L 532.93616,2024.7249 L 532.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2024.7249 C 512.18152,2024.7059 511.43807,2025.1778 511.1431,2025.8631 C 510.84811,2026.5484 511.02029,2027.4038 511.5584,2027.926 L 527.75466,2044.1735 C 528.27701,2044.6967 529.12753,2044.8702 529.81737,2044.5941 C 530.50722,2044.3181 530.99487,2043.6091 531.00003,2042.8749 L 531.00003,2026.5973 C 531.00203,2025.6165 530.09615,2024.7232 529.1018,2024.7249 L 512.93616,2024.7249 z"
- id="path2562"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2564"
- d="M 492.93616,2024.7249 C 492.18152,2024.7059 491.43807,2025.1778 491.1431,2025.8631 C 490.84811,2026.5484 491.02029,2027.4038 491.5584,2027.926 L 507.75466,2044.1735 C 508.27701,2044.6967 509.12753,2044.8702 509.81737,2044.5941 C 510.50722,2044.3181 510.99487,2043.6091 511.00003,2042.8749 L 511.00003,2026.5973 C 511.00203,2025.6165 510.09615,2024.7232 509.1018,2024.7249 L 492.93616,2024.7249 L 492.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2004.7249 C 532.18152,2004.7059 531.43807,2005.1778 531.1431,2005.8631 C 530.84811,2006.5484 531.02029,2007.4038 531.5584,2007.926 L 547.75466,2024.1735 C 548.27701,2024.6967 549.12753,2024.8702 549.81737,2024.5941 C 550.50722,2024.3181 550.99487,2023.6091 551.00003,2022.8749 L 551.00003,2006.5973 C 551.00203,2005.6165 550.09615,2004.7232 549.1018,2004.7249 L 532.93616,2004.7249 L 532.93616,2004.7249 z"
- id="path2566"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2568"
- d="M 512.93616,2004.7249 C 512.18152,2004.7059 511.43807,2005.1778 511.1431,2005.8631 C 510.84811,2006.5484 511.02029,2007.4038 511.5584,2007.926 L 527.75466,2024.1735 C 528.27701,2024.6967 529.12753,2024.8702 529.81737,2024.5941 C 530.50722,2024.3181 530.99487,2023.6091 531.00003,2022.8749 L 531.00003,2006.5973 C 531.00203,2005.6165 530.09615,2004.7232 529.1018,2004.7249 L 512.93616,2004.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- </g>
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2576"
- width="550"
- height="442"
- x="150.71429"
- y="577.07648"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <image
- style="display:inline"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- y="577.07648"
- x="150.71429"
- id="image2578"
- height="442"
- width="550"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAAG6CAIAAACz4Bq0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAL EwAACxMBAJqcGAAAAAd0SU1FB9oJFwAWNxuKiGYAAAcMSURBVHja7d3BTqNQGIBRKAXBmEjrWve+ /xupWwluRCqBWTSZxYzVOqMU7z1nYUwlTXqLfP1pStNpmhIA+H4rSwCA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgAxWEfy OPu+b5qm67phGMZxnKbJcw/MIE3TLMvyPK+qarPZFEUR9WrEcPB9fHxs23a329n7gVOFJ0mSsizr uq7rWnJC7k3TNMMw2OmBk1enKIrtdhttdQJ/L6fv+7Zt9QY4uf3r+9fX16enp2hPugSenKZpnE8D llOdaZr2L4UlJ0Bd19nLgaWFJ9pDU+DJcUoNWGBy+r6XnACN42j/BhbVm98/I7SO4dkFcFwy5QAg OQAgOQD8UGtLAPC19hca+Jt3l005AJhyAOKYfkw5ACA5AEgOAEgOAJIDgOQAgOQAIDlAEM7Pzy0C kgPM4fr6uixL64DkAN9/XFitbm5uVAfJAeaQZZnqIDmA6iA5gOqA5ACqwxL48oIYvXkF9Q9vPHTd 9UPb/LH9m3/67DafupN3fvnn+z/yPv9zm+NX8s3n5cNbPnsJ/X117u7uXl5e/PtgygHMOkgOoDog OYDqIDmA6iA5AKqD5ACqg+QAqgOSA6gOkgOoDpIDoDpIDqA6SA6gOiA5gOogOYDqIDkA7xjH8eHh wXccIDnAt/fm/v7++fnZUiA5gN4gOYDeIDkAeoPkAHqD5AB6A5ID6A2SA+gNkgOgN0gOoDdIDqA3 IDmA3iA5gN4Qg7UliNA0TUfeSJxub2/1BlMOYL5BcgC9AckB9AbJAfQGyQH0Rm+QHGAGeoPkADPR GyQHAMkBgCO4+gDAFzt0LY80TU05AGDKAQhx+ol23DHlACA5AEgOAEgOAJIDgORYAgAkBwDJ+Tl8 1hdAcuZ6eCtjHODVsOTMYr12eQVgcfI8l5wAVVVl5wYWNd9kWXZxcSE5Adput0VR2MuBhfQmTdOz s7O6riUnQPun1uk1YAm9SZIkz/PLy8toXwqHfyy+urpKkqRt291uZ6cHTtibsizruo52xEmSJD30 VUKB6fu+aZqu64ZhGMcxkkcNLCE2WZbleV5V1WazifxUf+rgC8A8fGwFAMkBQHIAQHIAkBwAJMcS ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOALP7BU35aWAYh0xJAAAAAElFTkSuQmCC " />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient3048);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2580"
- width="549"
- height="40"
- x="150.71429"
- y="577.07648" />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient3045);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2582"
- width="549"
- height="40"
- x="150.71429"
- y="979.07648" />
- <g
- transform="matrix(0.8999997,0,0,0.8999997,204.81441,-875.1749)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- id="g2650">
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2652"
- d="M 432.93612,2084.725 C 432.18148,2084.706 431.43803,2085.1779 431.14306,2085.8632 C 430.84807,2086.5485 431.02025,2087.4039 431.55836,2087.9261 L 447.75462,2104.1736 C 448.27697,2104.6968 449.12749,2104.8703 449.81733,2104.5942 C 450.50718,2104.3182 450.99483,2103.6092 450.99999,2102.875 L 450.99999,2086.5974 C 451.00199,2085.6166 450.09611,2084.7233 449.10176,2084.725 L 432.93612,2084.725 L 432.93612,2084.725 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2654"
- d="M 532.93616,1984.7249 C 532.18152,1984.7059 531.43807,1985.1778 531.1431,1985.8631 C 530.84811,1986.5484 531.02029,1987.4038 531.5584,1987.926 L 547.75466,2004.1735 C 548.27701,2004.6967 549.12753,2004.8702 549.81737,2004.5941 C 550.50722,2004.3181 550.99487,2003.6091 551.00003,2002.8749 L 551.00003,1986.5973 C 551.00203,1985.6165 550.09615,1984.7232 549.1018,1984.7249 L 532.93616,1984.7249 L 532.93616,1984.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.125;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2084.7249 C 532.18152,2084.7059 531.43807,2085.1778 531.1431,2085.8631 C 530.84811,2086.5484 531.02029,2087.4038 531.5584,2087.926 L 547.75466,2104.1735 C 548.27701,2104.6967 549.12753,2104.8702 549.81737,2104.5941 C 550.50722,2104.3181 550.99487,2103.6091 551.00003,2102.8749 L 551.00003,2086.5973 C 551.00203,2085.6165 550.09615,2084.7232 549.1018,2084.7249 L 532.93616,2084.7249 L 532.93616,2084.7249 z"
- id="path2656"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2658"
- d="M 512.93616,2084.7249 C 512.18152,2084.7059 511.43807,2085.1778 511.1431,2085.8631 C 510.84811,2086.5484 511.02029,2087.4038 511.5584,2087.926 L 527.75466,2104.1735 C 528.27701,2104.6967 529.12753,2104.8702 529.81737,2104.5941 C 530.50722,2104.3181 530.99487,2103.6091 531.00003,2102.8749 L 531.00003,2086.5973 C 531.00203,2085.6165 530.09615,2084.7232 529.1018,2084.7249 L 512.93616,2084.7249 L 512.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2084.7249 C 492.18152,2084.7059 491.43807,2085.1778 491.1431,2085.8631 C 490.84811,2086.5484 491.02029,2087.4038 491.5584,2087.926 L 507.75466,2104.1735 C 508.27701,2104.6967 509.12753,2104.8702 509.81737,2104.5941 C 510.50722,2104.3181 510.99487,2103.6091 511.00003,2102.8749 L 511.00003,2086.5973 C 511.00203,2085.6165 510.09615,2084.7232 509.1018,2084.7249 L 492.93616,2084.7249 L 492.93616,2084.7249 z"
- id="path2660"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2662"
- d="M 472.93616,2084.7249 C 472.18152,2084.7059 471.43807,2085.1778 471.1431,2085.8631 C 470.84811,2086.5484 471.02029,2087.4038 471.5584,2087.926 L 487.75466,2104.1735 C 488.27701,2104.6967 489.12753,2104.8702 489.81737,2104.5941 C 490.50722,2104.3181 490.99487,2103.6091 491.00003,2102.8749 L 491.00003,2086.5973 C 491.00203,2085.6165 490.09615,2084.7232 489.1018,2084.7249 L 472.93616,2084.7249 L 472.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 452.93616,2084.7249 C 452.18152,2084.7059 451.43807,2085.1778 451.1431,2085.8631 C 450.84811,2086.5484 451.02029,2087.4038 451.5584,2087.926 L 467.75466,2104.1735 C 468.27701,2104.6967 469.12753,2104.8702 469.81737,2104.5941 C 470.50722,2104.3181 470.99487,2103.6091 471.00003,2102.8749 L 471.00003,2086.5973 C 471.00203,2085.6165 470.09615,2084.7232 469.1018,2084.7249 L 452.93616,2084.7249 L 452.93616,2084.7249 z"
- id="path2664"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2666"
- d="M 532.93616,2064.7249 C 532.18152,2064.7059 531.43807,2065.1778 531.1431,2065.8631 C 530.84811,2066.5484 531.02029,2067.4038 531.5584,2067.926 L 547.75466,2084.1735 C 548.27701,2084.6967 549.12753,2084.8702 549.81737,2084.5941 C 550.50722,2084.3181 550.99487,2083.6091 551.00003,2082.8749 L 551.00003,2066.5973 C 551.00203,2065.6165 550.09615,2064.7232 549.1018,2064.7249 L 532.93616,2064.7249 L 532.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2064.7249 C 512.18152,2064.7059 511.43807,2065.1778 511.1431,2065.8631 C 510.84811,2066.5484 511.02029,2067.4038 511.5584,2067.926 L 527.75466,2084.1735 C 528.27701,2084.6967 529.12753,2084.8702 529.81737,2084.5941 C 530.50722,2084.3181 530.99487,2083.6091 531.00003,2082.8749 L 531.00003,2066.5973 C 531.00203,2065.6165 530.09615,2064.7232 529.1018,2064.7249 L 512.93616,2064.7249 L 512.93616,2064.7249 z"
- id="path2668"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2670"
- d="M 492.93616,2064.7249 C 492.18152,2064.7059 491.43807,2065.1778 491.1431,2065.8631 C 490.84811,2066.5484 491.02029,2067.4038 491.5584,2067.926 L 507.75466,2084.1735 C 508.27701,2084.6967 509.12753,2084.8702 509.81737,2084.5941 C 510.50722,2084.3181 510.99487,2083.6091 511.00003,2082.8749 L 511.00003,2066.5973 C 511.00203,2065.6165 510.09615,2064.7232 509.1018,2064.7249 L 492.93616,2064.7249 L 492.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 472.93616,2064.7249 C 472.18152,2064.7059 471.43807,2065.1778 471.1431,2065.8631 C 470.84811,2066.5484 471.02029,2067.4038 471.5584,2067.926 L 487.75466,2084.1735 C 488.27701,2084.6967 489.12753,2084.8702 489.81737,2084.5941 C 490.50722,2084.3181 490.99487,2083.6091 491.00003,2082.8749 L 491.00003,2066.5973 C 491.00203,2065.6165 490.09615,2064.7232 489.1018,2064.7249 L 472.93616,2064.7249 L 472.93616,2064.7249 z"
- id="path2672"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2674"
- d="M 452.93616,2064.7249 C 452.18152,2064.7059 451.43807,2065.1778 451.1431,2065.8631 C 450.84811,2066.5484 451.02029,2067.4038 451.5584,2067.926 L 467.75466,2084.1735 C 468.27701,2084.6967 469.12753,2084.8702 469.81737,2084.5941 C 470.50722,2084.3181 470.99487,2083.6091 471.00003,2082.8749 L 471.00003,2066.5973 C 471.00203,2065.6165 470.09615,2064.7232 469.1018,2064.7249 L 452.93616,2064.7249 L 452.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2044.7249 C 532.18152,2044.7059 531.43807,2045.1778 531.1431,2045.8631 C 530.84811,2046.5484 531.02029,2047.4038 531.5584,2047.926 L 547.75466,2064.1735 C 548.27701,2064.6967 549.12753,2064.8702 549.81737,2064.5941 C 550.50722,2064.3181 550.99487,2063.6091 551.00003,2062.8749 L 551.00003,2046.5973 C 551.00203,2045.6165 550.09615,2044.7232 549.1018,2044.7249 L 532.93616,2044.7249 L 532.93616,2044.7249 z"
- id="path2676"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2678"
- d="M 512.93616,2044.7249 C 512.18152,2044.7059 511.43807,2045.1778 511.1431,2045.8631 C 510.84811,2046.5484 511.02029,2047.4038 511.5584,2047.926 L 527.75466,2064.1735 C 528.27701,2064.6967 529.12753,2064.8702 529.81737,2064.5941 C 530.50722,2064.3181 530.99487,2063.6091 531.00003,2062.8749 L 531.00003,2046.5973 C 531.00203,2045.6165 530.09615,2044.7232 529.1018,2044.7249 L 512.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2044.7249 C 492.18152,2044.7059 491.43807,2045.1778 491.1431,2045.8631 C 490.84811,2046.5484 491.02029,2047.4038 491.5584,2047.926 L 507.75466,2064.1735 C 508.27701,2064.6967 509.12753,2064.8702 509.81737,2064.5941 C 510.50722,2064.3181 510.99487,2063.6091 511.00003,2062.8749 L 511.00003,2046.5973 C 511.00203,2045.6165 510.09615,2044.7232 509.1018,2044.7249 L 492.93616,2044.7249 L 492.93616,2044.7249 z"
- id="path2680"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2682"
- d="M 472.93616,2044.7249 C 472.18152,2044.7059 471.43807,2045.1778 471.1431,2045.8631 C 470.84811,2046.5484 471.02029,2047.4038 471.5584,2047.926 L 487.75466,2064.1735 C 488.27701,2064.6967 489.12753,2064.8702 489.81737,2064.5941 C 490.50722,2064.3181 490.99487,2063.6091 491.00003,2062.8749 L 491.00003,2046.5973 C 491.00203,2045.6165 490.09615,2044.7232 489.1018,2044.7249 L 472.93616,2044.7249 L 472.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2684"
- d="M 532.93616,2024.7249 C 532.18152,2024.7059 531.43807,2025.1778 531.1431,2025.8631 C 530.84811,2026.5484 531.02029,2027.4038 531.5584,2027.926 L 547.75466,2044.1735 C 548.27701,2044.6967 549.12753,2044.8702 549.81737,2044.5941 C 550.50722,2044.3181 550.99487,2043.6091 551.00003,2042.8749 L 551.00003,2026.5973 C 551.00203,2025.6165 550.09615,2024.7232 549.1018,2024.7249 L 532.93616,2024.7249 L 532.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2024.7249 C 512.18152,2024.7059 511.43807,2025.1778 511.1431,2025.8631 C 510.84811,2026.5484 511.02029,2027.4038 511.5584,2027.926 L 527.75466,2044.1735 C 528.27701,2044.6967 529.12753,2044.8702 529.81737,2044.5941 C 530.50722,2044.3181 530.99487,2043.6091 531.00003,2042.8749 L 531.00003,2026.5973 C 531.00203,2025.6165 530.09615,2024.7232 529.1018,2024.7249 L 512.93616,2024.7249 z"
- id="path2686"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2688"
- d="M 492.93616,2024.7249 C 492.18152,2024.7059 491.43807,2025.1778 491.1431,2025.8631 C 490.84811,2026.5484 491.02029,2027.4038 491.5584,2027.926 L 507.75466,2044.1735 C 508.27701,2044.6967 509.12753,2044.8702 509.81737,2044.5941 C 510.50722,2044.3181 510.99487,2043.6091 511.00003,2042.8749 L 511.00003,2026.5973 C 511.00203,2025.6165 510.09615,2024.7232 509.1018,2024.7249 L 492.93616,2024.7249 L 492.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2004.7249 C 532.18152,2004.7059 531.43807,2005.1778 531.1431,2005.8631 C 530.84811,2006.5484 531.02029,2007.4038 531.5584,2007.926 L 547.75466,2024.1735 C 548.27701,2024.6967 549.12753,2024.8702 549.81737,2024.5941 C 550.50722,2024.3181 550.99487,2023.6091 551.00003,2022.8749 L 551.00003,2006.5973 C 551.00203,2005.6165 550.09615,2004.7232 549.1018,2004.7249 L 532.93616,2004.7249 L 532.93616,2004.7249 z"
- id="path2690"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2692"
- d="M 512.93616,2004.7249 C 512.18152,2004.7059 511.43807,2005.1778 511.1431,2005.8631 C 510.84811,2006.5484 511.02029,2007.4038 511.5584,2007.926 L 527.75466,2024.1735 C 528.27701,2024.6967 529.12753,2024.8702 529.81737,2024.5941 C 530.50722,2024.3181 530.99487,2023.6091 531.00003,2022.8749 L 531.00003,2006.5973 C 531.00203,2005.6165 530.09615,2004.7232 529.1018,2004.7249 L 512.93616,2004.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- </g>
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2700"
- width="550"
- height="442"
- x="150.71429"
- y="577.07648"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <image
- style="display:inline"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- y="577.07648"
- x="150.71429"
- id="image2702"
- height="442"
- width="550"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAAG6CAIAAACz4Bq0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAL EwAACxMBAJqcGAAAAAd0SU1FB9oJFwAWNxuKiGYAAAcMSURBVHja7d3BTqNQGIBRKAXBmEjrWve+ /xupWwluRCqBWTSZxYzVOqMU7z1nYUwlTXqLfP1pStNpmhIA+H4rSwCA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgAxWEfy OPu+b5qm67phGMZxnKbJcw/MIE3TLMvyPK+qarPZFEUR9WrEcPB9fHxs23a329n7gVOFJ0mSsizr uq7rWnJC7k3TNMMw2OmBk1enKIrtdhttdQJ/L6fv+7Zt9QY4uf3r+9fX16enp2hPugSenKZpnE8D llOdaZr2L4UlJ0Bd19nLgaWFJ9pDU+DJcUoNWGBy+r6XnACN42j/BhbVm98/I7SO4dkFcFwy5QAg OQAgOQD8UGtLAPC19hca+Jt3l005AJhyAOKYfkw5ACA5AEgOAEgOAJIDgOQAgOQAIDlAEM7Pzy0C kgPM4fr6uixL64DkAN9/XFitbm5uVAfJAeaQZZnqIDmA6iA5gOqA5ACqwxL48oIYvXkF9Q9vPHTd 9UPb/LH9m3/67DafupN3fvnn+z/yPv9zm+NX8s3n5cNbPnsJ/X117u7uXl5e/PtgygHMOkgOoDog OYDqIDmA6iA5AKqD5ACqg+QAqgOSA6gOkgOoDpIDoDpIDqA6SA6gOiA5gOogOYDqIDkA7xjH8eHh wXccIDnAt/fm/v7++fnZUiA5gN4gOYDeIDkAeoPkAHqD5AB6A5ID6A2SA+gNkgOgN0gOoDdIDqA3 IDmA3iA5gN4Qg7UliNA0TUfeSJxub2/1BlMOYL5BcgC9AckB9AbJAfQGyQH0Rm+QHGAGeoPkADPR GyQHAMkBgCO4+gDAFzt0LY80TU05AGDKAQhx+ol23DHlACA5AEgOAEgOAJIDgORYAgAkBwDJ+Tl8 1hdAcuZ6eCtjHODVsOTMYr12eQVgcfI8l5wAVVVl5wYWNd9kWXZxcSE5Adput0VR2MuBhfQmTdOz s7O6riUnQPun1uk1YAm9SZIkz/PLy8toXwqHfyy+urpKkqRt291uZ6cHTtibsizruo52xEmSJD30 VUKB6fu+aZqu64ZhGMcxkkcNLCE2WZbleV5V1WazifxUf+rgC8A8fGwFAMkBQHIAQHIAkBwAJMcS ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOALP7BU35aWAYh0xJAAAAAElFTkSuQmCC " />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient2985);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2704"
- width="549"
- height="40"
- x="150.71429"
- y="577.07648" />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient2982);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2706"
- width="549"
- height="40"
- x="150.71429"
- y="979.07648" />
- <g
- transform="matrix(0.8999997,0,0,0.8999997,204.81441,-875.1749)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- id="g2774">
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2776"
- d="M 432.93612,2084.725 C 432.18148,2084.706 431.43803,2085.1779 431.14306,2085.8632 C 430.84807,2086.5485 431.02025,2087.4039 431.55836,2087.9261 L 447.75462,2104.1736 C 448.27697,2104.6968 449.12749,2104.8703 449.81733,2104.5942 C 450.50718,2104.3182 450.99483,2103.6092 450.99999,2102.875 L 450.99999,2086.5974 C 451.00199,2085.6166 450.09611,2084.7233 449.10176,2084.725 L 432.93612,2084.725 L 432.93612,2084.725 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2778"
- d="M 532.93616,1984.7249 C 532.18152,1984.7059 531.43807,1985.1778 531.1431,1985.8631 C 530.84811,1986.5484 531.02029,1987.4038 531.5584,1987.926 L 547.75466,2004.1735 C 548.27701,2004.6967 549.12753,2004.8702 549.81737,2004.5941 C 550.50722,2004.3181 550.99487,2003.6091 551.00003,2002.8749 L 551.00003,1986.5973 C 551.00203,1985.6165 550.09615,1984.7232 549.1018,1984.7249 L 532.93616,1984.7249 L 532.93616,1984.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.125;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2084.7249 C 532.18152,2084.7059 531.43807,2085.1778 531.1431,2085.8631 C 530.84811,2086.5484 531.02029,2087.4038 531.5584,2087.926 L 547.75466,2104.1735 C 548.27701,2104.6967 549.12753,2104.8702 549.81737,2104.5941 C 550.50722,2104.3181 550.99487,2103.6091 551.00003,2102.8749 L 551.00003,2086.5973 C 551.00203,2085.6165 550.09615,2084.7232 549.1018,2084.7249 L 532.93616,2084.7249 L 532.93616,2084.7249 z"
- id="path2780"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2782"
- d="M 512.93616,2084.7249 C 512.18152,2084.7059 511.43807,2085.1778 511.1431,2085.8631 C 510.84811,2086.5484 511.02029,2087.4038 511.5584,2087.926 L 527.75466,2104.1735 C 528.27701,2104.6967 529.12753,2104.8702 529.81737,2104.5941 C 530.50722,2104.3181 530.99487,2103.6091 531.00003,2102.8749 L 531.00003,2086.5973 C 531.00203,2085.6165 530.09615,2084.7232 529.1018,2084.7249 L 512.93616,2084.7249 L 512.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2084.7249 C 492.18152,2084.7059 491.43807,2085.1778 491.1431,2085.8631 C 490.84811,2086.5484 491.02029,2087.4038 491.5584,2087.926 L 507.75466,2104.1735 C 508.27701,2104.6967 509.12753,2104.8702 509.81737,2104.5941 C 510.50722,2104.3181 510.99487,2103.6091 511.00003,2102.8749 L 511.00003,2086.5973 C 511.00203,2085.6165 510.09615,2084.7232 509.1018,2084.7249 L 492.93616,2084.7249 L 492.93616,2084.7249 z"
- id="path2784"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2786"
- d="M 472.93616,2084.7249 C 472.18152,2084.7059 471.43807,2085.1778 471.1431,2085.8631 C 470.84811,2086.5484 471.02029,2087.4038 471.5584,2087.926 L 487.75466,2104.1735 C 488.27701,2104.6967 489.12753,2104.8702 489.81737,2104.5941 C 490.50722,2104.3181 490.99487,2103.6091 491.00003,2102.8749 L 491.00003,2086.5973 C 491.00203,2085.6165 490.09615,2084.7232 489.1018,2084.7249 L 472.93616,2084.7249 L 472.93616,2084.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 452.93616,2084.7249 C 452.18152,2084.7059 451.43807,2085.1778 451.1431,2085.8631 C 450.84811,2086.5484 451.02029,2087.4038 451.5584,2087.926 L 467.75466,2104.1735 C 468.27701,2104.6967 469.12753,2104.8702 469.81737,2104.5941 C 470.50722,2104.3181 470.99487,2103.6091 471.00003,2102.8749 L 471.00003,2086.5973 C 471.00203,2085.6165 470.09615,2084.7232 469.1018,2084.7249 L 452.93616,2084.7249 L 452.93616,2084.7249 z"
- id="path2788"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2790"
- d="M 532.93616,2064.7249 C 532.18152,2064.7059 531.43807,2065.1778 531.1431,2065.8631 C 530.84811,2066.5484 531.02029,2067.4038 531.5584,2067.926 L 547.75466,2084.1735 C 548.27701,2084.6967 549.12753,2084.8702 549.81737,2084.5941 C 550.50722,2084.3181 550.99487,2083.6091 551.00003,2082.8749 L 551.00003,2066.5973 C 551.00203,2065.6165 550.09615,2064.7232 549.1018,2064.7249 L 532.93616,2064.7249 L 532.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2064.7249 C 512.18152,2064.7059 511.43807,2065.1778 511.1431,2065.8631 C 510.84811,2066.5484 511.02029,2067.4038 511.5584,2067.926 L 527.75466,2084.1735 C 528.27701,2084.6967 529.12753,2084.8702 529.81737,2084.5941 C 530.50722,2084.3181 530.99487,2083.6091 531.00003,2082.8749 L 531.00003,2066.5973 C 531.00203,2065.6165 530.09615,2064.7232 529.1018,2064.7249 L 512.93616,2064.7249 L 512.93616,2064.7249 z"
- id="path2792"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2794"
- d="M 492.93616,2064.7249 C 492.18152,2064.7059 491.43807,2065.1778 491.1431,2065.8631 C 490.84811,2066.5484 491.02029,2067.4038 491.5584,2067.926 L 507.75466,2084.1735 C 508.27701,2084.6967 509.12753,2084.8702 509.81737,2084.5941 C 510.50722,2084.3181 510.99487,2083.6091 511.00003,2082.8749 L 511.00003,2066.5973 C 511.00203,2065.6165 510.09615,2064.7232 509.1018,2064.7249 L 492.93616,2064.7249 L 492.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 472.93616,2064.7249 C 472.18152,2064.7059 471.43807,2065.1778 471.1431,2065.8631 C 470.84811,2066.5484 471.02029,2067.4038 471.5584,2067.926 L 487.75466,2084.1735 C 488.27701,2084.6967 489.12753,2084.8702 489.81737,2084.5941 C 490.50722,2084.3181 490.99487,2083.6091 491.00003,2082.8749 L 491.00003,2066.5973 C 491.00203,2065.6165 490.09615,2064.7232 489.1018,2064.7249 L 472.93616,2064.7249 L 472.93616,2064.7249 z"
- id="path2796"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2798"
- d="M 452.93616,2064.7249 C 452.18152,2064.7059 451.43807,2065.1778 451.1431,2065.8631 C 450.84811,2066.5484 451.02029,2067.4038 451.5584,2067.926 L 467.75466,2084.1735 C 468.27701,2084.6967 469.12753,2084.8702 469.81737,2084.5941 C 470.50722,2084.3181 470.99487,2083.6091 471.00003,2082.8749 L 471.00003,2066.5973 C 471.00203,2065.6165 470.09615,2064.7232 469.1018,2064.7249 L 452.93616,2064.7249 L 452.93616,2064.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2044.7249 C 532.18152,2044.7059 531.43807,2045.1778 531.1431,2045.8631 C 530.84811,2046.5484 531.02029,2047.4038 531.5584,2047.926 L 547.75466,2064.1735 C 548.27701,2064.6967 549.12753,2064.8702 549.81737,2064.5941 C 550.50722,2064.3181 550.99487,2063.6091 551.00003,2062.8749 L 551.00003,2046.5973 C 551.00203,2045.6165 550.09615,2044.7232 549.1018,2044.7249 L 532.93616,2044.7249 L 532.93616,2044.7249 z"
- id="path2800"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2802"
- d="M 512.93616,2044.7249 C 512.18152,2044.7059 511.43807,2045.1778 511.1431,2045.8631 C 510.84811,2046.5484 511.02029,2047.4038 511.5584,2047.926 L 527.75466,2064.1735 C 528.27701,2064.6967 529.12753,2064.8702 529.81737,2064.5941 C 530.50722,2064.3181 530.99487,2063.6091 531.00003,2062.8749 L 531.00003,2046.5973 C 531.00203,2045.6165 530.09615,2044.7232 529.1018,2044.7249 L 512.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 492.93616,2044.7249 C 492.18152,2044.7059 491.43807,2045.1778 491.1431,2045.8631 C 490.84811,2046.5484 491.02029,2047.4038 491.5584,2047.926 L 507.75466,2064.1735 C 508.27701,2064.6967 509.12753,2064.8702 509.81737,2064.5941 C 510.50722,2064.3181 510.99487,2063.6091 511.00003,2062.8749 L 511.00003,2046.5973 C 511.00203,2045.6165 510.09615,2044.7232 509.1018,2044.7249 L 492.93616,2044.7249 L 492.93616,2044.7249 z"
- id="path2804"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2806"
- d="M 472.93616,2044.7249 C 472.18152,2044.7059 471.43807,2045.1778 471.1431,2045.8631 C 470.84811,2046.5484 471.02029,2047.4038 471.5584,2047.926 L 487.75466,2064.1735 C 488.27701,2064.6967 489.12753,2064.8702 489.81737,2064.5941 C 490.50722,2064.3181 490.99487,2063.6091 491.00003,2062.8749 L 491.00003,2046.5973 C 491.00203,2045.6165 490.09615,2044.7232 489.1018,2044.7249 L 472.93616,2044.7249 L 472.93616,2044.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2808"
- d="M 532.93616,2024.7249 C 532.18152,2024.7059 531.43807,2025.1778 531.1431,2025.8631 C 530.84811,2026.5484 531.02029,2027.4038 531.5584,2027.926 L 547.75466,2044.1735 C 548.27701,2044.6967 549.12753,2044.8702 549.81737,2044.5941 C 550.50722,2044.3181 550.99487,2043.6091 551.00003,2042.8749 L 551.00003,2026.5973 C 551.00203,2025.6165 550.09615,2024.7232 549.1018,2024.7249 L 532.93616,2024.7249 L 532.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 512.93616,2024.7249 C 512.18152,2024.7059 511.43807,2025.1778 511.1431,2025.8631 C 510.84811,2026.5484 511.02029,2027.4038 511.5584,2027.926 L 527.75466,2044.1735 C 528.27701,2044.6967 529.12753,2044.8702 529.81737,2044.5941 C 530.50722,2044.3181 530.99487,2043.6091 531.00003,2042.8749 L 531.00003,2026.5973 C 531.00203,2025.6165 530.09615,2024.7232 529.1018,2024.7249 L 512.93616,2024.7249 z"
- id="path2810"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2812"
- d="M 492.93616,2024.7249 C 492.18152,2024.7059 491.43807,2025.1778 491.1431,2025.8631 C 490.84811,2026.5484 491.02029,2027.4038 491.5584,2027.926 L 507.75466,2044.1735 C 508.27701,2044.6967 509.12753,2044.8702 509.81737,2044.5941 C 510.50722,2044.3181 510.99487,2043.6091 511.00003,2042.8749 L 511.00003,2026.5973 C 511.00203,2025.6165 510.09615,2024.7232 509.1018,2024.7249 L 492.93616,2024.7249 L 492.93616,2024.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 532.93616,2004.7249 C 532.18152,2004.7059 531.43807,2005.1778 531.1431,2005.8631 C 530.84811,2006.5484 531.02029,2007.4038 531.5584,2007.926 L 547.75466,2024.1735 C 548.27701,2024.6967 549.12753,2024.8702 549.81737,2024.5941 C 550.50722,2024.3181 550.99487,2023.6091 551.00003,2022.8749 L 551.00003,2006.5973 C 551.00203,2005.6165 550.09615,2004.7232 549.1018,2004.7249 L 532.93616,2004.7249 L 532.93616,2004.7249 z"
- id="path2814"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path2816"
- d="M 512.93616,2004.7249 C 512.18152,2004.7059 511.43807,2005.1778 511.1431,2005.8631 C 510.84811,2006.5484 511.02029,2007.4038 511.5584,2007.926 L 527.75466,2024.1735 C 528.27701,2024.6967 529.12753,2024.8702 529.81737,2024.5941 C 530.50722,2024.3181 530.99487,2023.6091 531.00003,2022.8749 L 531.00003,2006.5973 C 531.00203,2005.6165 530.09615,2004.7232 529.1018,2004.7249 L 512.93616,2004.7249 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- </g>
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2824"
- width="550"
- height="442"
- x="149.20457"
- y="577.1496"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <image
- style="display:inline"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- y="577.07648"
- x="150.71429"
- id="image2826"
- height="442"
- width="550"
- xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiYAAAG6CAIAAACz4Bq0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAAL EwAACxMBAJqcGAAAAAd0SU1FB9oJFwAWNxuKiGYAAAcMSURBVHja7d3BTqNQGIBRKAXBmEjrWve+ /xupWwluRCqBWTSZxYzVOqMU7z1nYUwlTXqLfP1pStNpmhIA+H4rSwCA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgCSAwCS A4DkAIDkACA5AEgOAEgOAJIDAJIDgOQAIDkAIDkASA4ASA4AkgOA5ACA5AAgOQAgOQBIDgAxWEfy OPu+b5qm67phGMZxnKbJcw/MIE3TLMvyPK+qarPZFEUR9WrEcPB9fHxs23a329n7gVOFJ0mSsizr uq7rWnJC7k3TNMMw2OmBk1enKIrtdhttdQJ/L6fv+7Zt9QY4uf3r+9fX16enp2hPugSenKZpnE8D llOdaZr2L4UlJ0Bd19nLgaWFJ9pDU+DJcUoNWGBy+r6XnACN42j/BhbVm98/I7SO4dkFcFwy5QAg OQAgOQD8UGtLAPC19hca+Jt3l005AJhyAOKYfkw5ACA5AEgOAEgOAJIDgOQAgOQAIDlAEM7Pzy0C kgPM4fr6uixL64DkAN9/XFitbm5uVAfJAeaQZZnqIDmA6iA5gOqA5ACqwxL48oIYvXkF9Q9vPHTd 9UPb/LH9m3/67DafupN3fvnn+z/yPv9zm+NX8s3n5cNbPnsJ/X117u7uXl5e/PtgygHMOkgOoDog OYDqIDmA6iA5AKqD5ACqg+QAqgOSA6gOkgOoDpIDoDpIDqA6SA6gOiA5gOogOYDqIDkA7xjH8eHh wXccIDnAt/fm/v7++fnZUiA5gN4gOYDeIDkAeoPkAHqD5AB6A5ID6A2SA+gNkgOgN0gOoDdIDqA3 IDmA3iA5gN4Qg7UliNA0TUfeSJxub2/1BlMOYL5BcgC9AckB9AbJAfQGyQH0Rm+QHGAGeoPkADPR GyQHAMkBgCO4+gDAFzt0LY80TU05AGDKAQhx+ol23DHlACA5AEgOAEgOAJIDgORYAgAkBwDJ+Tl8 1hdAcuZ6eCtjHODVsOTMYr12eQVgcfI8l5wAVVVl5wYWNd9kWXZxcSE5Adput0VR2MuBhfQmTdOz s7O6riUnQPun1uk1YAm9SZIkz/PLy8toXwqHfyy+urpKkqRt291uZ6cHTtibsizruo52xEmSJD30 VUKB6fu+aZqu64ZhGMcxkkcNLCE2WZbleV5V1WazifxUf+rgC8A8fGwFAMkBQHIAQHIAkBwAJMcS ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOAJIDgOQAgOQAIDkAIDkASA4AkgMAkgOA5ACA5AAgOQBIDgBIDgCSAwCSA4DkACA5 ACA5AEgOAEgOALP7BU35aWAYh0xJAAAAAElFTkSuQmCC " />
- <rect
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- style="fill:url(#linearGradient2922);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="rect2828"
- width="549"
- height="40"
- x="151.21429"
- y="577.1496" />
- <rect
- y="979.07648"
- x="151.21429"
- height="40"
- width="549"
- id="rect13863"
- style="fill:url(#linearGradient2869);fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/OOo3_refresh_mac_install_image.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <g
- transform="translate(1.7025045e-5,8.7443773e-5)"
- id="g3133">
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 594.45679,1001.077 C 593.77761,1001.0599 593.10851,1001.4846 592.84303,1002.1014 C 592.57754,1002.7181 592.73251,1003.488 593.2168,1003.958 L 607.79343,1018.5807 C 608.26355,1019.0516 609.02902,1019.2077 609.64987,1018.9592 C 610.27074,1018.7108 610.70962,1018.0727 610.71427,1017.412 L 610.71427,1002.7621 C 610.71607,1001.8794 609.90077,1001.0754 609.00586,1001.077 L 594.45679,1001.077 L 594.45679,1001.077 z"
- id="path13935"
- sodipodi:nodetypes="csccscccc" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,911.07691 C 683.77762,911.05981 683.10851,911.48452 682.84304,912.10129 C 682.57755,912.71806 682.73251,913.48792 683.21681,913.9579 L 697.79344,928.58065 C 698.26355,929.05153 699.02902,929.20768 699.64988,928.95919 C 700.27074,928.71079 700.70963,928.07269 700.71427,927.41191 L 700.71427,912.76207 C 700.71607,911.87935 699.90078,911.07538 699.00587,911.07691 L 684.45679,911.07691 L 684.45679,911.07691 z"
- id="path13937"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13939"
- d="M 684.45679,1001.0769 C 683.77762,1001.0598 683.10851,1001.4845 682.84304,1002.1013 C 682.57755,1002.718 682.73251,1003.4879 683.21681,1003.9579 L 697.79344,1018.5806 C 698.26355,1019.0515 699.02902,1019.2076 699.64988,1018.9592 C 700.27074,1018.7108 700.70963,1018.0727 700.71427,1017.4119 L 700.71427,1002.762 C 700.71607,1001.8793 699.90078,1001.0754 699.00587,1001.0769 L 684.45679,1001.0769 L 684.45679,1001.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.125;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 666.4568,1001.0769 C 665.77762,1001.0598 665.10852,1001.4845 664.84305,1002.1013 C 664.57756,1002.718 664.73252,1003.4879 665.21682,1003.9579 L 679.79345,1018.5806 C 680.26356,1019.0515 681.02903,1019.2076 681.64988,1018.9592 C 682.27075,1018.7108 682.70963,1018.0727 682.71428,1017.4119 L 682.71428,1002.762 C 682.71608,1001.8793 681.90079,1001.0754 681.00587,1001.0769 L 666.4568,1001.0769 L 666.4568,1001.0769 z"
- id="path13941"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13943"
- d="M 648.45681,1001.0769 C 647.77763,1001.0598 647.10853,1001.4845 646.84305,1002.1013 C 646.57756,1002.718 646.73252,1003.4879 647.21682,1003.9579 L 661.79345,1018.5806 C 662.26357,1019.0515 663.02903,1019.2076 663.64989,1018.9592 C 664.27075,1018.7108 664.70964,1018.0727 664.71428,1017.4119 L 664.71428,1002.762 C 664.71608,1001.8793 663.90079,1001.0754 663.00588,1001.0769 L 648.45681,1001.0769 L 648.45681,1001.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 630.45681,1001.0769 C 629.77764,1001.0598 629.10853,1001.4845 628.84306,1002.1013 C 628.57757,1002.718 628.73253,1003.4879 629.21683,1003.9579 L 643.79346,1018.5806 C 644.26357,1019.0515 645.02904,1019.2076 645.6499,1018.9592 C 646.27076,1018.7108 646.70965,1018.0727 646.71429,1017.4119 L 646.71429,1002.762 C 646.71609,1001.8793 645.9008,1001.0754 645.00588,1001.0769 L 630.45681,1001.0769 L 630.45681,1001.0769 z"
- id="path13945"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13947"
- d="M 612.45682,1001.0769 C 611.77764,1001.0598 611.10854,1001.4845 610.84306,1002.1013 C 610.57757,1002.718 610.73254,1003.4879 611.21683,1003.9579 L 625.79346,1018.5806 C 626.26358,1019.0515 627.02905,1019.2076 627.6499,1018.9592 C 628.27077,1018.7108 628.70965,1018.0727 628.7143,1017.4119 L 628.7143,1002.762 C 628.7161,1001.8793 627.9008,1001.0754 627.00589,1001.0769 L 612.45682,1001.0769 L 612.45682,1001.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,983.07689 C 683.77762,983.05979 683.10851,983.4845 682.84304,984.10127 C 682.57755,984.71804 682.73251,985.4879 683.21681,985.95788 L 697.79344,1000.5806 C 698.26355,1001.0515 699.02902,1001.2077 699.64988,1000.9592 C 700.27074,1000.7108 700.70963,1000.0727 700.71427,999.41189 L 700.71427,984.76205 C 700.71607,983.87933 699.90078,983.07536 699.00587,983.07689 L 684.45679,983.07689 L 684.45679,983.07689 z"
- id="path13949"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13951"
- d="M 666.4568,983.07689 C 665.77762,983.05979 665.10852,983.4845 664.84305,984.10127 C 664.57756,984.71804 664.73252,985.4879 665.21682,985.95788 L 679.79345,1000.5806 C 680.26356,1001.0515 681.02903,1001.2077 681.64988,1000.9592 C 682.27075,1000.7108 682.70963,1000.0727 682.71428,999.41189 L 682.71428,984.76205 C 682.71608,983.87933 681.90079,983.07536 681.00587,983.07689 L 666.4568,983.07689 L 666.4568,983.07689 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 648.45681,983.07689 C 647.77763,983.05979 647.10853,983.4845 646.84305,984.10127 C 646.57756,984.71804 646.73252,985.4879 647.21682,985.95788 L 661.79345,1000.5806 C 662.26357,1001.0515 663.02903,1001.2077 663.64989,1000.9592 C 664.27075,1000.7108 664.70964,1000.0727 664.71428,999.41189 L 664.71428,984.76205 C 664.71608,983.87933 663.90079,983.07536 663.00588,983.07689 L 648.45681,983.07689 L 648.45681,983.07689 z"
- id="path13953"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13955"
- d="M 630.45681,983.07689 C 629.77764,983.05979 629.10853,983.4845 628.84306,984.10127 C 628.57757,984.71804 628.73253,985.4879 629.21683,985.95788 L 643.79346,1000.5806 C 644.26357,1001.0515 645.02904,1001.2077 645.6499,1000.9592 C 646.27076,1000.7108 646.70965,1000.0727 646.71429,999.41189 L 646.71429,984.76205 C 646.71609,983.87933 645.9008,983.07536 645.00588,983.07689 L 630.45681,983.07689 L 630.45681,983.07689 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 612.45682,983.07689 C 611.77764,983.05979 611.10854,983.4845 610.84306,984.10127 C 610.57757,984.71804 610.73254,985.4879 611.21683,985.95788 L 625.79346,1000.5806 C 626.26358,1001.0515 627.02905,1001.2077 627.6499,1000.9592 C 628.27077,1000.7108 628.70965,1000.0727 628.7143,999.41189 L 628.7143,984.76205 C 628.7161,983.87933 627.9008,983.07536 627.00589,983.07689 L 612.45682,983.07689 L 612.45682,983.07689 z"
- id="path13957"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13959"
- d="M 684.45679,965.0769 C 683.77762,965.0598 683.10851,965.48451 682.84304,966.10128 C 682.57755,966.71805 682.73251,967.48791 683.21681,967.95789 L 697.79344,982.58063 C 698.26355,983.05151 699.02902,983.20766 699.64988,982.95917 C 700.27074,982.71077 700.70963,982.07267 700.71427,981.41189 L 700.71427,966.76206 C 700.71607,965.87934 699.90078,965.07537 699.00587,965.0769 L 684.45679,965.0769 L 684.45679,965.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 666.4568,965.0769 C 665.77762,965.0598 665.10852,965.48451 664.84305,966.10128 C 664.57756,966.71805 664.73252,967.48791 665.21682,967.95789 L 679.79345,982.58063 C 680.26356,983.05151 681.02903,983.20766 681.64988,982.95917 C 682.27075,982.71077 682.70963,982.07267 682.71428,981.41189 L 682.71428,966.76206 C 682.71608,965.87934 681.90079,965.07537 681.00587,965.0769 L 666.4568,965.0769 z"
- id="path13961"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13963"
- d="M 648.45681,965.0769 C 647.77763,965.0598 647.10853,965.48451 646.84305,966.10128 C 646.57756,966.71805 646.73252,967.48791 647.21682,967.95789 L 661.79345,982.58063 C 662.26357,983.05151 663.02903,983.20766 663.64989,982.95917 C 664.27075,982.71077 664.70964,982.07267 664.71428,981.41189 L 664.71428,966.76206 C 664.71608,965.87934 663.90079,965.07537 663.00588,965.0769 L 648.45681,965.0769 L 648.45681,965.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 630.45681,965.0769 C 629.77764,965.0598 629.10853,965.48451 628.84306,966.10128 C 628.57757,966.71805 628.73253,967.48791 629.21683,967.95789 L 643.79346,982.58063 C 644.26357,983.05151 645.02904,983.20766 645.6499,982.95917 C 646.27076,982.71077 646.70965,982.07267 646.71429,981.41189 L 646.71429,966.76206 C 646.71609,965.87934 645.9008,965.07537 645.00588,965.0769 L 630.45681,965.0769 L 630.45681,965.0769 z"
- id="path13965"
- sodipodi:nodetypes="csccscccc" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,947.0769 C 683.77762,947.0598 683.10851,947.48451 682.84304,948.10128 C 682.57755,948.71805 682.73251,949.48791 683.21681,949.95789 L 697.79344,964.58064 C 698.26355,965.05152 699.02902,965.20767 699.64988,964.95918 C 700.27074,964.71078 700.70963,964.07268 700.71427,963.4119 L 700.71427,948.76206 C 700.71607,947.87934 699.90078,947.07537 699.00587,947.0769 L 684.45679,947.0769 L 684.45679,947.0769 z"
- id="path13967"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13969"
- d="M 666.4568,947.0769 C 665.77762,947.0598 665.10852,947.48451 664.84305,948.10128 C 664.57756,948.71805 664.73252,949.48791 665.21682,949.95789 L 679.79345,964.58064 C 680.26356,965.05152 681.02903,965.20767 681.64988,964.95918 C 682.27075,964.71078 682.70963,964.07268 682.71428,963.4119 L 682.71428,948.76206 C 682.71608,947.87934 681.90079,947.07537 681.00587,947.0769 L 666.4568,947.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 648.45681,947.0769 C 647.77763,947.0598 647.10853,947.48451 646.84305,948.10128 C 646.57756,948.71805 646.73252,949.48791 647.21682,949.95789 L 661.79345,964.58064 C 662.26357,965.05152 663.02903,965.20767 663.64989,964.95918 C 664.27075,964.71078 664.70964,964.07268 664.71428,963.4119 L 664.71428,948.76206 C 664.71608,947.87934 663.90079,947.07537 663.00588,947.0769 L 648.45681,947.0769 L 648.45681,947.0769 z"
- id="path13971"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path13973"
- d="M 684.45679,929.07691 C 683.77762,929.05981 683.10851,929.48452 682.84304,930.10129 C 682.57755,930.71806 682.73251,931.48792 683.21681,931.9579 L 697.79344,946.58064 C 698.26355,947.05152 699.02902,947.20767 699.64988,946.95918 C 700.27074,946.71078 700.70963,946.07268 700.71427,945.4119 L 700.71427,930.76207 C 700.71607,929.87935 699.90078,929.07538 699.00587,929.07691 L 684.45679,929.07691 L 684.45679,929.07691 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 666.4568,929.07691 C 665.77762,929.05981 665.10852,929.48452 664.84305,930.10129 C 664.57756,930.71806 664.73252,931.48792 665.21682,931.9579 L 679.79345,946.58064 C 680.26356,947.05152 681.02903,947.20767 681.64988,946.95918 C 682.27075,946.71078 682.70963,946.07268 682.71428,945.4119 L 682.71428,930.76207 C 682.71608,929.87935 681.90079,929.07538 681.00587,929.07691 L 666.4568,929.07691 z"
- id="path13975"
- sodipodi:nodetypes="csccscccc" />
- </g>
- <g
- transform="matrix(0.5346023,0,0,0.5346023,226.78329,489.97176)"
- id="g4513">
- <g
- id="g3252"
- transform="matrix(1.1041871,0,0,1.1275051,240.59949,350.39632)"
- style="fill:#000000">
- <path
- id="path3254"
- d="M 17.816,4.488 L 10.744,4.488 L 10.744,24.48 L 7.004,24.48 L 7.004,4.488 L 0,4.488 L 0,1.428 L 17.816,1.428 L 17.816,4.488 z"
- style="fill:#000000" />
- <path
- id="path3256"
- d="M 23.604186,10.37 C 24.930186,8.568 26.596186,7.616 28.840186,7.616 C 32.274186,7.616 34.246186,9.792 34.246186,13.532 L 34.246186,24.48 L 30.506186,24.48 L 30.506186,15.368 C 30.506186,12.206 30.098186,10.506 27.514186,10.506 C 25.168186,10.506 23.536186,12.648 23.536186,15.708 L 23.536186,24.48 L 19.796186,24.48 L 19.796186,2.9698466e-14 L 23.536186,2.9698466e-14 L 23.536186,10.37 L 23.604186,10.37 z"
- style="fill:#000000" />
- <path
- id="path3258"
- d="M 46.298814,21.931 C 47.896814,21.931 49.324814,21.591 50.718814,20.979 L 51.092814,23.801 C 49.392814,24.583 47.828814,24.821 45.618814,24.821 C 40.790814,24.821 37.389814,22.067 37.389814,16.593 C 37.389814,11.323 40.925814,7.617 45.651814,7.617 C 49.901814,7.617 52.315814,11.051 52.315814,14.893 C 52.315814,15.743 52.281814,16.525 52.179814,17.239 L 41.232814,17.239 C 41.436814,20.196 43.135814,21.931 46.298814,21.931 z M 48.677814,14.484 C 48.575814,12.274 47.759814,10.506 45.345814,10.506 C 43.101814,10.506 41.775814,12.036 41.401814,14.484 L 48.677814,14.484 z"
- style="fill:#000000" />
- <path
- id="path3260"
- d="M 70.02901,1.258 C 78.35901,1.258 83.22101,5.134 83.22101,12.546 C 83.22101,20.774 76.18301,24.65 69.58701,24.65 C 67.30901,24.65 64.96301,24.548 62.92301,24.344 L 62.92301,1.632 C 65.23501,1.394 68.05701,1.258 70.02901,1.258 z M 66.66301,21.522 C 67.68301,21.59 68.87301,21.624 69.92701,21.624 C 74.85701,21.624 79.07301,18.904 79.07301,12.954 C 79.07301,7.344 75.60501,4.284 69.96101,4.284 C 68.87301,4.284 67.51301,4.318 66.66301,4.42 L 66.66301,21.522 z"
- style="fill:#000000" />
- <path
- id="path3262"
- d="M 101.66244,16.218 C 101.66244,21.42 98.194443,24.82 93.468443,24.82 C 88.742443,24.82 85.274443,21.42 85.274443,16.218 C 85.274443,11.016 88.742443,7.616 93.468443,7.616 C 98.194443,7.616 101.66244,11.016 101.66244,16.218 z M 97.651443,16.218 C 97.651443,12.546 96.087443,10.506 93.469443,10.506 C 90.851443,10.506 89.287443,12.546 89.287443,16.218 C 89.287443,19.89 90.851443,21.93 93.469443,21.93 C 96.087443,21.93 97.651443,19.891 97.651443,16.218 z"
- style="fill:#000000" />
- <path
- id="path3264"
- d="M 113.02567,21.931 C 114.35167,21.931 115.88167,21.591 117.13967,21.047 L 117.51367,23.869 C 116.32367,24.447 114.48767,24.821 112.20967,24.821 C 107.17767,24.821 103.91367,21.523 103.91367,16.593 C 103.91367,10.915 107.75567,7.617 112.92367,7.617 C 115.06567,7.617 116.83367,8.093 117.68367,8.603 L 117.30967,11.425 C 116.25567,10.915 114.86167,10.507 113.29767,10.507 C 110.10167,10.507 107.92567,12.377 107.92567,16.151 C 107.92567,19.958 109.89767,21.931 113.02567,21.931 z"
- style="fill:#000000" />
- <path
- id="path3266"
- d="M 131.29089,22.066 C 129.96489,23.868 128.26489,24.82 126.05489,24.82 C 122.62089,24.82 120.64889,22.644 120.64889,18.904 L 120.64889,7.956 L 124.38889,7.956 L 124.38889,17.068 C 124.38889,20.23 124.76289,21.93 127.38089,21.93 C 129.69289,21.93 131.35889,19.822 131.35889,16.728 L 131.35889,7.956 L 135.09889,7.956 L 135.09889,24.48 L 131.46089,24.48 L 131.35889,22.066 L 131.29089,22.066 z"
- style="fill:#000000" />
- <path
- id="path3268"
- d="M 152.78142,11.05 C 154.09704,8.432 156.01986,7.616 157.97641,7.616 C 161.14737,7.616 162.96899,9.588 162.96899,13.226 L 162.96899,24.48 L 159.25829,24.48 L 159.25829,14.382 C 159.25829,11.628 158.48241,10.506 156.6608,10.506 C 154.46811,10.506 153.08503,12.614 153.08503,16.388 L 153.08503,24.48 L 149.37432,24.48 L 149.37432,14.382 C 149.37432,11.628 148.59845,10.506 146.77683,10.506 C 144.58414,10.506 143.20106,12.75 143.20106,16.388 L 143.20106,24.48 L 139.49036,24.48 L 139.49036,7.956 L 143.09986,7.956 L 143.20106,10.37 L 143.26853,10.37 C 144.34801,8.636 145.86602,7.616 148.09244,7.616 C 150.2514,7.616 152.03928,8.568 152.68022,11.05 L 152.78142,11.05 z"
- style="fill:#000000" />
- <path
- id="path3270"
- d="M 175.00552,21.931 C 176.60352,21.931 178.03152,21.591 179.42552,20.979 L 179.79952,23.801 C 178.09952,24.583 176.53552,24.821 174.32552,24.821 C 169.49752,24.821 166.09652,22.067 166.09652,16.593 C 166.09652,11.323 169.63252,7.617 174.35852,7.617 C 178.60852,7.617 181.02252,11.051 181.02252,14.893 C 181.02252,15.743 180.98852,16.525 180.88652,17.239 L 169.93852,17.239 C 170.14452,20.196 171.84352,21.931 175.00552,21.931 z M 177.38552,14.484 C 177.28352,12.274 176.46752,10.506 174.05352,10.506 C 171.80952,10.506 170.48352,12.036 170.10952,14.484 L 177.38552,14.484 z"
- style="fill:#000000" />
- <path
- id="path3272"
- d="M 188.24105,10.37 C 189.56705,8.568 191.23305,7.616 193.47705,7.616 C 196.91105,7.616 198.88305,9.792 198.88305,13.532 L 198.88305,24.48 L 195.14305,24.48 L 195.14305,15.368 C 195.14305,12.206 194.73505,10.506 192.15105,10.506 C 189.80505,10.506 188.17305,12.648 188.17305,15.708 L 188.17305,24.48 L 184.43305,24.48 L 184.43305,7.956 L 188.07105,7.956 L 188.17305,10.37 L 188.24105,10.37 L 188.24105,10.37 z"
- style="fill:#000000" />
- <path
- id="path3274"
- d="M 212.15806,10.846 L 208.07806,10.846 L 208.07806,19.584 C 208.07806,21.454 209.03006,21.93 210.35606,21.93 C 211.07006,21.93 211.51206,21.862 212.22606,21.624 L 212.60006,24.378 C 211.61406,24.684 210.45806,24.82 208.96206,24.82 C 206.27606,24.82 204.33806,23.528 204.33806,20.502 L 204.33806,10.846 L 201.65206,10.846 L 201.65206,7.956 L 204.33806,7.956 L 204.33806,4.216 L 208.07806,4.216 L 208.07806,7.956 L 212.15806,7.956 L 212.15806,10.846 z"
- style="fill:#000000" />
- <path
- id="path3276"
- d="M 223.13443,24.48 L 223.13443,1.428 L 235.98743,1.428 L 235.98743,4.488 L 226.87543,4.488 L 226.87543,11.39 L 234.83143,11.39 L 234.83143,14.416 L 226.87543,14.416 L 226.87543,24.48 L 223.13443,24.48 z"
- style="fill:#000000" />
- <path
- id="path3278"
- d="M 254.15374,16.218 C 254.15374,21.42 250.68474,24.82 245.95974,24.82 C 241.23274,24.82 237.76574,21.42 237.76574,16.218 C 237.76574,11.016 241.23374,7.616 245.95974,7.616 C 250.68574,7.616 254.15374,11.016 254.15374,16.218 z M 250.14174,16.218 C 250.14174,12.546 248.57874,10.506 245.95974,10.506 C 243.34074,10.506 241.77774,12.546 241.77774,16.218 C 241.77774,19.89 243.34074,21.93 245.95974,21.93 C 248.57874,21.93 250.14174,19.891 250.14174,16.218 z"
- style="fill:#000000" />
- <path
- id="path3280"
- d="M 267.8887,22.063898 C 266.58161,23.867273 264.90584,24.82 262.72735,24.82 C 259.34231,24.82 257.39843,22.642339 257.39843,18.899485 L 257.39843,7.9431301 L 261.08511,7.9431301 L 261.08511,17.062084 C 261.08511,20.226497 261.45378,21.927794 264.03445,21.927794 C 266.31348,21.927794 267.95573,19.818186 267.95573,16.721824 L 267.95573,7.9431301 L 271.6424,7.9431301 L 271.6424,24.479741 L 268.05628,24.479741 L 267.95474,22.063898 L 267.8887,22.063898 z"
- style="fill:#000000" />
- <path
- id="path3282"
- d="M 279.95412,10.358155 C 281.26762,8.5546424 282.91792,7.6018432 285.13978,7.6018432 C 288.54242,7.6018432 290.49485,9.7796698 290.49485,13.522809 L 290.49485,24.48 L 286.79109,24.48 L 286.79109,15.36035 C 286.79109,12.195697 286.38692,10.494269 283.82727,10.494269 C 281.5024,10.494269 279.88578,12.638067 279.88578,15.700636 L 279.88578,24.48 L 276.18101,24.48 L 276.18101,7.9421286 L 279.78572,7.9421286 L 279.88677,10.358155 L 279.95412,10.358155 L 279.95412,10.358155 z"
- style="fill:#000000" />
- <path
- id="path3284"
- d="M 300.95303,24.82 C 296.42828,24.82 293.70502,21.383151 293.70502,16.517117 C 293.70502,11.344829 296.73353,7.6017268 301.1572,7.6017268 C 303.47212,7.6017268 305.03642,8.452432 306.36352,10.187871 L 306.43157,10.187871 L 306.43157,-0.02059181 L 310.17368,-0.02059181 L 310.17368,24.479718 L 306.53265,24.479718 L 306.43057,22.233856 L 306.36251,22.233856 C 304.96736,23.936267 303.29998,24.82 300.95303,24.82 z M 302.10999,10.494124 C 299.14953,10.494124 297.72035,12.774014 297.72035,16.244891 C 297.72035,19.681741 299.2166,21.927603 302.17704,21.927603 C 304.79722,21.927603 306.43157,19.919938 306.43157,16.891428 L 306.43157,15.530299 C 306.43157,12.331648 304.59305,10.494124 302.10999,10.494124 z"
- style="fill:#000000" />
- <path
- id="path3286"
- d="M 327.13912,13.293431 L 327.13912,24.478977 L 323.48917,24.478977 L 323.38686,22.160023 L 323.31866,22.160023 C 322.3638,23.865136 320.76099,24.82 318.57845,24.82 C 315.81617,24.82 313.3608,22.739761 313.3608,19.465942 C 313.3608,15.407772 317.31566,13.804965 320.99971,13.804965 C 321.92047,13.804965 322.70382,13.907272 323.38686,14.009579 L 323.38686,13.634454 C 323.38686,11.520113 322.32869,10.462942 319.80613,10.462942 C 318.61255,10.462942 317.04385,10.769863 315.54335,11.417806 L 315.16822,8.5873172 C 316.90744,7.8711694 318.71486,7.564249 320.52228,7.564249 C 324.88837,7.564249 327.13912,9.6444877 327.13912,13.293431 z M 323.38788,16.362636 C 322.77403,16.260329 322.02378,16.192125 321.23842,16.192125 C 319.22639,16.192125 317.45407,17.112886 317.45407,19.261329 C 317.45407,21.102852 318.47714,22.057716 320.04585,22.057716 C 321.92147,22.057716 323.38788,20.250295 323.38788,17.317499 L 323.38788,16.362636 z"
- style="fill:#000000" />
- <path
- id="path3288"
- d="M 340.41792,10.810029 L 336.32742,10.810029 L 336.32742,19.570522 C 336.32742,21.445335 337.28187,21.922561 338.61128,21.922561 C 339.32712,21.922561 339.77026,21.854386 340.48609,21.615773 L 340.86106,24.376863 C 339.87253,24.68365 338.71255,24.82 337.2127,24.82 C 334.51978,24.82 332.57679,23.524674 332.57679,20.490884 L 332.57679,10.810029 L 329.88388,10.810029 L 329.88388,7.9125894 L 332.57679,7.9125894 L 332.57679,4.162962 L 336.32642,4.162962 L 336.32642,7.9125894 L 340.41692,7.9125894 L 340.41692,10.810029 L 340.41792,10.810029 z"
- style="fill:#000000" />
- <path
- id="path3290"
- d="M 343.61816,3.7929297 C 343.61816,2.5660193 344.6065,1.577675 345.83341,1.577675 C 347.06132,1.577675 348.04866,2.5660193 348.04866,3.7929297 C 348.04866,5.0198399 347.06132,6.0081843 345.83341,6.0081843 C 344.6075,6.0081843 343.61816,5.0198399 343.61816,3.7929297 z M 343.95896,7.9167114 L 347.70786,7.9167114 L 347.70786,24.48 L 343.95896,24.48 L 343.95896,7.9167114 z"
- style="fill:#000000" />
- <path
- id="path3292"
- d="M 367.46488,16.192768 C 367.46488,21.410027 363.9857,24.82 359.24684,24.82 C 354.50597,24.82 351.0288,21.410027 351.0288,16.192768 C 351.0288,10.975509 354.50698,7.565536 359.24684,7.565536 C 363.9857,7.565536 367.46488,10.975509 367.46488,16.192768 z M 363.44011,16.192768 C 363.44011,12.509997 361.87251,10.464013 359.24583,10.464013 C 356.61915,10.464013 355.05157,12.509997 355.05157,16.192768 C 355.05157,19.875539 356.61915,21.921523 359.24583,21.921523 C 361.87251,21.921523 363.44011,19.876542 363.44011,16.192768 z"
- style="fill:#000000" />
- <path
- id="path3294"
- d="M 374.56395,10.357078 C 375.89116,8.553428 377.55869,7.6005562 379.80374,7.6005562 C 383.24189,7.6005562 385.2147,9.778549 385.2147,13.521974 L 385.2147,24.48 L 381.47228,24.48 L 381.47228,15.359656 C 381.47228,12.19476 381.0639,10.493203 378.47753,10.493203 C 376.12839,10.493203 374.49489,12.637165 374.49489,15.699967 L 374.49489,24.48 L 370.75146,24.48 L 370.75146,7.9408675 L 374.3938,7.9408675 L 374.49589,10.357078 L 374.56395,10.357078 L 374.56395,10.357078 z"
- style="fill:#000000" />
- </g>
- <g
- id="g2496"
- transform="translate(0,-8.52e-3)"
- style="fill:#000000">
- <path
- id="path2451"
- d="M 288.61033,302.30636 C 288.61033,316.95039 276.54431,324.37515 259.73741,324.37515 C 253.96283,324.37515 246.74356,323.75659 240.76141,322.93047 L 240.76141,254.97429 C 248.18617,254.04646 256.22949,253.42582 261.38551,253.42582 C 277.78143,253.42582 286.75466,260.7468 286.75466,270.95714 C 286.75466,278.3819 281.49485,283.84721 274.79243,286.21973 L 274.79243,286.42522 C 283.6598,289.10702 288.61033,294.15926 288.61033,302.30636 z M 261.38551,282.7118 C 268.19172,282.7118 271.69757,279.61902 271.69757,273.63686 C 271.69757,268.06778 268.60478,264.45814 261.59101,264.45814 C 259.83705,264.45814 257.15732,264.56193 254.57931,264.97499 L 254.57931,282.7118 L 261.38551,282.7118 z M 254.57931,293.33313 L 254.57931,312.92562 C 257.36282,313.2349 260.04462,313.33868 262.20957,313.33868 C 269.42883,313.33868 273.75873,310.14211 273.75873,303.74897 C 273.75873,296.73727 270.04531,293.33313 261.69272,293.33313 L 254.57931,293.33313 z"
- style="fill:#18a303;fill-opacity:1" />
- <path
- id="path2453"
- d="M 328.80624,285.90837 C 324.26877,286.11594 320.96842,286.93999 318.18491,288.89945 C 314.98834,291.16818 313.13059,294.77782 313.13059,304.88438 L 313.13059,323.8583 L 299.31269,323.8583 L 299.31269,273.53516 L 312.82132,273.53516 L 313.13059,282.50631 L 313.33816,282.50631 C 316.22545,276.93722 322.51481,272.91452 329.11552,272.50354 L 328.80624,285.90837 z"
- style="fill:#18a303;fill-opacity:1" />
- <path
- id="path2455"
- d="M 402.97074,288.89945 C 402.97074,312.51463 385.64491,324.88785 368.11567,324.88785 C 350.58435,324.88785 333.2606,312.51463 333.2606,288.89945 C 333.2606,265.28427 350.58643,252.91105 368.11567,252.91105 C 385.64699,252.91105 402.97074,265.28427 402.97074,288.89945 z M 390.38995,288.89945 C 390.38995,271.16264 381.00574,262.0877 368.11567,262.0877 C 355.22561,262.0877 345.84139,271.16264 345.84139,288.89945 C 345.84139,306.63626 355.22561,315.7112 368.11567,315.7112 C 381.00574,315.7112 390.38995,306.63626 390.38995,288.89945 z"
- style="fill:#000000" />
- <path
- id="path2457"
- d="M 436.85305,248.57908 C 440.04962,248.57908 442.73142,249.19763 444.89637,250.02376 L 443.76304,258.37636 C 442.01115,257.7578 440.04962,257.34474 437.57539,257.34474 C 430.35612,257.34474 426.3355,262.50076 426.3355,270.85336 L 426.3355,273.74065 L 438.91629,273.74065 L 438.91629,282.50631 L 426.3355,282.50631 L 426.3355,323.8583 L 414.99183,323.8583 L 414.99183,282.50631 L 406.74094,282.50631 L 406.74094,273.74065 L 414.99183,273.74065 L 414.99183,272.39975 C 414.99183,257.55023 423.54992,248.57908 436.85305,248.57908 z"
- style="fill:#000000" />
- <path
- id="path2459"
- d="M 466.9653,248.57908 C 470.16187,248.57908 472.84366,249.19763 475.00861,250.02376 L 473.87528,258.37636 C 472.1234,257.7578 470.16187,257.34474 467.68764,257.34474 C 460.46837,257.34474 456.44775,262.50076 456.44775,270.85336 L 456.44775,273.74065 L 469.02854,273.74065 L 469.02854,282.50631 L 456.44775,282.50631 L 456.44775,323.8583 L 445.10408,323.8583 L 445.10408,282.50631 L 436.85319,282.50631 L 436.85319,273.74065 L 445.10408,273.74065 L 445.10408,272.39975 C 445.10408,257.55023 453.66217,248.57908 466.9653,248.57908 z"
- style="fill:#000000" />
- <path
- id="path2461"
- d="M 476.55998,261.26365 C 476.55998,257.55023 479.55106,254.56123 483.2624,254.56123 C 486.97374,254.56123 489.96482,257.55023 489.96482,261.26365 C 489.96482,264.97707 486.97374,267.96607 483.2624,267.96607 C 479.54898,267.96607 476.55998,264.97499 476.55998,261.26365 z M 477.58953,273.74065 L 488.9332,273.74065 L 488.9332,323.8583 L 477.58953,323.8583 L 477.58953,273.74065 z"
- style="fill:#000000" />
- <path
- id="path2463"
- d="M 524.07112,316.12426 C 528.09381,316.12426 532.73299,315.09264 536.54812,313.44247 L 537.68145,322.00263 C 534.07182,323.75452 528.5048,324.88992 521.59481,324.88992 C 506.33223,324.88992 496.43324,314.88715 496.43324,299.93592 C 496.43324,282.71388 508.08619,272.7111 523.75976,272.7111 C 530.25669,272.7111 535.61821,274.15371 538.1983,275.70218 L 537.06497,284.26235 C 533.86632,282.71388 529.64021,281.47676 524.89724,281.47676 C 515.20375,281.47676 508.60304,287.14756 508.60304,298.59502 C 508.60096,310.14419 514.58312,316.12426 524.07112,316.12426 z"
- style="fill:#000000" />
- <path
- id="path2465"
- d="M 570.32982,316.12426 C 575.17657,316.12426 579.50647,315.09264 583.73466,313.23697 L 584.86799,321.79714 C 579.71196,324.16966 574.969,324.88992 568.2645,324.88992 C 553.62047,324.88992 543.3105,316.53733 543.3105,299.93592 C 543.3105,283.95099 554.03561,272.7111 568.36829,272.7111 C 581.25835,272.7111 588.57933,283.12694 588.57933,294.77989 C 588.57933,297.35791 588.47554,299.72835 588.16627,301.89538 L 554.96137,301.89538 C 555.58201,310.86445 560.74011,316.12426 570.32982,316.12426 z M 577.54701,293.5407 C 577.23773,286.83828 574.7635,281.47469 567.44045,281.47469 C 560.63425,281.47469 556.61363,286.11594 555.47822,293.5407 L 577.54701,293.5407 z"
- style="fill:#000000" />
- <path
- id="path2467"
- d="M 619.87131,321.0748 L 621.00464,312.10364 C 626.77923,314.68166 632.14282,315.71328 637.29885,315.71328 C 646.06451,315.71328 651.52981,311.69058 651.52981,305.09195 C 651.52981,299.42115 646.06451,294.47061 635.33939,293.95584 L 635.33939,285.19018 C 644.10505,284.57163 649.67206,279.72488 649.67206,273.53723 C 649.67206,267.76265 644.82532,264.15301 638.22668,264.15301 C 634.20399,264.15301 629.7703,265.18464 625.33662,267.45337 L 624.20329,258.48222 C 629.66859,256.1097 634.9284,254.97637 641.11397,254.97637 C 653.28377,254.97637 662.25493,261.67879 662.25493,271.37228 C 662.25493,279.82866 655.13944,285.39775 647.30162,287.66649 L 647.30162,287.87406 C 656.89341,289.62594 664.1106,295.7098 664.1106,304.47754 C 664.1106,317.5731 652.45765,324.89407 636.782,324.89407 C 630.80192,324.88992 624.51049,323.65073 619.87131,321.0748 z"
- style="fill:#18a303;fill-opacity:1" />
- </g>
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/intro.png"
- sodipodi:nodetypes="csccscccc"
- id="path3908"
- d="M 156.43842,248.57158 C 155.16781,248.53958 153.91607,249.33412 153.41943,250.48796 C 152.92276,251.64181 153.21267,253.08203 154.11868,253.96126 L 181.38831,281.31717 C 182.26779,282.19808 183.6998,282.49021 184.8613,282.02534 C 186.0228,281.56063 186.84384,280.36689 186.85253,279.13071 L 186.85253,251.72414 C 186.85591,250.07277 185.33067,248.56872 183.65649,248.57158 L 156.43842,248.57158 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.92000002;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/christoph/Desktop/LibreOffice Artwork/intro.png"
- id="path3910"
- d="M 81.45645,248.57056 C 79.689041,248.59615 78.270622,250.0379 78.273691,251.80545 L 78.273691,376.66337 C 78.27071,378.43092 79.689112,379.87251 81.45645,379.89809 L 183.61756,379.89809 C 184.4759,379.89944 185.29952,379.55917 185.90647,378.95219 C 186.51345,378.34539 186.85385,377.52172 186.85248,376.66337 L 186.85248,296.25966 C 186.85748,295.39997 186.51946,294.5736 185.91332,293.96395 L 141.72003,249.56192 C 141.11895,248.9366 140.2916,248.57931 139.42427,248.57056 L 81.45645,248.57056 L 81.45645,248.57056 z M 84.691391,255.04034 L 138.06768,255.04034 L 180.38263,297.5642 L 180.38263,373.42832 L 84.691391,373.42832 L 84.691391,255.04034 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.92000002;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- </g>
- <g
- id="g3156"
- transform="matrix(-1,0,0,-1,851.42856,1596.1529)">
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3158"
- d="M 594.45679,1001.077 C 593.77761,1001.0599 593.10851,1001.4846 592.84303,1002.1014 C 592.57754,1002.7181 592.73251,1003.488 593.2168,1003.958 L 607.79343,1018.5807 C 608.26355,1019.0516 609.02902,1019.2077 609.64987,1018.9592 C 610.27074,1018.7108 610.70962,1018.0727 610.71427,1017.412 L 610.71427,1002.7621 C 610.71607,1001.8794 609.90077,1001.0754 609.00586,1001.077 L 594.45679,1001.077 L 594.45679,1001.077 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3160"
- d="M 684.45679,911.07691 C 683.77762,911.05981 683.10851,911.48452 682.84304,912.10129 C 682.57755,912.71806 682.73251,913.48792 683.21681,913.9579 L 697.79344,928.58065 C 698.26355,929.05153 699.02902,929.20768 699.64988,928.95919 C 700.27074,928.71079 700.70963,928.07269 700.71427,927.41191 L 700.71427,912.76207 C 700.71607,911.87935 699.90078,911.07538 699.00587,911.07691 L 684.45679,911.07691 L 684.45679,911.07691 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.125;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,1001.0769 C 683.77762,1001.0598 683.10851,1001.4845 682.84304,1002.1013 C 682.57755,1002.718 682.73251,1003.4879 683.21681,1003.9579 L 697.79344,1018.5806 C 698.26355,1019.0515 699.02902,1019.2076 699.64988,1018.9592 C 700.27074,1018.7108 700.70963,1018.0727 700.71427,1017.4119 L 700.71427,1002.762 C 700.71607,1001.8793 699.90078,1001.0754 699.00587,1001.0769 L 684.45679,1001.0769 L 684.45679,1001.0769 z"
- id="path3162"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3164"
- d="M 666.4568,1001.0769 C 665.77762,1001.0598 665.10852,1001.4845 664.84305,1002.1013 C 664.57756,1002.718 664.73252,1003.4879 665.21682,1003.9579 L 679.79345,1018.5806 C 680.26356,1019.0515 681.02903,1019.2076 681.64988,1018.9592 C 682.27075,1018.7108 682.70963,1018.0727 682.71428,1017.4119 L 682.71428,1002.762 C 682.71608,1001.8793 681.90079,1001.0754 681.00587,1001.0769 L 666.4568,1001.0769 L 666.4568,1001.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 648.45681,1001.0769 C 647.77763,1001.0598 647.10853,1001.4845 646.84305,1002.1013 C 646.57756,1002.718 646.73252,1003.4879 647.21682,1003.9579 L 661.79345,1018.5806 C 662.26357,1019.0515 663.02903,1019.2076 663.64989,1018.9592 C 664.27075,1018.7108 664.70964,1018.0727 664.71428,1017.4119 L 664.71428,1002.762 C 664.71608,1001.8793 663.90079,1001.0754 663.00588,1001.0769 L 648.45681,1001.0769 L 648.45681,1001.0769 z"
- id="path3166"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3168"
- d="M 630.45681,1001.0769 C 629.77764,1001.0598 629.10853,1001.4845 628.84306,1002.1013 C 628.57757,1002.718 628.73253,1003.4879 629.21683,1003.9579 L 643.79346,1018.5806 C 644.26357,1019.0515 645.02904,1019.2076 645.6499,1018.9592 C 646.27076,1018.7108 646.70965,1018.0727 646.71429,1017.4119 L 646.71429,1002.762 C 646.71609,1001.8793 645.9008,1001.0754 645.00588,1001.0769 L 630.45681,1001.0769 L 630.45681,1001.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 612.45682,1001.0769 C 611.77764,1001.0598 611.10854,1001.4845 610.84306,1002.1013 C 610.57757,1002.718 610.73254,1003.4879 611.21683,1003.9579 L 625.79346,1018.5806 C 626.26358,1019.0515 627.02905,1019.2076 627.6499,1018.9592 C 628.27077,1018.7108 628.70965,1018.0727 628.7143,1017.4119 L 628.7143,1002.762 C 628.7161,1001.8793 627.9008,1001.0754 627.00589,1001.0769 L 612.45682,1001.0769 L 612.45682,1001.0769 z"
- id="path3170"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3172"
- d="M 684.45679,983.07689 C 683.77762,983.05979 683.10851,983.4845 682.84304,984.10127 C 682.57755,984.71804 682.73251,985.4879 683.21681,985.95788 L 697.79344,1000.5806 C 698.26355,1001.0515 699.02902,1001.2077 699.64988,1000.9592 C 700.27074,1000.7108 700.70963,1000.0727 700.71427,999.41189 L 700.71427,984.76205 C 700.71607,983.87933 699.90078,983.07536 699.00587,983.07689 L 684.45679,983.07689 L 684.45679,983.07689 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 666.4568,983.07689 C 665.77762,983.05979 665.10852,983.4845 664.84305,984.10127 C 664.57756,984.71804 664.73252,985.4879 665.21682,985.95788 L 679.79345,1000.5806 C 680.26356,1001.0515 681.02903,1001.2077 681.64988,1000.9592 C 682.27075,1000.7108 682.70963,1000.0727 682.71428,999.41189 L 682.71428,984.76205 C 682.71608,983.87933 681.90079,983.07536 681.00587,983.07689 L 666.4568,983.07689 L 666.4568,983.07689 z"
- id="path3174"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3176"
- d="M 648.45681,983.07689 C 647.77763,983.05979 647.10853,983.4845 646.84305,984.10127 C 646.57756,984.71804 646.73252,985.4879 647.21682,985.95788 L 661.79345,1000.5806 C 662.26357,1001.0515 663.02903,1001.2077 663.64989,1000.9592 C 664.27075,1000.7108 664.70964,1000.0727 664.71428,999.41189 L 664.71428,984.76205 C 664.71608,983.87933 663.90079,983.07536 663.00588,983.07689 L 648.45681,983.07689 L 648.45681,983.07689 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 630.45681,983.07689 C 629.77764,983.05979 629.10853,983.4845 628.84306,984.10127 C 628.57757,984.71804 628.73253,985.4879 629.21683,985.95788 L 643.79346,1000.5806 C 644.26357,1001.0515 645.02904,1001.2077 645.6499,1000.9592 C 646.27076,1000.7108 646.70965,1000.0727 646.71429,999.41189 L 646.71429,984.76205 C 646.71609,983.87933 645.9008,983.07536 645.00588,983.07689 L 630.45681,983.07689 L 630.45681,983.07689 z"
- id="path3178"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3180"
- d="M 612.45682,983.07689 C 611.77764,983.05979 611.10854,983.4845 610.84306,984.10127 C 610.57757,984.71804 610.73254,985.4879 611.21683,985.95788 L 625.79346,1000.5806 C 626.26358,1001.0515 627.02905,1001.2077 627.6499,1000.9592 C 628.27077,1000.7108 628.70965,1000.0727 628.7143,999.41189 L 628.7143,984.76205 C 628.7161,983.87933 627.9008,983.07536 627.00589,983.07689 L 612.45682,983.07689 L 612.45682,983.07689 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.075;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,965.0769 C 683.77762,965.0598 683.10851,965.48451 682.84304,966.10128 C 682.57755,966.71805 682.73251,967.48791 683.21681,967.95789 L 697.79344,982.58063 C 698.26355,983.05151 699.02902,983.20766 699.64988,982.95917 C 700.27074,982.71077 700.70963,982.07267 700.71427,981.41189 L 700.71427,966.76206 C 700.71607,965.87934 699.90078,965.07537 699.00587,965.0769 L 684.45679,965.0769 L 684.45679,965.0769 z"
- id="path3182"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3184"
- d="M 666.4568,965.0769 C 665.77762,965.0598 665.10852,965.48451 664.84305,966.10128 C 664.57756,966.71805 664.73252,967.48791 665.21682,967.95789 L 679.79345,982.58063 C 680.26356,983.05151 681.02903,983.20766 681.64988,982.95917 C 682.27075,982.71077 682.70963,982.07267 682.71428,981.41189 L 682.71428,966.76206 C 682.71608,965.87934 681.90079,965.07537 681.00587,965.0769 L 666.4568,965.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 648.45681,965.0769 C 647.77763,965.0598 647.10853,965.48451 646.84305,966.10128 C 646.57756,966.71805 646.73252,967.48791 647.21682,967.95789 L 661.79345,982.58063 C 662.26357,983.05151 663.02903,983.20766 663.64989,982.95917 C 664.27075,982.71077 664.70964,982.07267 664.71428,981.41189 L 664.71428,966.76206 C 664.71608,965.87934 663.90079,965.07537 663.00588,965.0769 L 648.45681,965.0769 L 648.45681,965.0769 z"
- id="path3186"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3188"
- d="M 630.45681,965.0769 C 629.77764,965.0598 629.10853,965.48451 628.84306,966.10128 C 628.57757,966.71805 628.73253,967.48791 629.21683,967.95789 L 643.79346,982.58063 C 644.26357,983.05151 645.02904,983.20766 645.6499,982.95917 C 646.27076,982.71077 646.70965,982.07267 646.71429,981.41189 L 646.71429,966.76206 C 646.71609,965.87934 645.9008,965.07537 645.00588,965.0769 L 630.45681,965.0769 L 630.45681,965.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3190"
- d="M 684.45679,947.0769 C 683.77762,947.0598 683.10851,947.48451 682.84304,948.10128 C 682.57755,948.71805 682.73251,949.48791 683.21681,949.95789 L 697.79344,964.58064 C 698.26355,965.05152 699.02902,965.20767 699.64988,964.95918 C 700.27074,964.71078 700.70963,964.07268 700.71427,963.4119 L 700.71427,948.76206 C 700.71607,947.87934 699.90078,947.07537 699.00587,947.0769 L 684.45679,947.0769 L 684.45679,947.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.05;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 666.4568,947.0769 C 665.77762,947.0598 665.10852,947.48451 664.84305,948.10128 C 664.57756,948.71805 664.73252,949.48791 665.21682,949.95789 L 679.79345,964.58064 C 680.26356,965.05152 681.02903,965.20767 681.64988,964.95918 C 682.27075,964.71078 682.70963,964.07268 682.71428,963.4119 L 682.71428,948.76206 C 682.71608,947.87934 681.90079,947.07537 681.00587,947.0769 L 666.4568,947.0769 z"
- id="path3192"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3194"
- d="M 648.45681,947.0769 C 647.77763,947.0598 647.10853,947.48451 646.84305,948.10128 C 646.57756,948.71805 646.73252,949.48791 647.21682,949.95789 L 661.79345,964.58064 C 662.26357,965.05152 663.02903,965.20767 663.64989,964.95918 C 664.27075,964.71078 664.70964,964.07268 664.71428,963.4119 L 664.71428,948.76206 C 664.71608,947.87934 663.90079,947.07537 663.00588,947.0769 L 648.45681,947.0769 L 648.45681,947.0769 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- <path
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.025;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono"
- d="M 684.45679,929.07691 C 683.77762,929.05981 683.10851,929.48452 682.84304,930.10129 C 682.57755,930.71806 682.73251,931.48792 683.21681,931.9579 L 697.79344,946.58064 C 698.26355,947.05152 699.02902,947.20767 699.64988,946.95918 C 700.27074,946.71078 700.70963,946.07268 700.71427,945.4119 L 700.71427,930.76207 C 700.71607,929.87935 699.90078,929.07538 699.00587,929.07691 L 684.45679,929.07691 L 684.45679,929.07691 z"
- id="path3196"
- sodipodi:nodetypes="csccscccc" />
- <path
- sodipodi:nodetypes="csccscccc"
- id="path3198"
- d="M 666.4568,929.07691 C 665.77762,929.05981 665.10852,929.48452 664.84305,930.10129 C 664.57756,930.71806 664.73252,931.48792 665.21682,931.9579 L 679.79345,946.58064 C 680.26356,947.05152 681.02903,947.20767 681.64988,946.95918 C 682.27075,946.71078 682.70963,946.07268 682.71428,945.4119 L 682.71428,930.76207 C 682.71608,929.87935 681.90079,929.07538 681.00587,929.07691 L 666.4568,929.07691 z"
- style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.01000001;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.86823654;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Andale Mono;-inkscape-font-specification:Andale Mono" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/setup_native/source/mac/broffice/osxdndinstall_nologo.png b/setup_native/source/mac/broffice/osxdndinstall_nologo.png
deleted file mode 100644
index cab66ea99..000000000
--- a/setup_native/source/mac/broffice/osxdndinstall_nologo.png
+++ /dev/null
Binary files differ
diff --git a/setup_native/source/packinfo/packinfo_office_lang.txt b/setup_native/source/packinfo/packinfo_office_lang.txt
index d004d4f9f..0e2e05c4d 100755
--- a/setup_native/source/packinfo/packinfo_office_lang.txt
+++ b/setup_native/source/packinfo/packinfo_office_lang.txt
@@ -161,22 +161,6 @@ pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-base"
End
Start
-module = "gid_Module_Langpack_Binfilter"
-solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-binfilter"
-solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING"
-packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-binfilter"
-provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-binfilter"
-requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING"
-copyright = "1999-2009 by OpenOffice.org"
-solariscopyright = "solariscopyrightfile"
-vendor = "The Document Foundation"
-description = "Legacy filters (e.g. StarOffice 5.2) for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING"
-destpath = "/opt"
-packageversion = "%OOOPACKAGEVERSION"
-pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-binfilter"
-End
-
-Start
module = "gid_Module_Langpack_Onlineupdate"
solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-onlineupd"
solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING"
diff --git a/setup_native/source/win32/customactions/javafilter/makefile.mk b/setup_native/source/win32/customactions/javafilter/makefile.mk
index 3ee19cff5..3039ef4cc 100644
--- a/setup_native/source/win32/customactions/javafilter/makefile.mk
+++ b/setup_native/source/win32/customactions/javafilter/makefile.mk
@@ -40,7 +40,7 @@ DYNAMIC_CRT=
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -62,9 +62,9 @@ DEF1NAME=$(SHL1TARGET)
DEF1EXPORTFILE=exports.dxp
.ENDIF
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
diff --git a/setup_native/source/win32/customactions/languagepacks/makefile.mk b/setup_native/source/win32/customactions/languagepacks/makefile.mk
index 365772ca8..94eab3a01 100644
--- a/setup_native/source/win32/customactions/languagepacks/makefile.mk
+++ b/setup_native/source/win32/customactions/languagepacks/makefile.mk
@@ -44,7 +44,7 @@ CDEFS+=-Dnot_used_define_to_disable_pch
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
diff --git a/setup_native/source/win32/customactions/patch/makefile.mk b/setup_native/source/win32/customactions/patch/makefile.mk
index 77cd11e03..641f48ab6 100755
--- a/setup_native/source/win32/customactions/patch/makefile.mk
+++ b/setup_native/source/win32/customactions/patch/makefile.mk
@@ -43,7 +43,7 @@ CDEFS+=-Dnot_used_define_to_disable_pch
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -86,4 +86,3 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
diff --git a/setup_native/source/win32/customactions/quickstarter/makefile.mk b/setup_native/source/win32/customactions/quickstarter/makefile.mk
index 870571578..57b53d262 100644
--- a/setup_native/source/win32/customactions/quickstarter/makefile.mk
+++ b/setup_native/source/win32/customactions/quickstarter/makefile.mk
@@ -45,7 +45,7 @@ UWINAPILIB=
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
STDSHL += \
$(ADVAPI32LIB)\
@@ -91,4 +91,3 @@ DEF2EXPORTFILE=$(TARGET2).dxp
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
diff --git a/setup_native/source/win32/customactions/rebase/makefile.mk b/setup_native/source/win32/customactions/rebase/makefile.mk
index cb9e29db1..fb1fc22a8 100644
--- a/setup_native/source/win32/customactions/rebase/makefile.mk
+++ b/setup_native/source/win32/customactions/rebase/makefile.mk
@@ -44,7 +44,7 @@ UWINAPILIB=
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
STDSHL += \
$(ADVAPI32LIB)\
diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk b/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk
index 24037f0c0..0f162fa6c 100644
--- a/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk
+++ b/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk
@@ -42,7 +42,7 @@ CFLAGS+=-DUNICODE -D_UNICODE
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
diff --git a/setup_native/source/win32/customactions/reg64/makefile.mk b/setup_native/source/win32/customactions/reg64/makefile.mk
index 4cb5a5ca2..a0d7fbaef 100644
--- a/setup_native/source/win32/customactions/reg64/makefile.mk
+++ b/setup_native/source/win32/customactions/reg64/makefile.mk
@@ -44,7 +44,7 @@ CDEFS+=-Dnot_used_define_to_disable_pch
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -74,4 +74,3 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
INCLUDE!:=$(subst,/stl, $(INCLUDE))
-.EXPORT : INCLUDE
diff --git a/setup_native/source/win32/customactions/regactivex/makefile.mk b/setup_native/source/win32/customactions/regactivex/makefile.mk
index cc71dc39a..22eb1c89f 100644
--- a/setup_native/source/win32/customactions/regactivex/makefile.mk
+++ b/setup_native/source/win32/customactions/regactivex/makefile.mk
@@ -40,7 +40,7 @@ USE_DEFFILE=TRUE
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -67,4 +67,3 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
diff --git a/setup_native/source/win32/customactions/regpatchactivex/makefile.mk b/setup_native/source/win32/customactions/regpatchactivex/makefile.mk
index 4c6668db2..9641c8ba0 100644
--- a/setup_native/source/win32/customactions/regpatchactivex/makefile.mk
+++ b/setup_native/source/win32/customactions/regpatchactivex/makefile.mk
@@ -30,14 +30,14 @@ PRJNAME=setup_native
TARGET=regpatchactivex
USE_DEFFILE=TRUE
-.IF "$(GUI)"=="WNT"
-
# --- Settings -----------------------------------------------------
ENABLE_EXCEPTIONS=TRUE
.INCLUDE : settings.mk
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
+
STDSHL=
# --- Files --------------------------------------------------------
@@ -78,12 +78,10 @@ SHL1BASE = 0x1c000000
DEF1NAME=$(SHL1TARGET)
DEF1EXPORTFILE=exports.dxp
+.ENDIF
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
-
-.ENDIF
-
diff --git a/setup_native/source/win32/customactions/sellang/makefile.mk b/setup_native/source/win32/customactions/sellang/makefile.mk
index a75c994ff..ffad814e3 100644
--- a/setup_native/source/win32/customactions/sellang/makefile.mk
+++ b/setup_native/source/win32/customactions/sellang/makefile.mk
@@ -31,8 +31,6 @@ PRJ=..$/..$/..$/..
PRJNAME=setup_native
TARGET=sellangmsi
-.IF "$(GUI)"=="WNT"
-
# --- Settings -----------------------------------------------------
ENABLE_EXCEPTIONS=TRUE
@@ -42,6 +40,8 @@ USE_DEFFILE=TRUE
.INCLUDE : settings.mk
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
+
CFLAGS+=-D_STLP_USE_STATIC_LIB
# --- Files --------------------------------------------------------
@@ -51,11 +51,12 @@ UWINAPILIB=
SLOFILES = \
$(SLO)$/sellang.obj
-SHL1STDLIBS= kernel32.lib\
- user32.lib\
- advapi32.lib\
- shell32.lib\
- msi.lib
+SHL1STDLIBS= \
+ $(KERNEL32LIB)\
+ $(USER32LIB)\
+ $(ADVAPI32LIB)\
+ $(SHELL32LIB)\
+ $(MSILIB)
SHL1LIBS = $(SLB)$/$(TARGET).lib
@@ -68,11 +69,10 @@ SHL1BASE = 0x1c000000
DEF1NAME=$(SHL1TARGET)
DEF1EXPORTFILE=exports.dxp
+.ENDIF
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
-
-.ENDIF
diff --git a/setup_native/source/win32/customactions/shellextensions/makefile.mk b/setup_native/source/win32/customactions/shellextensions/makefile.mk
index de8f94332..e0950d992 100644
--- a/setup_native/source/win32/customactions/shellextensions/makefile.mk
+++ b/setup_native/source/win32/customactions/shellextensions/makefile.mk
@@ -43,7 +43,7 @@ CDEFS+=-Dnot_used_define_to_disable_pch
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -96,5 +96,3 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
-
diff --git a/setup_native/source/win32/customactions/thesaurus/makefile.mk b/setup_native/source/win32/customactions/thesaurus/makefile.mk
index c353341bf..3041f8759 100755
--- a/setup_native/source/win32/customactions/thesaurus/makefile.mk
+++ b/setup_native/source/win32/customactions/thesaurus/makefile.mk
@@ -31,8 +31,6 @@ PRJ=..$/..$/..$/..
PRJNAME=setup_native
TARGET=thidxmsi
-.IF "$(GUI)"=="WNT"
-
# --- Settings -----------------------------------------------------
ENABLE_EXCEPTIONS=TRUE
@@ -42,6 +40,8 @@ USE_DEFFILE=TRUE
.INCLUDE : settings.mk
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
+
CFLAGS+=-D_STLP_USE_STATIC_LIB
# --- Files --------------------------------------------------------
@@ -68,11 +68,10 @@ SHL1BASE = 0x1c000000
DEF1NAME=$(SHL1TARGET)
DEF1EXPORTFILE=exports.dxp
+.ENDIF
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
-
-.ENDIF
diff --git a/setup_native/source/win32/customactions/tools/makefile.mk b/setup_native/source/win32/customactions/tools/makefile.mk
index 24e14861b..61c58036b 100644
--- a/setup_native/source/win32/customactions/tools/makefile.mk
+++ b/setup_native/source/win32/customactions/tools/makefile.mk
@@ -41,7 +41,7 @@ USE_DEFFILE=TRUE
# --- Files --------------------------------------------------------
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!=""
UWINAPILIB=
@@ -70,5 +70,3 @@ DEF1EXPORTFILE=exports.dxp
.INCLUDE : target.mk
# -------------------------------------------------------------------------
-
-
diff --git a/wizards/com/sun/star/wizards/RemoteFaxWizard b/wizards/com/sun/star/wizards/RemoteFaxWizard
new file mode 100755
index 000000000..76144cbfe
--- /dev/null
+++ b/wizards/com/sun/star/wizards/RemoteFaxWizard
@@ -0,0 +1,7 @@
+#!/usr/bin/env python
+from fax.FaxWizardDialogImpl import FaxWizardDialogImpl
+import sys
+
+if __name__ == "__main__":
+
+ FaxWizardDialogImpl.main(sys.argv)
diff --git a/wizards/com/sun/star/wizards/RemoteLetterWizard b/wizards/com/sun/star/wizards/RemoteLetterWizard
new file mode 100755
index 000000000..9928625f6
--- /dev/null
+++ b/wizards/com/sun/star/wizards/RemoteLetterWizard
@@ -0,0 +1,7 @@
+#!/usr/bin/env python
+from letter.LetterWizardDialogImpl import LetterWizardDialogImpl
+import sys
+
+if __name__ == "__main__":
+
+ LetterWizardDialogImpl.main(sys.argv)
diff --git a/wizards/com/sun/star/wizards/__init__.py b/wizards/com/sun/star/wizards/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/__init__.py
diff --git a/wizards/com/sun/star/wizards/common/ConfigGroup.py b/wizards/com/sun/star/wizards/common/ConfigGroup.py
new file mode 100644
index 000000000..ca1b60a4d
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/ConfigGroup.py
@@ -0,0 +1,38 @@
+from ConfigNode import *
+from Configuration import Configuration
+import traceback
+import inspect
+
+class ConfigGroup(ConfigNode):
+
+ root = None
+
+ def writeConfiguration(self, configurationView, param):
+ for name,data in inspect.getmembers(self):
+ if name.startswith(param):
+ self.writeField( name, configurationView, param)
+
+ def writeField(self, field, configView, prefix):
+ propertyName = field[len(prefix):]
+ child = getattr(self, field)
+ if isinstance(child, ConfigNode):
+ child.setRoot(self.root)
+ child.writeConfiguration(configView.getByName(propertyName),
+ prefix)
+ else:
+ setattr(configView,propertyName,getattr(self,field))
+
+ def readConfiguration(self, configurationView, param):
+ for name,data in inspect.getmembers(self):
+ if name.startswith(param):
+ self.readField( name, configurationView, param)
+
+ def readField(self, field, configView, prefix):
+ propertyName = field[len(prefix):]
+ child = getattr(self, field)
+ if isinstance(child, ConfigNode):
+ child.setRoot(self.root)
+ child.readConfiguration(configView.getByName(propertyName),
+ prefix)
+ else:
+ setattr(self,field,configView.getByName(propertyName))
diff --git a/wizards/com/sun/star/wizards/common/ConfigNode.py b/wizards/com/sun/star/wizards/common/ConfigNode.py
new file mode 100644
index 000000000..d97ac1b64
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/ConfigNode.py
@@ -0,0 +1,15 @@
+from abc import ABCMeta, abstractmethod
+
+class ConfigNode(object):
+
+ @abstractmethod
+ def readConfiguration(self, configurationView, param):
+ pass
+
+ @abstractmethod
+ def writeConfiguration(self, configurationView, param):
+ pass
+
+ @abstractmethod
+ def setRoot(self, root):
+ pass
diff --git a/wizards/com/sun/star/wizards/common/Configuration.py b/wizards/com/sun/star/wizards/common/Configuration.py
new file mode 100644
index 000000000..0e3abe128
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Configuration.py
@@ -0,0 +1,213 @@
+from PropertyNames import PropertyNames
+from Helper import *
+import traceback
+import uno
+'''
+This class gives access to the OO configuration api.
+It contains 4 get and 4 set convenience methods for getting and settings
+properties in the configuration. <br/>
+For the get methods, two parameters must be given: name and parent, where
+name is the name of the property, parent is a HierarchyElement
+(::com::sun::star::configuration::HierarchyElement)<br/>
+The get and set methods support hieryrchical property names like
+"options/gridX". <br/>
+NOTE: not yet supported, but sometime later,
+If you will ommit the "parent" parameter, then the "name" parameter must be
+in hierarchy form from the root of the registry.
+'''
+
+class Configuration(object):
+
+ @classmethod
+ def getConfigurationRoot(self, xmsf, sPath, updateable):
+ oConfigProvider = xmsf.createInstance(
+ "com.sun.star.configuration.ConfigurationProvider")
+ args = []
+
+ aPathArgument = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ aPathArgument.Name = "nodepath"
+ aPathArgument.Value = sPath
+
+ args.append(aPathArgument)
+ if updateable:
+ sView = "com.sun.star.configuration.ConfigurationUpdateAccess"
+ aModeArgument = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ aModeArgument.Name = "lazywrite"
+ aModeArgument.Value = False
+ args.append(aModeArgument)
+ else:
+ sView = "com.sun.star.configuration.ConfigurationAccess"
+
+ return oConfigProvider.createInstanceWithArguments(sView, tuple(args))
+
+ @classmethod
+ def getProductName(self, xMSF):
+ try:
+ oProdNameAccess = self.getConfigurationRoot(xMSF,
+ "org.openoffice.Setup/Product", False)
+ ProductName = Helper.getUnoObjectbyName(oProdNameAccess, "ooName")
+ return ProductName
+ except Exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def getOfficeLocaleString(self, xMSF):
+ sLocale = ""
+ try:
+ aLocLocale = Locale.Locale()
+ oMasterKey = self.getConfigurationRoot(xMSF,
+ "org.openoffice.Setup/L10N/", False)
+ sLocale = (String)
+ Helper.getUnoObjectbyName(oMasterKey, "ooLocale")
+ except Exception, exception:
+ traceback.print_exc()
+
+ return sLocale
+
+ @classmethod
+ def getOfficeLocale(self, xMSF):
+ aLocLocale = Locale.Locale()
+ sLocale = getOfficeLocaleString(xMSF)
+ sLocaleList = JavaTools.ArrayoutofString(sLocale, "-")
+ aLocLocale.Language = sLocaleList[0]
+ if sLocaleList.length > 1:
+ aLocLocale.Country = sLocaleList[1]
+
+ return aLocLocale
+
+ @classmethod
+ def getOfficeLinguistic(self, xMSF):
+ try:
+ oMasterKey = self.getConfigurationRoot(xMSF,
+ "org.openoffice.Setup/L10N/", False)
+ sLinguistic = Helper.getUnoObjectbyName(oMasterKey, "ooLocale")
+ return sLinguistic
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def removeNode(self, configView, name):
+
+ if configView.hasByName(name):
+ configView.removeByName(name)
+
+ @classmethod
+ def updateConfiguration(self, xmsf, path, name, node, param):
+ view = self.getConfigurationRoot(xmsf, path, True)
+ addConfigNode(path, name)
+ node.writeConfiguration(view, param)
+ view.commitChanges()
+
+ @classmethod
+ def removeNode(self, xmsf, path, name):
+ view = self.getConfigurationRoot(xmsf, path, True)
+ removeNode(view, name)
+ view.commitChanges()
+
+ @classmethod
+ def getNodeDisplayNames(self, _xNameAccessNode):
+ snames = None
+ return getNodeChildNames(_xNameAccessNode,
+ PropertyNames.PROPERTY_NAME)
+
+ @classmethod
+ def getNodeChildNames(self, xNameAccessNode, _schildname):
+ snames = None
+ try:
+ snames = xNameAccessNode.getElementNames()
+ sdisplaynames = range(snames.length)
+ i = 0
+ while i < snames.length:
+ oContent = Helper.getUnoPropertyValue(
+ xNameAccessNode.getByName(snames[i]), _schildname)
+ if not AnyConverter.isVoid(oContent):
+ sdisplaynames[i] = (String)
+ Helper.getUnoPropertyValue(xNameAccessNode.getByName(
+ snames[i]), _schildname)
+ else:
+ sdisplaynames[i] = snames[i]
+
+ i += 1
+ return sdisplaynames
+ except Exception, e:
+ traceback.print_exc()
+ return snames
+
+ @classmethod
+ def getChildNodebyIndex(self, _xNameAccess, _index):
+ try:
+ snames = _xNameAccess.getElementNames()
+ oNode = _xNameAccess.getByName(snames[_index])
+ return oNode
+ except Exception, e:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def getChildNodebyName(self, _xNameAccessNode, _SubNodeName):
+ try:
+ if _xNameAccessNode.hasByName(_SubNodeName):
+ return _xNameAccessNode.getByName(_SubNodeName)
+
+ except Exception, e:
+ traceback.print_exc()
+
+ return None
+
+ @classmethod
+ def getChildNodebyDisplayName(self, _xNameAccessNode, _displayname):
+ snames = None
+ return getChildNodebyDisplayName(_xNameAccessNode, _displayname,
+ PropertyNames.PROPERTY_NAME)
+
+ @classmethod
+ def getChildNodebyDisplayName(self, _xNameAccessNode, _displayname,
+ _nodename):
+
+ snames = None
+ try:
+ snames = _xNameAccessNode.getElementNames()
+ sdisplaynames = range(snames.length)
+ i = 0
+ while i < snames.length:
+ curdisplayname = Helper.getUnoPropertyValue(
+ _xNameAccessNode.getByName(snames[i]), _nodename)
+ if curdisplayname.equals(_displayname):
+ return _xNameAccessNode.getByName(snames[i])
+
+ i += 1
+ except Exception, e:
+ traceback.print_exc()
+
+ return None
+
+ @classmethod
+ def getChildNodebyDisplayName(self, _xMSF, _aLocale, _xNameAccessNode,
+ _displayname, _nodename, _nmaxcharcount):
+
+ snames = None
+ try:
+ snames = _xNameAccessNode.getElementNames()
+ sdisplaynames = range(snames.length)
+ i = 0
+ while i < snames.length:
+ curdisplayname = Helper.getUnoPropertyValue(
+ _xNameAccessNode.getByName(snames[i]), _nodename)
+ if (_nmaxcharcount > 0) and (_nmaxcharcount < \
+ curdisplayname.length()):
+ curdisplayname = curdisplayname.substring(0,
+ _nmaxcharcount)
+
+ curdisplayname = Desktop.removeSpecialCharacters(_xMSF,
+ _aLocale, curdisplayname)
+ if curdisplayname.equals(_displayname):
+ return _xNameAccessNode.getByName(snames[i])
+
+ i += 1
+ except Exception, e:
+ traceback.print_exc()
+ return None
diff --git a/wizards/com/sun/star/wizards/common/DebugHelper.py b/wizards/com/sun/star/wizards/common/DebugHelper.py
new file mode 100644
index 000000000..75016033a
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/DebugHelper.py
@@ -0,0 +1,10 @@
+class DebugHelper(object):
+
+ @classmethod
+ def exception(self, ex):
+ raise NotImplementedError
+
+ @classmethod
+ def writeInfo(self, msg):
+ raise NotImplementedError
+
diff --git a/wizards/com/sun/star/wizards/common/Desktop.py b/wizards/com/sun/star/wizards/common/Desktop.py
new file mode 100644
index 000000000..3a64ecee8
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Desktop.py
@@ -0,0 +1,280 @@
+import uno
+import traceback
+from com.sun.star.frame.FrameSearchFlag import ALL, PARENT
+from com.sun.star.util import URL
+from com.sun.star.i18n.KParseTokens import ANY_LETTER_OR_NUMBER, ASC_UNDERSCORE
+from NoValidPathException import *
+
+
+class Desktop(object):
+
+ @classmethod
+ def getDesktop(self, xMSF):
+ xDesktop = None
+ if xMSF is not None:
+ try:
+ xDesktop = xMSF.createInstance( "com.sun.star.frame.Desktop")
+ except Exception, exception:
+ traceback.print_exc()
+ else:
+ print "Can't create a desktop. null pointer !"
+
+ return xDesktop
+
+ @classmethod
+ def getActiveFrame(self, xMSF):
+ xDesktop = self.getDesktop(xMSF)
+ return xDesktop.getActiveFrame()
+
+ @classmethod
+ def getActiveComponent(self, _xMSF):
+ xFrame = self.getActiveFrame(_xMSF)
+ return xFrame.getController().getModel()
+
+ @classmethod
+ def getActiveTextDocument(self, _xMSF):
+ xComponent = getActiveComponent(_xMSF)
+ return xComponent #Text
+
+ @classmethod
+ def getActiveSpreadsheetDocument(self, _xMSF):
+ xComponent = getActiveComponent(_xMSF)
+ return xComponent
+
+ @classmethod
+ def getDispatcher(self, xMSF, xFrame, _stargetframe, oURL):
+ try:
+ oURLArray = range(1)
+ oURLArray[0] = oURL
+ xDispatch = xFrame.queryDispatch(oURLArray[0], _stargetframe, ALL)
+ return xDispatch
+ except Exception, e:
+ e.printStackTrace(System.out)
+
+ return None
+
+ @classmethod
+ def getDispatchURL(self, xMSF, _sURL):
+ try:
+ oTransformer = xMSF.createInstance(
+ "com.sun.star.util.URLTransformer")
+ oURL = range(1)
+ oURL[0] = com.sun.star.util.URL.URL()
+ oURL[0].Complete = _sURL
+ xTransformer.parseStrict(oURL)
+ return oURL[0]
+ except Exception, e:
+ e.printStackTrace(System.out)
+
+ return None
+
+ @classmethod
+ def dispatchURL(self, xMSF, sURL, xFrame, _stargetframe):
+ oURL = getDispatchURL(xMSF, sURL)
+ xDispatch = getDispatcher(xMSF, xFrame, _stargetframe, oURL)
+ dispatchURL(xDispatch, oURL)
+
+ @classmethod
+ def dispatchURL(self, xMSF, sURL, xFrame):
+ dispatchURL(xMSF, sURL, xFrame, "")
+
+ @classmethod
+ def dispatchURL(self, _xDispatch, oURL):
+ oArg = range(0)
+ _xDispatch.dispatch(oURL, oArg)
+
+ @classmethod
+ def connect(self, connectStr):
+ localContext = uno.getComponentContext()
+ resolver = localContext.ServiceManager.createInstanceWithContext(
+ "com.sun.star.bridge.UnoUrlResolver", localContext)
+ ctx = resolver.resolve( connectStr )
+ orb = ctx.ServiceManager
+ return orb
+
+ @classmethod
+ def checkforfirstSpecialCharacter(self, _xMSF, _sString, _aLocale):
+ try:
+ nStartFlags = ANY_LETTER_OR_NUMBER + ASC_UNDERSCORE
+ ocharservice = _xMSF.createInstance(
+ "com.sun.star.i18n.CharacterClassification")
+ aResult = ocharservice.parsePredefinedToken(KParseType.IDENTNAME,
+ _sString, 0, _aLocale, nStartFlags, "", nStartFlags, " ")
+ return aResult.EndPos
+ except Exception, e:
+ e.printStackTrace(System.out)
+ return -1
+
+ @classmethod
+ def removeSpecialCharacters(self, _xMSF, _aLocale, _sname):
+ snewname = _sname
+ i = 0
+ while i < snewname.length():
+ i = Desktop.checkforfirstSpecialCharacter(_xMSF, snewname,
+ _aLocale)
+ if i < snewname.length():
+ sspecialchar = snewname.substring(i, i + 1)
+ snewname = JavaTools.replaceSubString(snewname, "",
+ sspecialchar)
+
+ return snewname
+
+ '''
+ Checks if the passed Element Name already exists in the ElementContainer.
+ If yes it appends a suffix to make it unique
+ @param xElementContainer
+ @param sElementName
+ @return a unique Name ready to be added to the container.
+ '''
+
+ @classmethod
+ def getUniqueName(self, xElementContainer, sElementName):
+ bElementexists = True
+ i = 1
+ sIncSuffix = ""
+ BaseName = sElementName
+ while bElementexists == True:
+ bElementexists = xElementContainer.hasByName(sElementName)
+ if bElementexists == True:
+ i += 1
+ sElementName = BaseName + str(i)
+
+ if i > 1:
+ sIncSuffix = str(i)
+
+ return sElementName + sIncSuffix
+
+ '''
+ Checks if the passed Element Name already exists in the list If yes it
+ ppends a suffix to make it unique
+ @param _slist
+ @param _sElementName
+ @param _sSuffixSeparator
+ @return a unique Name not being in the passed list.
+ '''
+
+ @classmethod
+ def getUniqueNameList(self, _slist, _sElementName, _sSuffixSeparator):
+ a = 2
+ scompname = _sElementName
+ bElementexists = True
+ if _slist == None:
+ return _sElementName
+
+ if _slist.length == 0:
+ return _sElementName
+
+ while bElementexists == True:
+ i = 0
+ while i < _slist.length:
+ if JavaTools.FieldInList(_slist, scompname) == -1:
+ return scompname
+
+ i += 1
+ scompname = _sElementName + _sSuffixSeparator + (a + 1)
+ return ""
+
+class OfficePathRetriever:
+
+ def OfficePathRetriever(self, xMSF):
+ try:
+ TemplatePath = FileAccess.getOfficePath(xMSF,
+ "Template", "share", "/wizard")
+ UserTemplatePath = FileAccess.getOfficePath(xMSF,
+ "Template", "user", "")
+ BitmapPath = FileAccess.combinePaths(xMSF, TemplatePath,
+ "/../wizard/bitmap")
+ WorkPath = FileAccess.getOfficePath(xMSF,
+ "Work", "", "")
+ except NoValidPathException, nopathexception:
+ pass
+
+ @classmethod
+ def getTemplatePath(self, _xMSF):
+ sTemplatePath = ""
+ try:
+ sTemplatePath = FileAccess.getOfficePath(_xMSF,
+ "Template", "share", "/wizard")
+ except NoValidPathException, nopathexception:
+ pass
+ return sTemplatePath
+
+ @classmethod
+ def getUserTemplatePath(self, _xMSF):
+ sUserTemplatePath = ""
+ try:
+ sUserTemplatePath = FileAccess.getOfficePath(_xMSF,
+ "Template", "user", "")
+ except NoValidPathException, nopathexception:
+ pass
+ return sUserTemplatePath
+
+ @classmethod
+ def getBitmapPath(self, _xMSF):
+ sBitmapPath = ""
+ try:
+ sBitmapPath = FileAccess.combinePaths(_xMSF,
+ getTemplatePath(_xMSF), "/../wizard/bitmap")
+ except NoValidPathException, nopathexception:
+ pass
+
+ return sBitmapPath
+
+ @classmethod
+ def getWorkPath(self, _xMSF):
+ sWorkPath = ""
+ try:
+ sWorkPath = FileAccess.getOfficePath(_xMSF, "Work", "", "")
+
+ except NoValidPathException, nopathexception:
+ pass
+
+ return sWorkPath
+
+ @classmethod
+ def createStringSubstitution(self, xMSF):
+ xPathSubst = None
+ try:
+ xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution")
+ except com.sun.star.uno.Exception, e:
+ e.printStackTrace()
+
+ if xPathSubst != None:
+ return xPathSubst
+ else:
+ return None
+
+ '''This method searches (and hopefully finds...) a frame
+ with a componentWindow.
+ It does it in three phases:
+ 1. Check if the given desktop argument has a componentWindow.
+ If it is null, the myFrame argument is taken.
+ 2. Go up the tree of frames and search a frame with a component window.
+ 3. Get from the desktop all the components, and give the first one
+ which has a frame.
+ @param xMSF
+ @param myFrame
+ @param desktop
+ @return
+ @throws NoSuchElementException
+ @throws WrappedTargetException
+ '''
+
+ @classmethod
+ def findAFrame(self, xMSF, myFrame, desktop):
+ if desktop == None:
+ desktop = myFrame
+ #we go up in the tree...
+
+ while desktop != None and desktop.getComponentWindow() == None:
+ desktop = desktop.findFrame("_parent", FrameSearchFlag.PARENT)
+ if desktop == None:
+ e = Desktop.getDesktop(xMSF).getComponents().createEnumeration()
+ while e.hasMoreElements():
+ xModel = (e.nextElement()).getObject()
+ xFrame = xModel.getCurrentController().getFrame()
+ if xFrame != None and xFrame.getComponentWindow() != None:
+ return xFrame
+
+ return desktop
diff --git a/wizards/com/sun/star/wizards/common/FileAccess.py b/wizards/com/sun/star/wizards/common/FileAccess.py
new file mode 100644
index 000000000..3397d7138
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/FileAccess.py
@@ -0,0 +1,771 @@
+import traceback
+from NoValidPathException import *
+from com.sun.star.ucb import CommandAbortedException
+from com.sun.star.awt.VclWindowPeerAttribute import OK, YES_NO
+import types
+from os import path as osPath
+
+'''
+This class delivers static convenience methods
+to use with ucb SimpleFileAccess service.
+You can also instanciate the class, to encapsulate
+some functionality of SimpleFileAccess. The instance
+keeps a reference to an XSimpleFileAccess and an
+XFileIdentifierConverter, saves the permanent
+overhead of quering for those interfaces, and delivers
+conveneince methods for using them.
+These Convenince methods include mainly Exception-handling.
+'''
+
+class FileAccess(object):
+ '''
+ @param xMSF
+ @param sPath
+ @param sAddPath
+ '''
+
+ @classmethod
+ def addOfficePath(self, xMSF, sPath, sAddPath):
+ xSimpleFileAccess = None
+ ResultPath = getOfficePath(xMSF, sPath, xSimpleFileAccess)
+ '''
+ As there are several conventions about the look of Url
+ (e.g. with " " or with "%20") you cannot make a
+ simple String comparison to find out, if a path
+ is already in "ResultPath
+ '''
+ PathList = JavaTools.ArrayoutofString(ResultPath, ";")
+ MaxIndex = PathList.length - 1
+ CompAddPath = JavaTools.replaceSubString(sAddPath, "", "/")
+ i = 0
+ while i <= MaxIndex:
+ CurPath = JavaTools.convertfromURLNotation(PathList[i])
+ CompCurPath = JavaTools.replaceSubString(CurPath, "", "/")
+ if CompCurPath.equals(CompAddPath):
+ return
+
+ i += 1
+ ResultPath += ";" + sAddPath
+ return
+
+ @classmethod
+ def deleteLastSlashfromUrl(self, _sPath):
+ if _sPath.endswith("/"):
+ return _sPath[:-1]
+ else:
+ return _sPath
+
+ '''
+ Further information on arguments value see in OO Developer Guide,
+ chapter 6.2.7
+ @param xMSF
+ @param sPath
+ @param xSimpleFileAccess
+ @return the respective path of the office application.
+ A probable following "/" at the end is trimmed.
+ '''
+
+ @classmethod
+ def getOfficePath(self, xMSF, sPath, xSimpleFileAccess):
+ try:
+ ResultPath = ""
+ xInterface = xMSF.createInstance("com.sun.star.util.PathSettings")
+ ResultPath = str(Helper.getUnoPropertyValue(xInterface, sPath))
+ ResultPath = self.deleteLastSlashfromUrl(ResultPath)
+ return ResultPath
+ except Exception, exception:
+ traceback.print_exc()
+ return ""
+
+ '''
+ Further information on arguments value see in OO Developer Guide,
+ chapter 6.2.7
+ @param xMSF
+ @param sPath
+ @param sType use "share" or "user". Set to ""
+ f not needed eg for the WorkPath;
+ In the return Officepath a possible slash at the end is cut off
+ @param sSearchDir
+ @return
+ @throws NoValidPathException
+ '''
+
+ @classmethod
+ def getOfficePath2(self, xMSF, sPath, sType, sSearchDir):
+ #This method currently only works with sPath="Template"
+ bexists = False
+ try:
+ xPathInterface = xMSF.createInstance(
+ "com.sun.star.util.PathSettings")
+ ResultPath = ""
+ ReadPaths = ()
+ xUcbInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ Template_writable = xPathInterface.getPropertyValue(
+ sPath + "_writable")
+ Template_internal = xPathInterface.getPropertyValue(
+ sPath + "_internal")
+ Template_user = xPathInterface.getPropertyValue(
+ sPath + "_user")
+ if type(Template_internal) is not types.InstanceType:
+ ReadPaths = ReadPaths + Template_internal
+ if type(Template_user) is not types.InstanceType:
+ ReadPaths = ReadPaths + Template_user
+ ReadPaths = ReadPaths + (Template_writable,)
+ if sType.lower() == "user":
+ ResultPath = Template_writable
+ bexists = True
+ else:
+ #find right path using the search sub path
+ for i in ReadPaths:
+ tmpPath = i + sSearchDir
+ if xUcbInterface.exists(tmpPath):
+ ResultPath = i
+ bexists = True
+ break
+
+ ResultPath = self.deleteLastSlashfromUrl(ResultPath)
+ except Exception, exception:
+ traceback.print_exc()
+ ResultPath = ""
+
+ if not bexists:
+ raise NoValidPathException (xMSF, "");
+
+ return ResultPath
+
+ @classmethod
+ def getOfficePaths(self, xMSF, _sPath, sType, sSearchDir):
+ #This method currently only works with sPath="Template"
+ aPathList = []
+ Template_writable = ""
+ try:
+ xPathInterface = xMSF.createInstance(
+ "com.sun.star.util.PathSettings")
+ Template_writable = xPathInterface.getPropertyValue(
+ _sPath + "_writable")
+ Template_internal = xPathInterface.getPropertyValue(
+ _sPath + "_internal")
+ Template_user = xPathInterface.getPropertyValue(_sPath + "_user")
+ i = 0
+ while i < len(Template_internal):
+ sPath = Template_internal[i]
+ if sPath.startsWith("vnd."):
+ # if there exists a language in the directory,
+ # we try to add the right language
+ sPathToExpand = sPath.substring(len("vnd.sun.star.Expand:"))
+ xExpander = Helper.getMacroExpander(xMSF)
+ sPath = xExpander.expandMacros(sPathToExpand)
+
+ sPath = checkIfLanguagePathExists(xMSF, sPath)
+ aPathList.add(sPath)
+ i += 1
+ i = 0
+ while i < Template_user.length:
+ aPathList.add(Template_user[i])
+ i += 1
+ aPathList.add(Template_writable)
+
+ except Exception, exception:
+ traceback.print_exc()
+ return aPathList
+
+ @classmethod
+ def checkIfLanguagePathExists(self, _xMSF, _sPath):
+ try:
+ defaults = _xMSF.createInstance("com.sun.star.text.Defaults")
+ aLocale = Helper.getUnoStructValue(defaults, "CharLocale")
+ if aLocale == None:
+ java.util.Locale.getDefault()
+ aLocale = com.sun.star.lang.Locale.Locale()
+ aLocale.Country = java.util.Locale.getDefault().getCountry()
+ aLocale.Language = java.util.Locale.getDefault().getLanguage()
+ aLocale.Variant = java.util.Locale.getDefault().getVariant()
+
+ sLanguage = aLocale.Language
+ sCountry = aLocale.Country
+ sVariant = aLocale.Variant
+ # de-DE-Bayrisch
+ aLocaleAll = StringBuffer.StringBuffer()
+ aLocaleAll.append(sLanguage).append('-').append(sCountry).append('-').append(sVariant)
+ sPath = _sPath + "/" + aLocaleAll.toString()
+ xInterface = _xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ if xInterface.exists(sPath):
+ # de-DE
+ return sPath
+
+ aLocaleLang_Country = StringBuffer.StringBuffer()
+ aLocaleLang_Country.append(sLanguage).append('-').append(sCountry)
+ sPath = _sPath + "/" + aLocaleLang_Country.toString()
+ if xInterface.exists(sPath):
+ # de
+ return sPath
+
+ aLocaleLang = StringBuffer.StringBuffer()
+ aLocaleLang.append(sLanguage)
+ sPath = _sPath + "/" + aLocaleLang.toString()
+ if xInterface.exists(sPath):
+ # the absolute default is en-US or en
+ return sPath
+
+ sPath = _sPath + "/en-US"
+ if xInterface.exists(sPath):
+ return sPath
+
+ sPath = _sPath + "/en"
+ if xInterface.exists(sPath):
+ return sPath
+
+ except com.sun.star.uno.Exception, e:
+ pass
+
+ return _sPath
+
+ @classmethod
+ def combinePaths2(self, xMSF, _aFirstPath, _sSecondPath):
+ i = 0
+ while i < _aFirstPath.size():
+ sOnePath = _aFirstPath.get(i)
+ sOnePath = addPath(sOnePath, _sSecondPath)
+ if isPathValid(xMSF, sOnePath):
+ _aFirstPath.add(i, sOnePath)
+ _aFirstPath.remove(i + 1)
+ else:
+ _aFirstPath.remove(i)
+ i -= 1
+
+ i += 1
+
+ @classmethod
+ def isPathValid(self, xMSF, _sPath):
+ bExists = False
+ try:
+ xUcbInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ bExists = xUcbInterface.exists(_sPath)
+ except Exception, exception:
+ traceback.print_exc()
+
+ return bExists
+
+ @classmethod
+ def combinePaths(self, xMSF, _sFirstPath, _sSecondPath):
+ bexists = False
+ ReturnPath = ""
+ try:
+ xUcbInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ ReturnPath = _sFirstPath + _sSecondPath
+ bexists = xUcbInterface.exists(ReturnPath)
+ except Exception, exception:
+ traceback.print_exc()
+ return ""
+
+ if not bexists:
+ raise NoValidPathException (xMSF, "");
+
+ return ReturnPath
+
+ @classmethod
+ def createSubDirectory(self, xMSF, xSimpleFileAccess, Path):
+ sNoDirCreation = ""
+ try:
+ oResource = Resource.Resource_unknown(xMSF, "ImportWizard", "imp")
+ if oResource != None:
+ sNoDirCreation = oResource.getResText(1050)
+ sMsgDirNotThere = oResource.getResText(1051)
+ sQueryForNewCreation = oResource.getResText(1052)
+ OSPath = JavaTools.convertfromURLNotation(Path)
+ sQueryMessage = JavaTools.replaceSubString(sMsgDirNotThere,
+ OSPath, "%1")
+ sQueryMessage = sQueryMessage + (char)
+ 13 + sQueryForNewCreation
+ icreate = SystemDialog.showMessageBox(xMSF, "QueryBox",
+ YES_NO, sQueryMessage)
+ if icreate == 2:
+ xSimpleFileAccess.createFolder(Path)
+ return True
+
+ return False
+ except CommandAbortedException, exception:
+ sMsgNoDir = JavaTools.replaceSubString(sNoDirCreation, Path, "%1")
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", OK, sMsgNoDir)
+ return False
+ except com.sun.star.uno.Exception, Exception:
+ sMsgNoDir = JavaTools.replaceSubString(sNoDirCreation, Path, "%1")
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", OK, sMsgNoDir)
+ return False
+
+ '''
+ checks if the root of a path exists. if the parameter
+ xWindowPeer is not null then also the directory is
+ created when it does not exists and the user
+ '''
+
+ @classmethod
+ def PathisValid(self, xMSF, Path, sMsgFilePathInvalid,
+ baskbeforeOverwrite):
+ try:
+ SubDirPath = ""
+ bSubDirexists = True
+ NewPath = Path
+ xInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ if baskbeforeOverwrite:
+ if xInterface.exists(Path):
+ oResource = Resource.Resource_unknown(xMSF,
+ "ImportWizard", "imp")
+ sFileexists = oResource.getResText(1053)
+ NewString = JavaTools.convertfromURLNotation(Path)
+ sFileexists = JavaTools.replaceSubString(sFileexists,
+ NewString, "<1>")
+ sFileexists = JavaTools.replaceSubString(sFileexists,
+ str(13), "<CR>")
+ iLeave = SystemDialog.showMessageBox(xMSF, "QueryBox",
+ YES_NO, sFileexists)
+ if iLeave == 3:
+ return False
+
+ DirArray = JavaTools.ArrayoutofString(Path, "/")
+ MaxIndex = DirArray.length - 1
+ if MaxIndex > 0:
+ i = MaxIndex
+ while i >= 0:
+ SubDir = DirArray[i]
+ SubLen = SubDir.length()
+ NewLen = NewPath.length()
+ RestLen = NewLen - SubLen
+ if RestLen > 0:
+ NewPath = NewPath.substring(0, NewLen - SubLen - 1)
+ if i == MaxIndex:
+ SubDirPath = NewPath
+
+ bexists = xSimpleFileAccess.exists(NewPath)
+ if bexists:
+ LowerCasePath = NewPath.toLowerCase()
+ bexists = (((LowerCasePath.equals("file:#/")) or
+ (LowerCasePath.equals("file:#")) or
+ (LowerCasePath.equals("file:/")) or
+ (LowerCasePath.equals("file:"))) == False)
+
+ if bexists:
+ if bSubDirexists == False:
+ bSubDiriscreated = createSubDirectory(xMSF,
+ xSimpleFileAccess, SubDirPath)
+ return bSubDiriscreated
+
+ return True
+ else:
+ bSubDirexists = False
+
+ i -= 1
+
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", OK,
+ sMsgFilePathInvalid)
+ return False
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", OK,
+ sMsgFilePathInvalid)
+ return False
+
+ @classmethod
+ def getFolderTitles(self, xMSF, FilterName, FolderName):
+ LocLayoutFiles = [[2],[]]
+ try:
+ xDocInterface = xMSF.createInstance(
+ "com.sun.star.document.DocumentProperties")
+ xInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ nameList = xInterface.getFolderContents(FolderName, False)
+ TitleVector = []
+ NameVector = []
+ if FilterName is None or FilterName == "":
+ FilterName = None
+ else:
+ FilterName = FilterName + "-"
+ fileName = ""
+ NameVectorAppend = NameVector.append
+ TitleVectorAppend = TitleVector.append
+ for i in nameList:
+ fileName = self.getFilename(i)
+ if FilterName is None or fileName.startswith(FilterName):
+ xDocInterface.loadFromMedium(i, tuple())
+ NameVectorAppend(i)
+ TitleVectorAppend(xDocInterface.Title)
+
+ LocLayoutFiles[1] = NameVector
+ LocLayoutFiles[0] = TitleVector
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return self.__bubblesortList(LocLayoutFiles)
+
+ '''
+ This function bubble sorts an array of with 2 dimensions.
+ The default sorting order is the first dimension
+ Only if sort2ndValue is True the second dimension is
+ the relevant for the sorting order
+ '''
+
+ @classmethod
+ def __bubblesortList(self, SortList):
+ SortCount = len(SortList[0])
+ DimCount = len(SortList)
+ for i in xrange(SortCount):
+ for t in xrange(SortCount - i - 1):
+ if SortList[0][t] > SortList[0][t + 1]:
+ for k in xrange(DimCount):
+ DisplayDummy = SortList[k][t];
+ SortList[k][t] = SortList[k][t + 1];
+ SortList[k][t + 1] = DisplayDummy
+ return SortList
+ '''
+ We search in all given path for a given file
+ @param _sPath
+ @param _sPath2
+ @return
+ '''
+
+ @classmethod
+ def addPath(self, _sPath, _sPath2):
+ if not _sPath.endsWith("/"):
+ _sPath += "/"
+
+ if _sPath2.startsWith("/"):
+ _sPath2 = _sPath2.substring(1)
+
+ sNewPath = _sPath + _sPath2
+ return sNewPath
+
+ @classmethod
+ def getPathFromList(self, xMSF, _aList, _sFile):
+ sFoundFile = ""
+ try:
+ xInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ i = 0
+ while i < _aList.size():
+ sPath = _aList.get(i)
+ sPath = addPath(sPath, _sFile)
+ if xInterface.exists(sPath):
+ sFoundFile = sPath
+
+ i += 1
+ except com.sun.star.uno.Exception, e:
+ pass
+
+ return sFoundFile
+
+ @classmethod
+ def getTitle(self, xMSF, _sFile):
+ sTitle = ""
+ try:
+ xDocInterface = xMSF.createInstance(
+ "com.sun.star.document.DocumentProperties")
+ noArgs = []
+ xDocInterface.loadFromMedium(_sFile, noArgs)
+ sTitle = xDocInterface.getTitle()
+ except Exception, e:
+ traceback.print_exc()
+
+ return sTitle
+
+ def __init__(self, xmsf):
+ #get a simple file access...
+ self.fileAccess = xmsf.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ #get the file identifier converter
+ self.filenameConverter = xmsf.createInstance(
+ "com.sun.star.ucb.FileContentProvider")
+
+ def getURL(self, path, childPath=None):
+ try:
+ if childPath is not None:
+ path = self.filenameConverter.getSystemPathFromFileURL(path)
+ f = open(path,childPath, 'w')
+ else:
+ f = open(path, 'w')
+
+ r = self.filenameConverter.getFileURLFromSystemPath(path,
+ osPath.abspath(path))
+ return r
+ except Exception:
+ traceback.print_exc()
+ return None
+
+ def getPath(self, parentURL, childURL):
+ string = ""
+ if childURL is not None and childURL is not "":
+ string = "/" + childURL
+ return self.filenameConverter.getSystemPathFromFileURL(
+ parentURL + string)
+
+ '''
+ @author rpiterman
+ @param filename
+ @return the extension of the given filename.
+ '''
+
+ @classmethod
+ def getExtension(self, filename):
+ p = filename.indexOf(".")
+ if p == -1:
+ return ""
+ else:
+ while p > -1:
+ filename = filename.substring(p + 1)
+ p = filename.indexOf(".")
+
+ return filename
+
+ '''
+ @author rpiterman
+ @param s
+ @return
+ '''
+
+ def mkdir(self, s):
+ try:
+ self.fileAccess.createFolder(s)
+ return True
+ except CommandAbortedException, cax:
+ traceback.print_exc()
+ except com.sun.star.uno.Exception, ex:
+ traceback.print_exc()
+
+ return False
+
+ '''
+ @author rpiterman
+ @param filename
+ @param def what to return in case of an exception
+ @return true if the given file exists or not.
+ if an exception accures, returns the def value.
+ '''
+
+ def exists(self, filename, defe):
+ try:
+ return self.fileAccess.exists(filename)
+ except CommandAbortedException, cax:
+ pass
+ except Exception:
+ pass
+
+ return defe
+
+ '''
+ @author rpiterman
+ @param filename
+ @return
+ '''
+
+ def isDirectory(self, filename):
+ try:
+ return self.fileAccess.isFolder(filename)
+ except CommandAbortedException, cax:
+ pass
+ except com.sun.star.uno.Exception, ex:
+ pass
+
+ return False
+
+ '''
+ lists the files in a given directory
+ @author rpiterman
+ @param dir
+ @param includeFolders
+ @return
+ '''
+
+ def listFiles(self, dir, includeFolders):
+ try:
+ return self.fileAccess.getFolderContents(dir, includeFolders)
+ except CommandAbortedException, cax:
+ pass
+ except com.sun.star.uno.Exception, ex:
+ pass
+
+ return range(0)
+
+ '''
+ @author rpiterman
+ @param file
+ @return
+ '''
+
+ def delete(self, file):
+ try:
+ self.fileAccess.kill(file)
+ return True
+ except CommandAbortedException, cax:
+ traceback.print_exc()
+ except com.sun.star.uno.Exception, ex:
+ traceback.print_exc()
+
+ return False
+
+
+ '''
+ return the filename out of a system-dependent path
+ @param path
+ @return
+ '''
+
+ @classmethod
+ def getPathFilename(self, path):
+ return self.getFilename(path, File.separator)
+
+ '''
+ @author rpiterman
+ @param path
+ @param pathSeparator
+ @return
+ '''
+
+ @classmethod
+ def getFilename(self, path, pathSeparator = "/"):
+ return path.split(pathSeparator)[-1]
+
+ @classmethod
+ def getBasename(self, path, pathSeparator):
+ filename = self.getFilename(path, pathSeparator)
+ sExtension = getExtension(filename)
+ basename = filename.substring(0, filename.length() - \
+ (sExtension.length() + 1))
+ return basename
+
+ '''
+ @author rpiterman
+ @param source
+ @param target
+ @return
+ '''
+
+ def copy(self, source, target):
+ try:
+ self.fileAccess.copy(source, target)
+ return True
+ except CommandAbortedException, cax:
+ pass
+ except com.sun.star.uno.Exception, ex:
+ pass
+
+ return False
+
+ def getLastModified(self, url):
+ try:
+ return self.fileAccess.getDateTimeModified(url)
+ except CommandAbortedException, cax:
+ pass
+ except com.sun.star.uno.Exception, ex:
+ pass
+
+ return None
+
+ '''
+ @param url
+ @return the parent dir of the given url.
+ if the path points to file, gives the directory in which the file is.
+ '''
+
+ @classmethod
+ def getParentDir(self, url):
+ while url[-1] == "/":
+ url = hello[:-1]
+ return url[:url.rfind("/")]
+
+ def createNewDir(self, parentDir, name):
+ s = getNewFile(parentDir, name, "")
+ if mkdir(s):
+ return s
+ else:
+ return None
+
+ def getNewFile(self, parentDir, name, extension):
+ i = 0
+ tmp_do_var2 = True
+ while tmp_do_var2:
+ filename = filename(name, extension, (i + 1))
+ u = getURL(parentDir, filename)
+ url = u
+ tmp_do_var2 = exists(url, True)
+ return url
+
+ @classmethod
+ def filename(self, name, ext, i):
+ stringI = ""
+ stringExt = ""
+ if i is not 0:
+ stringI = str(i)
+ if ext is not "":
+ stringExt = "." + ext
+
+ return name + stringI + StringExt
+
+ def getSize(self, url):
+ try:
+ return self.fileAccess.getSize(url)
+ except Exception, ex:
+ return -1
+
+ @classmethod
+ def connectURLs(self, urlFolder, urlFilename):
+ stringFolder = ""
+ stringFileName = urlFilename
+ if not urlFolder.endsWith("/"):
+ stringFolder = "/"
+ if urlFilename.startsWith("/"):
+ stringFileName = urlFilename.substring(1)
+ return urlFolder + stringFolder + stringFileName
+
+ @classmethod
+ def getDataFromTextFile(self, _xMSF, _filepath):
+ sFileData = None
+ try:
+ oDataVector = []
+ oSimpleFileAccess = _xMSF.createInstance(
+ "com.sun.star.ucb.SimpleFileAccess")
+ if oSimpleFileAccess.exists(_filepath):
+ xInputStream = oSimpleFileAccess.openFileRead(_filepath)
+ oTextInputStream = _xMSF.createInstance(
+ "com.sun.star.io.TextInputStream")
+ oTextInputStream.setInputStream(xInputStream)
+ while not oTextInputStream.isEOF():
+ oDataVector.addElement(oTextInputStream.readLine())
+ oTextInputStream.closeInput()
+ sFileData = [oDataVector.size()]
+ oDataVector.toArray(sFileData)
+
+ except Exception, e:
+ traceback.print_exc()
+
+ return sFileData
+
+ '''
+ shortens a filename to a user displayable representation.
+ @param path
+ @param maxLength
+ @return
+ '''
+
+ @classmethod
+ def getShortFilename(self, path, maxLength):
+ firstPart = 0
+ if path.length() > maxLength:
+ if path.startsWith("/"):
+ # unix
+ nextSlash = path.indexOf("/", 1) + 1
+ firstPart = Math.min(nextSlash, (maxLength - 3) / 2)
+ else:
+ #windows
+ firstPart = Math.min(10, (maxLength - 3) / 2)
+
+ s1 = path.substring(0, firstPart)
+ s2 = path.substring(path.length() - (maxLength - (3 + firstPart)))
+ return s1 + "..." + s2
+ else:
+ return path
+
diff --git a/wizards/com/sun/star/wizards/common/HelpIds.py b/wizards/com/sun/star/wizards/common/HelpIds.py
new file mode 100644
index 000000000..c6bd1b78c
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/HelpIds.py
@@ -0,0 +1,1012 @@
+class HelpIds:
+ array1 = [
+ "HID:WIZARDS_HID0_WEBWIZARD", # HID:34200
+ "HID:WIZARDS_HID0_HELP", # HID:34201
+ "HID:WIZARDS_HID0_NEXT", # HID:34202
+ "HID:WIZARDS_HID0_PREV", # HID:34203
+ "HID:WIZARDS_HID0_CREATE", # HID:34204
+ "HID:WIZARDS_HID0_CANCEL", # HID:34205
+ "HID:WIZARDS_HID0_STATUS_DIALOG", # HID:34206
+ "HID:WIZARDS_HID1_LST_SESSIONS", # HID:34207
+ "",
+ "HID:WIZARDS_HID1_BTN_DEL_SES", # HID:34209
+ "HID:WIZARDS_HID2_LST_DOCS", # HID:34210
+ "HID:WIZARDS_HID2_BTN_ADD_DOC", # HID:34211
+ "HID:WIZARDS_HID2_BTN_REM_DOC", # HID:34212
+ "HID:WIZARDS_HID2_BTN_DOC_UP", # HID:34213
+ "HID:WIZARDS_HID2_BTN_DOC_DOWN", # HID:34214
+ "HID:WIZARDS_HID2_TXT_DOC_TITLE", # HID:34215
+ "HID:WIZARDS_HID2_TXT_DOC_DESC", # HID:34216
+ "HID:WIZARDS_HID2_TXT_DOC_AUTHOR", # HID:34217
+ "HID:WIZARDS_HID2_LST_DOC_EXPORT", # HID:34218
+ "HID:WIZARDS_HID2_STATUS_ADD_DOCS", # HID:34219
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG1", # HID:34220
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG2", # HID:34221
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG3", # HID:34222
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG4", # HID:34223
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG5", # HID:34224
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG6", # HID:34225
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG7", # HID:34226
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG8", # HID:34227
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG9", # HID:34228
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG10", # HID:34229
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG11", # HID:34230
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG12", # HID:34231
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG13", # HID:34232
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG14", # HID:34233
+ "HID:WIZARDS_HID3_IL_LAYOUTS_IMG15", # HID:34234
+ "HID:WIZARDS_HID4_CHK_DISPLAY_FILENAME", # HID:34235
+ "HID:WIZARDS_HID4_CHK_DISPLAY_DESCRIPTION", # HID:34236
+ "HID:WIZARDS_HID4_CHK_DISPLAY_AUTHOR", # HID:34237
+ "HID:WIZARDS_HID4_CHK_DISPLAY_CR_DATE", # HID:34238
+ "HID:WIZARDS_HID4_CHK_DISPLAY_UP_DATE", # HID:34239
+ "HID:WIZARDS_HID4_CHK_DISPLAY_FORMAT", # HID:34240
+ "HID:WIZARDS_HID4_CHK_DISPLAY_F_ICON", # HID:34241
+ "HID:WIZARDS_HID4_CHK_DISPLAY_PAGES", # HID:34242
+ "HID:WIZARDS_HID4_CHK_DISPLAY_SIZE", # HID:34243
+ "HID:WIZARDS_HID4_GRP_OPTIMAIZE_640", # HID:34244
+ "HID:WIZARDS_HID4_GRP_OPTIMAIZE_800", # HID:34245
+ "HID:WIZARDS_HID4_GRP_OPTIMAIZE_1024", # HID:34246
+ "HID:WIZARDS_HID5_LST_STYLES", # HID:34247
+ "HID:WIZARDS_HID5_BTN_BACKGND", # HID:34248
+ "HID:WIZARDS_HID5_BTN_ICONS", # HID:34249
+ "HID:WIZARDS_HID6_TXT_SITE_TITLE", # HID:34250
+ "",
+ "",
+ "HID:WIZARDS_HID6_TXT_SITE_DESC", # HID:34253
+ "",
+ "HID:WIZARDS_HID6_DATE_SITE_CREATED", # HID:34255
+ "HID:WIZARDS_HID6_DATE_SITE_UPDATED", # HID:34256
+ "",
+ "HID:WIZARDS_HID6_TXT_SITE_EMAIL", # HID:34258
+ "HID:WIZARDS_HID6_TXT_SITE_COPYRIGHT", # HID:34259
+ "HID:WIZARDS_HID7_BTN_PREVIEW", # HID:34260
+ "HID:WIZARDS_HID7_CHK_PUBLISH_LOCAL", # HID:34261
+ "HID:WIZARDS_HID7_TXT_LOCAL", # HID:34262
+ "HID:WIZARDS_HID7_BTN_LOCAL", # HID:34263
+ "HID:WIZARDS_HID7_CHK_PUBLISH_ZIP", # HID:34264
+ "HID:WIZARDS_HID7_TXT_ZIP", # HID:34265
+ "HID:WIZARDS_HID7_BTN_ZIP", # HID:34266
+ "HID:WIZARDS_HID7_CHK_PUBLISH_FTP", # HID:34267
+ "HID:WIZARDS_HID7_TXT_FTP", # HID:34268
+ "HID:WIZARDS_HID7_BTN_FTP", # HID:34269
+ "HID:WIZARDS_HID7_CHK_SAVE", # HID:34270
+ "HID:WIZARDS_HID7_TXT_SAVE", # HID:34271
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_BG", # HID:34290
+ "HID:WIZARDS_HID_BG_BTN_OTHER", # HID:34291
+ "HID:WIZARDS_HID_BG_BTN_NONE", # HID:34292
+ "HID:WIZARDS_HID_BG_BTN_OK", # HID:34293
+ "HID:WIZARDS_HID_BG_BTN_CANCEL", # HID:34294
+ "HID:WIZARDS_HID_BG_BTN_BACK", # HID:34295
+ "HID:WIZARDS_HID_BG_BTN_FW", # HID:34296
+ "HID:WIZARDS_HID_BG_BTN_IMG1", # HID:34297
+ "HID:WIZARDS_HID_BG_BTN_IMG2", # HID:34298
+ "HID:WIZARDS_HID_BG_BTN_IMG3", # HID:34299
+ "HID:WIZARDS_HID_BG_BTN_IMG4", # HID:34300
+ "HID:WIZARDS_HID_BG_BTN_IMG5", # HID:34301
+ "HID:WIZARDS_HID_BG_BTN_IMG6", # HID:34302
+ "HID:WIZARDS_HID_BG_BTN_IMG7", # HID:34303
+ "HID:WIZARDS_HID_BG_BTN_IMG8", # HID:34304
+ "HID:WIZARDS_HID_BG_BTN_IMG9", # HID:34305
+ "HID:WIZARDS_HID_BG_BTN_IMG10", # HID:34306
+ "HID:WIZARDS_HID_BG_BTN_IMG11", # HID:34307
+ "HID:WIZARDS_HID_BG_BTN_IMG12", # HID:34308
+ "HID:WIZARDS_HID_BG_BTN_IMG13", # HID:34309
+ "HID:WIZARDS_HID_BG_BTN_IMG14", # HID:34300
+ "HID:WIZARDS_HID_BG_BTN_IMG15", # HID:34311
+ "HID:WIZARDS_HID_BG_BTN_IMG16", # HID:34312
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_DIALOG", # HID:34320
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_0_CMDPREV", # HID:34322
+ "HID:WIZARDS_HID_DLGREPORT_0_CMDNEXT", # HID:34323
+ "HID:WIZARDS_HID_DLGREPORT_0_CMDFINISH", # HID:34324
+ "HID:WIZARDS_HID_DLGREPORT_0_CMDCANCEL", # HID:34325
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_1_LBTABLES", # HID:34330
+ "HID:WIZARDS_HID_DLGREPORT_1_FIELDSAVAILABLE", # HID:34331
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDMOVESELECTED", # HID:34332
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDMOVEALL", # HID:34333
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDREMOVESELECTED", # HID:34334
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDREMOVEALL", # HID:34335
+ "HID:WIZARDS_HID_DLGREPORT_1_FIELDSSELECTED", # HID:34336
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDMOVEUP", # HID:34337
+ "HID:WIZARDS_HID_DLGREPORT_1_CMDMOVEDOWN", # HID:34338
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_2_GROUPING", # HID:34340
+ "HID:WIZARDS_HID_DLGREPORT_2_CMDGROUP", # HID:34341
+ "HID:WIZARDS_HID_DLGREPORT_2_CMDUNGROUP", # HID:34342
+ "HID:WIZARDS_HID_DLGREPORT_2_PREGROUPINGDEST", # HID:34343
+ "HID:WIZARDS_HID_DLGREPORT_2_CMDMOVEUPGROUP", # HID:34344
+ "HID:WIZARDS_HID_DLGREPORT_2_CMDMOVEDOWNGROUP", # HID:34345
+ "HID:WIZARDS_HID_DLGREPORT_3_SORT1", # HID:34346
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTASCEND1", # HID:34347
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTDESCEND1", # HID:34348
+ "HID:WIZARDS_HID_DLGREPORT_3_SORT2", # HID:34349
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTASCEND2", # HID:34350
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTDESCEND2", # HID:34351
+ "HID:WIZARDS_HID_DLGREPORT_3_SORT3", # HID:34352
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTASCEND3", # HID:34353
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTDESCEND3", # HID:34354
+ "HID:WIZARDS_HID_DLGREPORT_3_SORT4", # HID:34355
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTASCEND4", # HID:34356
+ "HID:WIZARDS_HID_DLGREPORT_3_OPTDESCEND4", # HID:34357
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_4_TITLE", # HID:34362
+ "HID:WIZARDS_HID_DLGREPORT_4_DATALAYOUT", # HID:34363
+ "HID:WIZARDS_HID_DLGREPORT_4_PAGELAYOUT", # HID:34364
+ "HID:WIZARDS_HID_DLGREPORT_4_LANDSCAPE", # HID:34365
+ "HID:WIZARDS_HID_DLGREPORT_4_PORTRAIT", # HID:34366
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_5_OPTDYNTEMPLATE", # HID:34370
+ "HID:WIZARDS_HID_DLGREPORT_5_OPTSTATDOCUMENT", # HID:34371
+ "HID:WIZARDS_HID_DLGREPORT_5_TXTTEMPLATEPATH", # HID:34372
+ "HID:WIZARDS_HID_DLGREPORT_5_CMDTEMPLATEPATH", # HID:34373
+ "HID:WIZARDS_HID_DLGREPORT_5_OPTEDITTEMPLATE", # HID:34374
+ "HID:WIZARDS_HID_DLGREPORT_5_OPTUSETEMPLATE", # HID:34375
+ "HID:WIZARDS_HID_DLGREPORT_5_TXTDOCUMENTPATH", # HID:34376
+ "HID:WIZARDS_HID_DLGREPORT_5_CMDDOCUMENTPATH", # HID:34377
+ "HID:WIZARDS_HID_DLGREPORT_5_CHKLINKTODB", # HID:34378
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_1", # HID:34381
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_2", # HID:34382
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_3", # HID:34383
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_4", # HID:34384
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_5", # HID:34385
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_6", # HID:34386
+ "HID:WIZARDS_HID_DLGREPORT_6_TXTTITLE_7", # HID:34387
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_DIALOG", # HID:34400
+ "",
+ "HID:WIZARDS_HID_DLGFORM_CMDPREV", # HID:34402
+ "HID:WIZARDS_HID_DLGFORM_CMDNEXT", # HID:34403
+ "HID:WIZARDS_HID_DLGFORM_CMDFINISH", # HID:34404
+ "HID:WIZARDS_HID_DLGFORM_CMDCANCEL", # HID:34405
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_MASTER_LBTABLES", # HID:34411
+ "HID:WIZARDS_HID_DLGFORM_MASTER_FIELDSAVAILABLE", # HID:34412
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDMOVESELECTED", # HID:34413
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDMOVEALL", # HID:34414
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDREMOVESELECTED", # HID:34415
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDREMOVEALL", # HID:34416
+ "HID:WIZARDS_HID_DLGFORM_MASTER_FIELDSSELECTED", # HID:34417
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDMOVEUP", # HID:34418
+ "HID:WIZARDS_HID_DLGFORM_MASTER_CMDMOVEDOWN", # HID:34419
+ "",
+ "HID:WIZARDS_HID_DLGFORM_CHKCREATESUBFORM", # HID:34421
+ "HID:WIZARDS_HID_DLGFORM_OPTONEXISTINGRELATION", # HID:34422
+ "HID:WIZARDS_HID_DLGFORM_OPTSELECTMANUALLY", # HID:34423
+ "HID:WIZARDS_HID_DLGFORM_lstRELATIONS", # HID:34424
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_SUB_LBTABLES", # HID:34431
+ "HID:WIZARDS_HID_DLGFORM_SUB_FIELDSAVAILABLE", # HID:34432
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVESELECTED", # HID:34433
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEALL", # HID:34434
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDREMOVESELECTED", # HID:34435
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDREMOVEALL", # HID:34436
+ "HID:WIZARDS_HID_DLGFORM_SUB_FIELDSSELECTED", # HID:34437
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEUP", # HID:34438
+ "HID:WIZARDS_HID_DLGFORM_SUB_CMDMOVEDOWN", # HID:34439
+ "",
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK1", # HID:34441
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK1", # HID:34442
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK2", # HID:34443
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK2", # HID:34444
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK3", # HID:34445
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK3", # HID:34446
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTSLAVELINK4", # HID:34447
+ "HID:WIZARDS_HID_DLGFORM_LINKER_LSTMASTERLINK4", # HID:34448
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_CMDALIGNLEFT", # HID:34451
+ "HID:WIZARDS_HID_DLGFORM_CMDALIGNRIGHT", # HID:34452
+ "HID:WIZARDS_HID_DLGFORM_CMDLEFTLABELED", # HID:34453
+ "HID:WIZARDS_HID_DLGFORM_CMDTOPLABELED", # HID:34454
+ "HID:WIZARDS_HID_DLGFORM_CMDTABLESTYLE", # HID:34455
+ "HID:WIZARDS_HID_DLGFORM_CMDTOPJUSTIFIED", # HID:34456
+ "HID:WIZARDS_HID_DLGFORM_CMDLEFTLABELED2", # HID:34457
+ "HID:WIZARDS_HID_DLGFORM_CMDTOPLABELED2", # HID:34458
+ "HID:WIZARDS_HID_DLGFORM_CMDTABLESTYLE2", # HID:34459
+ "HID:WIZARDS_HID_DLGFORM_CMDTOPJUSTIFIED2", # HID:34460
+ "HID:WIZARDS_HID_DLGFORM_OPTNEWDATAONLY", # HID:34461
+ "HID:WIZARDS_HID_DLGFORM_OPTDISPLAYALLDATA", # HID:34462
+ "HID:WIZARDS_HID_DLGFORM_CHKNOMODIFICATION", # HID:34463
+ "HID:WIZARDS_HID_DLGFORM_CHKNODELETION", # HID:34464
+ "HID:WIZARDS_HID_DLGFORM_CHKNOADDITION", # HID:34465
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_LSTSTYLES", # HID:34471
+ "HID:WIZARDS_HID_DLGFORM_CMDNOBORDER", # HID:34472
+ "HID:WIZARDS_HID_DLGFORM_CMD3DBORDER", # HID:34473
+ "HID:WIZARDS_HID_DLGFORM_CMDSIMPLEBORDER", # HID:34474
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGFORM_TXTPATH", # HID:34481
+ "HID:WIZARDS_HID_DLGFORM_OPTWORKWITHFORM", # HID:34482
+ "HID:WIZARDS_HID_DLGFORM_OPTMODIFYFORM", # HID:34483
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGNEWSLTR_DIALOG", # HID:34500
+ "HID:WIZARDS_HID_DLGNEWSLTR_OPTSTANDARDLAYOUT", # HID:34501
+ "HID:WIZARDS_HID_DLGNEWSLTR_OPTPARTYLAYOUT", # HID:34502
+ "HID:WIZARDS_HID_DLGNEWSLTR_OPTBROCHURELAYOUT", # HID:34503
+ "HID:WIZARDS_HID_DLGNEWSLTR_OPTSINGLESIDED", # HID:34504
+ "HID:WIZARDS_HID_DLGNEWSLTR_OPTDOUBLESIDED", # HID:34505
+ "HID:WIZARDS_HID_DLGNEWSLTR_CMDGOON", # HID:34506
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGDEPOT_DIALOG_SELLBUY", # HID:34520
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SELLBUY", # HID:34521
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTQUANTITY", # HID:34522
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTRATE", # HID:34523
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTDATE", # HID:34524
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTCOMMISSION", # HID:34525
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTFIX", # HID:34526
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTMINIMUM", # HID:34527
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SELLBUY", # HID:34528
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SELLBUY", # HID:34529
+ "HID:WIZARDS_HID_DLGDEPOT_1_LSTSELLSTOCKS", # HID:34530
+ "HID:WIZARDS_HID_DLGDEPOT_2_LSTBUYSTOCKS", # HID:34531
+ "HID:WIZARDS_HID_DLGDEPOT_DIALOG_SPLIT", # HID:34532
+ "HID:WIZARDS_HID_DLGDEPOT_0_LSTSTOCKNAMES", # HID:34533
+ "HID:WIZARDS_HID_DLGDEPOT_0_TXTSTOCKID_SPLIT", # HID:34534
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_SPLIT", # HID:34535
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_SPLIT", # HID:34536
+ "HID:WIZARDS_HID_DLGDEPOT_1_OPTPERSHARE", # HID:34537
+ "HID:WIZARDS_HID_DLGDEPOT_1_OPTTOTAL", # HID:34538
+ "HID:WIZARDS_HID_DLGDEPOT_1_TXTDIVIDEND", # HID:34539
+ "HID:WIZARDS_HID_DLGDEPOT_2_TXTOLDRATE", # HID:34540
+ "HID:WIZARDS_HID_DLGDEPOT_2_TXTNEWRATE", # HID:34541
+ "HID:WIZARDS_HID_DLGDEPOT_2_TXTDATE", # HID:34542
+ "HID:WIZARDS_HID_DLGDEPOT_3_TXTSTARTDATE", # HID:34543
+ "HID:WIZARDS_HID_DLGDEPOT_3_TXTENDDATE", # HID:34544
+ "HID:WIZARDS_HID_DLGDEPOT_3_OPTDAILY", # HID:34545
+ "HID:WIZARDS_HID_DLGDEPOT_3_OPTWEEKLY", # HID:34546
+ "HID:WIZARDS_HID_DLGDEPOT_DIALOG_HISTORY", # HID:34547
+ "HID:WIZARDS_HID_DLGDEPOT_LSTMARKETS", # HID:34548
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDCANCEL_HISTORY", # HID:34549
+ "HID:WIZARDS_HID_DLGDEPOT_0_CMDGOON_HISTORY", # HID:34550
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGIMPORT_DIALOG", # HID:34570
+ "HID:WIZARDS_HID_DLGIMPORT_0_CMDHELP", # HID:34571
+ "HID:WIZARDS_HID_DLGIMPORT_0_CMDCANCEL", # HID:34572
+ "HID:WIZARDS_HID_DLGIMPORT_0_CMDPREV", # HID:34573
+ "HID:WIZARDS_HID_DLGIMPORT_0_CMDNEXT", # HID:34574
+ "HID:WIZARDS_HID_DLGIMPORT_0_OPTSODOCUMENTS", # HID:34575
+ "HID:WIZARDS_HID_DLGIMPORT_0_OPTMSDOCUMENTS", # HID:34576
+ "HID:WIZARDS_HID_DLGIMPORT_0_CHKLOGFILE", # HID:34577
+ "HID:WIZARDS_HID_DLGIMPORT_2_CHKWORD", # HID:34578
+ "HID:WIZARDS_HID_DLGIMPORT_2_CHKEXCEL", # HID:34579
+ "HID:WIZARDS_HID_DLGIMPORT_2_CHKPOWERPOINT", # HID:34580
+ "HID:WIZARDS_HID_DLGIMPORT_2_CBTEMPLATE", # HID:34581
+ "HID:WIZARDS_HID_DLGIMPORT_2_CBTEMPLATERECURSE", # HID:34582
+ "HID:WIZARDS_HID_DLGIMPORT_2_LBTEMPLATEPATH", # HID:34583
+ "HID:WIZARDS_HID_DLGIMPORT_2_EDTEMPLATEPATH", # HID:34584
+ "HID:WIZARDS_HID_DLGIMPORT_2_CMDTEMPLATEPATHSELECT", # HID:34585
+ "HID:WIZARDS_HID_DLGIMPORT_2_CBDOCUMENT", # HID:34586
+ "HID:WIZARDS_HID_DLGIMPORT_2_CBDOCUMENTRECURSE", # HID:34587
+ "HID:WIZARDS_HID_DLGIMPORT_2_LBDOCUMENTPATH", # HID:34588
+ "HID:WIZARDS_HID_DLGIMPORT_2_EDDOCUMENTPATH", # HID:34589
+ "HID:WIZARDS_HID_DLGIMPORT_2_CMDDOCUMENTPATHSELECT", # HID:34590
+ "HID:WIZARDS_HID_DLGIMPORT_2_LBEXPORTDOCUMENTPATH", # HID:34591
+ "HID:WIZARDS_HID_DLGIMPORT_2_EDEXPORTDOCUMENTPATH", # HID:34592
+ "HID:WIZARDS_HID_DLGIMPORT_2_CMDEXPORTPATHSELECT", # HID:34593
+ "",
+ "HID:WIZARDS_HID_DLGIMPORT_3_TBSUMMARY", # HID:34595
+ "HID:WIZARDS_HID_DLGIMPORT_0_CHKWRITER", # HID:34596
+ "HID:WIZARDS_HID_DLGIMPORT_0_CHKCALC", # HID:34597
+ "HID:WIZARDS_HID_DLGIMPORT_0_CHKIMPRESS", # HID:34598
+ "HID:WIZARDS_HID_DLGIMPORT_0_CHKMATHGLOBAL", # HID:34599
+ "HID:WIZARDS_HID_DLGIMPORT_2_CMDTEMPLATEPATHSELECT2", # HID:34600
+ "HID:WIZARDS_HID_DLGIMPORT_2_CMDDOCUMENTPATHSELECT2", # HID:34601
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_DIALOG", # HID:34630
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_CANCEL", # HID:34631
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONAGENDA1", # HID:34632
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONAGENDA2", # HID:34633
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_AGENDAOKAY", # HID:34634
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONLETTER1", # HID:34635
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_OPTIONLETTER2", # HID:34636
+ "HID:WIZARDS_HID_DLGCORRESPONDENCE_LETTEROKAY", # HID:34637
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGSTYLES_DIALOG", # HID:34650
+ "HID:WIZARDS_HID_DLGSTYLES_LISTBOX", # HID:34651
+ "HID:WIZARDS_HID_DLGSTYLES_CANCEL", # HID:34652
+ "HID:WIZARDS_HID_DLGSTYLES_OKAY", # HID:34653
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGCONVERT_DIALOG", # HID:34660
+ "HID:WIZARDS_HID_DLGCONVERT_CHECKBOX1", # HID:34661
+ "HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON1", # HID:34662
+ "HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON2", # HID:34663
+ "HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON3", # HID:34664
+ "HID:WIZARDS_HID_DLGCONVERT_OPTIONBUTTON4", # HID:34665
+ "HID:WIZARDS_HID_DLGCONVERT_LISTBOX1", # HID:34666
+ "HID:WIZARDS_HID_DLGCONVERT_OBFILE", # HID:34667
+ "HID:WIZARDS_HID_DLGCONVERT_OBDIR", # HID:34668
+ "HID:WIZARDS_HID_DLGCONVERT_COMBOBOX1", # HID:34669
+ "HID:WIZARDS_HID_DLGCONVERT_TBSOURCE", # HID:34670
+ "HID:WIZARDS_HID_DLGCONVERT_CHECKRECURSIVE", # HID:34671
+ "HID:WIZARDS_HID_DLGCONVERT_TBTARGET", # HID:34672
+ "HID:WIZARDS_HID_DLGCONVERT_CBCANCEL", # HID:34673
+ "HID:WIZARDS_HID_DLGCONVERT_CBHELP", # HID:34674
+ "HID:WIZARDS_HID_DLGCONVERT_CBBACK", # HID:34675
+ "HID:WIZARDS_HID_DLGCONVERT_CBGOON", # HID:34676
+ "HID:WIZARDS_HID_DLGCONVERT_CBSOURCEOPEN", # HID:34677
+ "HID:WIZARDS_HID_DLGCONVERT_CBTARGETOPEN", # HID:34678
+ "HID:WIZARDS_HID_DLGCONVERT_CHKPROTECT", # HID:34679
+ "HID:WIZARDS_HID_DLGCONVERT_CHKTEXTDOCUMENTS", # HID:34680
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGPASSWORD_CMDGOON", # HID:34690
+ "HID:WIZARDS_HID_DLGPASSWORD_CMDCANCEL", # HID:34691
+ "HID:WIZARDS_HID_DLGPASSWORD_CMDHELP", # HID:34692
+ "HID:WIZARDS_HID_DLGPASSWORD_TXTPASSWORD", # HID:34693
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_DIALOG", # HID:34700
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_PREVIEW", # HID:34701
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_OPYEAR", # HID:34702
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_OPMONTH", # HID:34703
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_EDYEAR", # HID:34704
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_EDMONTH", # HID:34705
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_SPINYEAR", # HID:34706
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_SPINMONTH", # HID:34707
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_1_CMBSTATE", # HID:34708
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_LBOWNDATA", # HID:34709
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_CMDINSERT", # HID:34710
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_CMDDELETE", # HID:34711
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENT", # HID:34712
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_CHKEVENT", # HID:34713
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENTDAY", # HID:34714
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_SPINEVENTDAY", # HID:34715
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENTMONTH", # HID:34716
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_SPINEVENTMONTH", # HID:34717
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_EDEVENTYEAR", # HID:34718
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_2_SPINEVENTYEAR", # HID:34719
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDOWNDATA", # HID:34720
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDCANCEL", # HID:34721
+ "HID:WIZARDS_HID_DLGHOLIDAYCAL_0_CMDOK" # HID:34722
+ ]
+ array2 = ["HID:WIZARDS_HID_LTRWIZ_OPTBUSINESSLETTER", # HID:40769
+ "HID:WIZARDS_HID_LTRWIZ_OPTPRIVOFFICIALLETTER", # HID:40770
+ "HID:WIZARDS_HID_LTRWIZ_OPTPRIVATELETTER", # HID:40771
+ "HID:WIZARDS_HID_LTRWIZ_LSTBUSINESSSTYLE", # HID:40772
+ "HID:WIZARDS_HID_LTRWIZ_CHKBUSINESSPAPER", # HID:40773
+ "HID:WIZARDS_HID_LTRWIZ_LSTPRIVOFFICIALSTYLE", # HID:40774
+ "HID:WIZARDS_HID_LTRWIZ_LSTPRIVATESTYLE", # HID:40775
+ "HID:WIZARDS_HID_LTRWIZ_CHKPAPERCOMPANYLOGO", # HID:40776
+ "HID:WIZARDS_HID_LTRWIZ_NUMLOGOHEIGHT", # HID:40777
+ "HID:WIZARDS_HID_LTRWIZ_NUMLOGOX", # HID:40778
+ "HID:WIZARDS_HID_LTRWIZ_NUMLOGOWIDTH", # HID:40779
+ "HID:WIZARDS_HID_LTRWIZ_NUMLOGOY", # HID:40780
+ "HID:WIZARDS_HID_LTRWIZ_CHKPAPERCOMPANYADDRESS", # HID:40781
+ "HID:WIZARDS_HID_LTRWIZ_NUMADDRESSHEIGHT", # HID:40782
+ "HID:WIZARDS_HID_LTRWIZ_NUMADDRESSX", # HID:40783
+ "HID:WIZARDS_HID_LTRWIZ_NUMADDRESSWIDTH", # HID:40784
+ "HID:WIZARDS_HID_LTRWIZ_NUMADDRESSY", # HID:40785
+ "HID:WIZARDS_HID_LTRWIZ_CHKCOMPANYRECEIVER", # HID:40786
+ "HID:WIZARDS_HID_LTRWIZ_CHKPAPERFOOTER", # HID:40787
+ "HID:WIZARDS_HID_LTRWIZ_NUMFOOTERHEIGHT", # HID:40788
+ "HID:WIZARDS_HID_LTRWIZ_LSTLETTERNORM", # HID:40789
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSELOGO", # HID:40790
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSEADDRESSRECEIVER", # HID:40791
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSESIGNS", # HID:40792
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSESUBJECT", # HID:40793
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSESALUTATION", # HID:40794
+ "HID:WIZARDS_HID_LTRWIZ_LSTSALUTATION", # HID:40795
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSEBENDMARKS", # HID:40796
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSEGREETING", # HID:40797
+ "HID:WIZARDS_HID_LTRWIZ_LSTGREETING", # HID:40798
+ "HID:WIZARDS_HID_LTRWIZ_CHKUSEFOOTER", # HID:40799
+ "HID:WIZARDS_HID_LTRWIZ_OPTSENDERPLACEHOLDER", # HID:40800
+ "HID:WIZARDS_HID_LTRWIZ_OPTSENDERDEFINE", # HID:40801
+ "HID:WIZARDS_HID_LTRWIZ_TXTSENDERNAME", # HID:40802
+ "HID:WIZARDS_HID_LTRWIZ_TXTSENDERSTREET", # HID:40803
+ "HID:WIZARDS_HID_LTRWIZ_TXTSENDERPOSTCODE", # HID:40804
+ "HID:WIZARDS_HID_LTRWIZ_TXTSENDERSTATE_TEXT", # HID:40805
+ "HID:WIZARDS_HID_LTRWIZ_TXTSENDERCITY", # HID:40806
+ "HID:WIZARDS_HID_LTRWIZ_OPTRECEIVERPLACEHOLDER", # HID:40807
+ "HID:WIZARDS_HID_LTRWIZ_OPTRECEIVERDATABASE", # HID:40808
+ "HID:WIZARDS_HID_LTRWIZ_TXTFOOTER", # HID:40809
+ "HID:WIZARDS_HID_LTRWIZ_CHKFOOTERNEXTPAGES", # HID:40810
+ "HID:WIZARDS_HID_LTRWIZ_CHKFOOTERPAGENUMBERS", # HID:40811
+ "HID:WIZARDS_HID_LTRWIZ_TXTTEMPLATENAME", # HID:40812
+ "HID:WIZARDS_HID_LTRWIZ_OPTCREATELETTER", # HID:40813
+ "HID:WIZARDS_HID_LTRWIZ_OPTMAKECHANGES", # HID:40814
+ "HID:WIZARDS_HID_LTRWIZ_TXTPATH", # HID:40815
+ "HID:WIZARDS_HID_LTRWIZ_CMDPATH", # HID:40816
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_LTRWIZARD", # HID:40820
+ "HID:WIZARDS_HID_LTRWIZARD_HELP", # HID:40821
+ "HID:WIZARDS_HID_LTRWIZARD_BACK", # HID:40822
+ "HID:WIZARDS_HID_LTRWIZARD_NEXT", # HID:40823
+ "HID:WIZARDS_HID_LTRWIZARD_CREATE", # HID:40824
+ "HID:WIZARDS_HID_LTRWIZARD_CANCEL", # HID:40825
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTTABLES", # HID:40850
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFIELDS", # HID:40851
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDMOVESELECTED", # HID:40852
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDMOVEALL", # HID:40853
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDREMOVESELECTED", # HID:40854
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDREMOVEALL", # HID:40855
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTSELFIELDS", # HID:40856
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDMOVEUP", # HID:40857
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDMOVEDOWN", # HID:40858
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_SORT1", # HID:40865
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTASCEND1", # HID:40866
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTDESCEND1", # HID:40867
+ "HID:WIZARDS_HID_QUERYWIZARD_SORT2", # HID:40868
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTASCEND2", # HID:40869
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTDESCEND2", # HID:40870
+ "HID:WIZARDS_HID_QUERYWIZARD_SORT3", # HID:40871
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTASCEND3", # HID:40872
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTDESCEND3", # HID:40873
+ "HID:WIZARDS_HID_QUERYWIZARD_SORT4", # HID:40874
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTASCEND4", # HID:40875
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTDESCEND4", # HID:40876
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTMATCHALL", # HID:40878
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTMATCHANY", # HID:40879
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFIELDNAME_1", # HID:40880
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTOPERATOR_1", # HID:40881
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTVALUE_1", # HID:40882
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFIELDNAME_2", # HID:40883
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTOPERATOR_2", # HID:40884
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTVALUE_2", # HID:40885
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFIELDNAME_3", # HID:40886
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTOPERATOR_3", # HID:40887
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTVALUE_3", # HID:40888
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTAGGREGATEDETAILQUERY", # HID:40895
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTAGGREGATESUMMARYQUERY", # HID:40896
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFUNCTION_1", # HID:40897
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFIELDS_1", # HID:40898
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFUNCTION_2", # HID:40899
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFIELDS_2", # HID:40900
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFUNCTION_3", # HID:40901
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFIELDS_3", # HID:40902
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFUNCTION_4", # HID:40903
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFIELDS_4", # HID:40904
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFUNCTION_5", # HID:40905
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTAGGREGATEFIELDS_5", # HID:40906
+ "HID:WIZARDS_HID_QUERYWIZARD_BTNAGGREGATEPLUS", # HID:40907
+ "HID:WIZARDS_HID_QUERYWIZARD_BTNAGGREGATEMINUS", # HID:40908
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTERFIELDS", # HID:40915
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDFILTERMOVESELECTED", # HID:40916
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDFILTERREMOVESELECTED", # HID:40917
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTERSELFIELDS", # HID:40918
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDFILTERMOVEUP", # HID:40919
+ "HID:WIZARDS_HID_QUERYWIZARD_CMDFILTERMOVEDOWN", # HID:40920
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTGROUPMATCHALL", # HID:40923
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTGROUPMATCHANY", # HID:40924
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTERFIELDNAME_1", # HID:40925
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTEROPERATOR_1", # HID:40926
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTFILTERVALUE_1", # HID:40927
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTERFIELDNAME_2", # HID:40928
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTEROPERATOR_2", # HID:40929
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTFILTERVALUE_2", # HID:40930
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTERFIELDNAME_3", # HID:40931
+ "HID:WIZARDS_HID_QUERYWIZARD_LSTFILTEROPERATOR_3", # HID:40932
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTFILTERVALUE_3", # HID:40933
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_1", # HID:40940
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_2", # HID:40941
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_3", # HID:40942
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_4", # HID:40943
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_5", # HID:40944
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_6", # HID:40945
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTTITLE_7", # HID:40946
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTQUERYTITLE", # HID:40955
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTDISPLAYQUERY", # HID:40956
+ "HID:WIZARDS_HID_QUERYWIZARD_OPTMODIFYQUERY", # HID:40957
+ "HID:WIZARDS_HID_QUERYWIZARD_TXTSUMMARY", # HID:40958
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD", # HID:40970
+ "",
+ "HID:WIZARDS_HID_QUERYWIZARD_BACK", # HID:40972
+ "HID:WIZARDS_HID_QUERYWIZARD_NEXT", # HID:40973
+ "HID:WIZARDS_HID_QUERYWIZARD_CREATE", # HID:40974
+ "HID:WIZARDS_HID_QUERYWIZARD_CANCEL", # HID:40975
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_IS", # HID:41000
+ "", "HID:WIZARDS_HID_IS_BTN_NONE", # HID:41002
+ "HID:WIZARDS_HID_IS_BTN_OK", # HID:41003
+ "HID:WIZARDS_HID_IS_BTN_CANCEL", # HID:41004
+ "HID:WIZARDS_HID_IS_BTN_IMG1", # HID:41005
+ "HID:WIZARDS_HID_IS_BTN_IMG2", # HID:41006
+ "HID:WIZARDS_HID_IS_BTN_IMG3", # HID:41007
+ "HID:WIZARDS_HID_IS_BTN_IMG4", # HID:41008
+ "HID:WIZARDS_HID_IS_BTN_IMG5", # HID:41009
+ "HID:WIZARDS_HID_IS_BTN_IMG6", # HID:41010
+ "HID:WIZARDS_HID_IS_BTN_IMG7", # HID:41011
+ "HID:WIZARDS_HID_IS_BTN_IMG8", # HID:41012
+ "HID:WIZARDS_HID_IS_BTN_IMG9", # HID:41013
+ "HID:WIZARDS_HID_IS_BTN_IMG10", # HID:41014
+ "HID:WIZARDS_HID_IS_BTN_IMG11", # HID:41015
+ "HID:WIZARDS_HID_IS_BTN_IMG12", # HID:41016
+ "HID:WIZARDS_HID_IS_BTN_IMG13", # HID:41017
+ "HID:WIZARDS_HID_IS_BTN_IMG14", # HID:41018
+ "HID:WIZARDS_HID_IS_BTN_IMG15", # HID:41019
+ "HID:WIZARDS_HID_IS_BTN_IMG16", # HID:41020
+ "HID:WIZARDS_HID_IS_BTN_IMG17", # HID:41021
+ "HID:WIZARDS_HID_IS_BTN_IMG18", # HID:41022
+ "HID:WIZARDS_HID_IS_BTN_IMG19", # HID:41023
+ "HID:WIZARDS_HID_IS_BTN_IMG20", # HID:41024
+ "HID:WIZARDS_HID_IS_BTN_IMG21", # HID:41025
+ "HID:WIZARDS_HID_IS_BTN_IMG22", # HID:41026
+ "HID:WIZARDS_HID_IS_BTN_IMG23", # HID:41027
+ "HID:WIZARDS_HID_IS_BTN_IMG24", # HID:41028
+ "HID:WIZARDS_HID_IS_BTN_IMG25", # HID:41029
+ "HID:WIZARDS_HID_IS_BTN_IMG26", # HID:41030
+ "HID:WIZARDS_HID_IS_BTN_IMG27", # HID:41031
+ "HID:WIZARDS_HID_IS_BTN_IMG28", # HID:41032
+ "HID:WIZARDS_HID_IS_BTN_IMG29", # HID:41033
+ "HID:WIZARDS_HID_IS_BTN_IMG30", # HID:41034
+ "HID:WIZARDS_HID_IS_BTN_IMG31", # HID:41035
+ "HID:WIZARDS_HID_IS_BTN_IMG32", # HID:41036
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_FTP", # HID:41040
+ "HID:WIZARDS_HID_FTP_SERVER", # HID:41041
+ "HID:WIZARDS_HID_FTP_USERNAME", # HID:41042
+ "HID:WIZARDS_HID_FTP_PASS", # HID:41043
+ "HID:WIZARDS_HID_FTP_TEST", # HID:41044
+ "HID:WIZARDS_HID_FTP_TXT_PATH", # HID:41045
+ "HID:WIZARDS_HID_FTP_BTN_PATH", # HID:41046
+ "HID:WIZARDS_HID_FTP_OK", # HID:41047
+ "HID:WIZARDS_HID_FTP_CANCEL", # HID:41048
+ "",
+ "",
+ "HID:WIZARDS_HID_AGWIZ", # HID:41051
+ "HID:WIZARDS_HID_AGWIZ_HELP", # HID:41052
+ "HID:WIZARDS_HID_AGWIZ_NEXT", # HID:41053
+ "HID:WIZARDS_HID_AGWIZ_PREV", # HID:41054
+ "HID:WIZARDS_HID_AGWIZ_CREATE", # HID:41055
+ "HID:WIZARDS_HID_AGWIZ_CANCEL", # HID:41056
+ "HID:WIZARDS_HID_AGWIZ_1_LIST_PAGEDESIGN", # HID:41057
+ "HID:WIZARDS_HID_AGWIZ_1_CHK_MINUTES", # HID:41058
+ "HID:WIZARDS_HID_AGWIZ_2_TXT_TIME", # HID:41059
+ "HID:WIZARDS_HID_AGWIZ_2_TXT_DATE", # HID:41060
+ "HID:WIZARDS_HID_AGWIZ_2_TXT_TITLE", # HID:41061
+ "HID:WIZARDS_HID_AGWIZ_2_TXT_LOCATION", # HID:41062
+ "HID:WIZARDS_HID_AGWIZ_3_CHK_MEETING_TYPE", # HID:41063
+ "HID:WIZARDS_HID_AGWIZ_3_CHK_READ", # HID:41064
+ "HID:WIZARDS_HID_AGWIZ_3_CHK_BRING", # HID:41065
+ "HID:WIZARDS_HID_AGWIZ_3_CHK_NOTES", # HID:41066
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_CALLED_BY", # HID:41067
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_FACILITATOR", # HID:41068
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_NOTETAKER", # HID:41069
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_TIMEKEEPER", # HID:41070
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_ATTENDEES", # HID:41071
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_OBSERVERS", # HID:41072
+ "HID:WIZARDS_HID_AGWIZ_4_CHK_RESOURCEPERSONS", # HID:41073
+ "HID:WIZARDS_HID_AGWIZ_6_TXT_TEMPLATENAME", # HID:41074
+ "HID:WIZARDS_HID_AGWIZ_6_TXT_TEMPLATEPATH", # HID:41075
+ "HID:WIZARDS_HID_AGWIZ_6_BTN_TEMPLATEPATH", # HID:41076
+ "HID:WIZARDS_HID_AGWIZ_6_OPT_CREATEAGENDA", # HID:41077
+ "HID:WIZARDS_HID_AGWIZ_6_OPT_MAKECHANGES", # HID:41078
+ "HID:WIZARDS_HID_AGWIZ_5_BTN_INSERT", # HID:41079
+ "HID:WIZARDS_HID_AGWIZ_5_BTN_REMOVE", # HID:41080
+ "HID:WIZARDS_HID_AGWIZ_5_BTN_UP", # HID:41081
+ "HID:WIZARDS_HID_AGWIZ_5_BTN_DOWN", # HID:41082
+ "HID:WIZARDS_HID_AGWIZ_5_SCROLL_BAR", # HID:41083
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_TOPIC_1", # HID:41084
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_RESPONSIBLE_1", # HID:41085
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_MINUTES_1", # HID:41086
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_TOPIC_2", # HID:41087
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_RESPONSIBLE_2", # HID:41088
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_MINUTES_2", # HID:41089
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_TOPIC_3", # HID:41090
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_RESPONSIBLE_3", # HID:41091
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_MINUTES_3", # HID:41092
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_TOPIC_4", # HID:41093
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_RESPONSIBLE_4", # HID:41094
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_MINUTES_4", # HID:41095
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_TOPIC_5", # HID:41096
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_RESPONSIBLE_5", # HID:41097
+ "HID:WIZARDS_HID_AGWIZ_5_TXT_MINUTES_5", # HID:41098
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_FAXWIZ_OPTBUSINESSFAX", # HID:41120
+ "HID:WIZARDS_HID_FAXWIZ_LSTBUSINESSSTYLE", # HID:41121
+ "HID:WIZARDS_HID_FAXWIZ_OPTPRIVATEFAX", # HID:41122
+ "HID:WIZARDS_HID_LSTPRIVATESTYLE", # HID:41123
+ "HID:WIZARDS_HID_IMAGECONTROL3", # HID:41124
+ "HID:WIZARDS_HID_CHKUSELOGO", # HID:41125
+ "HID:WIZARDS_HID_CHKUSEDATE", # HID:41126
+ "HID:WIZARDS_HID_CHKUSECOMMUNICATIONTYPE", # HID:41127
+ "HID:WIZARDS_HID_LSTCOMMUNICATIONTYPE", # HID:41128
+ "HID:WIZARDS_HID_CHKUSESUBJECT", # HID:41129
+ "HID:WIZARDS_HID_CHKUSESALUTATION", # HID:41130
+ "HID:WIZARDS_HID_LSTSALUTATION", # HID:41131
+ "HID:WIZARDS_HID_CHKUSEGREETING", # HID:41132
+ "HID:WIZARDS_HID_LSTGREETING", # HID:41133
+ "HID:WIZARDS_HID_CHKUSEFOOTER", # HID:41134
+ "HID:WIZARDS_HID_OPTSENDERPLACEHOLDER", # HID:41135
+ "HID:WIZARDS_HID_OPTSENDERDEFINE", # HID:41136
+ "HID:WIZARDS_HID_TXTSENDERNAME", # HID:41137
+ "HID:WIZARDS_HID_TXTSENDERSTREET", # HID:41138
+ "HID:WIZARDS_HID_TXTSENDERPOSTCODE", # HID:41139
+ "HID:WIZARDS_HID_TXTSENDERSTATE", # HID:41140
+ "HID:WIZARDS_HID_TXTSENDERCITY", # HID:41141
+ "HID:WIZARDS_HID_TXTSENDERFAX", # HID:41142
+ "HID:WIZARDS_HID_OPTRECEIVERPLACEHOLDER", # HID:41143
+ "HID:WIZARDS_HID_OPTRECEIVERDATABASE", # HID:41144
+ "HID:WIZARDS_HID_TXTFOOTER", # HID:41145
+ "HID:WIZARDS_HID_CHKFOOTERNEXTPAGES", # HID:41146
+ "HID:WIZARDS_HID_CHKFOOTERPAGENUMBERS", # HID:41147
+ "HID:WIZARDS_HID_TXTTEMPLATENAME", # HID:41148
+ "HID:WIZARDS_HID_FILETEMPLATEPATH", # HID:41149
+ "HID:WIZARDS_HID_OPTCREATEFAX", # HID:41150
+ "HID:WIZARDS_HID_OPTMAKECHANGES", # HID:41151
+ "HID:WIZARDS_HID_IMAGECONTROL2", # HID:41152
+ "HID:WIZARDS_HID_FAXWIZ_TXTPATH", # HID:41153
+ "HID:WIZARDS_HID_FAXWIZ_CMDPATH", # HID:41154
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_FAXWIZARD", # HID:41180
+ "HID:WIZARDS_HID_FAXWIZARD_HELP", # HID:41181
+ "HID:WIZARDS_HID_FAXWIZARD_BACK", # HID:41182
+ "HID:WIZARDS_HID_FAXWIZARD_NEXT", # HID:41183
+ "HID:WIZARDS_HID_FAXWIZARD_CREATE", # HID:41184
+ "HID:WIZARDS_HID_FAXWIZARD_CANCEL", # HID:41185
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGTABLE_DIALOG", # HID:41200
+ "",
+ "HID:WIZARDS_HID_DLGTABLE_CMDPREV", # HID:41202
+ "HID:WIZARDS_HID_DLGTABLE_CMDNEXT", # HID:41203
+ "HID:WIZARDS_HID_DLGTABLE_CMDFINISH", # HID:41204
+ "HID:WIZARDS_HID_DLGTABLE_CMDCANCEL", # HID:41205
+ "HID:WIZARDS_HID_DLGTABLE_OPTBUSINESS", # HID:41206
+ "HID:WIZARDS_HID_DLGTABLE_OPTPRIVATE", # HID:41207
+ "HID:WIZARDS_HID_DLGTABLE_LBTABLES", # HID:41208
+ "HID:WIZARDS_HID_DLGTABLE_FIELDSAVAILABLE", # HID:41209
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVESELECTED", # HID:41210
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEALL", # HID:41211
+ "HID:WIZARDS_HID_DLGTABLE_CMDREMOVESELECTED", # HID:41212
+ "HID:WIZARDS_HID_DLGTABLE_CMDREMOVEALL", # HID:41213
+ "HID:WIZARDS_HID_DLGTABLE_FIELDSSELECTED", # HID:41214
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEUP", # HID:41215
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEDOWN", # HID:41216
+ "",
+ "",
+ "",
+ "HID:WIZARDS_HID_DLGTABLE_LB_SELFIELDNAMES", # HID:41220
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEFIELDUP", # HID:41221
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEFIELDDOWN", # HID:41222
+ "HID:WIZARDS_HID_DLGTABLE_CMDMINUS", # HID:41223
+ "HID:WIZARDS_HID_DLGTABLE_CMDPLUS", # HID:41224
+ "HID:WIZARDS_HID_DLGTABLE_COLNAME", # HID:41225
+ "HID:WIZARDS_HID_DLGTABLE_COLMODIFIER", # HID:41226
+ "HID:WIZARDS_HID_DLGTABLE_CHK_USEPRIMEKEY", # HID:41227
+ "HID:WIZARDS_HID_DLGTABLE_OPT_PK_AUTOMATIC", # HID:41228
+ "HID:WIZARDS_HID_DLGTABLE_CK_PK_AUTOVALUE_AUTOMATIC", # HID:41229
+ "HID:WIZARDS_HID_DLGTABLE_OPT_PK_SINGLE", # HID:41230
+ "HID:WIZARDS_HID_DLGTABLE_LB_PK_FIELDNAME", # HID:41231
+ "HID:WIZARDS_HID_DLGTABLE_CK_PK_AUTOVALUE", # HID:41232
+ "HID:WIZARDS_HID_DLGTABLE_OPT_PK_SEVERAL", # HID:41233
+ "HID:WIZARDS_HID_DLGTABLE_FIELDS_PK_AVAILABLE", # HID:41234
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVE_PK_SELECTED", # HID:41235
+ "HID:WIZARDS_HID_DLGTABLE_CMDREMOVE_PK_SELECTED", # HID:41236
+ "HID:WIZARDS_HID_DLGTABLE_FIELDS_PK_SELECTED", # HID:41237
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEUP_PK_SELECTED", # HID:41238
+ "HID:WIZARDS_HID_DLGTABLE_CMDMOVEDOWN_PK_SELECTED", # HID:41239
+ "HID:WIZARDS_HID_DLGTABLE_TXT_NAME", # HID:41240
+ "HID:WIZARDS_HID_DLGTABLE_OPT_MODIFYTABLE", # HID:41241
+ "HID:WIZARDS_HID_DLGTABLE_OPT_WORKWITHTABLE", # HID:41242
+ "HID:WIZARDS_HID_DLGTABLE_OPT_STARTFORMWIZARD", # HID:41243
+ "HID:WIZARDS_HID_DLGTABLE_LST_CATALOG", # HID:41244
+ "HID:WIZARDS_HID_DLGTABLE_LST_SCHEMA" # HID:41245
+ ]
+
+ @classmethod
+ def getHelpIdString(self, nHelpId):
+ if nHelpId >= 34200 and nHelpId <= 34722:
+ return HelpIds.array1[nHelpId - 34200]
+ elif nHelpId >= 40769 and nHelpId <= 41245:
+ return HelpIds.array2[nHelpId - 40769]
+ else:
+ return None
diff --git a/wizards/com/sun/star/wizards/common/Helper.py b/wizards/com/sun/star/wizards/common/Helper.py
new file mode 100644
index 000000000..45923cfe8
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Helper.py
@@ -0,0 +1,186 @@
+import uno
+import traceback
+from datetime import date as DateTime
+from com.sun.star.uno import RuntimeException
+from NumberFormatter import NumberFormatter
+
+class Helper(object):
+
+ def convertUnoDatetoInteger(self, DateValue):
+ oCal = java.util.Calendar.getInstance()
+ oCal.set(DateValue.Year, DateValue.Month, DateValue.Day)
+ dTime = oCal.getTime()
+ lTime = dTime.getTime()
+ lDate = lTime / (3600 * 24000)
+ return lDate
+
+ @classmethod
+ def setUnoPropertyValue(self, xPSet, PropertyName, PropertyValue):
+ try:
+ if PropertyValue is not None:
+ setattr(xPSet, PropertyName, PropertyValue)
+
+ except AttributeError:
+ raise AttributeError, "No Such Property: '%s'" % PropertyName
+ except Exception:
+ traceback.print_exc()
+
+ @classmethod
+ def getUnoObjectbyName(self, xName, ElementName):
+ try:
+ if xName.hasByName(ElementName) == True:
+ return xName.getByName(ElementName)
+ else:
+ raise RuntimeException();
+
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def getPropertyValue(self, CurPropertyValue, PropertyName):
+ for i in CurPropertyValue:
+ if i is not None:
+ if i.Name == PropertyName:
+ return i.Value
+
+ raise RuntimeException()
+
+ @classmethod
+ def getPropertyValuefromAny(self, CurPropertyValue, PropertyName):
+ try:
+ if CurPropertyValue is not None:
+ MaxCount = len(CurPropertyValue)
+ i = 0
+ while i < MaxCount:
+ if CurPropertyValue[i] is not None:
+ aValue = CurPropertyValue[i]
+ if aValue is not None and aValue.Name == PropertyName:
+ return aValue.Value
+
+ i += 1
+ return None
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def getUnoPropertyValue(self, xPSet, PropertyName):
+ try:
+ if xPSet is not None:
+ oObject = xPSet.getPropertyValue(PropertyName)
+ if oObject is not None:
+ return oObject
+ return None
+
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def getUnoArrayPropertyValue(self, xPSet, PropertyName):
+ try:
+ if xPSet is not None:
+ oObject = xPSet.getPropertyValue(PropertyName)
+ if isinstance(oObject,list):
+ return getArrayValue(oObject)
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return None
+
+ @classmethod
+ def getUnoStructValue(self, xPSet, PropertyName):
+ try:
+ if xPSet is not None:
+ if xPSet.getPropertySetInfo().hasPropertyByName(PropertyName):
+ oObject = xPSet.getPropertyValue(PropertyName)
+ return oObject
+
+ return None
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def setUnoPropertyValues(self, xMultiPSetLst, PropertyNames,
+ PropertyValues):
+ try:
+ if xMultiPSetLst is not None:
+ uno.invoke(xMultiPSetLst, "setPropertyValues",
+ (PropertyNames, PropertyValues))
+ else:
+ for i in xrange(len(PropertyNames)):
+ self.setUnoPropertyValue(xMultiPSetLst, PropertyNames[i],
+ PropertyValues[i])
+
+ except Exception, e:
+ traceback.print_exc()
+
+ '''
+ checks if the value of an object that represents an array is null.
+ check beforehand if the Object is really an array with
+ "AnyConverter.IsArray(oObject)
+ @param oValue the paramter that has to represent an object
+ @return a null reference if the array is empty
+ '''
+
+ @classmethod
+ def getArrayValue(self, oValue):
+ try:
+ #VetoableChangeSupport Object
+ oPropList = list(oValue)
+ nlen = len(oPropList)
+ if nlen == 0:
+ return None
+ else:
+ return oPropList
+
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def getComponentContext(_xMSF):
+ #Get the path to the extension and
+ #try to add the path to the class loader
+ aHelper = PropertySetHelper(_xMSF);
+ aDefaultContext = aHelper.getPropertyValueAsObject("DefaultContext")
+ return aDefaultContext;
+
+ def getMacroExpander(_xMSF):
+ xComponentContext = self.getComponentContext(_xMSF);
+ aSingleton = xComponentContext.getValueByName(
+ "/singletons/com.sun.star.util.theMacroExpander")
+ return aSingleton;
+
+ class DateUtils(object):
+
+ def __init__(self, xmsf, document):
+ defaults = document.createInstance("com.sun.star.text.Defaults")
+ l = Helper.getUnoStructValue(defaults, "CharLocale")
+ self.formatSupplier = document
+ formatSettings = self.formatSupplier.getNumberFormatSettings()
+ date = Helper.getUnoPropertyValue(formatSettings, "NullDate")
+ self.calendar = DateTime(date.Year, date.Month, date.Day)
+ self.formatter = NumberFormatter.createNumberFormatter(xmsf,
+ self.formatSupplier)
+
+ '''
+ @param format a constant of the enumeration NumberFormatIndex
+ @return
+ '''
+
+ def getFormat(self, format):
+ return NumberFormatter.getNumberFormatterKey(
+ self.formatSupplier, format)
+
+ '''
+ @param date a VCL date in form of 20041231
+ @return a document relative date
+ '''
+
+ def format(self, formatIndex, date):
+ difference = date - self.calendar
+ return self.formatter.convertNumberToString(formatIndex,
+ difference.days)
diff --git a/wizards/com/sun/star/wizards/common/NoValidPathException.py b/wizards/com/sun/star/wizards/common/NoValidPathException.py
new file mode 100644
index 000000000..53db155e2
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/NoValidPathException.py
@@ -0,0 +1,10 @@
+class NoValidPathException(Exception):
+
+ def __init__(self, xMSF, _sText):
+ super(NoValidPathException,self).__init__(_sText)
+ # TODO: NEVER open a dialog in an exception
+ from SystemDialog import SystemDialog
+ if xMSF:
+ SystemDialog.showErrorBox(xMSF,
+ "dbwizres", "dbw", 521) #OfficePathnotavailable
+
diff --git a/wizards/com/sun/star/wizards/common/NumberFormatter.py b/wizards/com/sun/star/wizards/common/NumberFormatter.py
new file mode 100644
index 000000000..a3deb1730
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/NumberFormatter.py
@@ -0,0 +1,231 @@
+import traceback
+from com.sun.star.lang import Locale
+from com.sun.star.util.NumberFormat import DATE, LOGICAL, DATETIME, TEXT, NUMBER
+
+class NumberFormatter(object):
+
+ def __init__(self, _xNumberFormatsSupplier, _aLocale, _xMSF=None):
+ self.iDateFormatKey = -1
+ self.iDateTimeFormatKey = -1
+ self.iNumberFormatKey = -1
+ self.iTextFormatKey = -1
+ self.iTimeFormatKey = -1
+ self.iLogicalFormatKey = -1
+ self.bNullDateCorrectionIsDefined = False
+ self.aLocale = _aLocale
+ if _xMSF is not None:
+ self.xNumberFormatter = _xMSF.createInstance(
+ "com.sun.star.util.NumberFormatter")
+ self.xNumberFormats = _xNumberFormatsSupplier.NumberFormats
+ self.xNumberFormatSettings = \
+ _xNumberFormatsSupplier.NumberFormatSettings
+ self.xNumberFormatter.attachNumberFormatsSupplier(
+ _xNumberFormatsSupplier)
+
+ '''
+ @param _xMSF
+ @param _xNumberFormatsSupplier
+ @return
+ @throws Exception
+ @deprecated
+ '''
+
+ @classmethod
+ def createNumberFormatter(self, _xMSF, _xNumberFormatsSupplier):
+ oNumberFormatter = _xMSF.createInstance(
+ "com.sun.star.util.NumberFormatter")
+ oNumberFormatter.attachNumberFormatsSupplier(_xNumberFormatsSupplier)
+ return oNumberFormatter
+
+ '''
+ gives a key to pass to a NumberFormat object. <br/>
+ example: <br/>
+ <pre>
+ XNumberFormatsSupplier nsf =
+ (XNumberFormatsSupplier)UnoRuntime.queryInterface(...,document)
+ int key = Desktop.getNumberFormatterKey(
+ nsf, ...star.i18n.NumberFormatIndex.DATE...)
+ XNumberFormatter nf = Desktop.createNumberFormatter(xmsf, nsf);
+ nf.convertNumberToString( key, 1972 );
+ </pre>
+ @param numberFormatsSupplier
+ @param type - a constant out of i18n.NumberFormatIndex enumeration.
+ @return a key to use with a util.NumberFormat instance.
+ '''
+
+ @classmethod
+ def getNumberFormatterKey(self, numberFormatsSupplier, Type):
+ return numberFormatsSupplier.NumberFormats.getFormatIndex(
+ Type, Locale())
+
+ def convertNumberToString(self, _nkey, _dblValue, _xNumberFormatter=None):
+ if _xNumberFormatter is None:
+ return self.xNumberFormatter.convertNumberToString(
+ _nkey, _dblValue)
+ else:
+ return _xNumberFormatter.convertNumberToString(_nkey, _dblValue)
+
+ def convertStringToNumber(self, _nkey, _sString):
+ return self.xNumberFormatter.convertStringToNumber(_nkey, _sString)
+
+ '''
+ @param dateCorrection The lDateCorrection to set.
+ '''
+
+ def setNullDateCorrection(self, dateCorrection):
+ self.lDateCorrection = dateCorrection
+
+ def defineNumberFormat(self, _FormatString):
+ try:
+ NewFormatKey = self.xNumberFormats.queryKey(
+ _FormatString, self.aLocale, True)
+ if NewFormatKey is -1:
+ NewFormatKey = self.xNumberFormats.addNew(
+ _FormatString, self.aLocale)
+
+ return NewFormatKey
+ except Exception, e:
+ traceback.print_exc()
+ return -1
+
+ '''
+ returns a numberformat for a FormatString.
+ @param _FormatString
+ @param _aLocale
+ @return
+ '''
+
+ def defineNumberFormat(self, _FormatString, _aLocale):
+ try:
+ NewFormatKey = self.xNumberFormats.queryKey(
+ _FormatString, _aLocale, True)
+ if NewFormatKey == -1:
+ NewFormatKey = self.xNumberFormats.addNew(
+ _FormatString, _aLocale)
+
+ return NewFormatKey
+ except Exception, e:
+ traceback.print_exc()
+ return -1
+
+ def setNumberFormat(self, _xFormatObject, _FormatKey, _oNumberFormatter):
+ try:
+ xNumberFormat = _oNumberFormatter.xNumberFormats.getByKey(
+ _FormatKey)
+ FormatString = str(Helper.getUnoPropertyValue(
+ xNumberFormat, "FormatString"))
+ oLocale = Helper.getUnoPropertyValue(xNumberFormat, "Locale")
+ NewFormatKey = defineNumberFormat(FormatString, oLocale)
+ _xFormatObject.setPropertyValue(
+ "FormatsSupplier",
+ _oNumberFormatter.xNumberFormatter.getNumberFormatsSupplier())
+ if _xFormatObject.getPropertySetInfo().hasPropertyByName(
+ "NumberFormat"):
+ _xFormatObject.setPropertyValue("NumberFormat", NewFormatKey)
+ elif _xFormatObject.getPropertySetInfo().hasPropertyByName(
+ "FormatKey"):
+ _xFormatObject.setPropertyValue("FormatKey", NewFormatKey)
+ else:
+ # TODO: throws a exception in a try catch environment, very helpful?
+ raise Exception
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ def getNullDateCorrection(self):
+ if not self.bNullDateCorrectionIsDefined:
+ dNullDate = Helper.getUnoStructValue(
+ self.xNumberFormatSettings, "NullDate")
+ lNullDate = Helper.convertUnoDatetoInteger(dNullDate)
+ oCal = java.util.Calendar.getInstance()
+ oCal.set(1900, 1, 1)
+ dTime = oCal.getTime()
+ lTime = dTime.getTime()
+ lDBNullDate = lTime / (3600 * 24000)
+ self.lDateCorrection = lDBNullDate - lNullDate
+ return self.lDateCorrection
+ else:
+ return self.lDateCorrection
+
+ def setBooleanReportDisplayNumberFormat(self):
+ FormatString = "[=1]" + str(9745) + ";[=0]" + str(58480) + ";0"
+ self.iLogicalFormatKey = self.xNumberFormats.queryKey(
+ FormatString, self.aLocale, True)
+ try:
+ if self.iLogicalFormatKey == -1:
+ self.iLogicalFormatKey = self.xNumberFormats.addNew(
+ FormatString, self.aLocale)
+
+ except Exception, e:
+ #MalformedNumberFormat
+ traceback.print_exc()
+ self.iLogicalFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.LOGICAL, self.aLocale)
+
+ return self.iLogicalFormatKey
+
+ '''
+ @return Returns the iDateFormatKey.
+ '''
+
+ def getDateFormatKey(self):
+ if self.iDateFormatKey == -1:
+ self.iDateFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.DATE, self.aLocale)
+
+ return self.iDateFormatKey
+
+ '''
+ @return Returns the iDateTimeFormatKey.
+ '''
+
+ def getDateTimeFormatKey(self):
+ if self.iDateTimeFormatKey == -1:
+ self.iDateTimeFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.DATETIME, self.aLocale)
+
+ return self.iDateTimeFormatKey
+
+ '''
+ @return Returns the iLogicalFormatKey.
+ '''
+
+ def getLogicalFormatKey(self):
+ if self.iLogicalFormatKey == -1:
+ self.iLogicalFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.LOGICAL, self.aLocale)
+
+ return self.iLogicalFormatKey
+
+ '''
+ @return Returns the iNumberFormatKey.
+ '''
+
+ def getNumberFormatKey(self):
+ if self.iNumberFormatKey == -1:
+ self.iNumberFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.NUMBER, self.aLocale)
+
+ return self.iNumberFormatKey
+
+ '''
+ @return Returns the iTextFormatKey.
+ '''
+
+ def getTextFormatKey(self):
+ if self.iTextFormatKey == -1:
+ self.iTextFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.TEXT, self.aLocale)
+
+ return self.iTextFormatKey
+
+ '''
+ @return Returns the iTimeFormatKey.
+ '''
+
+ def getTimeFormatKey(self):
+ if self.iTimeFormatKey == -1:
+ self.iTimeFormatKey = self.xNumberFormats.getStandardFormat(
+ NumberFormat.TIME, self.aLocale)
+
+ return self.iTimeFormatKey
diff --git a/wizards/com/sun/star/wizards/common/PropertyNames.py b/wizards/com/sun/star/wizards/common/PropertyNames.py
new file mode 100644
index 000000000..c1dde1852
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/PropertyNames.py
@@ -0,0 +1,15 @@
+class PropertyNames:
+ PROPERTY_ENABLED = "Enabled"
+ PROPERTY_HEIGHT = "Height"
+ PROPERTY_HELPURL = "HelpURL"
+ PROPERTY_POSITION_X = "PositionX"
+ PROPERTY_POSITION_Y = "PositionY"
+ PROPERTY_LABEL = "Label"
+ PROPERTY_MULTILINE = "MultiLine"
+ PROPERTY_NAME = "Name"
+ PROPERTY_STEP = "Step"
+ PROPERTY_WIDTH = "Width"
+ PROPERTY_TABINDEX = "TabIndex"
+ PROPERTY_STATE = "State"
+ PROPERTY_IMAGEURL = "ImageURL"
+
diff --git a/wizards/com/sun/star/wizards/common/PropertySetHelper.py b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
new file mode 100644
index 000000000..2fce42abc
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/PropertySetHelper.py
@@ -0,0 +1,250 @@
+from DebugHelper import *
+
+class PropertySetHelper(object):
+
+ @classmethod
+ def __init__(self, _aObj):
+ if not _aObj:
+ return
+
+ self.m_xPropertySet = _aObj
+
+ def getHashMap(self):
+ if self.m_aHashMap == None:
+ self.m_aHashMap = HashMap < String, Object >.Object()
+
+ return self.m_aHashMap
+
+ '''
+ set a property, don't throw any exceptions,
+ they will only write down as a hint in the helper debug output
+ @param _sName name of the property to set
+ @param _aValue property value as object
+ '''
+
+ def setPropertyValueDontThrow(self, _sName, _aValue):
+ try:
+ setPropertyValue(_sName, _aValue)
+ except Exception, e:
+ DebugHelper.writeInfo(
+ "Don't throw the exception with property name(" \
+ + _sName + " ) : " + e.getMessage())
+
+ '''
+ set a property,
+ @param _sName name of the property to set
+ @param _aValue property value as object
+ @throws java.lang.Exception
+ '''
+
+ def setPropertyValue(self, _sName, _aValue):
+ if self.m_xPropertySet != None:
+ try:
+ self.m_xPropertySet.setPropertyValue(_sName, _aValue)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ DebugHelper.exception(e)
+ except com.sun.star.beans.PropertyVetoException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ DebugHelper.exception(e)
+ except ValueError, e:
+ DebugHelper.writeInfo(e.getMessage())
+ DebugHelper.exception(e)
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ DebugHelper.exception(e)
+
+ else:
+ getHashMap().put(_sName, _aValue)
+
+ '''
+ get a property and convert it to a int value
+ @param _sName the string name of the property
+ @param _nDefault if an error occur, return this value
+ @return the int value of the property
+ '''
+
+ def getPropertyValueAsInteger(self, _sName, _nDefault):
+ aObject = None
+ nValue = _nDefault
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ if aObject != None:
+ try:
+ nValue = NumericalHelper.toInt(aObject)
+ except ValueError, e:
+ DebugHelper.writeInfo(
+ "can't convert a object to integer.")
+
+ return nValue
+
+ '''
+ get a property and convert it to a short value
+ @param _sName the string name of the property
+ @param _nDefault if an error occur, return this value
+ @return the int value of the property
+ '''
+
+ def getPropertyValueAsShort(self, _sName, _nDefault):
+ aObject = None
+ nValue = _nDefault
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ if aObject != None:
+ try:
+ nValue = NumericalHelper.toShort(aObject)
+ except ValueError, e:
+ DebugHelper.writeInfo("can't convert a object to short.")
+
+ return nValue
+
+ '''
+ get a property and convert it to a double value
+ @param _sName the string name of the property
+ @param _nDefault if an error occur, return this value
+ @return the int value of the property
+ '''
+
+ def getPropertyValueAsDouble(self, _sName, _nDefault):
+ aObject = None
+ nValue = _nDefault
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ if aObject == None:
+ if getHashMap().containsKey(_sName):
+ aObject = getHashMap().get(_sName)
+
+ if aObject != None:
+ try:
+ nValue = NumericalHelper.toDouble(aObject)
+ except ValueError, e:
+ DebugHelper.writeInfo("can't convert a object to integer.")
+
+ return nValue
+
+ '''
+ get a property and convert it to a boolean value
+ @param _sName the string name of the property
+ @param _bDefault if an error occur, return this value
+ @return the boolean value of the property
+ '''
+
+ def getPropertyValueAsBoolean(self, _sName, _bDefault):
+ aObject = None
+ bValue = _bDefault
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ DebugHelper.writeInfo(
+ "UnknownPropertyException caught: Name:=" + _sName)
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ if aObject != None:
+ try:
+ bValue = NumericalHelper.toBoolean(aObject)
+ except ValueError, e:
+ DebugHelper.writeInfo("can't convert a object to boolean.")
+
+ return bValue
+
+ '''
+ get a property and convert it to a string value
+ @param _sName the string name of the property
+ @param _sDefault if an error occur, return this value
+ @return the string value of the property
+ '''
+
+ def getPropertyValueAsString(self, _sName, _sDefault):
+ aObject = None
+ sValue = _sDefault
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ if aObject != None:
+ try:
+ sValue = AnyConverter.toString(aObject)
+ except ValueError, e:
+ DebugHelper.writeInfo("can't convert a object to string.")
+
+ return sValue
+
+ '''
+ get a property and don't convert it
+ @param _sName the string name of the property
+ @return the object value of the property without any conversion
+ '''
+
+ def getPropertyValueAsObject(self, _sName):
+ aObject = None
+ if self.m_xPropertySet != None:
+ try:
+ aObject = self.m_xPropertySet.getPropertyValue(_sName)
+ except com.sun.star.beans.UnknownPropertyException, e:
+ DebugHelper.writeInfo(e.getMessage())
+ except com.sun.star.lang.WrappedTargetException, e:
+ DebugHelper.writeInfo(e.getMessage())
+
+ return aObject
+
+ '''
+ Debug helper, to show all properties
+ which are available in the given object.
+ @param _xObj the object of which the properties should shown
+ '''
+
+ @classmethod
+ def showProperties(self, _xObj):
+ aHelper = PropertySetHelper.PropertySetHelper_unknown(_xObj)
+ aHelper.showProperties()
+
+ '''
+ Debug helper, to show all properties which are available
+ in the current object.
+ '''
+
+ def showProperties(self):
+ sName = ""
+ if self.m_xPropertySet != None:
+ XServiceInfo xServiceInfo = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, self.m_xPropertySet)
+ if xServiceInfo != None:
+ sName = xServiceInfo.getImplementationName()
+
+ xInfo = self.m_xPropertySet.getPropertySetInfo()
+ aAllProperties = xInfo.getProperties()
+ DebugHelper.writeInfo(
+ "Show all properties of Implementation of :'" + sName + "'")
+ i = 0
+ while i < aAllProperties.length:
+ DebugHelper.writeInfo(" - " + aAllProperties[i].Name)
+ i += 1
+ else:
+ DebugHelper.writeInfo(
+ "The given object don't support XPropertySet interface.")
+
diff --git a/wizards/com/sun/star/wizards/common/Resource.java b/wizards/com/sun/star/wizards/common/Resource.java
index 218f0ce02..7d9365b35 100644
--- a/wizards/com/sun/star/wizards/common/Resource.java
+++ b/wizards/com/sun/star/wizards/common/Resource.java
@@ -27,46 +27,75 @@
package com.sun.star.wizards.common;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
import com.sun.star.lang.IllegalArgumentException;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.script.XInvocation;
import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
public class Resource
{
- XInvocation xInvocation;
XMultiServiceFactory xMSF;
- String Unit;
String Module;
+ XIndexAccess xStringIndexAccess;
+ XIndexAccess xStringListIndexAccess;
/** Creates a new instance of Resource
* @param _xMSF
* @param _Unit
* @param _Module
*/
- public Resource(XMultiServiceFactory _xMSF, String _Unit, String _Module)
+ public Resource(XMultiServiceFactory _xMSF, String _Unit /* unused */, String _Module)
{
this.xMSF = _xMSF;
- this.Unit = _Unit;
this.Module = _Module;
- this.xInvocation = initResources();
+ try
+ {
+ Object[] aArgs = new Object[1];
+ aArgs[0] = this.Module;
+ XInterface xResource = (XInterface) xMSF.createInstanceWithArguments(
+ "org.libreoffice.resource.ResourceIndexAccess",
+ aArgs);
+ if (xResource == null)
+ throw new Exception("could not initialize ResourceIndexAccess");
+ XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xResource);
+ if (xNameAccess == null)
+ throw new Exception("ResourceIndexAccess is no XNameAccess");
+ this.xStringIndexAccess = (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ xNameAccess.getByName("String"));
+ this.xStringListIndexAccess = (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ xNameAccess.getByName("StringList"));
+ if(this.xStringListIndexAccess == null)
+ throw new Exception("could not initialize xStringListIndexAccess");
+ if(this.xStringIndexAccess == null)
+ throw new Exception("could not initialize xStringIndexAccess");
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace();
+ showCommonResourceError(xMSF);
+ }
}
public String getResText(int nID)
{
try
{
- short[][] PointerArray = new short[1][];
- Object[][] DummyArray = new Object[1][];
- Object[] nIDArray = new Object[1];
- nIDArray[0] = new Integer(nID);
- return (String) xInvocation.invoke("getString", nIDArray, PointerArray, DummyArray);
+ return (String)this.xStringIndexAccess.getByIndex(nID);
}
catch (Exception exception)
{
exception.printStackTrace();
- throw new java.lang.IllegalArgumentException("Resource with ID not" + String.valueOf(nID) + "not found");
+ throw new java.lang.IllegalArgumentException("Resource with ID not " + String.valueOf(nID) + "not found");
}
}
@@ -74,17 +103,12 @@ public class Resource
{
try
{
- short[][] PointerArray = new short[1][];
- Object[][] DummyArray = new Object[1][];
- Object[] nIDArray = new Object[1];
- nIDArray[0] = new Integer(nID);
- //Object bla = xInvocation.invoke("getStringList", nIDArray, PointerArray, DummyArray);
- return (PropertyValue[]) xInvocation.invoke("getStringList", nIDArray, PointerArray, DummyArray);
+ return (PropertyValue[])this.xStringListIndexAccess.getByIndex(nID);
}
catch (Exception exception)
{
exception.printStackTrace();
- throw new java.lang.IllegalArgumentException("Resource with ID not" + String.valueOf(nID) + "not found");
+ throw new java.lang.IllegalArgumentException("Resource with ID not " + String.valueOf(nID) + "not found");
}
}
@@ -106,31 +130,6 @@ public class Resource
}
}
- public XInvocation initResources()
- {
- try
- {
- com.sun.star.uno.XInterface xResource = (com.sun.star.uno.XInterface) xMSF.createInstance("com.sun.star.resource.VclStringResourceLoader");
- if (xResource == null)
- {
- showCommonResourceError(xMSF);
- throw new IllegalArgumentException();
- }
- else
- {
- XInvocation xResInvoke = com.sun.star.uno.UnoRuntime.queryInterface(XInvocation.class, xResource);
- xResInvoke.setValue("FileName", Module);
- return xResInvoke;
- }
- }
- catch (Exception exception)
- {
- exception.printStackTrace(System.out);
- showCommonResourceError(xMSF);
- return null;
- }
- }
-
public static void showCommonResourceError(XMultiServiceFactory xMSF)
{
String ProductName = Configuration.getProductName(xMSF);
diff --git a/wizards/com/sun/star/wizards/common/Resource.java.orig b/wizards/com/sun/star/wizards/common/Resource.java.orig
new file mode 100644
index 000000000..c7eb3e483
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Resource.java.orig
@@ -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.
+ *
+ ************************************************************************/
+
+package com.sun.star.wizards.common;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.XInvocation;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+
+public class Resource
+{
+
+ XMultiServiceFactory xMSF;
+ String Module;
+ XIndexAccess xStringIndexAccess;
+ XIndexAccess xStringListIndexAccess;
+
+ /** Creates a new instance of Resource
+ * @param _xMSF
+ * @param _Unit
+ * @param _Module
+ */
+ public Resource(XMultiServiceFactory _xMSF, String _Unit /* unused */, String _Module)
+ {
+ this.xMSF = _xMSF;
+ this.Module = _Module;
+ try
+ {
+ Object[] aArgs = new Object[1];
+ aArgs[0] = this.Module;
+ XInterface xResource = (XInterface) xMSF.createInstanceWithArguments(
+ "org.libreoffice.resource.ResourceIndexAccess",
+ aArgs);
+ if (xResource == null)
+ throw new Exception("could not initialize ResourceIndexAccess");
+ XNameAccess xNameAccess = (XNameAccess)UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xResource);
+ if (xNameAccess == null)
+ throw new Exception("ResourceIndexAccess is no XNameAccess");
+ this.xStringIndexAccess = (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ xNameAccess.getByName("String"));
+ this.xStringListIndexAccess = (XIndexAccess)UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ xNameAccess.getByName("StringList"));
+ if(this.xStringListIndexAccess == null)
+ throw new Exception("could not initialize xStringListIndexAccess");
+ if(this.xStringIndexAccess == null)
+ throw new Exception("could not initialize xStringIndexAccess");
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace();
+ showCommonResourceError(xMSF);
+ }
+ }
+
+ public String getResText(int nID)
+ {
+ try
+ {
+ return (String)this.xStringIndexAccess.getByIndex(nID);
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace();
+ throw new java.lang.IllegalArgumentException("Resource with ID not " + String.valueOf(nID) + "not found");
+ }
+ }
+
+ public PropertyValue[] getStringList(int nID)
+ {
+ try
+ {
+ return (PropertyValue[])this.xStringListIndexAccess.getByIndex(nID);
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace();
+ throw new java.lang.IllegalArgumentException("Resource with ID not " + String.valueOf(nID) + "not found");
+ }
+ }
+
+ public String[] getResArray(int nID, int iCount)
+ {
+ try
+ {
+ String[] ResArray = new String[iCount];
+ for (int i = 0; i < iCount; i++)
+ {
+ ResArray[i] = getResText(nID + i);
+ }
+ return ResArray;
+ }
+ catch (Exception exception)
+ {
+ exception.printStackTrace(System.out);
+ throw new java.lang.IllegalArgumentException("Resource with ID not" + String.valueOf(nID) + "not found");
+ }
+ }
+
+ public static void showCommonResourceError(XMultiServiceFactory xMSF)
+ {
+ String ProductName = Configuration.getProductName(xMSF);
+ String sError = "The files required could not be found.\nPlease start the %PRODUCTNAME Setup and choose 'Repair'.";
+ sError = JavaTools.replaceSubString(sError, ProductName, "%PRODUCTNAME");
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", com.sun.star.awt.VclWindowPeerAttribute.OK, sError);
+ }
+}
diff --git a/wizards/com/sun/star/wizards/common/Resource.py b/wizards/com/sun/star/wizards/common/Resource.py
new file mode 100644
index 000000000..ce2c9e1a4
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/Resource.py
@@ -0,0 +1,69 @@
+from com.sun.star.awt.VclWindowPeerAttribute import OK
+from Configuration import Configuration
+from SystemDialog import SystemDialog
+import traceback
+
+class Resource(object):
+ '''
+ Creates a new instance of Resource
+ @param _xMSF
+ @param _Unit
+ @param _Module
+ '''
+
+ @classmethod
+ def __init__(self, _xMSF, _Module):
+ self.xMSF = _xMSF
+ self.Module = _Module
+ try:
+ xResource = self.xMSF.createInstanceWithArguments(
+ "org.libreoffice.resource.ResourceIndexAccess", (self.Module,))
+ if xResource is None:
+ raise Exception ("could not initialize ResourceIndexAccess")
+
+ self.xStringIndexAccess = xResource.getByName("String")
+ self.xStringListIndexAccess = xResource.getByName("StringList")
+ if self.xStringListIndexAccess is None:
+ raise Exception ("could not initialize xStringListIndexAccess")
+
+ if self.xStringIndexAccess is None:
+ raise Exception ("could not initialize xStringIndexAccess")
+
+ except Exception, exception:
+ traceback.print_exc()
+ self.showCommonResourceError(self.xMSF)
+
+ def getResText(self, nID):
+ try:
+ return self.xStringIndexAccess.getByIndex(nID)
+ except Exception, exception:
+ traceback.print_exc()
+ raise ValueError("Resource with ID not " + str(nID) + " not found")
+
+ def getStringList(self, nID):
+ try:
+ return self.xStringListIndexAccess.getByIndex(nID)
+ except Exception, exception:
+ traceback.print_exc()
+ raise ValueError("Resource with ID not " + str(nID) + " not found")
+
+ def getResArray(self, nID, iCount):
+ try:
+ ResArray = range(iCount)
+ i = 0
+ while i < iCount:
+ ResArray[i] = getResText(nID + i)
+ i += 1
+ return ResArray
+ except Exception, exception:
+ traceback.print_exc()
+ raise ValueError("Resource with ID not" + str(nID) + " not found")
+
+ @classmethod
+ def showCommonResourceError(self, xMSF):
+ ProductName = Configuration.getProductName(xMSF)
+ sError = "The files required could not be found.\n" + \
+ "Please start the %PRODUCTNAME Setup and choose 'Repair'."
+ sError = sError.replace("%PRODUCTNAME", ProductName)
+ SystemDialog.showMessageBox(xMSF, "ErrorBox", OK, sError)
+
diff --git a/wizards/com/sun/star/wizards/common/SystemDialog.py b/wizards/com/sun/star/wizards/common/SystemDialog.py
new file mode 100644
index 000000000..d0e8400b7
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/SystemDialog.py
@@ -0,0 +1,236 @@
+import uno
+import traceback
+from Configuration import Configuration
+
+from Desktop import Desktop
+from Helper import Helper
+
+from com.sun.star.ui.dialogs.TemplateDescription import FILESAVE_AUTOEXTENSION, FILEOPEN_SIMPLE
+from com.sun.star.ui.dialogs.ExtendedFilePickerElementIds import CHECKBOX_AUTOEXTENSION
+from com.sun.star.awt import WindowDescriptor
+from com.sun.star.awt.WindowClass import MODALTOP
+from com.sun.star.lang import IllegalArgumentException
+from com.sun.star.awt.VclWindowPeerAttribute import OK
+
+class SystemDialog(object):
+
+ '''
+ @param xMSF
+ @param ServiceName
+ @param type according to com.sun.star.ui.dialogs.TemplateDescription
+ '''
+
+ def __init__(self, xMSF, ServiceName, Type):
+ try:
+ self.xMSF = xMSF
+ self.systemDialog = xMSF.createInstance(ServiceName)
+ self.xStringSubstitution = self.createStringSubstitution(xMSF)
+ if self.systemDialog != None:
+ self.systemDialog.initialize(Type)
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ @classmethod
+ def createStoreDialog(self, xmsf):
+ return SystemDialog(
+ xmsf, "com.sun.star.ui.dialogs.FilePicker",FILESAVE_AUTOEXTENSION)
+
+ @classmethod
+ def createOpenDialog(self, xmsf):
+ return SystemDialog(
+ xmsf, "com.sun.star.ui.dialogs.FilePicker", FILEOPEN_SIMPLE)
+
+ @classmethod
+ def createFolderDialog(self, xmsf):
+ return SystemDialog(
+ xmsf, "com.sun.star.ui.dialogs.FolderPicker", 0)
+
+ @classmethod
+ def createOfficeFolderDialog(self, xmsf):
+ return SystemDialog(
+ xmsf, "com.sun.star.ui.dialogs.OfficeFolderPicker", 0)
+
+ def subst(self, path):
+ try:
+ s = self.xStringSubstitution.substituteVariables(path, False)
+ return s
+ except Exception, ex:
+ traceback.print_exc()
+ return path
+
+ '''
+ @param displayDir
+ @param defaultName
+ given url to a local path.
+ @return
+ '''
+
+ def callStoreDialog(self, displayDir, defaultName, sDocuType=None):
+ if sDocuType is not None:
+ self.addFilterToDialog(defaultName[-3:], sDocuType, True)
+
+ self.sStorePath = None
+ try:
+ self.systemDialog.setValue(CHECKBOX_AUTOEXTENSION, 0, True)
+ self.systemDialog.setDefaultName(defaultName)
+ self.systemDialog.setDisplayDirectory(self.subst(displayDir))
+ if self.execute(self.systemDialog):
+ sPathList = self.systemDialog.getFiles()
+ self.sStorePath = sPathList[0]
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return self.sStorePath
+
+ def callFolderDialog(self, title, description, displayDir):
+ try:
+ self.systemDialog.setDisplayDirectoryxPropertyValue(
+ subst(displayDir))
+ except IllegalArgumentException, iae:
+ traceback.print_exc()
+ raise AttributeError(iae.getMessage());
+
+ self.systemDialog.setTitle(title)
+ self.systemDialog.setDescription(description)
+ if self.execute(self.systemDialog):
+ return self.systemDialog.getDirectory()
+ else:
+ return None
+
+ def execute(self, execDialog):
+ return execDialog.execute() == 1
+
+ def callOpenDialog(self, multiSelect, displayDirectory):
+ try:
+ self.systemDialog.setMultiSelectionMode(multiSelect)
+ self.systemDialog.setDisplayDirectory(subst(displayDirectory))
+ if self.execute(self.systemDialog):
+ return self.systemDialog.getFiles()
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return None
+
+ def addFilterToDialog(self, sExtension, filterName, setToDefault):
+ try:
+ #get the localized filtername
+ uiName = self.getFilterUIName(filterName)
+ pattern = "*." + sExtension
+ #add the filter
+ self.addFilter(uiName, pattern, setToDefault)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def addFilter(self, uiName, pattern, setToDefault):
+ try:
+ self.systemDialog.appendFilter(uiName, pattern)
+ if setToDefault:
+ self.systemDialog.setCurrentFilter(uiName)
+
+ except Exception, ex:
+ traceback.print_exc()
+
+ '''
+ converts the name returned from getFilterUIName_(...) so the
+ product name is correct.
+ @param filterName
+ @return
+ '''
+
+ def getFilterUIName(self, filterName):
+ prodName = Configuration.getProductName(self.xMSF)
+ s = [[self.getFilterUIName_(filterName)]]
+ s[0][0] = s[0][0].replace("%productname%", prodName)
+ return s[0][0]
+
+ '''
+ note the result should go through conversion of the product name.
+ @param filterName
+ @return the UI localized name of the given filter name.
+ '''
+
+ def getFilterUIName_(self, filterName):
+ try:
+ oFactory = self.xMSF.createInstance(
+ "com.sun.star.document.FilterFactory")
+ oObject = Helper.getUnoObjectbyName(oFactory, filterName)
+ xPropertyValue = list(oObject)
+ i = 0
+ while i < len(xPropertyValue):
+ aValue = xPropertyValue[i]
+ if aValue != None and aValue.Name == "UIName":
+ return str(aValue.Value)
+
+ i += 1
+ raise NullPointerException(
+ "UIName property not found for Filter " + filterName);
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ @classmethod
+ def showErrorBox(self, xMSF, ResName, ResPrefix,
+ ResID,AddTag=None, AddString=None):
+ ProductName = Configuration.getProductName(xMSF)
+ oResource = Resource(xMSF, ResPrefix)
+ sErrorMessage = oResource.getResText(ResID)
+ sErrorMessage = sErrorMessage.replace( ProductName, "%PRODUCTNAME")
+ sErrorMessage = sErrorMessage.replace(str(13), "<BR>")
+ if AddTag and AddString:
+ sErrorMessage = sErrorMessage.replace( AddString, AddTag)
+ return self.showMessageBox(xMSF, "ErrorBox", OK, sErrorMessage)
+
+ '''
+ example:
+ (xMSF, "ErrorBox", com.sun.star.awt.VclWindowPeerAttribute.OK, "message")
+
+ @param windowServiceName one of the following strings:
+ "ErrorBox", "WarningBox", "MessBox", "InfoBox", "QueryBox".
+ There are other values possible, look
+ under src/toolkit/source/awt/vcltoolkit.cxx
+ @param windowAttribute see com.sun.star.awt.VclWindowPeerAttribute
+ @return 0 = cancel, 1 = ok, 2 = yes, 3 = no(I'm not sure here)
+ other values check for yourself ;-)
+ '''
+ @classmethod
+ def showMessageBox(self, xMSF, windowServiceName, windowAttribute,
+ MessageText, peer=None):
+
+ if MessageText is None:
+ return 0
+
+ iMessage = 0
+ try:
+ # If the peer is null we try to get one from the desktop...
+ if peer is None:
+ xFrame = Desktop.getActiveFrame(xMSF)
+ peer = xFrame.getComponentWindow()
+
+ xToolkit = xMSF.createInstance("com.sun.star.awt.Toolkit")
+ oDescriptor = WindowDescriptor()
+ oDescriptor.WindowServiceName = windowServiceName
+ oDescriptor.Parent = peer
+ oDescriptor.Type = MODALTOP
+ oDescriptor.WindowAttributes = windowAttribute
+ xMsgPeer = xToolkit.createWindow(oDescriptor)
+ xMsgPeer.setMessageText(MessageText)
+ iMessage = xMsgPeer.execute()
+ xMsgPeer.dispose()
+ except Exception:
+ traceback.print_exc()
+
+ return iMessage
+
+ @classmethod
+ def createStringSubstitution(self, xMSF):
+ xPathSubst = None
+ try:
+ xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution")
+ return xPathSubst
+ except Exception, e:
+ traceback.print_exc()
+ return None
diff --git a/wizards/com/sun/star/wizards/common/__init__.py b/wizards/com/sun/star/wizards/common/__init__.py
new file mode 100644
index 000000000..1e42b88e4
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/__init__.py
@@ -0,0 +1 @@
+"""Common"""
diff --git a/wizards/com/sun/star/wizards/common/prova.py b/wizards/com/sun/star/wizards/common/prova.py
new file mode 100644
index 000000000..1219ba9af
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/prova.py
@@ -0,0 +1,7 @@
+from PropertyNames import PropertyNames
+
+class prova:
+
+ def Imprimir(self):
+ print PropertyNames.PROPERTY_STEP
+
diff --git a/wizards/com/sun/star/wizards/document/OfficeDocument.py b/wizards/com/sun/star/wizards/document/OfficeDocument.py
new file mode 100644
index 000000000..f2fc2cb76
--- /dev/null
+++ b/wizards/com/sun/star/wizards/document/OfficeDocument.py
@@ -0,0 +1,293 @@
+from com.sun.star.awt.WindowClass import TOP
+import traceback
+import uno
+from ui.event.CommonListener import TerminateListenerProcAdapter
+from common.Desktop import Desktop
+from com.sun.star.awt import WindowDescriptor
+from com.sun.star.awt import Rectangle
+import unohelper
+
+from com.sun.star.task import ErrorCodeIOException
+
+#Window Constants
+com_sun_star_awt_WindowAttribute_BORDER \
+ = uno.getConstantByName( "com.sun.star.awt.WindowAttribute.BORDER" )
+com_sun_star_awt_WindowAttribute_SIZEABLE \
+ = uno.getConstantByName( "com.sun.star.awt.WindowAttribute.SIZEABLE" )
+com_sun_star_awt_WindowAttribute_MOVEABLE \
+ = uno.getConstantByName( "com.sun.star.awt.WindowAttribute.MOVEABLE" )
+com_sun_star_awt_VclWindowPeerAttribute_CLIPCHILDREN \
+ = uno.getConstantByName(
+ "com.sun.star.awt.VclWindowPeerAttribute.CLIPCHILDREN" )
+
+class OfficeDocument(object):
+ '''Creates a new instance of OfficeDocument '''
+
+ def __init__(self, _xMSF):
+ self.xMSF = _xMSF
+
+ @classmethod
+ def attachEventCall(self, xComponent, EventName, EventType, EventURL):
+ try:
+ oEventProperties = range(2)
+ oEventProperties[0] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ oEventProperties[0].Name = "EventType"
+ oEventProperties[0].Value = EventType
+ # "Service", "StarBasic"
+ oEventProperties[1] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ oEventProperties[1].Name = "Script" #"URL";
+ oEventProperties[1].Value = EventURL
+ uno.invoke(xComponent.Events, "replaceByName",
+ (EventName, uno.Any("[]com.sun.star.beans.PropertyValue",
+ tuple(oEventProperties))))
+ except Exception, exception:
+ traceback.print_exc()
+
+ def dispose(self, xMSF, xComponent):
+ try:
+ if xComponent != None:
+ xFrame = xComponent.CurrentController.Frame
+ if xComponent.isModified():
+ xComponent.setModified(False)
+
+ Desktop.dispatchURL(xMSF, ".uno:CloseDoc", xFrame)
+
+ except PropertyVetoException, exception:
+ traceback.print_exc()
+
+ '''
+ Create a new office document, attached to the given frame.
+ @param desktop
+ @param frame
+ @param sDocumentType e.g. swriter, scalc, ( simpress, scalc : not tested)
+ @return the document Component
+ (implements XComponent) object ( XTextDocument, or XSpreadsheedDocument )
+ '''
+
+ def createNewDocument(self, frame, sDocumentType, preview, readonly):
+ loadValues = range(2)
+ loadValues[0] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[0].Name = "ReadOnly"
+ if readonly:
+ loadValues[0].Value = True
+ else:
+ loadValues[0].Value = False
+
+ loadValues[1] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[1].Name = "Preview"
+ if preview:
+ loadValues[1].Value = True
+ else:
+ loadValues[1].Value = False
+
+ sURL = "private:factory/" + sDocumentType
+ try:
+ xComponent = frame.loadComponentFromURL(
+ sURL, "_self", 0, loadValues)
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return xComponent
+
+ @classmethod
+ def createNewFrame(self, xMSF, listener, FrameName="_blank"):
+ xFrame = None
+ if FrameName.lower() == "WIZARD_LIVE_PREVIEW".lower():
+ xFrame = self.createNewPreviewFrame(xMSF, listener)
+ else:
+ xF = Desktop.getDesktop(xMSF)
+ xFrame = xF.findFrame(FrameName, 0)
+ if listener is not None:
+ xFF = xF.getFrames()
+ xFF.remove(xFrame)
+ xF.addTerminateListener(TerminateListenerProcAdapter(listener))
+
+ return xFrame
+
+ @classmethod
+ def createNewPreviewFrame(self, xMSF, listener):
+ xToolkit = None
+ try:
+ xToolkit = xMSF.createInstance("com.sun.star.awt.Toolkit")
+ except Exception, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+
+ #describe the window and its properties
+ aDescriptor = WindowDescriptor()
+ aDescriptor.Type = TOP
+ aDescriptor.WindowServiceName = "window"
+ aDescriptor.ParentIndex = -1
+ aDescriptor.Parent = None
+ aDescriptor.Bounds = Rectangle(10, 10, 640, 480)
+
+ #Set Window Attributes
+ gnDefaultWindowAttributes = \
+ com_sun_star_awt_WindowAttribute_BORDER + \
+ com_sun_star_awt_WindowAttribute_MOVEABLE + \
+ com_sun_star_awt_WindowAttribute_SIZEABLE + \
+ com_sun_star_awt_VclWindowPeerAttribute_CLIPCHILDREN
+
+ aDescriptor.WindowAttributes = gnDefaultWindowAttributes
+ #create a new blank container window
+ xPeer = None
+ try:
+ xPeer = xToolkit.createWindow(aDescriptor)
+ except IllegalArgumentException, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+
+ #define some further properties of the frame window
+ #if it's needed .-)
+ #xPeer->setBackground(...);
+ #create new empty frame and set window on it
+ xFrame = None
+ try:
+ xFrame = xMSF.createInstance("com.sun.star.frame.Frame")
+ except Exception, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+
+ xFrame.initialize(xPeer)
+ #from now this frame is useable ...
+ #and not part of the desktop tree.
+ #You are alone with him .-)
+ if listener is not None:
+ Desktop.getDesktop(xMSF).addTerminateListener(
+ TerminateListenerProcAdapter(listener))
+
+ return xFrame
+
+ @classmethod
+ def load(self, xInterface, sURL, sFrame, xValues):
+ xComponent = None
+ try:
+ xComponent = xInterface.loadComponentFromURL(
+ sURL, sFrame, 0, tuple(xValues))
+ except Exception, exception:
+ traceback.print_exc()
+
+ return xComponent
+
+ @classmethod
+ def store(self, xMSF, xComponent, StorePath, FilterName):
+ try:
+ if len(FilterName):
+ oStoreProperties = range(2)
+ oStoreProperties[0] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ oStoreProperties[0].Name = "FilterName"
+ oStoreProperties[0].Value = FilterName
+ oStoreProperties[1] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ oStoreProperties[1].Name = "InteractionHandler"
+ oStoreProperties[1].Value = xMSF.createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler")
+ else:
+ oStoreProperties = range(0)
+
+ if StorePath.startswith("file://"):
+ #Unix
+ StorePath = StorePath[7:]
+
+ sPath = StorePath[:(StorePath.rfind("/") + 1)]
+ sFile = StorePath[(StorePath.rfind("/") + 1):]
+ xComponent.storeToURL(
+ unohelper.absolutize(
+ unohelper.systemPathToFileUrl(sPath),
+ unohelper.systemPathToFileUrl(sFile)),
+ tuple(oStoreProperties))
+ return True
+ except ErrorCodeIOException:
+ return True
+ #There's a bug here, fix later
+ pass
+ except Exception, exception:
+ traceback.print_exc()
+ return False
+
+ def close(self, xComponent):
+ bState = False
+ if xComponent != None:
+ try:
+ xComponent.close(True)
+ bState = True
+ except com.sun.star.util.CloseVetoException, exCloseVeto:
+ print "could not close doc"
+ bState = False
+
+ else:
+ xComponent.dispose()
+ bState = True
+
+ return bState
+
+ def ArraytoCellRange(self, datalist, oTable, xpos, ypos):
+ try:
+ rowcount = datalist.length
+ if rowcount > 0:
+ colcount = datalist[0].length
+ if colcount > 0:
+ xNewRange = oTable.getCellRangeByPosition(
+ xpos, ypos, (colcount + xpos) - 1,
+ (rowcount + ypos) - 1)
+ xNewRange.setDataArray(datalist)
+
+ except Exception, e:
+ traceback.print_exc()
+
+ def getFileMediaDecriptor(self, xmsf, url):
+ typeDetect = xmsf.createInstance(
+ "com.sun.star.document.TypeDetection")
+ mediaDescr = range(1)
+ mediaDescr[0][0] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ mediaDescr[0][0].Name = "URL"
+ mediaDescr[0][0].Value = url
+ Type = typeDetect.queryTypeByDescriptor(mediaDescr, True)
+ if Type.equals(""):
+ return None
+ else:
+ return typeDetect.getByName(type)
+
+ def getTypeMediaDescriptor(self, xmsf, type):
+ typeDetect = xmsf.createInstance(
+ "com.sun.star.document.TypeDetection")
+ return typeDetect.getByName(type)
+
+ '''
+ returns the count of slides in a presentation,
+ or the count of pages in a draw document.
+ @param model a presentation or a draw document
+ @return the number of slides/pages in the given document.
+ '''
+
+ def getSlideCount(self, model):
+ return model.getDrawPages().getCount()
+
+ def getDocumentProperties(self, document):
+ return document.getDocumentProperties()
+
+ def showMessageBox(
+ self, xMSF, windowServiceName, windowAttribute, MessageText):
+
+ return SystemDialog.showMessageBox(
+ xMSF, windowServiceName, windowAttribute, MessageText)
+
+ def getWindowPeer(self):
+ return self.xWindowPeer
+
+ '''
+ @param windowPeer The xWindowPeer to set.
+ Should be called as soon as a Windowpeer of a wizard dialog is available
+ The windowpeer is needed to call a Messagebox
+ '''
+
+ def setWindowPeer(self, windowPeer):
+ self.xWindowPeer = windowPeer
+
diff --git a/wizards/com/sun/star/wizards/document/__init__.py b/wizards/com/sun/star/wizards/document/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/document/__init__.py
diff --git a/wizards/com/sun/star/wizards/fax/CGFax.py b/wizards/com/sun/star/wizards/fax/CGFax.py
new file mode 100644
index 000000000..24b5ae067
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/CGFax.py
@@ -0,0 +1,31 @@
+from common.ConfigGroup import *
+
+class CGFax(ConfigGroup):
+
+ def __init__(self):
+
+ self.cp_Style = int()
+ self.cp_PrintCompanyLogo = bool()
+ self.cp_PrintDate = bool()
+ self.cp_PrintSubjectLine = bool()
+ self.cp_PrintSalutation = bool()
+ self.cp_PrintCommunicationType = bool()
+ self.cp_PrintGreeting = bool()
+ self.cp_PrintFooter = bool()
+ self.cp_CommunicationType = str()
+ self.cp_Salutation = str()
+ self.cp_Greeting = str()
+ self.cp_SenderAddressType = int()
+ self.cp_SenderCompanyName = str()
+ self.cp_SenderStreet = str()
+ self.cp_SenderPostCode = str()
+ self.cp_SenderState = str()
+ self.cp_SenderCity = str()
+ self.cp_SenderFax = str()
+ self.cp_ReceiverAddressType = int()
+ self.cp_Footer = str()
+ self.cp_FooterOnlySecondPage = bool()
+ self.cp_FooterPageNumbers = bool()
+ self.cp_CreationType = int()
+ self.cp_TemplateName = str()
+ self.cp_TemplatePath = str()
diff --git a/wizards/com/sun/star/wizards/fax/CGFaxWizard.py b/wizards/com/sun/star/wizards/fax/CGFaxWizard.py
new file mode 100644
index 000000000..a6729e4a5
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/CGFaxWizard.py
@@ -0,0 +1,10 @@
+from common.ConfigGroup import *
+from CGFax import CGFax
+
+class CGFaxWizard(ConfigGroup):
+
+ def __init__(self):
+ self.cp_FaxType = int()
+ self.cp_BusinessFax = CGFax()
+ self.cp_PrivateFax = CGFax()
+
diff --git a/wizards/com/sun/star/wizards/fax/CallWizard.py b/wizards/com/sun/star/wizards/fax/CallWizard.py
new file mode 100644
index 000000000..21414507e
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/CallWizard.py
@@ -0,0 +1,156 @@
+import traceback
+
+class CallWizard(object):
+
+ '''
+ Gives a factory for creating the service. This method is called by the
+ <code>JavaLoader</code>
+ <p></p>
+ @param stringImplementationName The implementation name of the component.
+ @param xMSF The service manager, who gives access to every known service.
+ @param xregistrykey Makes structural information (except regarding tree
+ structures) of a single registry key accessible.
+ @return Returns a <code>XSingleServiceFactory</code>
+ for creating the component.
+ @see com.sun.star.comp.loader.JavaLoader#
+ '''
+
+ @classmethod
+ def __getServiceFactory(self, stringImplementationName, xMSF, \
+ xregistrykey):
+
+ xsingleservicefactory = None
+ if stringImplementationName.equals(WizardImplementation.Name):
+ xsingleservicefactory = FactoryHelper.getServiceFactory( \
+ WizardImplementation, WizardImplementation.__serviceName,
+ xMSF, xregistrykey)
+
+ return xsingleservicefactory
+
+ '''
+ This class implements the component. At least the interfaces XServiceInfo,
+ XTypeProvider, and XInitialization should be provided by the service.
+ '''
+
+ class WizardImplementation:
+ __serviceName = "com.sun.star.wizards.fax.CallWizard"
+ #private XMultiServiceFactory xmultiservicefactory
+
+ '''
+ The constructor of the inner class has a XMultiServiceFactory
+ parameter.
+ @param xmultiservicefactoryInitialization A special service factory
+ could be introduced while initializing.
+ '''
+
+ @classmethod
+ def WizardImplementation_XMultiServiceFactory(self, \
+ xmultiservicefactoryInitialization):
+
+ tmp = WizardImplementation()
+ tmp.WizardImplementation_body_XMultiServiceFactory( \
+ xmultiservicefactoryInitialization)
+ return tmp
+
+ def WizardImplementation_body_XMultiServiceFactory(self, \
+ xmultiservicefactoryInitialization):
+
+ self.xmultiservicefactory = xmultiservicefactoryInitialization
+ if self.xmultiservicefactory != None:
+ pass
+
+ '''
+ Execute Wizard
+ @param str only valid parameter is 'start' at the moment.
+ '''
+
+ def trigger(self, str):
+ if str.equalsIgnoreCase("start"):
+ lw = FaxWizardDialogImpl(self.xmultiservicefactory)
+ if not FaxWizardDialogImpl.running:
+ lw.startWizard(self.xmultiservicefactory, None)
+
+ '''
+ The service name, that must be used to get an instance of this service
+ The service manager, that gives access to all registered services.
+ This method is a member of the interface for initializing an object
+ directly after its creation.
+ @param object This array of arbitrary objects will be passed to the
+ component after its creation.
+ @throws com.sun.star.uno.Exception Every exception will not be
+ handled, but will be passed to the caller.
+ '''
+
+ def initialize(self, object):
+ pass
+
+ '''
+ This method returns an array of all supported service names.
+ @return Array of supported service names.
+ '''
+
+ def getSupportedServiceNames(self):
+ stringSupportedServiceNames = range(1)
+ stringSupportedServiceNames[0] = self.__class__.__serviceName
+ return (stringSupportedServiceNames)
+
+ '''
+ This method returns true, if the given service will be supported by
+ the component.
+ @param stringService Service name.
+ @return True, if the given service name will be supported.
+ '''
+
+ def supportsService(self, stringService):
+ booleanSupportsService = False
+ if stringService.equals(self.__class__.__serviceName):
+ booleanSupportsService = True
+
+ return (booleanSupportsService)
+
+ '''
+ This method returns an array of bytes, that can be used to
+ unambiguously distinguish between two sets of types,
+ e.g. to realise hashing functionality when the object is introspected.
+ Two objects that return the same ID also have to return the same
+ set of types in getTypes(). If an unique implementation Id cannot be
+ provided this method has to return an empty sequence. Important:
+ If the object aggregates other objects the ID has to be unique for
+ the whole combination of objects.
+ @return Array of bytes, in order to distinguish between two sets.
+ '''
+
+ def getImplementationId(self):
+ byteReturn = []
+ try:
+ byteReturn = ("" + self.hashCode()).Bytes
+ except Exception, exception:
+ traceback.print_exc()
+
+ return (byteReturn)
+
+ '''
+ Return the class name of the component.
+ @return Class name of the component.
+ '''
+
+ def getImplementationName(self):
+ return (WizardImplementation.Name)
+
+ '''
+ Provides a sequence of all types (usually interface types) provided
+ by the object.
+ @return Sequence of all types (usually interface types) provided
+ by the service.
+ '''
+
+ def getTypes(self):
+ typeReturn = []
+ try:
+ #COMMENTED
+ #typeReturn = [new Type (XPropertyAccess.class), new Type (XJob.class), new Type (XJobExecutor.class), new Type (XTypeProvider.class), new Type (XServiceInfo.class), new Type (XInitialization.class)]
+ except Exception, exception:
+ traceback.print_exc()
+
+ return (typeReturn)
+
diff --git a/wizards/com/sun/star/wizards/fax/FaxDocument.py b/wizards/com/sun/star/wizards/fax/FaxDocument.py
new file mode 100644
index 000000000..9ee53cd43
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxDocument.py
@@ -0,0 +1,131 @@
+from text.TextDocument import *
+from text.TextSectionHandler import TextSectionHandler
+from text.TextFieldHandler import TextFieldHandler
+from common.Configuration import Configuration
+from common.PropertyNames import PropertyNames
+
+from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK
+from com.sun.star.style.ParagraphAdjust import CENTER
+from com.sun.star.text.PageNumberType import CURRENT
+from com.sun.star.style.NumberingType import ARABIC
+
+class FaxDocument(TextDocument):
+
+ def __init__(self, xMSF, listener):
+ super(FaxDocument,self).__init__(xMSF, listener, None,
+ "WIZARD_LIVE_PREVIEW")
+ self.keepLogoFrame = True
+ self.keepTypeFrame = True
+
+ def switchElement(self, sElement, bState):
+ try:
+ mySectionHandler = TextSectionHandler(self.xMSF,
+ TextDocument.xTextDocument)
+ oSection = \
+ mySectionHandler.xTextDocument.TextSections.getByName(sElement)
+ Helper.setUnoPropertyValue(oSection,"IsVisible",bState)
+ except Exception:
+ traceback.print_exc()
+
+ def updateDateFields(self):
+ FH = TextFieldHandler(
+ TextDocument.xTextDocument, TextDocument.xTextDocument)
+ FH.updateDateFields()
+
+ def switchFooter(self, sPageStyle, bState, bPageNumber, sText):
+ if TextDocument.xTextDocument is not None:
+ TextDocument.xTextDocument.lockControllers()
+ try:
+ xPageStyleCollection = \
+ TextDocument.xTextDocument.StyleFamilies.getByName("PageStyles")
+ xPageStyle = xPageStyleCollection.getByName(sPageStyle)
+
+ if bState:
+ xPageStyle.setPropertyValue("FooterIsOn", True)
+ xFooterText = \
+ Helper.getUnoPropertyValue(xPageStyle, "FooterText")
+ xFooterText.String = sText
+
+ if bPageNumber:
+ #Adding the Page Number
+ myCursor = xFooterText.Text.createTextCursor()
+ myCursor.gotoEnd(False)
+ xFooterText.insertControlCharacter(myCursor,
+ PARAGRAPH_BREAK, False)
+ myCursor.setPropertyValue("ParaAdjust", CENTER )
+
+ xPageNumberField = \
+ TextDocument.xTextDocument.createInstance(
+ "com.sun.star.text.TextField.PageNumber")
+ xPageNumberField.setPropertyValue("SubType", CURRENT)
+ xPageNumberField.NumberingType = ARABIC
+ xFooterText.insertTextContent(xFooterText.End,
+ xPageNumberField, False)
+ else:
+ Helper.setUnoPropertyValue(xPageStyle, "FooterIsOn",
+ False)
+
+ TextDocument.xTextDocument.unlockControllers()
+ except Exception:
+ traceback.print_exc()
+
+ def hasElement(self, sElement):
+ if TextDocument.xTextDocument is not None:
+ mySectionHandler = TextSectionHandler(self.xMSF,
+ TextDocument.xTextDocument)
+ return mySectionHandler.hasTextSectionByName(sElement)
+ else:
+ return False
+
+ def switchUserField(self, sFieldName, sNewContent, bState):
+ myFieldHandler = TextFieldHandler(
+ self.xMSF, TextDocument.xTextDocument)
+ if bState:
+ myFieldHandler.changeUserFieldContent(sFieldName, sNewContent)
+ else:
+ myFieldHandler.changeUserFieldContent(sFieldName, "")
+
+ def fillSenderWithUserData(self):
+ try:
+ myFieldHandler = TextFieldHandler(TextDocument.xTextDocument,
+ TextDocument.xTextDocument)
+ oUserDataAccess = Configuration.getConfigurationRoot(
+ self.xMSF, "org.openoffice.UserProfile/Data", False)
+ myFieldHandler.changeUserFieldContent("Company",
+ Helper.getUnoObjectbyName(oUserDataAccess, "o"))
+ myFieldHandler.changeUserFieldContent("Street",
+ Helper.getUnoObjectbyName(oUserDataAccess, "street"))
+ myFieldHandler.changeUserFieldContent("PostCode",
+ Helper.getUnoObjectbyName(oUserDataAccess, "postalcode"))
+ myFieldHandler.changeUserFieldContent(
+ PropertyNames.PROPERTY_STATE,
+ Helper.getUnoObjectbyName(oUserDataAccess, "st"))
+ myFieldHandler.changeUserFieldContent("City",
+ Helper.getUnoObjectbyName(oUserDataAccess, "l"))
+ myFieldHandler.changeUserFieldContent("Fax",
+ Helper.getUnoObjectbyName(oUserDataAccess,
+ "facsimiletelephonenumber"))
+ except Exception:
+ traceback.print_exc()
+
+ def killEmptyUserFields(self):
+ myFieldHandler = TextFieldHandler(
+ self.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.removeUserFieldByContent("")
+
+ def killEmptyFrames(self):
+ try:
+ if not self.keepLogoFrame:
+ xTF = self.getFrameByName("Company Logo",
+ TextDocument.xTextDocument)
+ if xTF is not None:
+ xTF.dispose()
+
+ if not self.keepTypeFrame:
+ xTF = self.getFrameByName("Communication Type",
+ TextDocument.xTextDocument)
+ if xTF is not None:
+ xTF.dispose()
+
+ except Exception:
+ traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py
new file mode 100644
index 000000000..e040f247b
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialog.py
@@ -0,0 +1,645 @@
+from ui.WizardDialog import *
+from FaxWizardDialogResources import FaxWizardDialogResources
+from FaxWizardDialogConst import *
+from com.sun.star.awt.FontUnderline import SINGLE
+
+class FaxWizardDialog(WizardDialog):
+
+ def __init__(self, xmsf):
+ super(FaxWizardDialog,self).__init__(xmsf, HIDMAIN )
+
+ #Load Resources
+ self.resources = FaxWizardDialogResources(xmsf)
+
+ #set dialog properties...
+ Helper.setUnoPropertyValues(self.xDialogModel,
+ ("Closeable", PropertyNames.PROPERTY_HEIGHT, "Moveable",
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP, PropertyNames.PROPERTY_TABINDEX,
+ "Title", PropertyNames.PROPERTY_WIDTH),
+ (True, 210, True, 104, 52, 1, 1,
+ self.resources.resFaxWizardDialog_title, 310))
+
+ self.fontDescriptor1 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor2 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor4 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor5 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ #Set member- FontDescriptors...
+ self.fontDescriptor1.Weight = 150
+ self.fontDescriptor1.Underline = SINGLE
+ self.fontDescriptor2.Weight = 100
+ self.fontDescriptor4.Weight = 100
+ self.fontDescriptor5.Weight = 150
+
+ '''
+ build components
+ '''
+ def buildStep1(self):
+ self.optBusinessFax = self.insertRadioButton("optBusinessFax",
+ OPTBUSINESSFAX_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTBUSINESSFAX_HID, self.resources.resoptBusinessFax_value,
+ 97, 28, 1, 1, 184), self)
+ self.lstBusinessStyle = self.insertListBox("lstBusinessStyle",
+ LSTBUSINESSSTYLE_ACTION_PERFORMED, LSTBUSINESSSTYLE_ITEM_CHANGED,
+ ("Dropdown", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, LSTBUSINESSSTYLE_HID, 180, 40, 1, 3, 74), self)
+ self.optPrivateFax = self.insertRadioButton("optPrivateFax",
+ OPTPRIVATEFAX_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTPRIVATEFAX_HID, self.resources.resoptPrivateFax_value,
+ 97, 81, 1, 2, 184), self)
+ self.lstPrivateStyle = self.insertListBox("lstPrivateStyle",
+ LSTPRIVATESTYLE_ACTION_PERFORMED,
+ LSTPRIVATESTYLE_ITEM_CHANGED,
+ ("Dropdown", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, LSTPRIVATESTYLE_HID, 180, 95, 1,
+ 4, 74), self)
+ self.lblBusinessStyle = self.insertLabel("lblBusinessStyle",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblBusinessStyle_value,
+ 110, 42, 1, 32, 60))
+
+ self.lblTitle1 = self.insertLabel("lblTitle1",
+ ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 16, self.resources.reslblTitle1_value,
+ True, 91, 8, 1, 37, 212))
+ self.lblPrivateStyle = self.insertLabel("lblPrivateStyle",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblPrivateStyle_value, 110, 95, 1, 50, 60))
+ self.lblIntroduction = self.insertLabel("lblIntroduction",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (39, self.resources.reslblIntroduction_value, True, 104, 145, 1, 55, 199))
+ self.ImageControl3 = self.insertInfoImage(92, 145, 1)
+ def buildStep2(self):
+ self.chkUseLogo = self.insertCheckBox("chkUseLogo",
+ CHKUSELOGO_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSELOGO_HID, self.resources.reschkUseLogo_value, 97, 28,
+ 0, 2, 5, 212), self)
+ self.chkUseDate = self.insertCheckBox("chkUseDate",
+ CHKUSEDATE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSEDATE_HID, self.resources.reschkUseDate_value, 97, 43,
+ 0, 2, 6, 212), self)
+ self.chkUseCommunicationType = self.insertCheckBox(
+ "chkUseCommunicationType",
+ CHKUSECOMMUNICATIONTYPE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSECOMMUNICATIONTYPE_HID,
+ self.resources.reschkUseCommunicationType_value, 97, 57,
+ 0, 2, 7, 100), self)
+ self.lstCommunicationType = self.insertComboBox(
+ "lstCommunicationType",
+ LSTCOMMUNICATIONTYPE_ACTION_PERFORMED,
+ LSTCOMMUNICATIONTYPE_ITEM_CHANGED,
+ LSTCOMMUNICATIONTYPE_TEXT_CHANGED,
+ ("Dropdown", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, LSTCOMMUNICATIONTYPE_HID, 105, 68, 2,
+ 8, 174), self)
+ self.chkUseSubject = self.insertCheckBox("chkUseSubject",
+ CHKUSESUBJECT_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSESUBJECT_HID, self.resources.reschkUseSubject_value,
+ 97, 87, 0, 2, 9, 212), self)
+ self.chkUseSalutation = self.insertCheckBox("chkUseSalutation",
+ CHKUSESALUTATION_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSESALUTATION_HID,
+ self.resources.reschkUseSalutation_value, 97, 102,
+ 0, 2, 10, 100), self)
+ self.lstSalutation = self.insertComboBox("lstSalutation",
+ LSTSALUTATION_ACTION_PERFORMED,
+ LSTSALUTATION_ITEM_CHANGED,
+ LSTSALUTATION_TEXT_CHANGED,
+ ("Dropdown", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, LSTSALUTATION_HID, 105, 113, 2,
+ 11, 174), self)
+ self.chkUseGreeting = self.insertCheckBox("chkUseGreeting",
+ CHKUSEGREETING_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSEGREETING_HID,
+ self.resources.reschkUseGreeting_value, 97, 132,
+ 0, 2, 12, 100), self)
+ self.lstGreeting = self.insertComboBox("lstGreeting",
+ LSTGREETING_ACTION_PERFORMED,
+ LSTGREETING_ITEM_CHANGED,
+ LSTGREETING_TEXT_CHANGED,
+ ("Dropdown", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, LSTGREETING_HID, 105, 143, 2, 13, 174), self)
+ self.chkUseFooter = self.insertCheckBox("chkUseFooter",
+ CHKUSEFOOTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKUSEFOOTER_HID,
+ self.resources.reschkUseFooter_value, 97, 163,
+ 0, 2, 14, 212), self)
+ self.lblTitle3 = self.insertLabel("lblTitle3",
+ ("FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 16, self.resources.reslblTitle3_value,
+ True, 91, 8, 2, 59, 212))
+
+ def buildStep3(self):
+ self.optSenderPlaceholder = self.insertRadioButton(
+ "optSenderPlaceholder",
+ OPTSENDERPLACEHOLDER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTSENDERPLACEHOLDER_HID,
+ self.resources.resoptSenderPlaceholder_value,
+ 104, 42, 3, 15, 149), self)
+ self.optSenderDefine = self.insertRadioButton("optSenderDefine",
+ OPTSENDERDEFINE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTSENDERDEFINE_HID, self.resources.resoptSenderDefine_value,
+ 104, 54, 3, 16, 149), self)
+ self.txtSenderName = self.insertTextField("txtSenderName",
+ TXTSENDERNAME_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERNAME_HID, 182, 67, 3,
+ 17, 119), self)
+ self.txtSenderStreet = self.insertTextField("txtSenderStreet",
+ TXTSENDERSTREET_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERSTREET_HID, 182, 81, 3,
+ 18, 119), self)
+ self.txtSenderPostCode = self.insertTextField("txtSenderPostCode",
+ TXTSENDERPOSTCODE_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERPOSTCODE_HID, 182, 95, 3,
+ 19, 25), self)
+ self.txtSenderState = self.insertTextField("txtSenderState",
+ TXTSENDERSTATE_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERSTATE_HID, 211, 95, 3,
+ 20, 21), self)
+ self.txtSenderCity = self.insertTextField("txtSenderCity",
+ TXTSENDERCITY_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERCITY_HID, 236, 95, 3,
+ 21, 65), self)
+ self.txtSenderFax = self.insertTextField("txtSenderFax",
+ TXTSENDERFAX_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTSENDERFAX_HID, 182, 109, 3,
+ 22, 119), self)
+ self.optReceiverPlaceholder = self.insertRadioButton(
+ "optReceiverPlaceholder",
+ OPTRECEIVERPLACEHOLDER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTRECEIVERPLACEHOLDER_HID,
+ self.resources.resoptReceiverPlaceholder_value,
+ 104, 148, 3, 23, 200), self)
+ self.optReceiverDatabase = self.insertRadioButton(
+ "optReceiverDatabase",
+ OPTRECEIVERDATABASE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTRECEIVERDATABASE_HID,
+ self.resources.resoptReceiverDatabase_value, 104, 160, 3,
+ 24, 200), self)
+ self.lblSenderAddress = self.insertLabel("lblSenderAddress",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderAddress_value, 97, 28, 3, 46, 136))
+ self.FixedLine2 = self.insertFixedLine("FixedLine2", (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (5, 90, 126, 3, 51, 212))
+ self.lblSenderName = self.insertLabel("lblSenderName",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderName_value, 113, 69, 3,
+ 52, 68))
+ self.lblSenderStreet = self.insertLabel("lblSenderStreet",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderStreet_value, 113, 82, 3,
+ 53, 68))
+ self.lblPostCodeCity = self.insertLabel("lblPostCodeCity",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblPostCodeCity_value,
+ 113, 97, 3, 54, 68))
+ self.lblTitle4 = self.insertLabel("lblTitle4",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 16, self.resources.reslblTitle4_value,
+ True, 91, 8, 3, 60, 212))
+ self.Label1 = self.insertLabel("lblSenderFax",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.resLabel1_value, 113, 111, 3, 68, 68))
+ self.Label2 = self.insertLabel("Label2",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.resLabel2_value, 97, 137, 3, 69, 136))
+
+ def buildStep4(self):
+ self.txtFooter = self.insertTextField("txtFooter",
+ TXTFOOTER_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (47, TXTFOOTER_HID, True, 97, 40, 4, 25, 203), self)
+ self.chkFooterNextPages = self.insertCheckBox("chkFooterNextPages",
+ CHKFOOTERNEXTPAGES_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKFOOTERNEXTPAGES_HID,
+ self.resources.reschkFooterNextPages_value, 97, 92,
+ 0, 4, 26, 202), self)
+ self.chkFooterPageNumbers = self.insertCheckBox("chkFooterPageNumbers",
+ CHKFOOTERPAGENUMBERS_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, CHKFOOTERPAGENUMBERS_HID,
+ self.resources.reschkFooterPageNumbers_value, 97, 106,
+ 0, 4, 27, 201), self)
+ self.lblFooter = self.insertLabel("lblFooter",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor4, 8, self.resources.reslblFooter_value,
+ 97, 28, 4, 33, 116))
+ self.lblTitle5 = self.insertLabel("lblTitle5",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 16, self.resources.reslblTitle5_value,
+ True, 91, 8, 4, 61, 212))
+
+ def buildStep5(self):
+ self.txtTemplateName = self.insertTextField("txtTemplateName",
+ TXTTEMPLATENAME_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Text",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, TXTTEMPLATENAME_HID, 202, 56, 5, 28,
+ self.resources.restxtTemplateName_value, 100), self)
+
+ self.optCreateFax = self.insertRadioButton("optCreateFax",
+ OPTCREATEFAX_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTCREATEFAX_HID, self.resources.resoptCreateFax_value,
+ 104, 111, 5, 30, 198), self)
+ self.optMakeChanges = self.insertRadioButton("optMakeChanges",
+ OPTMAKECHANGES_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, OPTMAKECHANGES_HID, self.resources.resoptMakeChanges_value,
+ 104, 123, 5, 31, 198), self)
+ self.lblFinalExplanation1 = self.insertLabel("lblFinalExplanation1",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (28, self.resources.reslblFinalExplanation1_value,
+ True, 97, 28, 5, 34, 205))
+ self.lblProceed = self.insertLabel("lblProceed",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblProceed_value, 97, 100, 5,
+ 35, 204))
+ self.lblFinalExplanation2 = self.insertLabel("lblFinalExplanation2",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (33, self.resources.reslblFinalExplanation2_value, True, 104, 145, 5,
+ 36, 199))
+ self.ImageControl2 = self.insertImage("ImageControl2",
+ ("Border",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_IMAGEURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "ScaleImage",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (0, 10, UIConsts.INFOIMAGEURL, 92, 145,
+ False, 5, 47, 10))
+ self.lblTemplateName = self.insertLabel("lblTemplateName",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblTemplateName_value, 97, 58, 5,
+ 57, 101))
+
+ self.lblTitle6 = self.insertLabel("lblTitle6",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 16, self.resources.reslblTitle6_value,
+ True, 91, 8, 5, 62, 212))
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py
new file mode 100644
index 000000000..680a9e3de
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogConst.py
@@ -0,0 +1,83 @@
+from common.HelpIds import HelpIds
+
+
+OPTBUSINESSFAX_ITEM_CHANGED = "optBusinessFaxItemChanged"
+LSTBUSINESSSTYLE_ACTION_PERFORMED = None # "lstBusinessStyleActionPerformed"
+LSTBUSINESSSTYLE_ITEM_CHANGED = "lstBusinessStyleItemChanged"
+OPTPRIVATEFAX_ITEM_CHANGED = "optPrivateFaxItemChanged"
+LSTPRIVATESTYLE_ACTION_PERFORMED = None # "lstPrivateStyleActionPerformed"
+LSTPRIVATESTYLE_ITEM_CHANGED = "lstPrivateStyleItemChanged"
+CHKUSELOGO_ITEM_CHANGED = "chkUseLogoItemChanged"
+CHKUSEDATE_ITEM_CHANGED = "chkUseDateItemChanged"
+CHKUSECOMMUNICATIONTYPE_ITEM_CHANGED = "chkUseCommunicationItemChanged"
+LSTCOMMUNICATIONTYPE_ACTION_PERFORMED = None # "lstCommunicationActionPerformed"
+LSTCOMMUNICATIONTYPE_ITEM_CHANGED = "lstCommunicationItemChanged"
+LSTCOMMUNICATIONTYPE_TEXT_CHANGED = "lstCommunicationItemChanged"
+CHKUSESUBJECT_ITEM_CHANGED = "chkUseSubjectItemChanged"
+CHKUSESALUTATION_ITEM_CHANGED = "chkUseSalutationItemChanged"
+LSTSALUTATION_ACTION_PERFORMED = None # "lstSalutationActionPerformed"
+LSTSALUTATION_ITEM_CHANGED = "lstSalutationItemChanged"
+LSTSALUTATION_TEXT_CHANGED = "lstSalutationItemChanged"
+CHKUSEGREETING_ITEM_CHANGED = "chkUseGreetingItemChanged"
+LSTGREETING_ACTION_PERFORMED = None # "lstGreetingActionPerformed"
+LSTGREETING_ITEM_CHANGED = "lstGreetingItemChanged"
+LSTGREETING_TEXT_CHANGED = "lstGreetingItemChanged"
+CHKUSEFOOTER_ITEM_CHANGED = "chkUseFooterItemChanged"
+OPTSENDERPLACEHOLDER_ITEM_CHANGED = "optSenderPlaceholderItemChanged"
+OPTSENDERDEFINE_ITEM_CHANGED = "optSenderDefineItemChanged"
+TXTSENDERNAME_TEXT_CHANGED = "txtSenderNameTextChanged"
+TXTSENDERSTREET_TEXT_CHANGED = "txtSenderStreetTextChanged"
+TXTSENDERPOSTCODE_TEXT_CHANGED = "txtSenderPostCodeTextChanged"
+TXTSENDERSTATE_TEXT_CHANGED = "txtSenderStateTextChanged"
+TXTSENDERCITY_TEXT_CHANGED = "txtSenderCityTextChanged"
+TXTSENDERFAX_TEXT_CHANGED = "txtSenderFaxTextChanged"
+OPTRECEIVERPLACEHOLDER_ITEM_CHANGED = "optReceiverPlaceholderItemChanged"
+OPTRECEIVERDATABASE_ITEM_CHANGED = "optReceiverDatabaseItemChanged"
+TXTFOOTER_TEXT_CHANGED = "txtFooterTextChanged"
+CHKFOOTERNEXTPAGES_ITEM_CHANGED = "chkFooterNextPagesItemChanged"
+CHKFOOTERPAGENUMBERS_ITEM_CHANGED = "chkFooterPageNumbersItemChanged"
+TXTTEMPLATENAME_TEXT_CHANGED = "txtTemplateNameTextChanged"
+FILETEMPLATEPATH_TEXT_CHANGED = None # "fileTemplatePathTextChanged"
+OPTCREATEFAX_ITEM_CHANGED = "optCreateFaxItemChanged"
+OPTMAKECHANGES_ITEM_CHANGED = "optMakeChangesItemChanged"
+imageURLImageControl2 = None #"images/ImageControl2"
+imageURLImageControl3 = None #"images/ImageControl3"
+
+#Help IDs
+
+HID = 41119 #TODO enter first hid here
+HIDMAIN = 41180
+OPTBUSINESSFAX_HID = HelpIds.getHelpIdString(HID + 1)
+LSTBUSINESSSTYLE_HID = HelpIds.getHelpIdString(HID + 2)
+OPTPRIVATEFAX_HID = HelpIds.getHelpIdString(HID + 3)
+LSTPRIVATESTYLE_HID = HelpIds.getHelpIdString(HID + 4)
+IMAGECONTROL3_HID = HelpIds.getHelpIdString(HID + 5)
+CHKUSELOGO_HID = HelpIds.getHelpIdString(HID + 6)
+CHKUSEDATE_HID = HelpIds.getHelpIdString(HID + 7)
+CHKUSECOMMUNICATIONTYPE_HID = HelpIds.getHelpIdString(HID + 8)
+LSTCOMMUNICATIONTYPE_HID = HelpIds.getHelpIdString(HID + 9)
+CHKUSESUBJECT_HID = HelpIds.getHelpIdString(HID + 10)
+CHKUSESALUTATION_HID = HelpIds.getHelpIdString(HID + 11)
+LSTSALUTATION_HID = HelpIds.getHelpIdString(HID + 12)
+CHKUSEGREETING_HID = HelpIds.getHelpIdString(HID + 13)
+LSTGREETING_HID = HelpIds.getHelpIdString(HID + 14)
+CHKUSEFOOTER_HID = HelpIds.getHelpIdString(HID + 15)
+OPTSENDERPLACEHOLDER_HID = HelpIds.getHelpIdString(HID + 16)
+OPTSENDERDEFINE_HID = HelpIds.getHelpIdString(HID + 17)
+TXTSENDERNAME_HID = HelpIds.getHelpIdString(HID + 18)
+TXTSENDERSTREET_HID = HelpIds.getHelpIdString(HID + 19)
+TXTSENDERPOSTCODE_HID = HelpIds.getHelpIdString(HID + 20)
+TXTSENDERSTATE_HID = HelpIds.getHelpIdString(HID + 21)
+TXTSENDERCITY_HID = HelpIds.getHelpIdString(HID + 22)
+TXTSENDERFAX_HID = HelpIds.getHelpIdString(HID + 23)
+OPTRECEIVERPLACEHOLDER_HID = HelpIds.getHelpIdString(HID + 24)
+OPTRECEIVERDATABASE_HID = HelpIds.getHelpIdString(HID + 25)
+TXTFOOTER_HID = HelpIds.getHelpIdString(HID + 26)
+CHKFOOTERNEXTPAGES_HID = HelpIds.getHelpIdString(HID + 27)
+CHKFOOTERPAGENUMBERS_HID = HelpIds.getHelpIdString(HID + 28)
+TXTTEMPLATENAME_HID = HelpIds.getHelpIdString(HID + 29)
+FILETEMPLATEPATH_HID = HelpIds.getHelpIdString(HID + 30)
+OPTCREATEFAX_HID = HelpIds.getHelpIdString(HID + 31)
+OPTMAKECHANGES_HID = HelpIds.getHelpIdString(HID + 32)
+IMAGECONTROL2_HID = HelpIds.getHelpIdString(HID + 33)
+
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
new file mode 100644
index 000000000..c04758923
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
@@ -0,0 +1,697 @@
+from FaxWizardDialog import *
+from CGFaxWizard import *
+from FaxDocument import *
+from ui.PathSelection import *
+from common.FileAccess import *
+from ui.event.UnoDataAware import *
+from ui.event.RadioDataAware import *
+from common.Configuration import *
+from document.OfficeDocument import OfficeDocument
+from text.TextFieldHandler import TextFieldHandler
+from com.sun.star.awt.VclWindowPeerAttribute import YES_NO, DEF_NO
+
+from common.NoValidPathException import *
+from com.sun.star.uno import RuntimeException
+from com.sun.star.util import CloseVetoException
+
+from com.sun.star.view.DocumentZoomType import OPTIMAL
+from com.sun.star.document.UpdateDocMode import FULL_UPDATE
+from com.sun.star.document.MacroExecMode import ALWAYS_EXECUTE
+
+class FaxWizardDialogImpl(FaxWizardDialog):
+
+ def leaveStep(self, nOldStep, nNewStep):
+ pass
+
+ def enterStep(self, nOldStep, nNewStep):
+ pass
+
+ RM_TYPESTYLE = 1
+ RM_ELEMENTS = 2
+ RM_SENDERRECEIVER = 3
+ RM_FOOTER = 4
+ RM_FINALSETTINGS = 5
+
+
+ def __init__(self, xmsf):
+ super(FaxWizardDialogImpl, self).__init__(xmsf)
+ self.mainDA = []
+ self.faxDA = []
+ self.bSaveSuccess = False
+ self.filenameChanged = False
+ self.UserTemplatePath = ""
+ self.sTemplatePath = ""
+
+ @classmethod
+ def main(self, args):
+ #only being called when starting wizard remotely
+ try:
+ ConnectStr = \
+ "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"
+ xLocMSF = Desktop.connect(ConnectStr)
+ lw = FaxWizardDialogImpl(xLocMSF)
+ lw.startWizard(xLocMSF, None)
+ except RuntimeException, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+ except Exception, e:
+ # TODO Auto-generated catch blocksetMaxStep
+ traceback.print_exc()
+
+ def startWizard(self, xMSF, CurPropertyValue):
+ self.running = True
+ try:
+ #Number of steps on WizardDialog:
+ self.nMaxStep = 5
+
+ #instatiate The Document Frame for the Preview
+ self.myFaxDoc = FaxDocument(xMSF, self)
+
+ #create the dialog:
+ self.drawNaviBar()
+
+ self.buildStep1()
+ self.buildStep2()
+ self.buildStep3()
+ self.buildStep4()
+ self.buildStep5()
+
+ self.initializeSalutation()
+ self.initializeGreeting()
+ self.initializeCommunication()
+ self.__initializePaths()
+
+ #special Control fFrameor setting the save Path:
+ self.insertPathSelectionControl()
+
+ #load the last used settings
+ #from the registry and apply listeners to the controls:
+ self.initConfiguration()
+
+ self.initializeTemplates(xMSF)
+
+ #update the dialog UI according to the loaded Configuration
+ self.__updateUI()
+ if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+ self.myPathSelection.initializePath()
+
+ self.xContainerWindow = self.myFaxDoc.xFrame.ContainerWindow
+ self.createWindowPeer(self.xContainerWindow)
+
+ #add the Roadmap to the dialog:
+ self.insertRoadmap()
+
+ #load the last used document and apply last used settings:
+ #TODO:
+ self.setConfiguration()
+
+ #If the configuration does not define
+ #Greeting/Salutation/CommunicationType yet choose a default
+ self.__setDefaultForGreetingAndSalutationAndCommunication()
+
+ #disable funtionality that is not supported by the template:
+ self.initializeElements()
+
+ #disable the document, so that the user cannot change anything:
+ self.myFaxDoc.xFrame.ComponentWindow.Enable = False
+ self.executeDialogFromComponent(self.myFaxDoc.xFrame)
+ self.removeTerminateListener()
+ self.closeDocument()
+ self.running = False
+ except Exception, exception:
+ self.removeTerminateListener()
+ traceback.print_exc()
+ self.running = False
+ return
+
+ def cancelWizard(self):
+ self.xUnoDialog.endExecute()
+ self.running = False
+
+ def finishWizard(self):
+ self.switchToStep(self.getCurrentStep(), self.nMaxStep)
+ self.myFaxDoc.setWizardTemplateDocInfo( \
+ self.resources.resFaxWizardDialog_title,
+ self.resources.resTemplateDescription)
+ endWizard = True
+ try:
+ fileAccess = FileAccess(self.xMSF)
+ self.sPath = self.myPathSelection.getSelectedPath()
+ if self.sPath == "":
+ self.myPathSelection.triggerPathPicker()
+ self.sPath = self.myPathSelection.getSelectedPath()
+
+ self.sPath = fileAccess.getURL(self.sPath)
+ #first, if the filename was not changed, thus
+ #it is coming from a saved session, check if the
+ # file exists and warn the user.
+ if not self.filenameChanged:
+ if fileAccess.exists(self.sPath, True):
+ answer = SystemDialog.showMessageBox(
+ self.xMSF, "MessBox", YES_NO + DEF_NO,
+ self.resources.resOverwriteWarning, self.xUnoDialog.Peer)
+ if answer == 3:
+ # user said: no, do not overwrite...
+ endWizard = False
+ return False
+
+ self.myFaxDoc.setWizardTemplateDocInfo( \
+ self.resources.resFaxWizardDialog_title,
+ self.resources.resTemplateDescription)
+ self.myFaxDoc.killEmptyUserFields()
+ self.myFaxDoc.keepLogoFrame = (self.chkUseLogo.State is not 0)
+ self.myFaxDoc.keepTypeFrame = \
+ (self.chkUseCommunicationType.State is not 0)
+ self.myFaxDoc.killEmptyFrames()
+ self.bSaveSuccess = OfficeDocument.store(self.xMSF, TextDocument.xTextDocument,
+ self.sPath, "writer8_template")
+ if self.bSaveSuccess:
+ self.saveConfiguration()
+ xIH = self.xMSF.createInstance( \
+ "com.sun.star.comp.uui.UUIInteractionHandler")
+ loadValues = range(4)
+ loadValues[0] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[0].Name = "AsTemplate"
+ loadValues[0].Value = True
+ loadValues[1] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[1].Name = "MacroExecutionMode"
+ loadValues[1].Value = ALWAYS_EXECUTE
+ loadValues[2] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[2].Name = "UpdateDocMode"
+ loadValues[2].Value = FULL_UPDATE
+ loadValues[3] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[3].Name = "InteractionHandler"
+ loadValues[3].Value = xIH
+ if self.bEditTemplate:
+ loadValues[0].Value = False
+ else:
+ loadValues[0].Value = True
+
+ oDoc = OfficeDocument.load(Desktop.getDesktop(self.xMSF),
+ self.sPath, "_default", loadValues)
+ myViewHandler = ViewHandler(self.xMSF, oDoc)
+ myViewHandler.setViewSetting("ZoomType", OPTIMAL)
+ else:
+ pass
+ #TODO: Error Handling
+
+ except Exception, e:
+ traceback.print_exc()
+ finally:
+ if endWizard:
+ self.xUnoDialog.endExecute()
+ self.running = False
+
+ return True
+
+ def closeDocument(self):
+ try:
+ self.myFaxDoc.xFrame.close(False)
+ except CloseVetoException, e:
+ traceback.print_exc()
+
+ def insertRoadmap(self):
+ self.addRoadmap()
+ i = 0
+ i = self.insertRoadmapItem(
+ 0, True, self.resources.RoadmapLabels[
+ FaxWizardDialogImpl.RM_TYPESTYLE - 1],
+ FaxWizardDialogImpl.RM_TYPESTYLE)
+ i = self.insertRoadmapItem(
+ i, True, self.resources.RoadmapLabels[
+ FaxWizardDialogImpl.RM_ELEMENTS - 1],
+ FaxWizardDialogImpl.RM_ELEMENTS)
+ i = self.insertRoadmapItem(
+ i, True, self.resources.RoadmapLabels[
+ FaxWizardDialogImpl.RM_SENDERRECEIVER - 1],
+ FaxWizardDialogImpl.RM_SENDERRECEIVER)
+ i = self.insertRoadmapItem(
+ i, False, self.resources.RoadmapLabels[
+ FaxWizardDialogImpl.RM_FOOTER - 1], FaxWizardDialogImpl.RM_FOOTER)
+ i = self.insertRoadmapItem(i, True,
+ self.resources.RoadmapLabels[
+ FaxWizardDialogImpl.RM_FINALSETTINGS - 1],
+ FaxWizardDialogImpl.RM_FINALSETTINGS)
+ self.setRoadmapInteractive(True)
+ self.setRoadmapComplete(True)
+ self.setCurrentRoadmapItemID(1)
+
+ def insertPathSelectionControl(self):
+ self.myPathSelection = PathSelection(self.xMSF,
+ self, PathSelection.TransferMode.SAVE,
+ PathSelection.DialogTypes.FILE)
+ self.myPathSelection.insert(
+ 5, 97, 70, 205, 45, self.resources.reslblTemplatePath_value,
+ True, HelpIds.getHelpIdString(HID + 34),
+ HelpIds.getHelpIdString(HID + 35))
+ self.myPathSelection.sDefaultDirectory = self.UserTemplatePath
+ self.myPathSelection.sDefaultName = "myFaxTemplate.ott"
+ self.myPathSelection.sDefaultFilter = "writer8_template"
+ self.myPathSelection.addSelectionListener( \
+ self.myPathSelectionListener())
+
+ def __updateUI(self):
+ UnoDataAware.updateUIs(self.mainDA)
+ UnoDataAware.updateUIs(self.faxDA)
+
+ def __initializePaths(self):
+ try:
+ self.sTemplatePath = FileAccess.getOfficePath2(self.xMSF,
+ "Template", "share", "/wizard")
+ self.UserTemplatePath = FileAccess.getOfficePath2(self.xMSF,
+ "Template", "user", "")
+ self.sBitmapPath = FileAccess.combinePaths(self.xMSF,
+ self.sTemplatePath, "/../wizard/bitmap")
+ except NoValidPathException, e:
+ traceback.print_exc()
+
+ def initializeTemplates(self, xMSF):
+ try:
+ self.sFaxPath = FileAccess.combinePaths(xMSF, self.sTemplatePath,
+ "/wizard/fax")
+ self.sWorkPath = FileAccess.getOfficePath2(xMSF, "Work", "", "")
+ self.BusinessFiles = FileAccess.getFolderTitles(xMSF, "bus",
+ self.sFaxPath)
+ self.PrivateFiles = FileAccess.getFolderTitles(xMSF, "pri",
+ self.sFaxPath)
+ self.setControlProperty("lstBusinessStyle", "StringItemList",
+ tuple(self.BusinessFiles[0]))
+ self.setControlProperty("lstPrivateStyle", "StringItemList",
+ tuple(self.PrivateFiles[0]))
+ self.setControlProperty("lstBusinessStyle", "SelectedItems", (0,))
+ self.setControlProperty("lstPrivateStyle", "SelectedItems" , (0,))
+ return True
+ except NoValidPathException, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+ return False
+
+ def initializeElements(self):
+ self.setControlProperty("chkUseLogo",
+ PropertyNames.PROPERTY_ENABLED,
+ self.myFaxDoc.hasElement("Company Logo"))
+ self.setControlProperty("chkUseSubject",
+ PropertyNames.PROPERTY_ENABLED,
+ self.myFaxDoc.hasElement("Subject Line"))
+ self.setControlProperty("chkUseDate",
+ PropertyNames.PROPERTY_ENABLED,
+ self.myFaxDoc.hasElement("Date"))
+ self.myFaxDoc.updateDateFields()
+
+ def initializeSalutation(self):
+ self.setControlProperty("lstSalutation", "StringItemList",
+ self.resources.SalutationLabels)
+
+ def initializeGreeting(self):
+ self.setControlProperty("lstGreeting", "StringItemList",
+ self.resources.GreetingLabels)
+
+ def initializeCommunication(self):
+ self.setControlProperty("lstCommunicationType", "StringItemList",
+ self.resources.CommunicationLabels)
+
+ def __setDefaultForGreetingAndSalutationAndCommunication(self):
+ if self.lstSalutation.Text == "":
+ self.lstSalutation.setText(self.resources.SalutationLabels[0])
+
+ if self.lstGreeting.Text == "":
+ self.lstGreeting.setText(self.resources.GreetingLabels[0])
+
+ if self.lstCommunicationType.Text == "":
+ self.lstCommunicationType.setText( \
+ self.resources.CommunicationLabels[0])
+
+ def initConfiguration(self):
+ try:
+ self.myConfig = CGFaxWizard()
+ root = Configuration.getConfigurationRoot(self.xMSF,
+ "/org.openoffice.Office.Writer/Wizards/Fax", False)
+ self.myConfig.readConfiguration(root, "cp_")
+ self.mainDA.append(RadioDataAware.attachRadioButtons(
+ self.myConfig, "cp_FaxType",
+ (self.optBusinessFax, self.optPrivateFax), True))
+ self.mainDA.append(UnoDataAware.attachListBox(
+ self.myConfig.cp_BusinessFax, "cp_Style",
+ self.lstBusinessStyle, True))
+ self.mainDA.append(UnoDataAware.attachListBox(
+ self.myConfig.cp_PrivateFax, "cp_Style", self.lstPrivateStyle,
+ True))
+ cgl = self.myConfig.cp_BusinessFax
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintCompanyLogo", self.chkUseLogo, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintSubjectLine", self.chkUseSubject, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintSalutation", self.chkUseSalutation, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintDate", self.chkUseDate, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintCommunicationType", self.chkUseCommunicationType,
+ True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintGreeting", self.chkUseGreeting, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_PrintFooter", self.chkUseFooter, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_Salutation", self.lstSalutation, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_Greeting", self.lstGreeting, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_CommunicationType", self.lstCommunicationType,
+ True))
+ self.faxDA.append(RadioDataAware.attachRadioButtons(cgl,
+ "cp_SenderAddressType", (self.optSenderDefine, \
+ self.optSenderPlaceholder), True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderCompanyName", self.txtSenderName, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderStreet", self.txtSenderStreet, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderPostCode", self.txtSenderPostCode, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderState", self.txtSenderState, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderCity", self.txtSenderCity, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_SenderFax", self.txtSenderFax, True))
+ self.faxDA.append(RadioDataAware.attachRadioButtons(cgl,
+ "cp_ReceiverAddressType", (self.optReceiverDatabase,
+ self.optReceiverPlaceholder), True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_Footer", self.txtFooter, True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_FooterOnlySecondPage", self.chkFooterNextPages,
+ True))
+ self.faxDA.append(UnoDataAware.attachCheckBox(cgl,
+ "cp_FooterPageNumbers", self.chkFooterPageNumbers,
+ True))
+ self.faxDA.append(RadioDataAware.attachRadioButtons(cgl,
+ "cp_CreationType", (self.optCreateFax, self.optMakeChanges),
+ True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_TemplateName", self.txtTemplateName, True))
+ self.faxDA.append(UnoDataAware.attachEditControl(cgl,
+ "cp_TemplatePath", self.myPathSelection.xSaveTextBox,
+ True))
+ except Exception, exception:
+ traceback.print_exc()
+
+ def saveConfiguration(self):
+ try:
+ root = Configuration.getConfigurationRoot(self.xMSF,
+ "/org.openoffice.Office.Writer/Wizards/Fax", True)
+ self.myConfig.writeConfiguration(root, "cp_")
+ root.commitChanges()
+ except Exception, e:
+ traceback.print_exc()
+
+ def setConfiguration(self):
+ #set correct Configuration tree:
+ if self.optBusinessFax.State:
+ self.optBusinessFaxItemChanged()
+ elif self.optPrivateFax.State:
+ self.optPrivateFaxItemChanged()
+
+ def optBusinessFaxItemChanged(self):
+ DataAware.setDataObjects(self.faxDA,
+ self.myConfig.cp_BusinessFax, True)
+ self.setControlProperty("lblBusinessStyle",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lstBusinessStyle",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lblPrivateStyle",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lstPrivateStyle",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.lstBusinessStyleItemChanged()
+ self.__enableSenderReceiver()
+ self.__setPossibleFooter(True)
+ def lstBusinessStyleItemChanged(self):
+ TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview( \
+ self.BusinessFiles[1][self.lstBusinessStyle.SelectedItemPos],
+ False)
+ self.initializeElements()
+ self.setElements()
+
+ def optPrivateFaxItemChanged(self):
+ DataAware.setDataObjects(self.faxDA,
+ self.myConfig.cp_PrivateFax, True)
+ self.setControlProperty("lblBusinessStyle",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lstBusinessStyle",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lblPrivateStyle",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lstPrivateStyle",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.lstPrivateStyleItemChanged()
+ self.__disableSenderReceiver()
+ self.__setPossibleFooter(False)
+
+ def lstPrivateStyleItemChanged(self):
+ TextDocument.xTextDocument = self.myFaxDoc.loadAsPreview( \
+ self.PrivateFiles[1][self.lstPrivateStyle.SelectedItemPos],
+ False)
+ self.initializeElements()
+ self.setElements()
+
+ def txtTemplateNameTextChanged(self):
+ xDocProps = TextDocument.xTextDocument.DocumentProperties
+ xDocProps.Title = self.txtTemplateName.Text
+
+ def optSenderPlaceholderItemChanged(self):
+ self.setControlProperty("lblSenderName",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lblSenderStreet",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lblPostCodeCity",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("lblSenderFax",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderName",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderStreet",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderPostCode",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderState",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderCity",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty("txtSenderFax",
+ PropertyNames.PROPERTY_ENABLED, False)
+ self.myFaxDoc.fillSenderWithUserData()
+
+ def optSenderDefineItemChanged(self):
+ self.setControlProperty("lblSenderName",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lblSenderStreet",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lblPostCodeCity",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("lblSenderFax",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderName",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderStreet",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderPostCode",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderState",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderCity",
+ PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty("txtSenderFax",
+ PropertyNames.PROPERTY_ENABLED, True)
+
+ self.myFieldHandler = TextFieldHandler(self.myFaxDoc.xMSF,
+ TextDocument.xTextDocument)
+ self.txtSenderNameTextChanged()
+ self.txtSenderStreetTextChanged()
+ self.txtSenderPostCodeTextChanged()
+ self.txtSenderStateTextChanged()
+ self.txtSenderCityTextChanged()
+ self.txtSenderFaxTextChanged()
+
+ def optReceiverPlaceholderItemChanged(self):
+ OfficeDocument.attachEventCall(TextDocument.xTextDocument, "OnNew",
+ "StarBasic", "macro:#/Template.Correspondence.Placeholder()")
+
+ def optReceiverDatabaseItemChanged(self):
+ OfficeDocument.attachEventCall(TextDocument.xTextDocument, "OnNew",
+ "StarBasic", "macro:#/Template.Correspondence.Database()")
+
+ def optCreateFaxItemChanged(self):
+ self.bEditTemplate = False
+
+ def optMakeChangesItemChanged(self):
+ self.bEditTemplate = True
+
+ def txtSenderNameTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ "Company", self.txtSenderName.Text)
+
+ def txtSenderStreetTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ "Street", self.txtSenderStreet.Text)
+
+ def txtSenderCityTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ "City", self.txtSenderCity.Text)
+
+ def txtSenderPostCodeTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ "PostCode", self.txtSenderPostCode.Text)
+
+ def txtSenderStateTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ PropertyNames.PROPERTY_STATE, self.txtSenderState.Text)
+
+ def txtSenderFaxTextChanged(self):
+ self.myFieldHandler.changeUserFieldContent(
+ "Fax", self.txtSenderFax.Text)
+
+ #switch Elements on/off --------------------------------------------------
+
+ def setElements(self):
+ #UI relevant:
+ if self.optSenderDefine.State:
+ self.optSenderDefineItemChanged()
+
+ if self.optSenderPlaceholder.State:
+ self.optSenderPlaceholderItemChanged()
+
+ self.chkUseLogoItemChanged()
+ self.chkUseSubjectItemChanged()
+ self.chkUseSalutationItemChanged()
+ self.chkUseGreetingItemChanged()
+ self.chkUseCommunicationItemChanged()
+ self.chkUseDateItemChanged()
+ self.chkUseFooterItemChanged()
+ self.txtTemplateNameTextChanged()
+ #not UI relevant:
+ if self.optReceiverDatabase.State:
+ self.optReceiverDatabaseItemChanged()
+
+ if self.optReceiverPlaceholder.State:
+ self.optReceiverPlaceholderItemChanged()
+
+ if self.optCreateFax.State:
+ self.optCreateFaxItemChanged()
+
+ if self.optMakeChanges.State:
+ self.optMakeChangesItemChanged()
+
+ def chkUseLogoItemChanged(self):
+ if self.myFaxDoc.hasElement("Company Logo"):
+ self.myFaxDoc.switchElement("Company Logo",
+ (self.chkUseLogo.State is not 0))
+
+ def chkUseSubjectItemChanged(self):
+ if self.myFaxDoc.hasElement("Subject Line"):
+ self.myFaxDoc.switchElement("Subject Line",
+ (self.chkUseSubject.State is not 0))
+
+ def chkUseDateItemChanged(self):
+ if self.myFaxDoc.hasElement("Date"):
+ self.myFaxDoc.switchElement("Date",
+ (self.chkUseDate.State is not 0))
+
+ def chkUseFooterItemChanged(self):
+ try:
+ bFooterPossible = (self.chkUseFooter.State is not 0) \
+ and bool(self.getControlProperty("chkUseFooter",
+ PropertyNames.PROPERTY_ENABLED))
+ if self.chkFooterNextPages.State is not 0:
+ self.myFaxDoc.switchFooter("First Page", False,
+ (self.chkFooterPageNumbers.State is not 0),
+ self.txtFooter.Text)
+ self.myFaxDoc.switchFooter("Standard", bFooterPossible,
+ (self.chkFooterPageNumbers.State is not 0),
+ self.txtFooter.Text)
+ else:
+ self.myFaxDoc.switchFooter("First Page", bFooterPossible,
+ (self.chkFooterPageNumbers.State is not 0),
+ self.txtFooter.Text)
+ self.myFaxDoc.switchFooter("Standard", bFooterPossible,
+ (self.chkFooterPageNumbers.State is not 0),
+ self.txtFooter.Text)
+
+ #enable/disable roadmap item for footer page
+ BPaperItem = self.getRoadmapItemByID( \
+ FaxWizardDialogImpl.RM_FOOTER)
+ Helper.setUnoPropertyValue(BPaperItem,
+ PropertyNames.PROPERTY_ENABLED, bFooterPossible)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def chkFooterNextPagesItemChanged(self):
+ self.chkUseFooterItemChanged()
+
+ def chkFooterPageNumbersItemChanged(self):
+ self.chkUseFooterItemChanged()
+
+ def txtFooterTextChanged(self):
+ self.myFaxDoc.switchFooter("First Page", True,
+ (self.chkFooterPageNumbers.State is not 0),
+ self.txtFooter.Text)
+
+ def chkUseSalutationItemChanged(self):
+ self.myFaxDoc.switchUserField("Salutation",
+ self.lstSalutation.Text, (self.chkUseSalutation.State is not 0))
+ self.setControlProperty("lstSalutation",
+ PropertyNames.PROPERTY_ENABLED,
+ self.chkUseSalutation.State is not 0)
+
+ def lstSalutationItemChanged(self):
+ self.myFaxDoc.switchUserField("Salutation",
+ self.lstSalutation.Text, (self.chkUseSalutation.State is not 0))
+
+ def chkUseCommunicationItemChanged(self):
+ self.myFaxDoc.switchUserField("CommunicationType",
+ self.lstCommunicationType.Text,
+ (self.chkUseCommunicationType.State is not 0))
+ self.setControlProperty("lstCommunicationType",
+ PropertyNames.PROPERTY_ENABLED,
+ self.chkUseCommunicationType.State is not 0)
+
+ def lstCommunicationItemChanged(self):
+ self.myFaxDoc.switchUserField("CommunicationType",
+ self.lstCommunicationType.Text,
+ (self.chkUseCommunicationType.State is not 0))
+
+ def chkUseGreetingItemChanged(self):
+ self.myFaxDoc.switchUserField("Greeting",
+ self.lstGreeting.Text, (self.chkUseGreeting.State is not 0))
+ self.setControlProperty("lstGreeting",
+ PropertyNames.PROPERTY_ENABLED,
+ (self.chkUseGreeting.State is not 0))
+
+ def lstGreetingItemChanged(self):
+ self.myFaxDoc.switchUserField("Greeting", self.lstGreeting.Text,
+ (self.chkUseGreeting.State is not 0))
+
+ def __setPossibleFooter(self, bState):
+ self.setControlProperty("chkUseFooter",
+ PropertyNames.PROPERTY_ENABLED, bState)
+ if not bState:
+ self.chkUseFooter.State = 0
+
+ self.chkUseFooterItemChanged()
+
+ def __enableSenderReceiver(self):
+ BPaperItem = self.getRoadmapItemByID( \
+ FaxWizardDialogImpl.RM_SENDERRECEIVER)
+ Helper.setUnoPropertyValue(BPaperItem,
+ PropertyNames.PROPERTY_ENABLED, True)
+
+ def __disableSenderReceiver(self):
+ BPaperItem = self.getRoadmapItemByID( \
+ FaxWizardDialogImpl.RM_SENDERRECEIVER)
+ Helper.setUnoPropertyValue(BPaperItem,
+ PropertyNames.PROPERTY_ENABLED, False)
+
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
new file mode 100644
index 000000000..864112fed
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
@@ -0,0 +1,141 @@
+from common.Resource import Resource
+
+class FaxWizardDialogResources(Resource):
+ UNIT_NAME = "dbwizres"
+ MODULE_NAME = "dbw"
+ RID_FAXWIZARDDIALOG_START = 3200
+ RID_FAXWIZARDCOMMUNICATION_START = 3270
+ RID_FAXWIZARDGREETING_START = 3280
+ RID_FAXWIZARDSALUTATION_START = 3290
+ RID_FAXWIZARDROADMAP_START = 3300
+ RID_RID_COMMON_START = 500
+
+
+ def __init__(self, xmsf):
+ super(FaxWizardDialogResources,self).__init__(xmsf,
+ FaxWizardDialogResources.MODULE_NAME)
+ self.RoadmapLabels = ()
+ self.SalutationLabels = ()
+ self.GreetingLabels = ()
+ self.CommunicationLabels = ()
+
+ #Delete the String, uncomment the self.getResText method
+
+
+ self.resFaxWizardDialog_title = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 1)
+ self.resLabel9_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 2)
+ self.resoptBusinessFax_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 3)
+ self.resoptPrivateFax_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 4)
+ self.reschkUseLogo_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 5)
+ self.reschkUseSubject_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 6)
+ self.reschkUseSalutation_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 7)
+ self.reschkUseGreeting_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 8)
+ self.reschkUseFooter_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 9)
+ self.resoptSenderPlaceholder_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 10)
+ self.resoptSenderDefine_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 11)
+ self.restxtTemplateName_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 12)
+ self.resoptCreateFax_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 13)
+ self.resoptMakeChanges_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 14)
+ self.reslblBusinessStyle_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 15)
+ self.reslblPrivateStyle_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 16)
+ self.reslblIntroduction_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 17)
+ self.reslblSenderAddress_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 18)
+ self.reslblSenderName_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 19)
+ self.reslblSenderStreet_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 20)
+ self.reslblPostCodeCity_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 21)
+ self.reslblFooter_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 22)
+ self.reslblFinalExplanation1_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 23)
+ self.reslblFinalExplanation2_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 24)
+ self.reslblTemplateName_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 25)
+ self.reslblTemplatePath_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 26)
+ self.reslblProceed_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 27)
+ self.reslblTitle1_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 28)
+ self.reslblTitle3_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 29)
+ self.reslblTitle4_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 30)
+ self.reslblTitle5_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 31)
+ self.reslblTitle6_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 32)
+ self.reschkFooterNextPages_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 33)
+ self.reschkFooterPageNumbers_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 34)
+ self.reschkUseDate_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 35)
+ self.reschkUseCommunicationType_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 36)
+ self.resLabel1_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 37)
+ self.resoptReceiverPlaceholder_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 38)
+ self.resoptReceiverDatabase_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 39)
+ self.resLabel2_value = self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 40)
+ self.loadRoadmapResources()
+ self.loadSalutationResources()
+ self.loadGreetingResources()
+ self.loadCommunicationResources()
+ self.loadCommonResources()
+
+ def loadCommonResources(self):
+ self.resOverwriteWarning = self.getResText(
+ FaxWizardDialogResources.RID_RID_COMMON_START + 19)
+ self.resTemplateDescription = self.getResText(
+ FaxWizardDialogResources.RID_RID_COMMON_START + 20)
+
+ def loadRoadmapResources(self):
+ for i in xrange(5):
+ self.RoadmapLabels = self.RoadmapLabels + ((self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDROADMAP_START + \
+ + i + 1)),)
+
+ def loadSalutationResources(self):
+ i = 1
+ for i in xrange(4):
+ self.SalutationLabels = self.SalutationLabels + ((self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDSALUTATION_START + \
+ i + 1)),)
+
+ def loadGreetingResources(self):
+ for i in xrange(4):
+ self.GreetingLabels = self.GreetingLabels + ((self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDGREETING_START + \
+ i +1 )),)
+
+ def loadCommunicationResources(self):
+ for i in xrange(3):
+ self.CommunicationLabels = \
+ self.CommunicationLabels + ((self.getResText(
+ FaxWizardDialogResources.RID_FAXWIZARDCOMMUNICATION_START + \
+ i + 1)),)
diff --git a/wizards/com/sun/star/wizards/fax/__init__.py b/wizards/com/sun/star/wizards/fax/__init__.py
new file mode 100644
index 000000000..ff5ad269b
--- /dev/null
+++ b/wizards/com/sun/star/wizards/fax/__init__.py
@@ -0,0 +1 @@
+"""fax """
diff --git a/wizards/com/sun/star/wizards/letter/CGLetter.py b/wizards/com/sun/star/wizards/letter/CGLetter.py
new file mode 100644
index 000000000..b95502837
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGLetter.py
@@ -0,0 +1,37 @@
+from common.ConfigGroup import *
+from CGPaperElementLocation import CGPaperElementLocation
+
+class CGLetter(ConfigGroup):
+
+ def __init__(self):
+ self.cp_Style = int()
+ self.cp_BusinessPaper = bool()
+ self.cp_CompanyLogo = CGPaperElementLocation()
+ self.cp_CompanyAddress = CGPaperElementLocation()
+ self.cp_PaperCompanyAddressReceiverField = bool()
+ self.cp_PaperFooter = bool()
+ self.cp_PaperFooterHeight = float()
+ self.cp_Norm = int()
+ self.cp_PrintCompanyLogo = bool()
+ self.cp_PrintCompanyAddressReceiverField = bool()
+ self.cp_PrintLetterSigns = bool()
+ self.cp_PrintSubjectLine = bool()
+ self.cp_PrintSalutation = bool()
+ self.cp_PrintBendMarks = bool()
+ self.cp_PrintGreeting = bool()
+ self.cp_PrintFooter = bool()
+ self.cp_Salutation = str()
+ self.cp_Greeting = str()
+ self.cp_SenderAddressType = int()
+ self.cp_SenderCompanyName = str()
+ self.cp_SenderStreet = str()
+ self.cp_SenderPostCode = str()
+ self.cp_SenderState = str()
+ self.cp_SenderCity = str()
+ self.cp_ReceiverAddressType = int()
+ self.cp_Footer = str()
+ self.cp_FooterOnlySecondPage = bool()
+ self.cp_FooterPageNumbers = bool()
+ self.cp_CreationType = int()
+ self.cp_TemplateName = str()
+ self.cp_TemplatePath = str()
diff --git a/wizards/com/sun/star/wizards/letter/CGLetterWizard.py b/wizards/com/sun/star/wizards/letter/CGLetterWizard.py
new file mode 100644
index 000000000..3df1ee17b
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGLetterWizard.py
@@ -0,0 +1,10 @@
+from common.ConfigGroup import *
+from CGLetter import CGLetter
+
+class CGLetterWizard (ConfigGroup):
+
+ def __init__(self):
+ self.cp_LetterType = int()
+ self.cp_BusinessLetter = CGLetter()
+ self.cp_PrivateOfficialLetter = CGLetter()
+ self.cp_PrivateLetter = CGLetter()
diff --git a/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py b/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py
new file mode 100644
index 000000000..901fbae82
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/CGPaperElementLocation.py
@@ -0,0 +1,10 @@
+from common.ConfigGroup import *
+
+class CGPaperElementLocation(ConfigGroup):
+
+ def __init__(self):
+ self.cp_Display = bool()
+ self.cp_Width = float()
+ self.cp_Height = float()
+ self.cp_X = float()
+ self.cp_Y = float()
diff --git a/wizards/com/sun/star/wizards/letter/LetterDocument.py b/wizards/com/sun/star/wizards/letter/LetterDocument.py
new file mode 100644
index 000000000..ea797210b
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterDocument.py
@@ -0,0 +1,261 @@
+from text.TextDocument import *
+from text.TextSectionHandler import TextSectionHandler
+from text.TextFieldHandler import TextFieldHandler
+from com.sun.star.table import BorderLine
+from common.PropertyNames import PropertyNames
+
+from com.sun.star.text.ControlCharacter import PARAGRAPH_BREAK
+from com.sun.star.style.ParagraphAdjust import CENTER
+from com.sun.star.text.PageNumberType import CURRENT
+from com.sun.star.style.NumberingType import ARABIC
+from com.sun.star.text.HoriOrientation import NONE as NONEHORI
+from com.sun.star.text.VertOrientation import NONE as NONEVERT
+from com.sun.star.text.RelOrientation import PAGE_FRAME
+from com.sun.star.text.TextContentAnchorType import AT_PAGE
+from com.sun.star.text.SizeType import FIX
+from com.sun.star.text.WrapTextMode import THROUGHT
+from com.sun.star.awt.FontWeight import BOLD
+
+class LetterDocument(TextDocument):
+
+ TextDocument = None
+
+ def __init__(self, xMSF, listener):
+ super(LetterDocument,self).__init__(xMSF, listener, None,
+ "WIZARD_LIVE_PREVIEW")
+ self.keepLogoFrame = True
+ self.keepBendMarksFrame = True
+ self.keepLetterSignsFrame = True
+ self.keepSenderAddressRepeatedFrame = True
+ self.keepAddressFrame = True
+
+ def switchElement(self, sElement, bState):
+ try:
+ mySectionHandler = TextSectionHandler(
+ self.xMSF, TextDocument.xTextDocument)
+ oSection = \
+ mySectionHandler.xTextDocument.TextSections.getByName(sElement)
+ Helper.setUnoPropertyValue(oSection, "IsVisible", bState)
+ except Exception:
+ traceback.print_exc()
+
+ def updateDateFields(self):
+ FH = TextFieldHandler(
+ TextDocument.xTextDocument, TextDocument.xTextDocument)
+ FH.updateDateFields()
+
+ def switchFooter(self, sPageStyle, bState, bPageNumber, sText):
+ if TextDocument.xTextDocument != None:
+ try:
+ TextDocument.xTextDocument.lockControllers()
+ xNameAccess = TextDocument.xTextDocument.StyleFamilies
+ xPageStyleCollection = xNameAccess.getByName("PageStyles")
+ xPageStyle = xPageStyleCollection.getByName(sPageStyle)
+ if bState:
+ Helper.setUnoPropertyValue(xPageStyle, "FooterIsOn", True)
+ xFooterText = \
+ Helper.getUnoPropertyValue(xPageStyle, "FooterText")
+ xFooterText.String = sText
+ if bPageNumber:
+ #Adding the Page Number
+ myCursor = xFooterText.Text.createTextCursor()
+ myCursor.gotoEnd(False)
+ xFooterText.insertControlCharacter(myCursor,
+ PARAGRAPH_BREAK, False)
+ myCursor.setPropertyValue("ParaAdjust", CENTER )
+
+ xPageNumberField = \
+ TextDocument.xTextDocument.createInstance(
+ "com.sun.star.text.TextField.PageNumber")
+ xPageNumberField.setPropertyValue("SubType", CURRENT)
+ xPageNumberField.NumberingType = ARABIC
+ xFooterText.insertTextContent(xFooterText.End,
+ xPageNumberField, False)
+
+ else:
+ Helper.setUnoPropertyValue(
+ xPageStyle, "FooterIsOn", False)
+
+ TextDocument.xTextDocument.unlockControllers()
+ except Exception:
+ traceback.print_exc()
+
+ def hasElement(self, sElement):
+ if TextDocument.xTextDocument != None:
+ SH = TextSectionHandler(self.xMSF, TextDocument.xTextDocument)
+ return SH.hasTextSectionByName(sElement)
+ else:
+ return False
+
+ def switchUserField(self, sFieldName, sNewContent, bState):
+ myFieldHandler = TextFieldHandler(
+ self.xMSF, TextDocument.xTextDocument)
+ if bState:
+ myFieldHandler.changeUserFieldContent(sFieldName, sNewContent)
+ else:
+ myFieldHandler.changeUserFieldContent(sFieldName, "")
+
+ def fillSenderWithUserData(self):
+ try:
+ myFieldHandler = TextFieldHandler(
+ TextDocument.xTextDocument, TextDocument.xTextDocument)
+ oUserDataAccess = Configuration.getConfigurationRoot(
+ self.xMSF, "org.openoffice.UserProfile/Data", False)
+ myFieldHandler.changeUserFieldContent(
+ "Company", Helper.getUnoObjectbyName(oUserDataAccess, "o"))
+ myFieldHandler.changeUserFieldContent(
+ "Street", Helper.getUnoObjectbyName(oUserDataAccess, "street"))
+ myFieldHandler.changeUserFieldContent(
+ "PostCode",
+ Helper.getUnoObjectbyName(oUserDataAccess, "postalcode"))
+ myFieldHandler.changeUserFieldContent(
+ "City", Helper.getUnoObjectbyName(oUserDataAccess, "l"))
+ myFieldHandler.changeUserFieldContent(
+ PropertyNames.PROPERTY_STATE,
+ Helper.getUnoObjectbyName(oUserDataAccess, "st"))
+ except Exception:
+ traceback.print_exc()
+
+ def killEmptyUserFields(self):
+ myFieldHandler = TextFieldHandler(
+ self.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.removeUserFieldByContent("")
+
+ def killEmptyFrames(self):
+ try:
+ if not self.keepLogoFrame:
+ xTF = self.getFrameByName(
+ "Company Logo", TextDocument.xTextDocument)
+ if xTF != None:
+ xTF.dispose()
+
+ if not self.keepBendMarksFrame:
+ xTF = self.getFrameByName(
+ "Bend Marks", TextDocument.xTextDocument)
+ if xTF != None:
+ xTF.dispose()
+
+ if not self.keepLetterSignsFrame:
+ xTF = self.getFrameByName(
+ "Letter Signs", TextDocument.xTextDocument)
+ if xTF != None:
+ xTF.dispose()
+
+ if not self.keepSenderAddressRepeatedFrame:
+ xTF = self.getFrameByName(
+ "Sender Address Repeated", TextDocument.xTextDocument)
+ if xTF != None:
+ xTF.dispose()
+
+ if not self.keepAddressFrame:
+ xTF = self.getFrameByName(
+ "Sender Address", TextDocument.xTextDocument)
+ if xTF != None:
+ xTF.dispose()
+
+ except Exception:
+ traceback.print_exc()
+
+class BusinessPaperObject(object):
+
+ def __init__(self, FrameText, Width, Height, XPos, YPos):
+ self.iWidth = Width
+ self.iHeight = Height
+ self.iXPos = XPos
+ self.iYPos = YPos
+ self.xFrame = None
+ try:
+ self.xFrame = \
+ TextDocument.xTextDocument.createInstance(
+ "com.sun.star.text.TextFrame")
+ self.setFramePosition()
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "AnchorType", AT_PAGE)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "SizeType", FIX)
+
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "TextWrap", THROUGHT)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "Opaque", True);
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "BackColor", 15790320)
+
+ myBorder = BorderLine()
+ myBorder.OuterLineWidth = 0
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "LeftBorder", myBorder)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "RightBorder", myBorder)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "TopBorder", myBorder)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "BottomBorder", myBorder)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "Print", False)
+
+ xTextCursor = \
+ TextDocument.xTextDocument.Text.createTextCursor()
+ xTextCursor.gotoEnd(True)
+ xText = TextDocument.xTextDocument.Text
+ xText.insertTextContent(
+ xTextCursor, self.xFrame,
+ False)
+
+ xFrameText = self.xFrame.Text
+ xFrameCursor = xFrameText.createTextCursor()
+ xFrameCursor.setPropertyValue("CharWeight", BOLD)
+ xFrameCursor.setPropertyValue("CharColor", 16777215)
+ xFrameCursor.setPropertyValue("CharFontName", "Albany")
+ xFrameCursor.setPropertyValue("CharHeight", 18)
+
+ xFrameText.insertString(xFrameCursor, FrameText, False)
+ except Exception:
+ traceback.print_exc()
+
+ def setFramePosition(self):
+ try:
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "HoriOrient", NONEHORI)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "VertOrient", NONEVERT)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ PropertyNames.PROPERTY_HEIGHT, self.iHeight)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ PropertyNames.PROPERTY_WIDTH, self.iWidth)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "HoriOrientPosition", self.iXPos)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "VertOrientPosition", self.iYPos)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "HoriOrientRelation", PAGE_FRAME)
+ Helper.setUnoPropertyValue(
+ self.xFrame,
+ "VertOrientRelation", PAGE_FRAME)
+ except Exception:
+ traceback.print_exc()
+
+ def removeFrame(self):
+ if self.xFrame is not None:
+ try:
+ TextDocument.xTextDocument.Text.removeTextContent(
+ self.xFrame)
+ except Exception:
+ traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py
new file mode 100644
index 000000000..35158a3ea
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialog.py
@@ -0,0 +1,1141 @@
+from ui.WizardDialog import *
+from LetterWizardDialogConst import *
+from LetterWizardDialogResources import LetterWizardDialogResources
+
+from com.sun.star.awt.FontUnderline import SINGLE
+
+class LetterWizardDialog(WizardDialog):
+
+ def __init__(self, xmsf):
+ super(LetterWizardDialog, self).__init__(xmsf, HIDMAIN )
+
+ self.resources = LetterWizardDialogResources(xmsf)
+ Helper.setUnoPropertyValues(
+ self.xDialogModel,
+ ("Closeable",
+ PropertyNames.PROPERTY_HEIGHT,
+ "Moveable",
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Title",
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 210, True,
+ "LetterWizardDialog", 104, 52, 1, 1,
+ self.resources.resLetterWizardDialog_title, 310))
+ self.fontDescriptor1 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor2 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor5 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor6 = \
+ uno.createUnoStruct('com.sun.star.awt.FontDescriptor')
+ self.fontDescriptor1.Weight = 150
+ self.fontDescriptor1.Underline = SINGLE
+ self.fontDescriptor2.Weight = 100
+ self.fontDescriptor5.Weight = 100
+ self.fontDescriptor6.Weight = 150
+
+ def buildStep1(self):
+ self.optBusinessLetter = self.insertRadioButton(
+ "optBusinessLetter", OPTBUSINESSLETTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 1),
+ self.resources.resoptBusinessLetter_value,
+ "optBusinessLetter", 97, 28, 1, 1, 184), self)
+ self.optPrivOfficialLetter = self.insertRadioButton(
+ "optPrivOfficialLetter", OPTPRIVOFFICIALLETTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 2),
+ self.resources.resoptPrivOfficialLetter_value,
+ "optPrivOfficialLetter", 97, 74, 1, 2, 184), self)
+ self.optPrivateLetter = self.insertRadioButton(
+ "optPrivateLetter", OPTPRIVATELETTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 3),
+ self.resources.resoptPrivateLetter_value,
+ "optPrivateLetter", 97, 106, 1, 3, 184), self)
+ self.lstBusinessStyle = self.insertListBox(
+ "lstBusinessStyle", LSTBUSINESSSTYLE_ACTION_PERFORMED,
+ LSTBUSINESSSTYLE_ITEM_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 4),
+ "lstBusinessStyle",
+ 180, 40, 1, 4, 74), self)
+ self.chkBusinessPaper = self.insertCheckBox(
+ "chkBusinessPaper", CHKBUSINESSPAPER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 5),
+ self.resources.reschkBusinessPaper_value,
+ "chkBusinessPaper", 110, 56, 0, 1, 5, 168), self)
+ self.lstPrivOfficialStyle = self.insertListBox(
+ "lstPrivOfficialStyle", LSTPRIVOFFICIALSTYLE_ACTION_PERFORMED,
+ LSTPRIVOFFICIALSTYLE_ITEM_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 6),
+ "lstPrivOfficialStyle", 180, 86, 1, 6, 74), self)
+ self.lstPrivateStyle = self.insertListBox(
+ "lstPrivateStyle", LSTPRIVATESTYLE_ACTION_PERFORMED,
+ LSTPRIVATESTYLE_ITEM_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 7),
+ "lstPrivateStyle", 180, 118, 1, 7, 74), self)
+ self.lblBusinessStyle = self.insertLabel(
+ "lblBusinessStyle",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblBusinessStyle_value,
+ "lblBusinessStyle", 110, 42, 1, 48, 60))
+ self.lblPrivOfficialStyle = self.insertLabel(
+ "lblPrivOfficialStyle",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblPrivOfficialStyle_value,
+ "lblPrivOfficialStyle", 110, 88, 1, 49, 60))
+ self.lblTitle1 = self.insertLabel(
+ "lblTitle1",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle1_value, True,
+ "lblTitle1", 91, 8, 1, 55, 212))
+ self.lblPrivateStyle = self.insertLabel(
+ "lblPrivateStyle",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblPrivateStyle_value,
+ "lblPrivateStyle", 110, 120, 1, 74, 60))
+ self.lblIntroduction = self.insertLabel(
+ "lblIntroduction",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (39, self.resources.reslblIntroduction_value,
+ True,
+ "lblIntroduction", 104, 145, 1, 80, 199))
+ self.ImageControl3 = self.insertInfoImage(92, 145, 1)
+
+ def buildStep2(self):
+ self.chkPaperCompanyLogo = self.insertCheckBox(
+ "chkPaperCompanyLogo",
+ CHKPAPERCOMPANYLOGO_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 8),
+ self.resources.reschkPaperCompanyLogo_value,
+ "chkPaperCompanyLogo", 97, 28, 0, 2, 8, 68), self)
+ self.numLogoHeight = self.insertNumericField(
+ "numLogoHeight",
+ NUMLOGOHEIGHT_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ "StrictFormat",
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 9),
+ "numLogoHeight", 138, 40, True, 2, True, 9, 3, 30), self)
+ self.numLogoX = self.insertNumericField(
+ "numLogoX", NUMLOGOX_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 10),
+ "numLogoX", 266, 40, True, 2, 10, 0, 30), self)
+ self.numLogoWidth = self.insertNumericField(
+ "numLogoWidth", NUMLOGOWIDTH_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 11),
+ "numLogoWidth", 138, 56, True, 2, 11, 3.8, 30), self)
+ self.numLogoY = self.insertNumericField(
+ "numLogoY", NUMLOGOY_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 12),
+ "numLogoY", 266, 56, True, 2, 12, -3.4, 30), self)
+ self.chkPaperCompanyAddress = self.insertCheckBox(
+ "chkPaperCompanyAddress", CHKPAPERCOMPANYADDRESS_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 13),
+ self.resources.reschkPaperCompanyAddress_value,
+ "chkPaperCompanyAddress", 98, 84, 0, 2, 13, 68), self)
+ self.numAddressHeight = self.insertNumericField(
+ "numAddressHeight", NUMADDRESSHEIGHT_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ "StrictFormat",
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 14),
+ "numAddressHeight", 138, 96, True, 2, True, 14, 3, 30), self)
+ self.numAddressX = self.insertNumericField(
+ "numAddressX", NUMADDRESSX_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 15),
+ "numAddressX", 266, 96, True, 2, 15, 3.8, 30), self)
+ self.numAddressWidth = self.insertNumericField(
+ "numAddressWidth", NUMADDRESSWIDTH_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 16),
+ "numAddressWidth", 138, 112, True, 2, 16, 13.8, 30), self)
+ self.numAddressY = self.insertNumericField(
+ "numAddressY", NUMADDRESSY_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 17),
+ "numAddressY", 266, 112, True, 2, 17, -3.4, 30), self)
+ self.chkCompanyReceiver = self.insertCheckBox(
+ "chkCompanyReceiver", CHKCOMPANYRECEIVER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y, PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 18),
+ self.resources.reschkCompanyReceiver_value,
+ "chkCompanyReceiver", 103, 131, 0, 2, 18, 185), self)
+ self.chkPaperFooter = self.insertCheckBox(
+ "chkPaperFooter", CHKPAPERFOOTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 19),
+ self.resources.reschkPaperFooter_value,
+ "chkPaperFooter", 97, 158, 0, 2, 19, 68), self)
+ self.numFooterHeight = self.insertNumericField(
+ "numFooterHeight", NUMFOOTERHEIGHT_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "Spin",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Value",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 20),
+ "numFooterHeight", 236, 156, True, 2, 20, 5, 30), self)
+ self.lblLogoHeight = self.insertLabel(
+ "lblLogoHeight",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblLogoHeight_value,
+ "lblLogoHeight", 103, 42, 2, 68, 32))
+ self.lblLogoWidth = self.insertLabel(
+ "lblLogoWidth",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblLogoWidth_value,
+ "lblLogoWidth", 103, 58, 2, 69, 32))
+ self.FixedLine5 = self.insertFixedLine(
+ "FixedLine5",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (2,
+ "FixedLine5", 90, 78, 2, 70, 215))
+ self.FixedLine6 = self.insertFixedLine(
+ "FixedLine6",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (2,
+ "FixedLine6", 90, 150, 2, 71, 215))
+ self.lblFooterHeight = self.insertLabel(
+ "lblFooterHeight",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblFooterHeight_value,
+ "lblFooterHeight", 200, 158, 2, 72, 32))
+ self.lblLogoX = self.insertLabel(
+ "lblLogoX",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblLogoX_value,
+ "lblLogoX", 170, 42, 2, 84, 94))
+ self.lblLogoY = self.insertLabel(
+ "lblLogoY",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblLogoY_value,
+ "lblLogoY", 170, 58, 2, 85, 94))
+ self.lblAddressHeight = self.insertLabel(
+ "lblAddressHeight",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblAddressHeight_value,
+ "lblAddressHeight", 103, 98, 2, 86, 32))
+ self.lblAddressWidth = self.insertLabel(
+ "lblAddressWidth",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblAddressWidth_value,
+ "lblAddressWidth", 103, 114, 2, 87, 32))
+ self.lblAddressX = self.insertLabel(
+ "lblAddressX",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblAddressX_value,
+ "lblAddressX", 170, 98, 2, 88, 94))
+ self.lblAddressY = self.insertLabel(
+ "lblAddressY",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblAddressY_value,
+ "lblAddressY", 170, 114, 2, 89, 94))
+ self.lblTitle2 = self.insertLabel(
+ "lblTitle2",
+ ("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle2_value, True,
+ "lblTitle2", 91, 8, 2, 91, 212))
+
+ def buildStep3(self):
+ self.lstLetterNorm = self.insertListBox(
+ "lstLetterNorm",
+ LSTLETTERNORM_ACTION_PERFORMED,
+ LSTLETTERNORM_ITEM_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 21),
+ "lstLetterNorm", 210, 34, 3, 21, 74), self)
+ self.chkUseLogo = self.insertCheckBox(
+ "chkUseLogo", CHKUSELOGO_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 22),
+ self.resources.reschkUseLogo_value,
+ "chkUseLogo", 97, 54, 0, 3, 22, 212), self)
+ self.chkUseAddressReceiver = self.insertCheckBox(
+ "chkUseAddressReceiver",
+ CHKUSEADDRESSRECEIVER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 23),
+ self.resources.reschkUseAddressReceiver_value,
+ "chkUseAddressReceiver", 97, 69, 0, 3, 23, 212), self)
+ self.chkUseSigns = self.insertCheckBox(
+ "chkUseSigns", CHKUSESIGNS_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 24),
+ self.resources.reschkUseSigns_value,
+ "chkUseSigns", 97, 82, 0, 3, 24, 212), self)
+ self.chkUseSubject = self.insertCheckBox(
+ "chkUseSubject", CHKUSESUBJECT_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 25),
+ self.resources.reschkUseSubject_value,
+ "chkUseSubject", 97, 98, 0, 3, 25, 212), self)
+ self.chkUseSalutation = self.insertCheckBox(
+ "chkUseSalutation", CHKUSESALUTATION_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 26),
+ self.resources.reschkUseSalutation_value,
+ "chkUseSalutation", 97, 113, 0, 3, 26, 66), self)
+ self.lstSalutation = self.insertComboBox(
+ "lstSalutation",
+ LSTSALUTATION_ACTION_PERFORMED,
+ LSTSALUTATION_ITEM_CHANGED,
+ LSTSALUTATION_TEXT_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 27),
+ "lstSalutation", 210, 110, 3, 27, 74), self)
+ self.chkUseBendMarks = self.insertCheckBox(
+ "chkUseBendMarks", CHKUSEBENDMARKS_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 28),
+ self.resources.reschkUseBendMarks_value,
+ "chkUseBendMarks", 97, 127, 0, 3, 28, 212), self)
+ self.chkUseGreeting = self.insertCheckBox(
+ "chkUseGreeting", CHKUSEGREETING_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 29),
+ self.resources.reschkUseGreeting_value,
+ "chkUseGreeting", 97, 142, 0, 3, 29, 66), self)
+ self.lstGreeting = self.insertComboBox(
+ "lstGreeting", LSTGREETING_ACTION_PERFORMED,
+ LSTGREETING_ITEM_CHANGED, LSTGREETING_TEXT_CHANGED,
+ ("Dropdown",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, 12, HelpIds.getHelpIdString(HID + 30),
+ "lstGreeting", 210, 141, 3, 30, 74), self)
+ self.chkUseFooter = self.insertCheckBox(
+ "chkUseFooter", CHKUSEFOOTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 31),
+ self.resources.reschkUseFooter_value,
+ "chkUseFooter", 97, 158, 0, 3, 31, 212), self)
+ self.lblLetterNorm = self.insertLabel(
+ "lblLetterNorm",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (16, self.resources.reslblLetterNorm_value, True,
+ "lblLetterNorm", 97, 28, 3, 50, 109))
+ self.lblTitle3 = self.insertLabel(
+ "lblTitle3",
+ (
+ "FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle3_value, True,
+ "lblTitle3", 91, 8, 3, 90, 212))
+
+ def buildStep4(self):
+ self.optSenderPlaceholder = self.insertRadioButton(
+ "optSenderPlaceholder", OPTSENDERPLACEHOLDER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 32),
+ self.resources.resoptSenderPlaceholder_value,
+ "optSenderPlaceholder", 104, 42, 4, 32, 149), self)
+ self.optSenderDefine = self.insertRadioButton(
+ "optSenderDefine", OPTSENDERDEFINE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 33),
+ self.resources.resoptSenderDefine_value,
+ "optSenderDefine", 104, 54, 4, 33, 149), self)
+ self.txtSenderName = self.insertTextField(
+ "txtSenderName", TXTSENDERNAME_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 34),
+ "txtSenderName", 182, 67, 4, 34, 119), self)
+ self.txtSenderStreet = self.insertTextField(
+ "txtSenderStreet", TXTSENDERSTREET_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 35),
+ "txtSenderStreet", 182, 81, 4, 35, 119), self)
+ self.txtSenderPostCode = self.insertTextField(
+ "txtSenderPostCode", TXTSENDERPOSTCODE_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 36),
+ "txtSenderPostCode", 182, 95, 4, 36, 25), self)
+ self.txtSenderState = self.insertTextField(
+ "txtSenderState", TXTSENDERSTATE_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 37),
+ "txtSenderState", 211, 95, 4, 37, 21), self)
+ self.txtSenderCity = self.insertTextField(
+ "txtSenderCity", TXTSENDERCITY_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 38),
+ "txtSenderCity", 236, 95, 4, 38, 65), self)
+ self.optReceiverPlaceholder = self.insertRadioButton(
+ "optReceiverPlaceholder", OPTRECEIVERPLACEHOLDER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 39),
+ self.resources.resoptReceiverPlaceholder_value,
+ "optReceiverPlaceholder", 104, 145, 4, 39, 200), self)
+ self.optReceiverDatabase = self.insertRadioButton(
+ "optReceiverDatabase", OPTRECEIVERDATABASE_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 40),
+ self.resources.resoptReceiverDatabase_value,
+ "optReceiverDatabase", 104, 157, 4, 40, 200), self)
+ self.lblSenderAddress = self.insertLabel(
+ "lblSenderAddress",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderAddress_value,
+ "lblSenderAddress", 97, 28, 4, 64, 136))
+ self.FixedLine2 = self.insertFixedLine(
+ "FixedLine2",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (5,
+ "FixedLine2", 90, 126, 4, 75, 212))
+ self.lblReceiverAddress = self.insertLabel(
+ "lblReceiverAddress",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblReceiverAddress_value,
+ "lblReceiverAddress", 97, 134, 4, 76, 136))
+ self.lblSenderName = self.insertLabel(
+ "lblSenderName",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderName_value,
+ "lblSenderName", 113, 69, 4, 77, 68))
+ self.lblSenderStreet = self.insertLabel(
+ "lblSenderStreet",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblSenderStreet_value,
+ "lblSenderStreet", 113, 82, 4, 78, 68))
+ self.lblPostCodeCity = self.insertLabel(
+ "lblPostCodeCity",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblPostCodeCity_value,
+ "lblPostCodeCity", 113, 97, 4, 79, 68))
+ self.lblTitle4 = self.insertLabel(
+ "lblTitle4",
+ (
+ "FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle4_value, True,
+ "lblTitle4", 91, 8, 4, 92, 212))
+
+ def buildStep5(self):
+ self.txtFooter = self.insertTextField(
+ "txtFooter", TXTFOOTER_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (47, HelpIds.getHelpIdString(HID + 41), True,
+ "txtFooter", 97, 40, 5, 41, 203), self)
+ self.chkFooterNextPages = self.insertCheckBox(
+ "chkFooterNextPages", CHKFOOTERNEXTPAGES_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 42),
+ self.resources.reschkFooterNextPages_value,
+ "chkFooterNextPages", 97, 92, 0, 5, 42, 202), self)
+ self.chkFooterPageNumbers = self.insertCheckBox(
+ "chkFooterPageNumbers", CHKFOOTERPAGENUMBERS_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STATE,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 43),
+ self.resources.reschkFooterPageNumbers_value,
+ "chkFooterPageNumbers", 97, 106, 0, 5, 43, 201), self)
+ self.lblFooter = self.insertLabel(
+ "lblFooter",
+ (
+ "FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor5, 8, self.resources.reslblFooter_value,
+ "lblFooter", 97, 28, 5, 52, 116))
+ self.lblTitle5 = self.insertLabel(
+ "lblTitle5",
+ (
+ "FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle5_value, True,
+ "lblTitle5", 91, 8, 5, 93, 212))
+
+ def buildStep6(self):
+ self.txtTemplateName = self.insertTextField(
+ "txtTemplateName", TXTTEMPLATENAME_TEXT_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ "Text",
+ PropertyNames.PROPERTY_WIDTH),
+ (12, HelpIds.getHelpIdString(HID + 44),
+ "txtTemplateName", 202, 56, 6, 44,
+ self.resources.restxtTemplateName_value, 100), self)
+ self.optCreateLetter = self.insertRadioButton(
+ "optCreateLetter", OPTCREATELETTER_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 45),
+ self.resources.resoptCreateLetter_value,
+ "optCreateLetter", 104, 111, 6, 50, 198), self)
+ self.optMakeChanges = self.insertRadioButton(
+ "optMakeChanges", OPTMAKECHANGES_ITEM_CHANGED,
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, HelpIds.getHelpIdString(HID + 46),
+ self.resources.resoptMakeChanges_value,
+ "optMakeChanges", 104, 123, 6, 51, 198), self)
+ self.lblFinalExplanation1 = self.insertLabel(
+ "lblFinalExplanation1",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (26, self.resources.reslblFinalExplanation1_value, True,
+ "lblFinalExplanation1", 97, 28, 6, 52, 205))
+ self.lblProceed = self.insertLabel(
+ "lblProceed",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblProceed_value,
+ "lblProceed", 97, 100, 6, 53, 204))
+ self.lblFinalExplanation2 = self.insertLabel(
+ "lblFinalExplanation2",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (33, self.resources.reslblFinalExplanation2_value, True,
+ "lblFinalExplanation2", 104, 145, 6, 54, 199))
+ self.ImageControl2 = self.insertImage(
+ "ImageControl2",
+ (
+ "Border", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_IMAGEURL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "ScaleImage",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (0, 10,
+ "private:resource/dbu/image/19205",
+ "ImageControl2", 92, 145, False, 6, 66, 10))
+ self.lblTemplateName = self.insertLabel(
+ "lblTemplateName",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (8, self.resources.reslblTemplateName_value,
+ "lblTemplateName", 97, 58, 6, 82, 101))
+ self.lblTitle6 = self.insertLabel(
+ "lblTitle6",
+ (
+ "FontDescriptor", PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_NAME,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (self.fontDescriptor6, 16,
+ self.resources.reslblTitle6_value, True,
+ "lblTitle6", 91, 8, 6, 94, 212))
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py
new file mode 100644
index 000000000..5efa78eea
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogConst.py
@@ -0,0 +1,60 @@
+OPTBUSINESSLETTER_ITEM_CHANGED = "optBusinessLetterItemChanged"
+OPTPRIVOFFICIALLETTER_ITEM_CHANGED = "optPrivOfficialLetterItemChanged"
+OPTPRIVATELETTER_ITEM_CHANGED = "optPrivateLetterItemChanged"
+LSTBUSINESSSTYLE_ACTION_PERFORMED = None
+LSTBUSINESSSTYLE_ITEM_CHANGED = "lstBusinessStyleItemChanged"
+LSTPRIVOFFICIALSTYLE_ACTION_PERFORMED = None
+LSTPRIVOFFICIALSTYLE_ITEM_CHANGED = "lstPrivOfficialStyleItemChanged"
+CHKBUSINESSPAPER_ITEM_CHANGED = "chkBusinessPaperItemChanged"
+LSTPRIVATESTYLE_ACTION_PERFORMED = None
+LSTPRIVATESTYLE_ITEM_CHANGED = "lstPrivateStyleItemChanged"
+CHKPAPERCOMPANYLOGO_ITEM_CHANGED = "chkPaperCompanyLogoItemChanged"
+NUMLOGOHEIGHT_TEXT_CHANGED = "numLogoHeightTextChanged"
+NUMLOGOX_TEXT_CHANGED = "numLogoXTextChanged"
+NUMLOGOWIDTH_TEXT_CHANGED = "numLogoWidthTextChanged"
+NUMLOGOY_TEXT_CHANGED = "numLogoYTextChanged"
+CHKCOMPANYRECEIVER_ITEM_CHANGED = "chkCompanyReceiverItemChanged"
+CHKPAPERFOOTER_ITEM_CHANGED = "chkPaperFooterItemChanged"
+NUMFOOTERHEIGHT_TEXT_CHANGED = "numFooterHeightTextChanged"
+CHKPAPERCOMPANYADDRESS_ITEM_CHANGED = "chkPaperCompanyAddressItemChanged"
+NUMADDRESSHEIGHT_TEXT_CHANGED = "numAddressHeightTextChanged"
+NUMADDRESSX_TEXT_CHANGED = "numAddressXTextChanged"
+NUMADDRESSWIDTH_TEXT_CHANGED = "numAddressWidthTextChanged"
+NUMADDRESSY_TEXT_CHANGED = "numAddressYTextChanged"
+LSTLETTERNORM_ACTION_PERFORMED = None
+LSTLETTERNORM_ITEM_CHANGED = "lstLetterNormItemChanged"
+CHKUSELOGO_ITEM_CHANGED = "chkUseLogoItemChanged"
+CHKUSEADDRESSRECEIVER_ITEM_CHANGED = "chkUseAddressReceiverItemChanged"
+CHKUSESIGNS_ITEM_CHANGED = "chkUseSignsItemChanged"
+CHKUSESUBJECT_ITEM_CHANGED = "chkUseSubjectItemChanged"
+CHKUSEBENDMARKS_ITEM_CHANGED = "chkUseBendMarksItemChanged"
+CHKUSEFOOTER_ITEM_CHANGED = "chkUseFooterItemChanged"
+CHKUSESALUTATION_ITEM_CHANGED = "chkUseSalutationItemChanged"
+CHKUSEGREETING_ITEM_CHANGED = "chkUseGreetingItemChanged"
+LSTSALUTATION_ACTION_PERFORMED = None
+LSTSALUTATION_ITEM_CHANGED = "lstSalutationItemChanged"
+LSTSALUTATION_TEXT_CHANGED = "lstSalutationItemChanged"
+LSTGREETING_ACTION_PERFORMED = None
+LSTGREETING_ITEM_CHANGED = "lstGreetingItemChanged"
+LSTGREETING_TEXT_CHANGED = "lstGreetingItemChanged"
+OPTSENDERPLACEHOLDER_ITEM_CHANGED = "optSenderPlaceholderItemChanged"
+OPTSENDERDEFINE_ITEM_CHANGED = "optSenderDefineItemChanged"
+OPTRECEIVERPLACEHOLDER_ITEM_CHANGED = "optReceiverPlaceholderItemChanged"
+OPTRECEIVERDATABASE_ITEM_CHANGED = "optReceiverDatabaseItemChanged"
+TXTSENDERNAME_TEXT_CHANGED = "txtSenderNameTextChanged"
+TXTSENDERSTREET_TEXT_CHANGED = "txtSenderStreetTextChanged"
+TXTSENDERCITY_TEXT_CHANGED = "txtSenderCityTextChanged"
+TXTSENDERPOSTCODE_TEXT_CHANGED = "txtSenderPostCodeTextChanged"
+TXTSENDERSTATE_TEXT_CHANGED = "txtSenderStateTextChanged"
+TXTFOOTER_TEXT_CHANGED = "txtFooterTextChanged"
+CHKFOOTERNEXTPAGES_ITEM_CHANGED = "chkFooterNextPagesItemChanged"
+CHKFOOTERPAGENUMBERS_ITEM_CHANGED = "chkFooterPageNumbersItemChanged"
+TXTTEMPLATENAME_TEXT_CHANGED = "txtTemplateNameTextChanged"
+OPTCREATELETTER_ITEM_CHANGED = "optCreateLetterItemChanged"
+OPTMAKECHANGES_ITEM_CHANGED = "optMakeChangesItemChanged"
+FILETEMPLATEPATH_TEXT_CHANGED = None
+imageURLImageControl1 = None
+imageURLImageControl2 = None
+imageURLImageControl3 = None
+HID = 40768
+HIDMAIN = 40820
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
new file mode 100644
index 000000000..e2bffcd5d
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogImpl.py
@@ -0,0 +1,1267 @@
+import traceback
+from LetterWizardDialog import *
+from LetterDocument import *
+from common.NoValidPathException import *
+from common.FileAccess import *
+from LocaleCodes import LocaleCodes
+from ui.PathSelection import *
+from common.Configuration import *
+from CGLetterWizard import CGLetterWizard
+from ui.event.UnoDataAware import *
+from ui.event.RadioDataAware import *
+from document.OfficeDocument import OfficeDocument
+from text.TextFieldHandler import TextFieldHandler
+from com.sun.star.awt.VclWindowPeerAttribute import YES_NO, DEF_NO
+
+from com.sun.star.view.DocumentZoomType import OPTIMAL
+from com.sun.star.document.UpdateDocMode import FULL_UPDATE
+from com.sun.star.document.MacroExecMode import ALWAYS_EXECUTE
+
+class LetterWizardDialogImpl(LetterWizardDialog):
+ RM_TYPESTYLE = 1
+ RM_BUSINESSPAPER = 2
+ RM_ELEMENTS = 3
+ RM_SENDERRECEIVER = 4
+ RM_FOOTER = 5
+ RM_FINALSETTINGS = 6
+
+ def enterStep(self, OldStep, NewStep):
+ pass
+
+ def leaveStep(self, OldStep, NewStep):
+ pass
+
+ def __init__(self, xmsf):
+ super(LetterWizardDialogImpl, self).__init__(xmsf)
+ self.xmsf = xmsf
+ self.mainDA = []
+ self.letterDA = []
+ self.businessDA = []
+ self.bSaveSuccess = False
+ self.filenameChanged = False
+ self.BusCompanyLogo = None
+ self.BusCompanyAddress = None
+ self.BusCompanyAddressReceiver = None
+ self.BusFooter = None
+ self.Norms = []
+ self.NormPaths = []
+
+ @classmethod
+ def main(self, args):
+ ConnectStr = \
+ "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"
+ xLocMSF = None
+ try:
+ xLocMSF = Desktop.connect(ConnectStr)
+ except Exception, e:
+ traceback.print_exc()
+
+ lw = LetterWizardDialogImpl(xLocMSF)
+ lw.startWizard(xLocMSF, None)
+
+ def startWizard(self, xMSF, CurPropertyValue):
+ self.running = True
+ try:
+ #Number of steps on WizardDialog
+ self.nMaxStep = 6
+
+ #instatiate The Document Frame for the Preview
+ self.myLetterDoc = LetterDocument(xMSF, self)
+
+ #create the dialog
+ self.drawNaviBar()
+ self.buildStep1()
+ self.buildStep2()
+ self.buildStep3()
+ self.buildStep4()
+ self.buildStep5()
+ self.buildStep6()
+ self.__initializePaths()
+ self.initializeNorms()
+ self.initializeSalutation()
+ self.initializeGreeting()
+
+ #special Control fFrameor setting the save Path:
+ self.insertPathSelectionControl()
+
+ #load the last used settings
+ #from the registry and apply listeners to the controls:
+ self.initConfiguration()
+
+ oL = self.getOfficeLinguistic()
+ self.myConfig.cp_BusinessLetter.cp_Norm = oL
+ self.myConfig.cp_PrivateOfficialLetter.cp_Norm = oL
+ self.myConfig.cp_PrivateLetter.cp_Norm = oL
+ self.initializeTemplates(xMSF)
+ if self.myConfig.cp_BusinessLetter.cp_Greeting == "":
+ self.myConfig.cp_BusinessLetter.cp_Greeting = \
+ self.resources.GreetingLabels[0]
+
+ if self.myConfig.cp_BusinessLetter.cp_Salutation == "":
+ self.myConfig.cp_BusinessLetter.cp_Salutation = \
+ self.resources.SalutationLabels[0]
+
+ if self.myConfig.cp_PrivateOfficialLetter.cp_Greeting == "":
+ self.myConfig.cp_PrivateOfficialLetter.cp_Greeting = \
+ self.resources.GreetingLabels[1]
+
+ if self.myConfig.cp_PrivateOfficialLetter.cp_Salutation == "":
+ self.myConfig.cp_PrivateOfficialLetter.cp_Salutation = \
+ self.resources.SalutationLabels[1]
+
+ if self.myConfig.cp_PrivateLetter.cp_Greeting == "":
+ self.myConfig.cp_PrivateLetter.cp_Greeting = \
+ self.resources.GreetingLabels[2]
+
+ if self.myConfig.cp_PrivateLetter.cp_Salutation == "":
+ self.myConfig.cp_PrivateLetter.cp_Salutation = \
+ self.resources.SalutationLabels[2]
+
+ self.updateUI()
+ if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+ self.myPathSelection.initializePath()
+
+ xContainerWindow = self.myLetterDoc.xFrame.ContainerWindow
+ self.createWindowPeer(xContainerWindow)
+ self.insertRoadmap()
+ self.setConfiguration()
+ self.setDefaultForGreetingAndSalutation()
+ self.initializeElements()
+ self.myLetterDoc.xFrame.ComponentWindow.Enable = False
+ self.executeDialogFromComponent(self.myLetterDoc.xFrame)
+ self.removeTerminateListener()
+ self.closeDocument()
+ self.running = False
+ except Exception, exception:
+ self.removeTerminateListener()
+ traceback.print_exc()
+ self.running = False
+ return
+
+ def cancelWizard(self):
+ self.xUnoDialog.endExecute()
+ self.running = False
+
+ def finishWizard(self):
+ self.switchToStep(self.getCurrentStep(), self.nMaxStep)
+ endWizard = True
+ try:
+ fileAccess = FileAccess(self.xMSF)
+ self.sPath = self.myPathSelection.getSelectedPath()
+ if self.sPath == "":
+ self.myPathSelection.triggerPathPicker()
+ self.sPath = self.myPathSelection.getSelectedPath()
+
+ self.sPath = fileAccess.getURL(self.sPath)
+ if not self.filenameChanged:
+ if fileAccess.exists(self.sPath, True):
+ answer = SystemDialog.showMessageBox(
+ self.xMSF, "MessBox", YES_NO + DEF_NO,
+ self.resources.resOverwriteWarning,
+ self.xUnoDialog.Peer)
+ if answer == 3:
+ # user said: no, do not overwrite...
+ endWizard = False
+ return False
+
+ self.myLetterDoc.setWizardTemplateDocInfo(
+ self.resources.resLetterWizardDialog_title,
+ self.resources.resTemplateDescription)
+ self.myLetterDoc.killEmptyUserFields()
+ self.myLetterDoc.keepLogoFrame = self.chkUseLogo.State != 0
+ if self.chkBusinessPaper.State != 0 \
+ and self.chkPaperCompanyLogo.State != 0:
+ self.myLetterDoc.keepLogoFrame = False
+
+ self.myLetterDoc.keepBendMarksFrame = \
+ self.chkUseBendMarks.State != 0
+ self.myLetterDoc.keepLetterSignsFrame = \
+ self.chkUseSigns.State != 0
+ self.myLetterDoc.keepSenderAddressRepeatedFrame = \
+ self.chkUseAddressReceiver.State != 0
+ if self.optBusinessLetter.State:
+ if self.chkBusinessPaper.State != 0 \
+ and self.chkCompanyReceiver.State != 0:
+ self.myLetterDoc.keepSenderAddressRepeatedFrame = False
+
+ if self.chkBusinessPaper.State != 0 \
+ and self.chkPaperCompanyAddress.State != 0:
+ self.myLetterDoc.keepAddressFrame = False
+
+ self.myLetterDoc.killEmptyFrames()
+ self.bSaveSuccess = \
+ OfficeDocument.store(
+ self.xMSF, TextDocument.xTextDocument,
+ self.sPath, "writer8_template")
+ if self.bSaveSuccess:
+ self.saveConfiguration()
+ xIH = self.xMSF.createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler")
+ loadValues = range(4)
+ loadValues[0] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[0].Name = "AsTemplate"
+ loadValues[1] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[1].Name = "MacroExecutionMode"
+ loadValues[1].Value = ALWAYS_EXECUTE
+ loadValues[2] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[2].Name = "UpdateDocMode"
+ loadValues[2].Value = FULL_UPDATE
+ loadValues[3] = uno.createUnoStruct( \
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[3].Name = "InteractionHandler"
+ loadValues[3].Value = xIH
+ if self.bEditTemplate:
+ loadValues[0].Value = False
+ else:
+ loadValues[0].Value = True
+
+ oDoc = OfficeDocument.load(
+ Desktop.getDesktop(self.xMSF),
+ self.sPath, "_default", loadValues)
+ myViewHandler = ViewHandler(self.xMSF, oDoc)
+ myViewHandler.setViewSetting("ZoomType", OPTIMAL)
+ else:
+ pass
+
+ except Exception, e:
+ traceback.print_exc()
+ finally:
+ if endWizard:
+ self.xUnoDialog.endExecute()
+ self.running = False
+
+ return True;
+
+ def closeDocument(self):
+ try:
+ xCloseable = self.myLetterDoc.xFrame
+ xCloseable.close(False)
+ except CloseVetoException, e:
+ traceback.print_exc()
+
+ def optBusinessLetterItemChanged(self):
+ DataAware.setDataObjects(
+ self.letterDA, self.myConfig.cp_BusinessLetter, True)
+ self.setControlProperty(
+ "lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.lstBusinessStyleItemChanged()
+ self.enableSenderReceiver()
+ self.setPossibleFooter(True)
+ if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+ self.myPathSelection.initializePath()
+
+ def optPrivOfficialLetterItemChanged(self):
+ DataAware.setDataObjects(
+ self.letterDA, self.myConfig.cp_PrivateOfficialLetter, True)
+ self.setControlProperty(
+ "lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.lstPrivOfficialStyleItemChanged()
+ self.disableBusinessPaper()
+ self.enableSenderReceiver()
+ self.setPossibleFooter(True)
+ if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+ self.myPathSelection.initializePath()
+
+ def optPrivateLetterItemChanged(self):
+ DataAware.setDataObjects(
+ self.letterDA, self.myConfig.cp_PrivateLetter, True)
+ self.setControlProperty(
+ "lblBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstBusinessStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "chkBusinessPaper", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lstPrivOfficialStyle", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblPrivateStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lstPrivateStyle", PropertyNames.PROPERTY_ENABLED, True)
+ self.lstPrivateStyleItemChanged()
+ self.disableBusinessPaper()
+ self.disableSenderReceiver()
+ self.setPossibleFooter(False)
+ if self.myPathSelection.xSaveTextBox.Text.lower() == "":
+ self.myPathSelection.initializePath()
+
+ def optSenderPlaceholderItemChanged(self):
+ self.setControlProperty(
+ "lblSenderName", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblSenderStreet", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "txtSenderName", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "txtSenderStreet", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "txtSenderState", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "txtSenderCity", PropertyNames.PROPERTY_ENABLED, False)
+ self.myLetterDoc.fillSenderWithUserData()
+
+ def optSenderDefineItemChanged(self):
+ self.setControlProperty(
+ "lblSenderName", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblSenderStreet", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "txtSenderName", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "txtSenderStreet", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "txtSenderState", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "txtSenderCity", PropertyNames.PROPERTY_ENABLED, True)
+ self.txtSenderNameTextChanged()
+ self.txtSenderStreetTextChanged()
+ self.txtSenderPostCodeTextChanged()
+ self.txtSenderStateTextChanged()
+ self.txtSenderCityTextChanged()
+
+ def optCreateLetterItemChanged(self):
+ self.bEditTemplate = False
+
+ def optMakeChangesItemChanged(self):
+ self.bEditTemplate = True
+
+ def optReceiverPlaceholderItemChanged(self):
+ OfficeDocument.attachEventCall(
+ TextDocument.xTextDocument, "OnNew", "StarBasic",
+ "macro:///Template.Correspondence.Placeholder()")
+
+ def optReceiverDatabaseItemChanged(self):
+ OfficeDocument.attachEventCall(
+ TextDocument.xTextDocument, "OnNew", "StarBasic",
+ "macro:///Template.Correspondence.Database()")
+
+ def lstBusinessStyleItemChanged(self):
+ TextDocument.xTextDocument = \
+ self.myLetterDoc.loadAsPreview(
+ self.BusinessFiles[1][self.lstBusinessStyle.SelectedItemPos],
+ False)
+ self.myLetterDoc.xTextDocument.lockControllers()
+ self.initializeElements()
+ self.chkBusinessPaperItemChanged()
+ self.setElements(False)
+ self.myLetterDoc.xTextDocument.unlockControllers()
+
+ def lstPrivOfficialStyleItemChanged(self):
+ TextDocument.xTextDocument = \
+ self.myLetterDoc.loadAsPreview(
+ self.OfficialFiles[1][self.lstPrivOfficialStyle.SelectedItemPos],
+ False)
+ self.myLetterDoc.xTextDocument.lockControllers()
+ self.initializeElements()
+ self.setPossibleSenderData(True)
+ self.setElements(False)
+ self.myLetterDoc.xTextDocument.unlockControllers()
+
+ def lstPrivateStyleItemChanged(self):
+ TextDocument.xTextDocument = \
+ self.myLetterDoc.loadAsPreview(
+ self.PrivateFiles[1][self.lstPrivateStyle.getSelectedItemPos()],
+ False)
+ self.myLetterDoc.xTextDocument.lockControllers()
+ self.initializeElements()
+ self.setElements(True)
+ self.myLetterDoc.xTextDocument.unlockControllers()
+
+ def numLogoHeightTextChanged(self):
+ self.BusCompanyLogo.iHeight = int(self.numLogoHeight.Value * 1000)
+ self.BusCompanyLogo.setFramePosition()
+
+ def numLogoWidthTextChanged(self):
+ self.BusCompanyLogo.iWidth = int(self.numLogoWidth.Value * 1000)
+ self.BusCompanyLogo.setFramePosition()
+
+ def numLogoXTextChanged(self):
+ self.BusCompanyLogo.iXPos = int(self.numLogoX.Value * 1000)
+ self.BusCompanyLogo.setFramePosition()
+
+ def numLogoYTextChanged(self):
+ self.BusCompanyLogo.iYPos = int(self.numLogoY.Value * 1000)
+ self.BusCompanyLogo.setFramePosition()
+
+ def numAddressWidthTextChanged(self):
+ self.BusCompanyAddress.iWidth = int(self.numAddressWidth.Value * 1000)
+ self.BusCompanyAddress.setFramePosition()
+
+ def numAddressXTextChanged(self):
+ self.BusCompanyAddress.iXPos = int(self.numAddressX.Value * 1000)
+ self.BusCompanyAddress.setFramePosition()
+
+ def numAddressYTextChanged(self):
+ self.BusCompanyAddress.iYPos = int(self.numAddressY.Value * 1000)
+ self.BusCompanyAddress.setFramePosition()
+
+ def numAddressHeightTextChanged(self):
+ self.BusCompanyAddress.iHeight = int(self.numAddressHeight.Value * 1000)
+ self.BusCompanyAddress.setFramePosition()
+
+ def numFooterHeightTextChanged(self):
+ self.BusFooter.iHeight = int(self.numFooterHeight.Value * 1000)
+ self.BusFooter.iYPos = \
+ self.myLetterDoc.DocSize.Height - self.BusFooter.iHeight
+ self.BusFooter.setFramePosition()
+
+ def chkPaperCompanyLogoItemChanged(self):
+ if self.chkPaperCompanyLogo.State != 0:
+ if self.numLogoWidth.Value == 0:
+ self.numLogoWidth.Value = 0.1
+
+ if self.numLogoHeight.Value == 0:
+ self.numLogoHeight.Value = 0.1
+ self.BusCompanyLogo = BusinessPaperObject(
+ "Company Logo", int(self.numLogoWidth.Value * 1000),
+ int(self.numLogoHeight.Value * 1000),
+ int(self.numLogoX.Value * 1000),
+ self.numLogoY.Value * 1000)
+ self.setControlProperty(
+ "numLogoHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyLogoHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "numLogoWidth", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyLogoWidth", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "numLogoX", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyLogoX", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "numLogoY", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyLogoY", PropertyNames.PROPERTY_ENABLED, True)
+ self.setPossibleLogo(False)
+ else:
+ if self.BusCompanyLogo != None:
+ self.BusCompanyLogo.removeFrame()
+
+ self.setControlProperty(
+ "numLogoHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyLogoHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "numLogoWidth", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyLogoWidth", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "numLogoX", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyLogoX", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "numLogoY", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyLogoY", PropertyNames.PROPERTY_ENABLED, False)
+ self.setPossibleLogo(True)
+
+ def chkPaperCompanyAddressItemChanged(self):
+ if self.chkPaperCompanyAddress.State != 0:
+ if self.numAddressWidth.Value == 0:
+ self.numAddressWidth.Value = 0.1
+
+ if self.numAddressHeight.Value == 0:
+ self.numAddressHeight.Value = 0.1
+
+ self.BusCompanyAddress = BusinessPaperObject(
+ "Company Address", int(self.numAddressWidth.Value * 1000),
+ int(self.numAddressHeight.Value * 1000),
+ int(self.numAddressX.Value * 1000),
+ int(self.numAddressY.Value * 1000))
+ self.setControlProperty(
+ "self.numAddressHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyAddressHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "self.numAddressWidth", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyAddressWidth", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "self.numAddressX", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyAddressX", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "self.numAddressY", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblCompanyAddressY", PropertyNames.PROPERTY_ENABLED, True)
+ if self.myLetterDoc.hasElement("Sender Address"):
+ self.myLetterDoc.switchElement(
+ "Sender Address", False)
+
+ if self.chkCompanyReceiver.State != 0:
+ self.setPossibleSenderData(False)
+
+ else:
+ if self.BusCompanyAddress != None:
+ self.BusCompanyAddress.removeFrame()
+
+ self.setControlProperty(
+ "self.numAddressHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyAddressHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "self.numAddressWidth", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyAddressWidth", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "self.numAddressX", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyAddressX", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "self.numAddressY", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblCompanyAddressY", PropertyNames.PROPERTY_ENABLED, False)
+ if self.myLetterDoc.hasElement("Sender Address"):
+ self.myLetterDoc.switchElement(
+ "Sender Address", (True))
+
+ self.setPossibleSenderData(True)
+ if self.optSenderDefine.State:
+ self.optSenderDefineItemChanged()
+
+ if self.optSenderPlaceholder.State:
+ self.optSenderPlaceholderItemChanged()
+
+ def chkCompanyReceiverItemChanged(self):
+ xReceiverFrame = None
+ if self.chkCompanyReceiver.State != 0:
+ try:
+ xReceiverFrame = TextDocument.getFrameByName(
+ "Receiver Address", TextDocument.xTextDocument)
+ iFrameWidth = int(Helper.getUnoPropertyValue(
+ xReceiverFrame, PropertyNames.PROPERTY_WIDTH))
+ iFrameX = int(Helper.getUnoPropertyValue(
+ xReceiverFrame, "HoriOrientPosition"))
+ iFrameY = int(Helper.getUnoPropertyValue(
+ xReceiverFrame, "VertOrientPosition"))
+ iReceiverHeight = int(0.5 * 1000)
+ self.BusCompanyAddressReceiver = BusinessPaperObject(
+ " ", iFrameWidth, iReceiverHeight, iFrameX,
+ iFrameY - iReceiverHeight)
+ self.setPossibleAddressReceiver(False)
+ except NoSuchElementException:
+ traceback.print_exc()
+ except WrappedTargetException:
+ traceback.print_exc()
+
+ if self.chkPaperCompanyAddress.State != 0:
+ self.setPossibleSenderData(False)
+
+ else:
+ if self.BusCompanyAddressReceiver != None:
+ self.BusCompanyAddressReceiver.removeFrame()
+
+ self.setPossibleAddressReceiver(True)
+ self.setPossibleSenderData(True)
+ if self.optSenderDefine.State:
+ self.optSenderDefineItemChanged()
+
+ if self.optSenderPlaceholder.State:
+ self.optSenderPlaceholderItemChanged()
+
+ def chkPaperFooterItemChanged(self):
+ if self.chkPaperFooter.State != 0:
+ if self.numFooterHeight.Value == 0:
+ self.numFooterHeight.Value = 0.1
+
+ self.BusFooter = BusinessPaperObject(
+ "Footer", self.myLetterDoc.DocSize.Width,
+ int(self.numFooterHeight.Value * 1000), 0,
+ int(self.myLetterDoc.DocSize.Height - \
+ (self.numFooterHeight.Value * 1000)))
+ self.setControlProperty(
+ "self.numFooterHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setControlProperty(
+ "lblFooterHeight", PropertyNames.PROPERTY_ENABLED, True)
+ self.setPossibleFooter(False)
+ else:
+ if self.BusFooter != None:
+ self.BusFooter.removeFrame()
+
+ self.setControlProperty(
+ "self.numFooterHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setControlProperty(
+ "lblFooterHeight", PropertyNames.PROPERTY_ENABLED, False)
+ self.setPossibleFooter(True)
+
+ def chkUseLogoItemChanged(self):
+ try:
+ if self.myLetterDoc.hasElement("Company Logo"):
+ logostatus = \
+ bool(self.getControlProperty(
+ "chkUseLogo", PropertyNames.PROPERTY_ENABLED)) \
+ and (self.chkUseLogo.State != 0)
+ self.myLetterDoc.switchElement(
+ "Company Logo", logostatus)
+ except IllegalArgumentException, e:
+ traceback.print_exc()
+
+ def chkUseAddressReceiverItemChanged(self):
+ try:
+ if self.myLetterDoc.hasElement("Sender Address Repeated"):
+ rstatus = \
+ bool(self.getControlProperty(
+ "chkUseAddressReceiver",
+ PropertyNames.PROPERTY_ENABLED)) \
+ and (self.chkUseAddressReceiver.State != 0)
+ self.myLetterDoc.switchElement(
+ "Sender Address Repeated", rstatus)
+
+ except IllegalArgumentException, e:
+ traceback.print_exc()
+
+ def chkUseSignsItemChanged(self):
+ if self.myLetterDoc.hasElement("Letter Signs"):
+ self.myLetterDoc.switchElement(
+ "Letter Signs", self.chkUseSigns.State != 0)
+
+ def chkUseSubjectItemChanged(self):
+ if self.myLetterDoc.hasElement("Subject Line"):
+ self.myLetterDoc.switchElement(
+ "Subject Line", self.chkUseSubject.State != 0)
+
+ def chkUseBendMarksItemChanged(self):
+ if self.myLetterDoc.hasElement("Bend Marks"):
+ self.myLetterDoc.switchElement(
+ "Bend Marks", self.chkUseBendMarks.State != 0)
+
+ def chkUseFooterItemChanged(self):
+ try:
+ bFooterPossible = (self.chkUseFooter.State != 0) \
+ and bool(self.getControlProperty(
+ "chkUseFooter", PropertyNames.PROPERTY_ENABLED))
+ if self.chkFooterNextPages.State != 0:
+ self.myLetterDoc.switchFooter(
+ "First Page", False, self.chkFooterPageNumbers.State != 0,
+ txtFooter.Text)
+ self.myLetterDoc.switchFooter("Standard", bFooterPossible,
+ self.chkFooterPageNumbers.State != 0, self.txtFooter.Text)
+ else:
+ self.myLetterDoc.switchFooter(
+ "First Page", bFooterPossible,
+ self.chkFooterPageNumbers.State != 0, self.txtFooter.Text)
+ self.myLetterDoc.switchFooter(
+ "Standard", bFooterPossible,
+ self.chkFooterPageNumbers.State != 0, self.txtFooter.Text)
+
+ BPaperItem = \
+ self.getRoadmapItemByID(LetterWizardDialogImpl.RM_FOOTER)
+ Helper.setUnoPropertyValue(
+ BPaperItem, PropertyNames.PROPERTY_ENABLED, bFooterPossible)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def chkFooterNextPagesItemChanged(self):
+ self.chkUseFooterItemChanged()
+
+ def chkFooterPageNumbersItemChanged(self):
+ self.chkUseFooterItemChanged()
+
+ def setPossibleFooter(self, bState):
+ self.setControlProperty(
+ "chkUseFooter", PropertyNames.PROPERTY_ENABLED, bState)
+ self.chkUseFooterItemChanged()
+
+ def setPossibleAddressReceiver(self, bState):
+ if self.myLetterDoc.hasElement("Sender Address Repeated"):
+ self.setControlProperty(
+ "chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED, bState)
+ self.chkUseAddressReceiverItemChanged()
+
+ def setPossibleLogo(self, bState):
+ if self.myLetterDoc.hasElement("Company Logo"):
+ self.setControlProperty(
+ "chkUseLogo", PropertyNames.PROPERTY_ENABLED, bState)
+ self.chkUseLogoItemChanged()
+
+ def txtFooterTextChanged(self):
+ self.chkUseFooterItemChanged()
+
+ def txtSenderNameTextChanged(self):
+ myFieldHandler = TextFieldHandler(
+ self.myLetterDoc.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.changeUserFieldContent(
+ "Company", self.txtSenderName.Text)
+
+ def txtSenderStreetTextChanged(self):
+ myFieldHandler = TextFieldHandler(
+ self.myLetterDoc.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.changeUserFieldContent(
+ "Street", self.txtSenderStreet.Text)
+
+ def txtSenderCityTextChanged(self):
+ myFieldHandler = TextFieldHandler(
+ self.myLetterDoc.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.changeUserFieldContent(
+ "City", self.txtSenderCity.Text)
+
+ def txtSenderPostCodeTextChanged(self):
+ myFieldHandler = TextFieldHandler(
+ self.myLetterDoc.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.changeUserFieldContent(
+ "PostCode", self.txtSenderPostCode.Text)
+
+ def txtSenderStateTextChanged(self):
+ myFieldHandler = TextFieldHandler(
+ self.myLetterDoc.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.changeUserFieldContent(
+ PropertyNames.PROPERTY_STATE, self.txtSenderState.Text)
+
+ def txtTemplateNameTextChanged(self):
+ xDocProps = TextDocument.xTextDocument.DocumentProperties
+ TitleName = self.txtTemplateName.Text
+ xDocProps.Title = TitleName
+
+ def chkUseSalutationItemChanged(self):
+ self.myLetterDoc.switchUserField(
+ "Salutation", self.lstSalutation.Text,
+ self.chkUseSalutation.State != 0)
+ self.setControlProperty(
+ "lstSalutation", PropertyNames.PROPERTY_ENABLED,
+ self.chkUseSalutation.State != 0)
+
+ def lstSalutationItemChanged(self):
+ self.myLetterDoc.switchUserField(
+ "Salutation", self.lstSalutation.Text,
+ self.chkUseSalutation.State != 0)
+
+ def chkUseGreetingItemChanged(self):
+ self.myLetterDoc.switchUserField(
+ "Greeting", self.lstGreeting.Text, self.chkUseGreeting.State != 0)
+ self.setControlProperty(
+ "lstGreeting", PropertyNames.PROPERTY_ENABLED,
+ self.chkUseGreeting.State != 0)
+
+ def setDefaultForGreetingAndSalutation(self):
+ if self.lstSalutation.Text == "":
+ self.lstSalutation.Text = self.resources.SalutationLabels[0]
+
+ if self.lstGreeting.Text == "":
+ self.lstGreeting.Text = self.resources.GreetingLabels[0]
+
+ def lstGreetingItemChanged(self):
+ self.myLetterDoc.switchUserField(
+ "Greeting", self.lstGreeting.Text, self.chkUseGreeting.State != 0)
+
+ def chkBusinessPaperItemChanged(self):
+ if self.chkBusinessPaper.State != 0:
+ self.enableBusinessPaper()
+ else:
+ self.disableBusinessPaper()
+ self.setPossibleSenderData(True)
+
+ def getOfficeLinguistic(self):
+ oL = 0
+ found = False
+ OfficeLinguistic = Configuration.getOfficeLinguistic(self.xMSF)
+ i = 0
+ for i in xrange(len(self.Norms)):
+ if self.Norms[i].lower() == OfficeLinguistic.lower():
+ oL = i
+ found = True
+ break
+
+ if not found:
+ for i in xrange(len(self.Norms)):
+ if self.Norms[i].lower() == "en-US".lower():
+ oL = i
+ found = True
+ break
+ return oL
+
+ def setPossibleSenderData(self, bState):
+ self.setControlProperty(
+ "optSenderDefine", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "optSenderPlaceholder", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "lblSenderAddress", PropertyNames.PROPERTY_ENABLED, bState)
+ if not bState:
+ self.setControlProperty(
+ "txtSenderCity", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "txtSenderName", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "txtSenderPostCode", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "txtSenderStreet", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "txtSenderCity", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "txtSenderState", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "lblSenderName", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "lblSenderStreet", PropertyNames.PROPERTY_ENABLED, bState)
+ self.setControlProperty(
+ "lblPostCodeCity", PropertyNames.PROPERTY_ENABLED, bState)
+
+ def enableSenderReceiver(self):
+ BPaperItem = self.getRoadmapItemByID(
+ LetterWizardDialogImpl.RM_SENDERRECEIVER)
+ Helper.setUnoPropertyValue(
+ BPaperItem, PropertyNames.PROPERTY_ENABLED, True)
+
+ def disableSenderReceiver(self):
+ BPaperItem = self.getRoadmapItemByID(
+ LetterWizardDialogImpl.RM_SENDERRECEIVER)
+ Helper.setUnoPropertyValue(
+ BPaperItem, PropertyNames.PROPERTY_ENABLED, False)
+
+ def enableBusinessPaper(self):
+ try:
+ BPaperItem = self.getRoadmapItemByID(
+ LetterWizardDialogImpl.RM_BUSINESSPAPER)
+ Helper.setUnoPropertyValue(
+ BPaperItem, PropertyNames.PROPERTY_ENABLED, True)
+ self.chkPaperCompanyLogoItemChanged()
+ self.chkPaperCompanyAddressItemChanged()
+ self.chkPaperFooterItemChanged()
+ self.chkCompanyReceiverItemChanged()
+ except Exception:
+ traceback.print_exc()
+
+ def disableBusinessPaper(self):
+ try:
+ BPaperItem = self.getRoadmapItemByID(
+ LetterWizardDialogImpl.RM_BUSINESSPAPER)
+ Helper.setUnoPropertyValue(
+ BPaperItem, PropertyNames.PROPERTY_ENABLED, False)
+ if self.BusCompanyLogo != None:
+ self.BusCompanyLogo.removeFrame()
+
+ if self.BusCompanyAddress != None:
+ self.BusCompanyAddress.removeFrame()
+
+ if self.BusFooter != None:
+ self.BusFooter.removeFrame()
+
+ if self.BusCompanyAddressReceiver != None:
+ self.BusCompanyAddressReceiver.removeFrame()
+
+ self.setPossibleAddressReceiver(True)
+ self.setPossibleFooter(True)
+ self.setPossibleLogo(True)
+ if self.myLetterDoc.hasElement("Sender Address"):
+ self.myLetterDoc.switchElement(
+ "Sender Address", True)
+ except Exception:
+ traceback.print_exc()
+
+ def lstLetterNormItemChanged(self):
+ sCurrentNorm = self.Norms[getCurrentLetter().cp_Norm]
+ initializeTemplates(xMSF)
+ if self.optBusinessLetter.State:
+ self.lstBusinessStyleItemChanged()
+
+ elif optPrivOfficialLetter.State:
+ self.lstPrivOfficialStyleItemChanged()
+
+ elif optPrivateLetter.State:
+ self.lstPrivateStyleItemChanged()
+
+ def initializeSalutation(self):
+ self.setControlProperty(
+ "lstSalutation", "StringItemList",
+ self.resources.SalutationLabels)
+
+ def initializeGreeting(self):
+ self.setControlProperty(
+ "lstGreeting", "StringItemList", self.resources.GreetingLabels)
+
+ def initializeNorms(self):
+ lc = LocaleCodes(self.xmsf)
+ allLocales = lc.getIDs()
+ nameList = []
+ sLetterSubPath = "/wizard/letter/"
+ try:
+ self.sTemplatePath = \
+ FileAccess.deleteLastSlashfromUrl(self.sTemplatePath)
+ nuString = \
+ self.sTemplatePath[:self.sTemplatePath.rfind("/")] + "/"
+ sMainPath = FileAccess.deleteLastSlashfromUrl(nuString)
+ self.sLetterPath = sMainPath + sLetterSubPath
+ xInterface = \
+ self.xmsf.createInstance("com.sun.star.ucb.SimpleFileAccess")
+ nameList = xInterface.getFolderContents(self.sLetterPath, True)
+ except Exception, e:
+ traceback.print_exc()
+
+ found = False
+ cIsoCode = ""
+ MSID = ""
+ LanguageLabels = []
+
+ for i in nameList:
+ found = False
+ cIsoCode = FileAccess.getFilename(i)
+ for j in allLocales:
+ aLang = j.split(";")
+ if cIsoCode.lower() == aLang[1].lower():
+ MSID = aLang[2]
+ found = True
+ break
+
+ if not found:
+ for j in allLocales:
+ aLang = j.split(";")
+ if cIsoCode.lower() == aLang[1][:2]:
+ MSID = aLang[2]
+ found = True
+ break
+
+ if found:
+ self.Norms.append(cIsoCode)
+ self.NormPaths.append(i)
+ #LanguageLabels.append(lc.getLanguageString(MSID))
+
+ self.setControlProperty(
+ "lstLetterNorm", "StringItemList", tuple(LanguageLabels))
+
+ def getCurrentLetter(self):
+ if self.myConfig.cp_LetterType == 0:
+ return self.myConfig.cp_BusinessLetter
+ elif self.myConfig.cp_LetterType == 1:
+ return self.myConfig.cp_PrivateOfficialLetter
+ elif self.myConfig.cp_LetterType == 2:
+ return self.myConfig.cp_PrivateLetter
+ else:
+ return None
+
+ def __initializePaths(self):
+ try:
+ self.sTemplatePath = \
+ FileAccess.getOfficePath2(
+ self.xMSF, "Template", "share", "/wizard")
+ self.sUserTemplatePath = \
+ FileAccess.getOfficePath2(self.xMSF, "Template", "user", "")
+ self.sBitmapPath = \
+ FileAccess.combinePaths(
+ self.xMSF, self.sTemplatePath, "/../wizard/bitmap")
+ except NoValidPathException, e:
+ traceback.print_exc()
+
+ def initializeTemplates(self, xMSF):
+ self.sCurrentNorm = self.Norms[self.getCurrentLetter().cp_Norm]
+ sLetterPath = self.NormPaths[self.getCurrentLetter().cp_Norm]
+ self.BusinessFiles = \
+ FileAccess.getFolderTitles(xMSF, "bus", sLetterPath)
+ self.OfficialFiles = \
+ FileAccess.getFolderTitles(xMSF, "off", sLetterPath)
+ self.PrivateFiles = \
+ FileAccess.getFolderTitles(xMSF, "pri", sLetterPath)
+ self.setControlProperty(
+ "lstBusinessStyle", "StringItemList",
+ tuple(self.BusinessFiles[0]))
+ self.setControlProperty(
+ "lstPrivOfficialStyle", "StringItemList",
+ tuple(self.OfficialFiles[0]))
+ self.setControlProperty(
+ "lstPrivateStyle", "StringItemList",
+ tuple(self.PrivateFiles[0]))
+ self.setControlProperty(
+ "lstBusinessStyle", "SelectedItems", (0,))
+ self.setControlProperty(
+ "lstPrivOfficialStyle", "SelectedItems", (0,))
+ self.setControlProperty(
+ "lstPrivateStyle", "SelectedItems", (0,))
+ return True
+
+ def initializeElements(self):
+ self.setControlProperty(
+ "chkUseLogo", PropertyNames.PROPERTY_ENABLED,
+ self.myLetterDoc.hasElement("Company Logo"))
+ self.setControlProperty(
+ "chkUseBendMarks", PropertyNames.PROPERTY_ENABLED,
+ self.myLetterDoc.hasElement("Bend Marks"))
+ self.setControlProperty(
+ "chkUseAddressReceiver", PropertyNames.PROPERTY_ENABLED,
+ self.myLetterDoc.hasElement("Sender Address Repeated"))
+ self.setControlProperty(
+ "chkUseSubject", PropertyNames.PROPERTY_ENABLED,
+ self.myLetterDoc.hasElement("Subject Line"))
+ self.setControlProperty(
+ "chkUseSigns", PropertyNames.PROPERTY_ENABLED,
+ self.myLetterDoc.hasElement("Letter Signs"))
+ self.myLetterDoc.updateDateFields()
+
+ def setConfiguration(self):
+ if self.optBusinessLetter.State:
+ self.optBusinessLetterItemChanged()
+
+ elif self.optPrivOfficialLetter.State:
+ self.optPrivOfficialLetterItemChanged()
+
+ elif self.optPrivateLetter.State:
+ self.optPrivateLetterItemChanged()
+
+ def setElements(self, privLetter):
+ if self.optSenderDefine.State:
+ self.optSenderDefineItemChanged()
+
+ if self.optSenderPlaceholder.State:
+ self.optSenderPlaceholderItemChanged()
+
+ self.chkUseSignsItemChanged()
+ self.chkUseSubjectItemChanged()
+ self.chkUseSalutationItemChanged()
+ self.chkUseGreetingItemChanged()
+ self.chkUseBendMarksItemChanged()
+ self.chkUseAddressReceiverItemChanged()
+ self.txtTemplateNameTextChanged()
+ if self.optReceiverDatabase.State and not privLetter:
+ self.optReceiverDatabaseItemChanged()
+
+ if self.optReceiverPlaceholder.State and not privLetter:
+ self.optReceiverPlaceholderItemChanged()
+
+ if self.optCreateLetter.State:
+ self.optCreateLetterItemChanged()
+
+ if self.optMakeChanges.State:
+ self.optMakeChangesItemChanged()
+
+ def insertRoadmap(self):
+ self.addRoadmap()
+ i = 0
+ i = self.insertRoadmapItem(
+ 0, True,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_TYPESTYLE -1],
+ LetterWizardDialogImpl.RM_TYPESTYLE)
+ i = self.insertRoadmapItem(
+ i, False,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_BUSINESSPAPER - 1],
+ LetterWizardDialogImpl.RM_BUSINESSPAPER)
+ i = self.insertRoadmapItem(
+ i, True,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_ELEMENTS - 1],
+ LetterWizardDialogImpl.RM_ELEMENTS)
+ i = self.insertRoadmapItem(
+ i, True,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_SENDERRECEIVER - 1],
+ LetterWizardDialogImpl.RM_SENDERRECEIVER)
+ i = self.insertRoadmapItem(
+ i, False,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_FOOTER -1],
+ LetterWizardDialogImpl.RM_FOOTER)
+ i = self.insertRoadmapItem(
+ i, True,
+ self.resources.RoadmapLabels[LetterWizardDialogImpl.RM_FINALSETTINGS - 1],
+ LetterWizardDialogImpl.RM_FINALSETTINGS)
+ self.setRoadmapInteractive(True)
+ self.setRoadmapComplete(True)
+ self.setCurrentRoadmapItemID(1)
+
+ def insertPathSelectionControl(self):
+ self.myPathSelection = \
+ PathSelection(self.xMSF, self, PathSelection.TransferMode.SAVE,
+ PathSelection.DialogTypes.FILE)
+ self.myPathSelection.insert(
+ 6, 97, 70, 205, 45, self.resources.reslblTemplatePath_value,
+ True, HelpIds.getHelpIdString(HID + 47),
+ HelpIds.getHelpIdString(HID + 48))
+ self.myPathSelection.sDefaultDirectory = self.sUserTemplatePath
+ self.myPathSelection.sDefaultName = "myLetterTemplate.ott"
+ self.myPathSelection.sDefaultFilter = "writer8_template"
+ self.myPathSelection.addSelectionListener(
+ self.myPathSelectionListener())
+
+ def initConfiguration(self):
+ try:
+ self.myConfig = CGLetterWizard()
+ root = Configuration.getConfigurationRoot(
+ self.xMSF, "/org.openoffice.Office.Writer/Wizards/Letter",
+ False)
+ self.myConfig.readConfiguration(root, "cp_")
+ self.mainDA.append(
+ RadioDataAware.attachRadioButtons(
+ self.myConfig, "cp_LetterType",
+ (self.optBusinessLetter, self.optPrivOfficialLetter,
+ self.optPrivateLetter), True))
+ self.mainDA.append(
+ UnoDataAware.attachListBox(
+ self.myConfig.cp_BusinessLetter, "cp_Style",
+ self.lstBusinessStyle, True))
+ self.mainDA.append(
+ UnoDataAware.attachListBox(
+ self.myConfig.cp_PrivateOfficialLetter, "cp_Style",
+ self.lstPrivOfficialStyle, True))
+ self.mainDA.append(
+ UnoDataAware.attachListBox(
+ self.myConfig.cp_PrivateLetter, "cp_Style",
+ self.lstPrivateStyle, True))
+ self.mainDA.append(
+ UnoDataAware.attachCheckBox(
+ self.myConfig.cp_BusinessLetter, "cp_BusinessPaper",
+ self.chkBusinessPaper, True))
+ cgl = self.myConfig.cp_BusinessLetter
+ cgpl = self.myConfig.cp_BusinessLetter.cp_CompanyLogo
+ cgpa = self.myConfig.cp_BusinessLetter.cp_CompanyAddress
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgpl, "cp_Display", self.chkPaperCompanyLogo, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpl, "cp_Width", self.numLogoWidth, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpl, "cp_Height", self.numLogoHeight, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpl, "cp_X", self.numLogoX, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpl, "cp_Y", self.numLogoY, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgpa, "cp_Display", self.chkPaperCompanyAddress, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpa, "cp_Width", self.numAddressWidth, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpa, "cp_Height", self.numAddressHeight, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpa, "cp_X", self.numAddressX, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgpa, "cp_Y", self.numAddressY, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PaperCompanyAddressReceiverField",
+ self.chkCompanyReceiver, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PaperFooter", self.chkPaperFooter, True))
+ self.businessDA.append(
+ UnoDataAware.attachNumericControl(
+ cgl, "cp_PaperFooterHeight", self.numFooterHeight, True))
+ self.businessDA.append(
+ UnoDataAware.attachListBox(
+ cgl, "cp_Norm", self.lstLetterNorm, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintCompanyLogo", self.chkUseLogo, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintCompanyAddressReceiverField",
+ self.chkUseAddressReceiver, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintLetterSigns", self.chkUseSigns, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintSubjectLine", self.chkUseSubject, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintSalutation", self.chkUseSalutation, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintBendMarks", self.chkUseBendMarks, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintGreeting", self.chkUseGreeting, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_PrintFooter", self.chkUseFooter, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_Salutation", self.lstSalutation, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_Greeting", self.lstGreeting, True))
+ self.letterDA.append(RadioDataAware.attachRadioButtons(
+ cgl, "cp_SenderAddressType",
+ (self.optSenderDefine, self.optSenderPlaceholder), True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_SenderCompanyName", self.txtSenderName, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_SenderStreet", self.txtSenderStreet, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_SenderPostCode", self.txtSenderPostCode, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_SenderState", self.txtSenderState, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_SenderCity", self.txtSenderCity, True))
+ self.letterDA.append(RadioDataAware.attachRadioButtons(
+ cgl, "cp_ReceiverAddressType",
+ (self.optReceiverDatabase, self.optReceiverPlaceholder),
+ True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_Footer", self.txtFooter, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_FooterOnlySecondPage",
+ self.chkFooterNextPages, True))
+ self.businessDA.append(
+ UnoDataAware.attachCheckBox(
+ cgl, "cp_FooterPageNumbers",
+ self.chkFooterPageNumbers, True))
+ self.letterDA.append(RadioDataAware.attachRadioButtons(
+ cgl, "cp_CreationType",
+ (self.optCreateLetter, self.optMakeChanges), True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_TemplateName", self.txtTemplateName, True))
+ self.businessDA.append(
+ UnoDataAware.attachEditControl(
+ cgl, "cp_TemplatePath", self.myPathSelection.xSaveTextBox, True))
+ except Exception, exception:
+ traceback.print_exc()
+
+ def updateUI(self):
+ UnoDataAware.updateUIs(self.mainDA)
+ UnoDataAware.updateUIs(self.letterDA)
+ UnoDataAware.updateUIs(self.businessDA)
+
+ def saveConfiguration(self):
+ try:
+ root = Configuration.getConfigurationRoot(self.xMSF, "/org.openoffice.Office.Writer/Wizards/Letter", True)
+ self.myConfig.writeConfiguration(root, "cp_")
+ root.commitChanges()
+ except Exception, e:
+ traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py b/wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py
new file mode 100644
index 000000000..d25c0c265
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LetterWizardDialogResources.py
@@ -0,0 +1,219 @@
+from common.Resource import Resource
+
+class LetterWizardDialogResources(Resource):
+ UNIT_NAME = "dbwizres"
+ MODULE_NAME = "dbw"
+ RID_LETTERWIZARDDIALOG_START = 3000
+ RID_LETTERWIZARDGREETING_START = 3080
+ RID_LETTERWIZARDSALUTATION_START = 3090
+ RID_LETTERWIZARDROADMAP_START = 3100
+ RID_LETTERWIZARDLANGUAGE_START = 3110
+ RID_RID_COMMON_START = 500
+
+ def __init__(self, xmsf):
+ super(LetterWizardDialogResources,self).__init__(
+ xmsf, LetterWizardDialogResources.MODULE_NAME)
+
+ self.RoadmapLabels = ()
+ self.SalutationLabels = ()
+ self.GreetingLabels = ()
+ self.LanguageLabels = ()
+ self.resLetterWizardDialog_title = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 1)
+ self.resLabel9_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 2)
+ self.resoptBusinessLetter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 3)
+ self.resoptPrivOfficialLetter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 4)
+ self.resoptPrivateLetter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 5)
+ self.reschkBusinessPaper_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 6)
+ self.reschkPaperCompanyLogo_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 7)
+ self.reschkPaperCompanyAddress_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 8)
+ self.reschkPaperFooter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 9)
+ self.reschkCompanyReceiver_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 10)
+ self.reschkUseLogo_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 11)
+ self.reschkUseAddressReceiver_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 12)
+ self.reschkUseSigns_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 13)
+ self.reschkUseSubject_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 14)
+ self.reschkUseSalutation_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 15)
+ self.reschkUseBendMarks_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 16)
+ self.reschkUseGreeting_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 17)
+ self.reschkUseFooter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 18)
+ self.resoptSenderPlaceholder_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 19)
+ self.resoptSenderDefine_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 20)
+ self.resoptReceiverPlaceholder_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 21)
+ self.resoptReceiverDatabase_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 22)
+ self.reschkFooterNextPages_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 23)
+ self.reschkFooterPageNumbers_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 24)
+ self.restxtTemplateName_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 25)
+ self.resoptCreateLetter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 26)
+ self.resoptMakeChanges_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 27)
+ self.reslblBusinessStyle_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 28)
+ self.reslblPrivOfficialStyle_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 29)
+ self.reslblPrivateStyle_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 30)
+ self.reslblIntroduction_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 31)
+ self.reslblLogoHeight_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 32)
+ self.reslblLogoWidth_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 33)
+ self.reslblLogoX_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 34)
+ self.reslblLogoY_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 35)
+ self.reslblAddressHeight_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 36)
+ self.reslblAddressWidth_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 37)
+ self.reslblAddressX_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 38)
+ self.reslblAddressY_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 39)
+ self.reslblFooterHeight_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 40)
+ self.reslblLetterNorm_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 41)
+ self.reslblSenderAddress_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 42)
+ self.reslblSenderName_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 43)
+ self.reslblSenderStreet_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 44)
+ self.reslblPostCodeCity_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 45)
+ self.reslblReceiverAddress_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 46)
+ self.reslblFooter_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 47)
+ self.reslblFinalExplanation1_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 48)
+ self.reslblFinalExplanation2_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 49)
+ self.reslblTemplateName_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 50)
+ self.reslblTemplatePath_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 51)
+ self.reslblProceed_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 52)
+ self.reslblTitle1_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 53)
+ self.reslblTitle3_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 54)
+ self.reslblTitle2_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 55)
+ self.reslblTitle4_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 56)
+ self.reslblTitle5_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 57)
+ self.reslblTitle6_value = \
+ self.getResText(
+ LetterWizardDialogResources.RID_LETTERWIZARDDIALOG_START + 58)
+ self.loadRoadmapResources()
+ self.loadSalutationResources()
+ self.loadGreetingResources()
+ self.loadCommonResources()
+
+ def loadCommonResources(self):
+ self.resOverwriteWarning = \
+ self.getResText(
+ LetterWizardDialogResources.RID_RID_COMMON_START + 19)
+ self.resTemplateDescription = \
+ self.getResText(
+ LetterWizardDialogResources.RID_RID_COMMON_START + 20)
+
+ def loadRoadmapResources(self):
+ i = 1
+ for i in xrange(6):
+ self.RoadmapLabels = self.RoadmapLabels + (self.getResText(LetterWizardDialogResources.RID_LETTERWIZARDROADMAP_START + i + 1),)
+
+ def loadSalutationResources(self):
+ for i in xrange(3):
+ self.SalutationLabels = self.SalutationLabels + (self.getResText(LetterWizardDialogResources.RID_LETTERWIZARDSALUTATION_START + i + 1),)
+
+ def loadGreetingResources(self):
+ for i in xrange(3):
+ self.GreetingLabels = self.GreetingLabels + (self.getResText(LetterWizardDialogResources.RID_LETTERWIZARDGREETING_START + i + 1),)
diff --git a/wizards/com/sun/star/wizards/letter/LocaleCodes.py b/wizards/com/sun/star/wizards/letter/LocaleCodes.py
new file mode 100644
index 000000000..ef376c575
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/LocaleCodes.py
@@ -0,0 +1,154 @@
+from common.Resource import Resource
+
+class LocaleCodes(Resource):
+ UNIT_NAME = "svtres",
+ MODULE_NAME = "svt",
+
+ def __init__(self, xmsf):
+ super(LocaleCodes, self).__init__(xmsf, LocaleCodes.MODULE_NAME)
+ #self.allLanguageStrings = self.getStringList(16633)
+
+ def getLanguageString(self, MSID):
+ LS = "unknown Language",
+ for i in self.allLanguageStrings:
+ if str(i.Value).lower() == MSID.lower():
+ LS = i.Name
+ return LS
+
+ def getIDs(self):
+ Ids = ("Afrikaans;af;1078",
+ "Albanian;sq;1052",
+ "Arabic - United Arab Emirates;ar-ae;14337",
+ "Arabic - Bahrain;ar-bh;15361",
+ "Arabic - Algeria;ar-dz;5121",
+ "Arabic - Egypt;ar-eg;3073",
+ "Arabic - Iraq;ar-iq;2049",
+ "Arabic - Jordan;ar-jo;11265",
+ "Arabic - Kuwait;ar-kw;13313",
+ "Arabic - Lebanon;ar-lb;12289",
+ "Arabic - Libya;ar-ly;4097",
+ "Arabic - Morocco;ar-ma;6145",
+ "Arabic - Oman;ar-om;8193",
+ "Arabic - Qatar;ar-qa;16385",
+ "Arabic - Saudi Arabia;ar-sa;1025",
+ "Arabic - Syria;ar-sy;10241",
+ "Arabic - Tunisia;ar-tn;7169",
+ "Arabic - Yemen;ar-ye;9217",
+ "Armenian;hy;1067",
+ "Azeri - Latin;az-az;1068",
+ "Azeri - Cyrillic;az-az;2092",
+ "Basque;eu;1069",
+ "Belarusian;be;1059",
+ "Bulgarian;bg;1026",
+ "Catalan;ca;1027",
+ "Chinese - China;zh-cn;2052",
+ "Chinese - Hong Kong SAR;zh-hk;3076",
+ "Chinese - Macau SAR;zh-mo;5124",
+ "Chinese - Singapore;zh-sg;4100",
+ "Chinese - Taiwan;zh-tw;1028",
+ "Croatian;hr;1050",
+ "Czech;cs;1029",
+ "Danish;da;1030",
+ "Dutch - The Netherlands;nl-nl;1043",
+ "Dutch - Belgium;nl-be;2067",
+ "English - Australia;en-au;3081",
+ "English - Belize;en-bz;10249",
+ "English - Canada;en-ca;4105",
+ "English - Caribbean;en-cb;9225",
+ "English - Ireland;en-ie;6153",
+ "English - Jamaica;en-jm;8201",
+ "English - New Zealand;en-nz;5129",
+ "English - Phillippines;en-ph;13321",
+ "English - South Africa;en-za;7177",
+ "English - Trinidad;en-tt;11273",
+ "English - United Kingdom;en-gb;2057",
+ "English - United States;en-us;1033",
+ "Estonian;et;1061",
+ "Farsi;fa;1065",
+ "Finnish;fi;1035",
+ "Faroese;fo;1080",
+ "French - France;fr-fr;1036",
+ "French - Belgium;fr-be;2060",
+ "French - Canada;fr-ca;3084",
+ "French - Luxembourg;fr-lu;5132",
+ "French - Switzerland;fr-ch;4108",
+ "Gaelic - Ireland;gd-ie;2108",
+ "Gaelic - Scotland;gd;1084",
+ "German - Germany;de-de;1031",
+ "German - Austria;de-at;3079",
+ "German - Liechtenstein;de-li;5127",
+ "German - Luxembourg;de-lu;4103",
+ "German - Switzerland;de-ch;2055",
+ "Greek;el;1032",
+ "Hebrew;he;1037",
+ "Hindi;hi;1081",
+ "Hungarian;hu;1038",
+ "Icelandic;is;1039",
+ "Indonesian;id;1057",
+ "Italian - Italy;it-it;1040",
+ "Italian - Switzerland;it-ch;2064",
+ "Japanese;ja;1041",
+ "Korean;ko;1042",
+ "Latvian;lv;1062",
+ "Lithuanian;lt;1063",
+ "FYRO Macedonian;mk;1071",
+ "Malay - Malaysia;ms-my;1086",
+ "Malay - Brunei;ms-bn;2110",
+ "Maltese;mt;1082",
+ "Marathi;mr;1102",
+ "Norwegian - Bokm?l;no-no;1044",
+ "Norwegian - Nynorsk;no-no;2068",
+ "Polish;pl;1045",
+ "Portuguese - Portugal;pt-pt;2070",
+ "Portuguese - Brazil;pt-br;1046",
+ "Raeto-Romance;rm;1047",
+ "Romanian - Romania;ro;1048",
+ "Romanian - Moldova;ro-mo;2072",
+ "Russian;ru;1049",
+ "Russian - Moldova;ru-mo;2073",
+ "Sanskrit;sa;1103",
+ "Serbian - Cyrillic;sr-sp;3098",
+ "Serbian - Latin;sr-sp;2074",
+ "Setsuana;tn;1074",
+ "Slovenian;sl;1060",
+ "Slovak;sk;1051",
+ "Sorbian;sb;1070",
+ "Spanish - Spain;es-es;3082",
+ "Spanish - Argentina;es-ar;11274",
+ "Spanish - Bolivia;es-bo;16394",
+ "Spanish - Chile;es-cl;13322",
+ "Spanish - Colombia;es-co;9226",
+ "Spanish - Costa Rica;es-cr;5130",
+ "Spanish - Dominican Republic;es-do;7178",
+ "Spanish - Ecuador;es-ec;12298",
+ "Spanish - Guatemala;es-gt;4106",
+ "Spanish - Honduras;es-hn;18442",
+ "Spanish - Mexico;es-mx;2058",
+ "Spanish - Nicaragua;es-ni;19466",
+ "Spanish - Panama;es-pa;6154",
+ "Spanish - Peru;es-pe;10250",
+ "Spanish - Puerto Rico;es-pr;20490",
+ "Spanish - Paraguay;es-py;15370",
+ "Spanish - El Salvador;es-sv;17418",
+ "Spanish - Uruguay;es-uy;14346",
+ "Spanish - Venezuela;es-ve;8202",
+ "Sutu;sx;1072",
+ "Swahili;sw;1089",
+ "Swedish - Sweden;sv-se;1053",
+ "Swedish - Finland;sv-fi;2077",
+ "Tamil;ta;1097",
+ "Tatar;tt;1092",
+ "Thai;th;1054",
+ "Turkish;tr;1055",
+ "Tsonga;ts;1073",
+ "Ukrainian;uk;1058",
+ "Urdu;ur;1056",
+ "Uzbek - Cyrillic;uz-uz;2115",
+ "Uzbek - Latin;uz-uz;1091",
+ "Vietnamese;vi;1066",
+ "Xhosa;xh;1076",
+ "Yiddish;yi;1085",
+ "Zulu;zu;1077",
+ "Khmer;km-kh;1107",
+ "Burmese;my-mm;1109")
+ return Ids
diff --git a/wizards/com/sun/star/wizards/letter/__init__.py b/wizards/com/sun/star/wizards/letter/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/letter/__init__.py
diff --git a/wizards/com/sun/star/wizards/text/TextDocument.py b/wizards/com/sun/star/wizards/text/TextDocument.py
new file mode 100644
index 000000000..9a4e741cb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/text/TextDocument.py
@@ -0,0 +1,285 @@
+import uno
+from common.Desktop import Desktop
+from com.sun.star.view.DocumentZoomType import ENTIRE_PAGE
+from com.sun.star.beans.PropertyState import DIRECT_VALUE
+from common.Helper import Helper
+from document.OfficeDocument import OfficeDocument
+import traceback
+from text.ViewHandler import ViewHandler
+from text.TextFieldHandler import TextFieldHandler
+from com.sun.star.container import NoSuchElementException
+from com.sun.star.lang import WrappedTargetException
+from common.Configuration import Configuration
+import time
+from datetime import date as dateTimeObject
+from com.sun.star.util import DateTime
+from com.sun.star.i18n.NumberFormatIndex import DATE_SYS_DDMMYY
+
+class TextDocument(object):
+
+ xTextDocument = None
+
+ def __init__(self, xMSF,listener=None,bShowStatusIndicator=None,
+ FrameName=None,_sPreviewURL=None,_moduleIdentifier=None,
+ _textDocument=None, xArgs=None):
+
+ self.xMSF = xMSF
+
+ if listener is not None:
+ if FrameName is not None:
+ '''creates an instance of TextDocument
+ and creates a named frame.
+ No document is actually loaded into this frame.'''
+ self.xFrame = OfficeDocument.createNewFrame(
+ xMSF, listener, FrameName)
+ return
+
+ elif _sPreviewURL is not None:
+ '''creates an instance of TextDocument by
+ loading a given URL as preview'''
+ self.xFrame = OfficeDocument.createNewFrame(xMSF, listener)
+ TextDocument.xTextDocument = self.loadAsPreview(_sPreviewURL, True)
+
+ elif xArgs is not None:
+ '''creates an instance of TextDocument
+ and creates a frame and loads a document'''
+ self.xDesktop = Desktop.getDesktop(xMSF);
+ self.xFrame = OfficeDocument.createNewFrame(xMSF, listener)
+ TextDocument.xTextDocument = OfficeDocument.load(
+ xFrame, URL, "_self", xArgs);
+ self.xWindowPeer = xFrame.getComponentWindow()
+ self.m_xDocProps = TextDocument.xTextDocument.DocumentProperties
+ CharLocale = Helper.getUnoStructValue(
+ TextDocument.xTextDocument, "CharLocale");
+ return
+
+ else:
+ '''creates an instance of TextDocument from
+ the desktop's current frame'''
+ self.xDesktop = Desktop.getDesktop(xMSF);
+ self.xFrame = self.xDesktop.getActiveFrame()
+ TextDocument.xTextDocument = self.xFrame.getController().Model
+
+ elif _moduleIdentifier is not None:
+ try:
+ '''create the empty document, and set its module identifier'''
+ TextDocument.xTextDocument = xMSF.createInstance(
+ "com.sun.star.text.TextDocument")
+ TextDocument.xTextDocument.initNew()
+ TextDocument.xTextDocument.setIdentifier(_moduleIdentifier.Identifier)
+ # load the document into a blank frame
+ xDesktop = Desktop.getDesktop(xMSF)
+ loadArgs = range(1)
+ loadArgs[0] = "Model"
+ loadArgs[0] = -1
+ loadArgs[0] = TextDocument.xTextDocument
+ loadArgs[0] = DIRECT_VALUE
+ xDesktop.loadComponentFromURL(
+ "private:object", "_blank", 0, loadArgs)
+ # remember some things for later usage
+ self.xFrame = TextDocument.xTextDocument.CurrentController.Frame
+ except Exception, e:
+ traceback.print_exc()
+
+ elif _textDocument is not None:
+ '''creates an instance of TextDocument
+ from a given XTextDocument'''
+ self.xFrame = _textDocument.CurrentController.Frame
+ TextDocument.xTextDocument = _textDocument
+ if bShowStatusIndicator:
+ self.showStatusIndicator()
+ self.init()
+
+ def init(self):
+ self.xWindowPeer = self.xFrame.getComponentWindow()
+ self.m_xDocProps = TextDocument.xTextDocument.getDocumentProperties()
+ self.CharLocale = Helper.getUnoStructValue(
+ TextDocument.xTextDocument, "CharLocale")
+ self.xText = TextDocument.xTextDocument.Text
+
+ def showStatusIndicator(self):
+ self.xProgressBar = self.xFrame.createStatusIndicator()
+ self.xProgressBar.start("", 100)
+ self.xProgressBar.setValue(5)
+
+ def loadAsPreview(self, sDefaultTemplate, asTemplate):
+ loadValues = range(3)
+ # open document in the Preview mode
+ loadValues[0] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[0].Name = "ReadOnly"
+ loadValues[0].Value = True
+ loadValues[1] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[1].Name = "AsTemplate"
+ if asTemplate:
+ loadValues[1].Value = True
+ else:
+ loadValues[1].Value = False
+
+ loadValues[2] = uno.createUnoStruct(
+ 'com.sun.star.beans.PropertyValue')
+ loadValues[2].Name = "Preview"
+ loadValues[2].Value = True
+ '''set the preview document to non-modified
+ mode in order to avoid the 'do u want to save' box'''
+ if TextDocument.xTextDocument is not None:
+ try:
+ TextDocument.xTextDocument.Modified = False
+ except PropertyVetoException, e1:
+ traceback.print_exc()
+
+ TextDocument.xTextDocument = OfficeDocument.load(
+ self.xFrame, sDefaultTemplate, "_self", loadValues)
+
+ self.DocSize = self.getPageSize()
+
+ myViewHandler = ViewHandler(TextDocument.xTextDocument, TextDocument.xTextDocument)
+ try:
+ myViewHandler.setViewSetting(
+ "ZoomType", ENTIRE_PAGE)
+ except Exception, e:
+ traceback.print_exc()
+ myFieldHandler = TextFieldHandler(self.xMSF, TextDocument.xTextDocument)
+ myFieldHandler.updateDocInfoFields()
+ return TextDocument.xTextDocument
+
+ def getPageSize(self):
+ try:
+ xNameAccess = TextDocument.xTextDocument.StyleFamilies
+ xPageStyleCollection = xNameAccess.getByName("PageStyles")
+ xPageStyle = xPageStyleCollection.getByName("First Page")
+ return Helper.getUnoPropertyValue(xPageStyle, "Size")
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ '''creates an instance of TextDocument and creates a
+ frame and loads a document'''
+
+ def createTextCursor(self, oCursorContainer):
+ xTextCursor = oCursorContainer.createTextCursor()
+ return xTextCursor
+
+ # Todo: This method is unsecure because the last index is not necessarily the last section
+ # Todo: This Routine should be modified, because I cannot rely on the last Table in the document to be the last in the TextTables sequence
+ # to make it really safe you must acquire the Tablenames before the insertion and after the insertion of the new Table. By comparing the
+ # two sequences of tablenames you can find out the tablename of the last inserted Table
+ # Todo: This method is unsecure because the last index is not necessarily the last section
+
+ def getCharWidth(self, ScaleString):
+ iScale = 200
+ TextDocument.xTextDocument.lockControllers()
+ iScaleLen = ScaleString.length()
+ xTextCursor = createTextCursor(TextDocument.xTextDocument.Text)
+ xTextCursor.gotoStart(False)
+ com.sun.star.wizards.common.Helper.setUnoPropertyValue(
+ xTextCursor, "PageDescName", "First Page")
+ xTextCursor.String = ScaleString
+ xViewCursor = TextDocument.xTextDocument.CurrentController
+ xTextViewCursor = xViewCursor.ViewCursor
+ xTextViewCursor.gotoStart(False)
+ iFirstPos = xTextViewCursor.Position.X
+ xTextViewCursor.gotoEnd(False)
+ iLastPos = xTextViewCursor.Position.X
+ iScale = (iLastPos - iFirstPos) / iScaleLen
+ xTextCursor.gotoStart(False)
+ xTextCursor.gotoEnd(True)
+ xTextCursor.String = ""
+ unlockallControllers()
+ return iScale
+
+ def unlockallControllers(self):
+ while TextDocument.xTextDocument.hasControllersLocked() == True:
+ TextDocument.xTextDocument.unlockControllers()
+
+ def refresh(self):
+ TextDocument.xTextDocument.refresh()
+
+ '''
+ This method sets the Author of a Wizard-generated template correctly
+ and adds a explanatory sentence to the template description.
+ @param WizardName The name of the Wizard.
+ @param TemplateDescription The old Description which is being
+ appended with another sentence.
+ @return void.
+ '''
+
+ def setWizardTemplateDocInfo(self, WizardName, TemplateDescription):
+ try:
+ xNA = Configuration.getConfigurationRoot(
+ self.xMSF, "/org.openoffice.UserProfile/Data", False)
+ gn = xNA.getByName("givenname")
+ sn = xNA.getByName("sn")
+ fullname = str(gn) + " " + str(sn)
+ currentDate = DateTime()
+ now = time.localtime(time.time())
+ year = time.strftime("%Y", now)
+ month = time.strftime("%m", now)
+ day = time.strftime("%d", now)
+ currentDate.Day = day
+ currentDate.Year = year
+ currentDate.Month = month
+ dateObject = dateTimeObject(int(year), int(month), int(day))
+ du = Helper.DateUtils(self.xMSF, TextDocument.xTextDocument)
+ ff = du.getFormat(DATE_SYS_DDMMYY)
+ myDate = du.format(ff, dateObject)
+ xDocProps2 = TextDocument.xTextDocument.DocumentProperties
+ xDocProps2.Author = fullname
+ xDocProps2.ModifiedBy = fullname
+ description = xDocProps2.Description
+ description = description + " " + TemplateDescription
+ description = description.replace("<wizard_name>", WizardName)
+ description = description.replace("<current_date>", myDate)
+ xDocProps2.Description = description
+ except NoSuchElementException, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+ except WrappedTargetException, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+ except Exception, e:
+ # TODO Auto-generated catch block
+ traceback.print_exc()
+
+ '''
+ removes an arbitrary Object which supports the 'XTextContent' interface
+ @param oTextContent
+ @return
+ '''
+
+ def removeTextContent(self, oTextContent):
+ try:
+ self.xText.removeTextContent(oxTextContent)
+ print "remove"
+ return True
+ except NoSuchElementException, e:
+ traceback.print_exc()
+ return False
+
+ '''
+ Apparently there is no other way to get the
+ page count of a text document other than using a cursor and
+ making it jump to the last page...
+ @param model the document model.
+ @return the page count of the document.
+ '''
+
+ def getPageCount(self, model):
+ xController = model.getCurrentController()
+ xPC = xController.getViewCursor()
+ xPC.jumpToLastPage()
+ return xPC.getPage()
+
+ @classmethod
+ def getFrameByName(self, sFrameName, xTD):
+ if xTD.TextFrames.hasByName(sFrameName):
+ return xTD.TextFrames.getByName(sFrameName)
+
+ return None
+
+ '''
+ Possible Values for "OptionString" are: "LoadCellStyles",
+ "LoadTextStyles", "LoadFrameStyles",
+ "LoadPageStyles", "LoadNumberingStyles", "OverwriteStyles"
+ '''
diff --git a/wizards/com/sun/star/wizards/text/TextFieldHandler.py b/wizards/com/sun/star/wizards/text/TextFieldHandler.py
new file mode 100644
index 000000000..97d578dd2
--- /dev/null
+++ b/wizards/com/sun/star/wizards/text/TextFieldHandler.py
@@ -0,0 +1,190 @@
+import traceback
+import time
+from com.sun.star.util import DateTime
+from common.PropertyNames import PropertyNames
+import unicodedata
+
+import inspect
+
+class TextFieldHandler(object):
+ '''
+ Creates a new instance of TextFieldHandler
+ @param xMSF
+ @param xTextDocument
+ '''
+
+ xTextFieldsSupplierAux = None
+ arrayTextFields = None
+ dictTextFields = None
+
+ def __init__(self, xMSF, xTextDocument):
+ self.xMSFDoc = xMSF
+ self.xTextFieldsSupplier = xTextDocument
+ if TextFieldHandler.xTextFieldsSupplierAux is not \
+ self.xTextFieldsSupplier:
+ self.__getTextFields()
+ TextFieldHandler.xTextFieldsSupplierAux = self.xTextFieldsSupplier
+
+ def refreshTextFields(self):
+ xUp = self.xTextFieldsSupplier.TextFields
+ xUp.refresh()
+
+ def getUserFieldContent(self, xTextCursor):
+ try:
+ xTextRange = xTextCursor.getEnd()
+ oTextField = Helper.getUnoPropertyValue(xTextRange, "TextField")
+ if com.sun.star.uno.AnyConverter.isVoid(oTextField):
+ return ""
+ else:
+ xMaster = oTextField.getTextFieldMaster()
+ UserFieldContent = xMaster.getPropertyValue("Content")
+ return UserFieldContent
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ return ""
+
+ def insertUserField(self, xTextCursor, FieldName, FieldTitle):
+ try:
+ xField = self.xMSFDoc.createInstance(
+ "com.sun.star.text.TextField.User")
+
+ if self.xTextFieldsSupplier.TextFieldMasters.hasByName(
+ "com.sun.star.text.FieldMaster.User." + FieldName):
+ oMaster = self.xTextFieldsSupplier.TextFieldMasters.getByName( \
+ "com.sun.star.text.FieldMaster.User." + FieldName)
+ oMaster.dispose()
+
+ xPSet = createUserField(FieldName, FieldTitle)
+ xField.attachTextFieldMaster(xPSet)
+ xTextCursor.getText().insertTextContent(
+ xTextCursor, xField, False)
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+
+ def createUserField(self, FieldName, FieldTitle):
+ xPSet = self.xMSFDoc.createInstance(
+ "com.sun.star.text.FieldMaster.User")
+ xPSet.setPropertyValue(PropertyNames.PROPERTY_NAME, FieldName)
+ xPSet.setPropertyValue("Content", FieldTitle)
+ return xPSet
+
+ def __getTextFields(self):
+ try:
+ if self.xTextFieldsSupplier.TextFields.hasElements():
+ TextFieldHandler.dictTextFields = {}
+ TextFieldHandler.arrayTextFields = []
+ xEnum = \
+ self.xTextFieldsSupplier.TextFields.createEnumeration()
+ while xEnum.hasMoreElements():
+ oTextField = xEnum.nextElement()
+ TextFieldHandler.arrayTextFields.append(oTextField)
+ xPropertySet = oTextField.TextFieldMaster
+ if len(xPropertySet.Name) is not 0:
+ TextFieldHandler.dictTextFields[xPropertySet.Name] = \
+ oTextField
+ except Exception, e:
+ #TODO Auto-generated catch block
+ traceback.print_exc()
+
+ def __getTextFieldsByProperty(
+ self, _PropertyName, _aPropertyValue, _TypeName):
+ try:
+ xProperty = TextFieldHandler.dictTextFields[_aPropertyValue]
+ xPropertySet = xProperty.TextFieldMaster
+ if xPropertySet.PropertySetInfo.hasPropertyByName(
+ _PropertyName):
+ oValue = xPropertySet.getPropertyValue(_PropertyName)
+ if _TypeName == "String":
+ sValue = unicodedata.normalize(
+ 'NFKD', oValue).encode('ascii','ignore')
+ if sValue == _aPropertyValue:
+ return xProperty
+ #COMMENTED
+ '''elif AnyConverter.isShort(oValue):
+ if _TypeName.equals("Short"):
+ iShortParam = (_aPropertyValue).shortValue()
+ ishortValue = AnyConverter.toShort(oValue)
+ if ishortValue == iShortParam:
+ xDependentVector.append(oTextField) '''
+ return None
+ except KeyError, e:
+ return None
+
+ def changeUserFieldContent(self, _FieldName, _FieldContent):
+ DependentTextFields = self.__getTextFieldsByProperty(
+ PropertyNames.PROPERTY_NAME, _FieldName, "String")
+ if DependentTextFields is not None:
+ DependentTextFields.TextFieldMaster.setPropertyValue("Content", _FieldContent)
+ self.refreshTextFields()
+
+ def updateDocInfoFields(self):
+ try:
+ for i in TextFieldHandler.arrayTextFields:
+ if i.supportsService(
+ "com.sun.star.text.TextField.ExtendedUser"):
+ i.update()
+
+ if i.supportsService(
+ "com.sun.star.text.TextField.User"):
+ i.update()
+
+ except Exception, e:
+ traceback.print_exc()
+
+ def updateDateFields(self):
+ try:
+ now = time.localtime(time.time())
+ dt = DateTime()
+ dt.Day = time.strftime("%d", now)
+ dt.Year = time.strftime("%Y", now)
+ dt.Month = time.strftime("%m", now)
+ dt.Month += 1
+ for i in TextFieldHandler.arrayTextFields:
+ if i.supportsService(
+ "com.sun.star.text.TextField.DateTime"):
+ i.setPropertyValue("IsFixed", False)
+ i.setPropertyValue("DateTimeValue", dt)
+
+ except Exception, e:
+ traceback.print_exc()
+
+ def fixDateFields(self, _bSetFixed):
+ try:
+ for i in TextFieldHandler.arrayTextFields:
+ if i.supportsService(
+ "com.sun.star.text.TextField.DateTime"):
+ i.setPropertyValue("IsFixed", _bSetFixed)
+
+ except Exception, e:
+ traceback.print_exc()
+
+ def removeUserFieldByContent(self, _FieldContent):
+ try:
+ xDependentTextFields = self.__getTextFieldsByProperty(
+ "Content", _FieldContent, "String")
+ if xDependentTextFields != None:
+ i = 0
+ while i < xDependentTextFields.length:
+ xDependentTextFields[i].dispose()
+ i += 1
+
+ except Exception, e:
+ traceback.print_exc()
+
+ def changeExtendedUserFieldContent(self, UserDataPart, _FieldContent):
+ try:
+ xDependentTextFields = self.__getTextFieldsByProperty(
+ "UserDataType", UserDataPart, "Short")
+ if xDependentTextFields != None:
+ i = 0
+ while i < xDependentTextFields.length:
+ xDependentTextFields[i].getTextFieldMaster().setPropertyValue(
+ "Content", _FieldContent)
+ i += 1
+
+ self.refreshTextFields()
+ except Exception, e:
+ traceback.print_exc()
+
diff --git a/wizards/com/sun/star/wizards/text/TextSectionHandler.py b/wizards/com/sun/star/wizards/text/TextSectionHandler.py
new file mode 100644
index 000000000..67eee12e2
--- /dev/null
+++ b/wizards/com/sun/star/wizards/text/TextSectionHandler.py
@@ -0,0 +1,133 @@
+import traceback
+
+class TextSectionHandler(object):
+ '''Creates a new instance of TextSectionHandler'''
+ def __init__(self, xMSF, xTextDocument):
+ self.xMSFDoc = xMSF
+ self.xTextDocument = xTextDocument
+ self.xText = xTextDocument.Text
+
+ def removeTextSectionbyName(self, SectionName):
+ try:
+ xAllTextSections = self.xTextDocument.TextSections
+ if xAllTextSections.hasByName(SectionName):
+ oTextSection = self.xTextDocument.TextSections.getByName(
+ SectionName)
+ self.removeTextSection(oTextSection)
+
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ def hasTextSectionByName(self, SectionName):
+ xAllTextSections = self.xTextDocument.TextSections
+ return xAllTextSections.hasByName(SectionName)
+
+ def removeLastTextSection(self):
+ try:
+ xAllTextSections = self.xTextDocument.TextSections
+ oTextSection = xAllTextSections.getByIndex(
+ xAllTextSections.getCount() - 1)
+ self.removeTextSection(oTextSection)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def removeTextSection(self, _oTextSection):
+ try:
+ self.xText.removeTextContent(_oTextSection)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def removeInvisibleTextSections(self):
+ try:
+ xAllTextSections = self.xTextDocument.TextSections
+ TextSectionCount = xAllTextSections.getCount()
+ i = TextSectionCount - 1
+ while i >= 0:
+ xTextContentTextSection = xAllTextSections.getByIndex(i)
+ if not bool(xTextContentTextSection.getPropertyValue("IsVisible")):
+ self.xText.removeTextContent(xTextContentTextSection)
+
+ i -= 1
+ except Exception, exception:
+ traceback.print_exc()
+
+ def removeAllTextSections(self):
+ try:
+ TextSectionCount = self.xTextDocument.TextSections.getCount()
+ i = TextSectionCount - 1
+ while i >= 0:
+ xTextContentTextSection = xAllTextSections.getByIndex(i)
+ self.xText.removeTextContent(xTextContentTextSection)
+ i -= 1
+ except Exception, exception:
+ traceback.print_exc()
+
+ def breakLinkofTextSections(self):
+ try:
+ iSectionCount = self.xTextDocument.TextSections.getCount()
+ oSectionLink = SectionFileLink.SectionFileLink()
+ oSectionLink.FileURL = ""
+ i = 0
+ while i < iSectionCount:
+ oTextSection = xAllTextSections.getByIndex(i)
+ Helper.setUnoPropertyValues(
+ oTextSection, ["FileLink", "LinkRegion"],
+ [oSectionLink, ""])
+ i += 1
+ except Exception, exception:
+ traceback.print_exc()
+
+ def breakLinkOfTextSection(self, oTextSection):
+ oSectionLink = SectionFileLink.SectionFileLink()
+ oSectionLink.FileURL = ""
+ Helper.setUnoPropertyValues(
+ oTextSection, ["FileLink", "LinkRegion"],[oSectionLink, ""])
+
+ def linkSectiontoTemplate(self, TemplateName, SectionName):
+ try:
+ oTextSection = self.xTextDocument.TextSections.getByName(
+ SectionName)
+ linkSectiontoTemplate(oTextSection, TemplateName, SectionName)
+ except Exception, e:
+ traceback.print_exc()
+
+ def linkSectiontoTemplate(self, oTextSection, TemplateName, SectionName):
+ oSectionLink = SectionFileLink.SectionFileLink()
+ oSectionLink.FileURL = TemplateName
+ Helper.setUnoPropertyValues(
+ oTextSection, ["FileLink", "LinkRegion"],
+ [oSectionLink, SectionName])
+ NewSectionName = oTextSection.getName()
+ if NewSectionName.compareTo(SectionName) != 0:
+ oTextSection.setName(SectionName)
+
+ def insertTextSection(self, GroupName, TemplateName, _bAddParagraph):
+ try:
+ if _bAddParagraph:
+ xTextCursor = self.xText.createTextCursor()
+ self.xText.insertControlCharacter(
+ xTextCursor, ControlCharacter.PARAGRAPH_BREAK, False)
+ xTextCursor.collapseToEnd()
+
+ xSecondTextCursor = self.xText.createTextCursor()
+ xSecondTextCursor.gotoEnd(False)
+ insertTextSection(GroupName, TemplateName, xSecondTextCursor)
+ except IllegalArgumentException, e:
+ traceback.print_exc()
+
+ def insertTextSection(self, sectionName, templateName, position):
+ try:
+ if self.xTextDocument.TextSections.hasByName(sectionName):
+ xTextSection = \
+ self.xTextDocument.TextSections.getByName(sectionName)
+ else:
+ xTextSection = self.xMSFDoc.createInstance(
+ "com.sun.star.text.TextSection")
+ position.getText().insertTextContent(
+ position, xTextSection, False)
+
+ linkSectiontoTemplate(xTextSection, templateName, sectionName)
+ except Exception, exception:
+ traceback.print_exc()
+
diff --git a/wizards/com/sun/star/wizards/text/ViewHandler.py b/wizards/com/sun/star/wizards/text/ViewHandler.py
new file mode 100644
index 000000000..cf5401efb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/text/ViewHandler.py
@@ -0,0 +1,37 @@
+class ViewHandler(object):
+ '''Creates a new instance of View '''
+
+ def __init__ (self, xMSF, xTextDocument):
+ self.xMSFDoc = xMSF
+ self.xTextDocument = xTextDocument
+ self.xTextViewCursorSupplier = xTextDocument.CurrentController
+
+ def selectFirstPage(self, oTextTableHandler):
+ try:
+ xPageCursor = self.xTextViewCursorSupplier.ViewCursor
+ xPageCursor.jumpToFirstPage()
+ xPageCursor.jumpToStartOfPage()
+ Helper.setUnoPropertyValue(
+ xPageCursor, "PageDescName", "First Page")
+ oPageStyles = self.xTextDocument.StyleFamilies.getByName(
+ "PageStyles")
+ oPageStyle = oPageStyles.getByName("First Page")
+ xAllTextTables = oTextTableHandler.xTextTablesSupplier.TextTables
+ xTextTable = xAllTextTables.getByIndex(0)
+ xRange = xTextTable.getAnchor().getText()
+ xPageCursor.gotoRange(xRange, False)
+ if not com.sun.star.uno.AnyConverter.isVoid(XTextRange):
+ xViewTextCursor.gotoRange(xHeaderRange, False)
+ xViewTextCursor.collapseToStart()
+ else:
+ print "No Headertext available"
+
+ except com.sun.star.uno.Exception, exception:
+ exception.printStackTrace(System.out)
+
+ def setViewSetting(self, Setting, Value):
+ self.xTextViewCursorSupplier.ViewSettings.setPropertyValue(Setting, Value)
+
+ def collapseViewCursorToStart(self):
+ xTextViewCursor = self.xTextViewCursorSupplier.ViewCursor
+ xTextViewCursor.collapseToStart()
diff --git a/wizards/com/sun/star/wizards/text/__init__.py b/wizards/com/sun/star/wizards/text/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/text/__init__.py
diff --git a/wizards/com/sun/star/wizards/ui/PathSelection.py b/wizards/com/sun/star/wizards/ui/PathSelection.py
new file mode 100644
index 000000000..2be27ac83
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/PathSelection.py
@@ -0,0 +1,121 @@
+import traceback
+from common.PropertyNames import *
+from common.FileAccess import *
+from common.SystemDialog import SystemDialog
+
+class PathSelection(object):
+
+ class DialogTypes(object):
+ FOLDER = 0
+ FILE = 1
+
+ class TransferMode(object):
+ SAVE = 0
+ LOAD = 1
+
+ def __init__(self, xMSF, CurUnoDialog, TransferMode, DialogType):
+ self.CurUnoDialog = CurUnoDialog
+ self.xMSF = xMSF
+ self.iDialogType = DialogType
+ self.iTransferMode = TransferMode
+ self.sDefaultDirectory = ""
+ self.sDefaultName = ""
+ self.sDefaultFilter = ""
+ self.usedPathPicker = False
+ self.CMDSELECTPATH = 1
+ self.TXTSAVEPATH = 1
+
+ def insert(
+ self, DialogStep, XPos, YPos, Width,
+ CurTabIndex, LabelText, Enabled, TxtHelpURL, BtnHelpURL):
+
+ self.CurUnoDialog.insertControlModel(
+ "com.sun.star.awt.UnoControlFixedTextModel", "lblSaveAs",
+ (PropertyNames.PROPERTY_ENABLED,
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (Enabled, 8, LabelText, XPos, YPos, DialogStep,
+ CurTabIndex, Width))
+ self.xSaveTextBox = self.CurUnoDialog.insertTextField(
+ "txtSavePath", "callXPathSelectionListener",
+ (PropertyNames.PROPERTY_ENABLED,
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (Enabled, 12, TxtHelpURL, XPos, YPos + 10, DialogStep,
+ (CurTabIndex + 1), Width - 26), self)
+
+ self.CurUnoDialog.setControlProperty("txtSavePath",
+ PropertyNames.PROPERTY_ENABLED, False )
+ self.CurUnoDialog.insertButton("cmdSelectPath", "triggerPathPicker",
+ (PropertyNames.PROPERTY_ENABLED,
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (Enabled, 14, BtnHelpURL, "...",XPos + Width - 16, YPos + 9,
+ DialogStep, (CurTabIndex + 2), 16), self)
+
+ def addSelectionListener(self, xAction):
+ self.xAction = xAction
+
+ def getSelectedPath(self):
+ return self.xSaveTextBox.Text
+
+ def initializePath(self):
+ try:
+ myFA = FileAccess(self.xMSF)
+ self.xSaveTextBox.setText(
+ myFA.getPath(self.sDefaultDirectory + \
+ "/" + \
+ self.sDefaultName, None))
+ except Exception, e:
+ traceback.print_exc()
+
+ def triggerPathPicker(self):
+ try:
+ if self.iTransferMode == self.TransferMode.SAVE:
+ if self.iDialogType == self.DialogTypes.FOLDER:
+ #TODO: write code for picking a folder for saving
+ return
+ elif self.iDialogType == self.DialogTypes.FILE:
+ self.usedPathPicker = True
+ myFilePickerDialog = \
+ SystemDialog.createStoreDialog(self.xMSF)
+ myFilePickerDialog.callStoreDialog(
+ self.sDefaultDirectory,
+ self.sDefaultName, self.sDefaultFilter)
+ sStorePath = myFilePickerDialog.sStorePath
+ if sStorePath is not None:
+ myFA = FileAccess(self.xMSF);
+ self.xSaveTextBox.Text = myFA.getPath(sStorePath, None)
+ self.sDefaultDirectory = \
+ FileAccess.getParentDir(sStorePath)
+ self.sDefaultName = myFA.getFilename(sStorePath)
+ return
+ elif iTransferMode == TransferMode.LOAD:
+ if iDialogType == DialogTypes.FOLDER:
+ #TODO: write code for picking a folder for loading
+ return
+ elif iDialogType == DialogTypes.FILE:
+ #TODO: write code for picking a file for loading
+ return
+ except Exception, e:
+ traceback.print_exc()
+
+ def callXPathSelectionListener(self):
+ if self.xAction != None:
+ self.xAction.validatePath()
diff --git a/wizards/com/sun/star/wizards/ui/UIConsts.py b/wizards/com/sun/star/wizards/ui/UIConsts.py
new file mode 100644
index 000000000..a975ff490
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/UIConsts.py
@@ -0,0 +1,53 @@
+RID_COMMON = 500
+RID_DB_COMMON = 1000
+RID_FORM = 2200
+RID_QUERY = 2300
+RID_REPORT = 2400
+RID_TABLE = 2500
+RID_IMG_REPORT = 1000
+RID_IMG_FORM = 1100
+RID_IMG_WEB = 1200
+INVISIBLESTEP = 99
+INFOIMAGEURL = "private:resource/dbu/image/19205"
+
+'''
+The tabindex of the navigation buttons in a wizard must be assigned a very
+high tabindex because on every step their taborder must appear at the end
+'''
+SOFIRSTWIZARDNAVITABINDEX = 30000
+
+#Steps of the QueryWizard
+
+SOFIELDSELECTIONPAGE = 1
+SOSORTINGPAGE = 2
+SOFILTERPAGE = 3
+SOAGGREGATEPAGE = 4
+SOGROUPSELECTIONPAGE = 5
+SOGROUPFILTERPAGE = 6
+SOTITLESPAGE = 7
+SOSUMMARYPAGE = 8
+
+class CONTROLTYPE():
+
+ BUTTON = 1
+ IMAGECONTROL = 2
+ LISTBOX = 3
+ COMBOBOX = 4
+ CHECKBOX = 5
+ RADIOBUTTON = 6
+ DATEFIELD = 7
+ EDITCONTROL = 8
+ FILECONTROL = 9
+ FIXEDLINE = 10
+ FIXEDTEXT = 11
+ FORMATTEDFIELD = 12
+ GROUPBOX = 13
+ HYPERTEXT = 14
+ NUMERICFIELD = 15
+ PATTERNFIELD = 16
+ PROGRESSBAR = 17
+ ROADMAP = 18
+ SCROLLBAR = 19
+ TIMEFIELD = 20
+ CURRENCYFIELD = 21
+ UNKNOWN = -1
diff --git a/wizards/com/sun/star/wizards/ui/UnoDialog.py b/wizards/com/sun/star/wizards/ui/UnoDialog.py
new file mode 100644
index 000000000..fbc1984a3
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/UnoDialog.py
@@ -0,0 +1,552 @@
+import uno
+import traceback
+from common.PropertyNames import PropertyNames
+from com.sun.star.awt import Rectangle
+from common.Helper import Helper
+from com.sun.star.awt import Rectangle
+from com.sun.star.awt.PosSize import POS
+
+class UnoDialog(object):
+
+ def __init__(self, xMSF, PropertyNames, PropertyValues):
+ try:
+ self.xMSF = xMSF
+ self.ControlList = {}
+ self.xDialogModel = xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialogModel")
+ self.xDialogModel.setPropertyValues(PropertyNames, PropertyValues)
+ self.xUnoDialog = xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialog")
+ self.xUnoDialog.setModel(self.xDialogModel)
+ self.m_oPeerConfig = None
+ self.xWindowPeer = None
+ except Exception, e:
+ traceback.print_exc()
+
+ def getControlKey(self, EventObject, ControlList):
+ xControlModel = EventObject.getModel()
+ try:
+ sName = xControlModel.getPropertyValue(
+ PropertyNames.PROPERTY_NAME)
+ iKey = ControlList.get(sName).intValue()
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ iKey = 2000
+
+ return iKey
+
+ def createPeerConfiguration(self):
+ self.m_oPeerConfig = PeerConfig(self)
+
+ def getPeerConfiguration(self):
+ if self.m_oPeerConfig == None:
+ self.createPeerConfiguration()
+ return self.m_oPeerConfig
+
+ def setControlProperty(self, ControlName, PropertyName, PropertyValue):
+ try:
+ if PropertyValue is not None:
+ if not self.xDialogModel.hasByName(ControlName):
+ return
+ xPSet = self.xDialogModel.getByName(ControlName)
+ setattr(xPSet,PropertyName, PropertyValue)
+
+ except Exception, exception:
+ traceback.print_exc()
+
+ def setControlProperties(
+ self, ControlName, PropertyNames, PropertyValues):
+ self.setControlProperty(ControlName, PropertyNames, PropertyValues)
+
+ def getControlProperty(self, ControlName, PropertyName):
+ try:
+ xPSet = self.xDialogModel.getByName(ControlName)
+ return xPSet.getPropertyValue(PropertyName)
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+
+ def printControlProperties(self, ControlName):
+ try:
+ xControlModel = self.xDialogModel().getByName(ControlName)
+ allProps = xControlModel.PropertySetInfo.Properties
+ i = 0
+ while i < allProps.length:
+ sName = allProps[i].Name
+ i += 1
+ except Exception, exception:
+ traceback.print_exc()
+
+ def getMAPConversionFactor(self, ControlName):
+ xControl2 = self.xUnoDialog.getControl(ControlName)
+ aSize = xControl2.Size
+ dblMAPWidth = Helper.getUnoPropertyValue(xControl2.Model,
+ int(PropertyNames.PROPERTY_WIDTH))
+ return (aSize.Width / dblMAPWidth)
+
+ def getpreferredLabelSize(self, LabelName, sLabel):
+ xControl2 = self.xUnoDialog.getControl(LabelName)
+ OldText = xControl2.Text
+ xControl2.setText(sLabel)
+ aSize = xControl2.PreferredSize
+ xControl2.setText(OldText)
+ return aSize
+
+ def removeSelectedItems(self, xListBox):
+ SelList = xListBox.SelectedItemsPos
+ Sellen = SelList.length
+ i = Sellen - 1
+ while i >= 0:
+ xListBox.removeItems(SelList[i], 1)
+ i -= 1
+
+ def getListBoxItemCount(self, _xListBox):
+ # This function may look ugly, but this is the only way to check
+ # the count of values in the model,which is always right.
+ # the control is only a view and could be right or not.
+ fieldnames = Helper.getUnoPropertyValue(getModel(_xListBox),
+ "StringItemList")
+ return fieldnames.length
+
+ def getSelectedItemPos(self, _xListBox):
+ ipos = Helper.getUnoPropertyValue(getModel(_xListBox),
+ "SelectedItems")
+ return ipos[0]
+
+ def isListBoxSelected(self, _xListBox):
+ ipos = Helper.getUnoPropertyValue(getModel(_xListBox),
+ "SelectedItems")
+ return ipos.length > 0
+
+ def addSingleItemtoListbox(self, xListBox, ListItem, iSelIndex):
+ xListBox.addItem(ListItem, xListBox.getItemCount())
+ if iSelIndex != -1:
+ xListBox.selectItemPos(iSelIndex, True)
+
+ def insertLabel(self, sName, sPropNames, oPropValues):
+ try:
+ oFixedText = self.insertControlModel(
+ "com.sun.star.awt.UnoControlFixedTextModel",
+ sName, sPropNames, oPropValues)
+ oFixedText.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ oLabel = self.xUnoDialog.getControl(sName)
+ return oLabel
+ except Exception, ex:
+ traceback.print_exc()
+ return None
+
+ def insertButton(
+ self, sName, iControlKey, xActionListener, sProperties, sValues):
+ oButtonModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlButtonModel",
+ sName, sProperties, sValues)
+ xPSet.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xButton = self.xUnoDialog.getControl(sName)
+ if xActionListener != None:
+ xButton.addActionListener(
+ ActionListenerProcAdapter(xActionListener))
+
+ ControlKey = iControlKey
+ if self.ControlList != None:
+ self.ControlList.put(sName, ControlKey)
+
+ return xButton
+
+ def insertCheckBox(
+ self, sName, iControlKey, xItemListener, sProperties, sValues):
+ oButtonModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlCheckBoxModel",
+ sName, sProperties, sValues)
+ oButtonModel.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xCheckBox = self.xUnoDialog.getControl(sName)
+ if xItemListener != None:
+ xCheckBox.addItemListener(
+ ItemListenerProcAdapter(xItemListener))
+
+ ControlKey = iControlKey
+ if self.ControlList != None:
+ self.ControlList.put(sName, ControlKey)
+
+ def insertNumericField(
+ self, sName, iControlKey, xTextListener, sProperties, sValues):
+ oNumericFieldModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlNumericFieldModel",
+ sName, sProperties, sValues)
+ oNumericFieldModel.setPropertyValue(
+ PropertyNames.PROPERTY_NAME, sName)
+ xNumericField = self.xUnoDialog.getControl(sName)
+ if xTextListener != None:
+ xNumericField.addTextListener(
+ TextListenerProcAdapter(xTextListener))
+
+ ControlKey = iControlKey
+ if self.ControlList != None:
+ self.ControlList.put(sName, ControlKey)
+
+ def insertScrollBar(
+ self, sName, iControlKey, xAdjustmentListener, sProperties, sValues):
+ try:
+ oScrollModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlScrollBarModel",
+ sName, sProperties, sValues)
+ oScrollModel.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xScrollBar = self.xUnoDialog.getControl(sName)
+ if xAdjustmentListener != None:
+ xScrollBar.addAdjustmentListener(xAdjustmentListener)
+
+ ControlKey = iControlKey
+ if self.ControlList != None:
+ self.ControlList.put(sName, ControlKey)
+
+ return xScrollBar
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def insertTextField(
+ self, sName, iControlKey, xTextListener, sProperties, sValues):
+ xTextBox = insertEditField(
+ "com.sun.star.awt.UnoControlEditModel", sName, iControlKey,
+ xTextListener, sProperties, sValues)
+ return xTextBox
+
+ def insertFormattedField(
+ self, sName, iControlKey, xTextListener, sProperties, sValues):
+ xTextBox = insertEditField(
+ "com.sun.star.awt.UnoControlFormattedFieldModel", sName,
+ iControlKey, xTextListener, sProperties, sValues)
+ return xTextBox
+
+ def insertEditField(
+ self, ServiceName, sName, iControlKey,
+ xTextListener, sProperties, sValues):
+
+ try:
+ xTextModel = self.insertControlModel(
+ ServiceName, sName, sProperties, sValues)
+ xTextModel.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xTextBox = self.xUnoDialog.getControl(sName)
+ if xTextListener != None:
+ xTextBox.addTextListener(TextListenerProcAdapter(xTextListener))
+
+ ControlKey = iControlKey
+ self.ControlList.put(sName, ControlKey)
+ return xTextBox
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def insertListBox(
+ self, sName, iControlKey, xActionListener,
+ xItemListener, sProperties, sValues):
+ xListBoxModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlListBoxModel",
+ sName, sProperties, sValues)
+ xListBoxModel.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xListBox = self.xUnoDialog.getControl(sName)
+ if xItemListener != None:
+ xListBox.addItemListener(ItemListenerProcAdapter(xItemListener))
+
+ if xActionListener != None:
+ xListBox.addActionListener(
+ ActionListenerProcAdapter(xActionListener))
+
+ ControlKey = iControlKey
+ self.ControlList.put(sName, ControlKey)
+ return xListBox
+
+ def insertComboBox(
+ self, sName, iControlKey, xActionListener, xTextListener,
+ xItemListener, sProperties, sValues):
+ xComboBoxModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlComboBoxModel",
+ sName, sProperties, sValues)
+ xComboBoxModel.setPropertyValue(PropertyNames.PROPERTY_NAME, sName)
+ xComboBox = self.xUnoDialog.getControl(sName)
+ if xItemListener != None:
+ xComboBox.addItemListener(ItemListenerProcAdapter(xItemListener))
+
+ if xTextListener != None:
+ xComboBox.addTextListener(TextListenerProcAdapter(xTextListener))
+
+ if xActionListener != None:
+ xComboBox.addActionListener(
+ ActionListenerProcAdapter(xActionListener))
+
+ ControlKey = iControlKey
+ self.ControlList.put(sName, ControlKey)
+ return xComboBox
+
+ def insertRadioButton(
+ self, sName, iControlKey, xItemListener, sProperties, sValues):
+ try:
+ xRadioButton = insertRadioButton(
+ sName, iControlKey, sProperties, sValues)
+ if xItemListener != None:
+ xRadioButton.addItemListener(
+ ItemListenerProcAdapter(xItemListener))
+
+ return xRadioButton
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def insertRadioButton(
+ self, sName, iControlKey, xActionListener, sProperties, sValues):
+ try:
+ xButton = insertRadioButton(
+ sName, iControlKey, sProperties, sValues)
+ if xActionListener != None:
+ xButton.addActionListener(
+ ActionListenerProcAdapter(xActionListener))
+
+ return xButton
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def insertRadioButton(self, sName, iControlKey, sProperties, sValues):
+ xRadioButton = insertRadioButton(sName, sProperties, sValues)
+ ControlKey = iControlKey
+ self.ControlList.put(sName, ControlKey)
+ return xRadioButton
+
+ def insertRadioButton(self, sName, sProperties, sValues):
+ try:
+ oRadioButtonModel = self.insertControlModel(
+ "com.sun.star.awt.UnoControlRadioButtonModel",
+ sName, sProperties, sValues)
+ oRadioButtonModel.setPropertyValue(
+ PropertyNames.PROPERTY_NAME, sName)
+ xRadioButton = self.xUnoDialog.getControl(sName)
+ return xRadioButton
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+ return None
+ '''
+ The problem with setting the visibility of controls
+ is that changing the current step of a dialog will automatically
+ make all controls visible. The PropertyNames.PROPERTY_STEP property
+ always wins against the property "visible". Therfor a control meant
+ to be invisible is placed on a step far far away.
+ @param the name of the control
+ @param iStep change the step if you want to make the control invisible
+ '''
+
+ def setControlVisible(self, controlname, iStep):
+ try:
+ iCurStep = int(getControlProperty(
+ controlname, PropertyNames.PROPERTY_STEP))
+ setControlProperty(
+ controlname, PropertyNames.PROPERTY_STEP, iStep)
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+
+ '''
+ The problem with setting the visibility of controls is that
+ changing the current step of a dialog will automatically make
+ all controls visible. The PropertyNames.PROPERTY_STEP property
+ always wins against the property "visible".
+ Therfor a control meant to be invisible is placed on a step far far away.
+ Afterwards the step property of the dialog has to be set with
+ "repaintDialogStep". As the performance of that method is very bad it
+ should be used only once for all controls
+ @param controlname the name of the control
+ @param bIsVisible sets the control visible or invisible
+ '''
+
+ def setControlVisible(self, controlname, bIsVisible):
+ try:
+ iCurControlStep = int(getControlProperty(
+ controlname, PropertyNames.PROPERTY_STEP))
+ iCurDialogStep = int(Helper.getUnoPropertyValue(
+ self.xDialogModel, PropertyNames.PROPERTY_STEP))
+ if bIsVisible:
+ setControlProperty(
+ controlname, PropertyNames.PROPERTY_STEP, iCurDialogStep)
+ else:
+ setControlProperty(
+ controlname, PropertyNames.PROPERTY_STEP,
+ UIConsts.INVISIBLESTEP)
+
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+
+ # repaints the currentDialogStep
+
+
+ def repaintDialogStep(self):
+ try:
+ ncurstep = int(Helper.getUnoPropertyValue(
+ self.xDialogModel, PropertyNames.PROPERTY_STEP))
+ Helper.setUnoPropertyValue(
+ self.xDialogModel, PropertyNames.PROPERTY_STEP, 99)
+ Helper.setUnoPropertyValue(
+ self.xDialogModel, PropertyNames.PROPERTY_STEP, ncurstep)
+ except com.sun.star.uno.Exception, exception:
+ traceback.print_exc()
+
+ def insertControlModel(self, ServiceName, sName, sProperties, sValues):
+ try:
+ xControlModel = self.xDialogModel.createInstance(ServiceName)
+ Helper.setUnoPropertyValues(xControlModel, sProperties, sValues)
+ self.xDialogModel.insertByName(sName, xControlModel)
+ return xControlModel
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def setFocus(self, ControlName):
+ oFocusControl = self.xUnoDialog.getControl(ControlName)
+ oFocusControl.setFocus()
+
+ def combineListboxList(self, sFirstEntry, MainList):
+ try:
+ FirstList = [sFirstEntry]
+ ResultList = [MainList.length + 1]
+ System.arraycopy(FirstList, 0, ResultList, 0, 1)
+ System.arraycopy(MainList, 0, ResultList, 1, len(MainList))
+ return ResultList
+ except java.lang.Exception, jexception:
+ traceback.print_exc()
+ return None
+
+ def selectListBoxItem(self, xListBox, iFieldsSelIndex):
+ if iFieldsSelIndex > -1:
+ FieldCount = xListBox.getItemCount()
+ if FieldCount > 0:
+ if iFieldsSelIndex < FieldCount:
+ xListBox.selectItemPos(iFieldsSelIndex, True)
+ else:
+ xListBox.selectItemPos((short)(iFieldsSelIndex - 1), True)
+
+ # deselects a Listbox. MultipleMode is not supported
+
+ def deselectListBox(self, _xBasisListBox):
+ oListBoxModel = getModel(_xBasisListBox)
+ sList = Helper.getUnoPropertyValue(oListBoxModel, "StringItemList")
+ Helper.setUnoPropertyValue(oListBoxModel, "StringItemList", [[],[]])
+ Helper.setUnoPropertyValue(oListBoxModel, "StringItemList", sList)
+
+ def calculateDialogPosition(self, FramePosSize):
+ # Todo:check if it would be useful or possible to create a dialog peer
+ # that can be used for the messageboxes to
+ # maintain modality when they pop up.
+ CurPosSize = self.xUnoDialog.getPosSize()
+ WindowHeight = FramePosSize.Height
+ WindowWidth = FramePosSize.Width
+ DialogWidth = CurPosSize.Width
+ DialogHeight = CurPosSize.Height
+ iXPos = ((WindowWidth / 2) - (DialogWidth / 2))
+ iYPos = ((WindowHeight / 2) - (DialogHeight / 2))
+ self.xUnoDialog.setPosSize(
+ iXPos, iYPos, DialogWidth, DialogHeight, POS)
+
+ '''
+ @param FramePosSize
+ @return 0 for cancel, 1 for ok
+ @throws com.sun.star.uno.Exception
+ '''
+
+ def executeDialog(self, FramePosSize):
+ if self.xUnoDialog.getPeer() == None:
+ raise AttributeError(
+ "Please create a peer, using your own frame");
+
+ self.calculateDialogPosition(FramePosSize)
+
+ if self.xWindowPeer == None:
+ self.createWindowPeer()
+ return self.xUnoDialog.execute()
+
+ def setVisible(self, parent):
+ self.calculateDialogPosition(parent.xWindow.getPosSize())
+ if self.xWindowPeer == None:
+ self.createWindowPeer()
+
+ self.xUnoDialog.setVisible(True)
+
+ '''
+ @param parent
+ @return 0 for cancel, 1 for ok
+ @throws com.sun.star.uno.Exception
+ '''
+
+ def executeDialogFromParent(self, parent):
+ return self.executeDialog(parent.xWindow.PosSize)
+
+ '''
+ @param XComponent
+ @return 0 for cancel, 1 for ok
+ @throws com.sun.star.uno.Exception
+ '''
+
+ def executeDialogFromComponent(self, xComponent):
+ if xComponent is not None:
+ w = xComponent.ComponentWindow
+ if w is not None:
+ return self.executeDialog(w.PosSize)
+
+ return self.executeDialog( Rectangle (0, 0, 640, 400))
+
+ def setAutoMnemonic(self, ControlName, bValue):
+ self.xUnoDialog = self.xUnoDialog.getControl(ControlName)
+ xVclWindowPedsfer = self.xUnoDialog.getPeer()
+ self.xContainerWindow.setProperty("AutoMnemonics", bValue)
+
+ def modifyFontWeight(self, ControlName, FontWeight):
+ oFontDesc = FontDescriptor.FontDescriptor()
+ oFontDesc.Weight = FontWeight
+ setControlProperty(ControlName, "FontDescriptor", oFontDesc)
+
+ '''
+ create a peer for this
+ dialog, using the given
+ peer as a parent.
+ @param parentPeer
+ @return
+ @throws java.lang.Exception
+ '''
+
+ def createWindowPeer(self, parentPeer=None):
+ self.xUnoDialog.setVisible(False)
+ xToolkit = self.xMSF.createInstance("com.sun.star.awt.Toolkit")
+ if parentPeer == None:
+ parentPeer = xToolkit.getDesktopWindow()
+
+ self.xUnoDialog.createPeer(xToolkit, parentPeer)
+ self.xWindowPeer = self.xUnoDialog.getPeer()
+ return self.xUnoDialog.getPeer()
+
+ # deletes the first entry when this is equal to "DelEntryName"
+ # returns true when a new item is selected
+
+ def deletefirstListboxEntry(self, ListBoxName, DelEntryName):
+ xListBox = self.xUnoDialog.getControl(ListBoxName)
+ FirstItem = xListBox.getItem(0)
+ if FirstItem.equals(DelEntryName):
+ SelPos = xListBox.getSelectedItemPos()
+ xListBox.removeItems(0, 1)
+ if SelPos > 0:
+ setControlProperty(ListBoxName, "SelectedItems", [SelPos])
+ xListBox.selectItemPos((short)(SelPos - 1), True)
+
+ def setPeerProperty(self, ControlName, PropertyName, PropertyValue):
+ xControl = self.xUnoDialog.getControl(ControlName)
+ xVclWindowPeer = self.xControl.getPeer()
+ self.xContainerWindow.setProperty(PropertyName, PropertyValue)
+
+ @classmethod
+ def setEnabled(self, control, enabled):
+ Helper.setUnoPropertyValue(
+ getModel(control), PropertyNames.PROPERTY_ENABLED, enabled)
+
+ def addResourceHandler(self, _Unit, _Module):
+ self.m_oResource = Resource(self.xMSF, _Unit, _Module)
+
+ def setInitialTabindex(self, _istep):
+ return (short)(_istep * 100)
+
+ def getListBoxLineCount(self):
+ return 20
diff --git a/wizards/com/sun/star/wizards/ui/UnoDialog2.py b/wizards/com/sun/star/wizards/ui/UnoDialog2.py
new file mode 100644
index 000000000..0bf868687
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/UnoDialog2.py
@@ -0,0 +1,259 @@
+from UnoDialog import *
+from ui.event.CommonListener import *
+from common.Desktop import Desktop
+import UIConsts
+
+'''
+This class contains convenience methods for inserting components to a dialog.
+It was created for use with the automatic conversion of Basic XML Dialog
+description files to a Java class which builds
+the same dialog through the UNO API.<br/>
+It uses an Event-Listener method, which calls a method through reflection
+wenn an event on a component is trigered.
+see the classes CommonListener for details
+'''
+
+class UnoDialog2(UnoDialog):
+
+ '''
+ Override this method to return another listener.
+ @return
+ '''
+
+ def __init__(self, xmsf):
+ super(UnoDialog2,self).__init__(xmsf,(), ())
+
+ def insertButton(
+ self, sName, actionPerformed, sPropNames, oPropValues, listener):
+ xButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlButtonModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xButton.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ return xButton
+
+ def insertImageButton(
+ self, sName, actionPerformed, sPropNames, oPropValues, listener):
+ xButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlButtonModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xButton.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ return xButton
+
+ def insertCheckBox(
+ self, sName, itemChanged, sPropNames, oPropValues, listener):
+ xCheckBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlCheckBoxModel",
+ sName, sPropNames, oPropValues)
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xCheckBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ return xCheckBox
+
+ def insertComboBox(
+ self, sName, actionPerformed, itemChanged,
+ textChanged, sPropNames, oPropValues, listener):
+ xComboBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlComboBoxModel",
+ sName, sPropNames, oPropValues)
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xComboBox.addActionListener(
+ ActionListenerProcAdapter(actionPerformed))
+
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xComboBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ if textChanged is not None:
+ textChanged = getattr(listener, textChanged)
+ xComboBox.addTextListener(TextListenerProcAdapter(textChanged))
+
+ return xComboBox
+
+ def insertListBox(
+ self, sName, actionPerformed, itemChanged,
+ sPropNames, oPropValues, listener):
+ xListBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlListBoxModel",
+ sName, sPropNames, oPropValues)
+
+ if actionPerformed is not None:
+ actionPerformed = getattr(listener, actionPerformed)
+ xListBox.addActionListener(actionPerformed)
+
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xListBox.addItemListener(ItemListenerProcAdapter(itemChanged))
+
+ return xListBox
+
+ def insertRadioButton(
+ self, sName, itemChanged, sPropNames, oPropValues, listener):
+ xRadioButton = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlRadioButtonModel",
+ sName, sPropNames, oPropValues)
+ if itemChanged is not None:
+ itemChanged = getattr(listener, itemChanged)
+ xRadioButton.addItemListener(
+ ItemListenerProcAdapter(itemChanged))
+
+
+ return xRadioButton
+
+ def insertTitledBox(self, sName, sPropNames, oPropValues):
+ oTitledBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlGroupBoxModel",
+ sName, sPropNames, oPropValues)
+ return oTitledBox
+
+ def insertTextField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged, "com.sun.star.awt.UnoControlEditModel",
+ sPropNames, oPropValues, listener)
+
+ def insertImage(self, sName, sPropNames, oPropValues):
+ return self.insertControlModel2(
+ "com.sun.star.awt.UnoControlImageControlModel",
+ sName, sPropNames, oPropValues)
+
+ def insertInfoImage(self, _posx, _posy, _iStep):
+ xImgControl = self.insertImage(
+ Desktop.getUniqueName(self.xDialogModel, "imgHint"),
+ ("Border",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_IMAGEURL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y, "ScaleImage",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_WIDTH),
+ (0, 10, UIConsts.INFOIMAGEURL, _posx, _posy, False, _iStep, 10))
+ return xImgControl
+
+ '''
+ This method is used for creating Edit, Currency, Date, Formatted,
+ Pattern, File and Time edit components.
+ '''
+
+ def insertEditField(
+ self, sName, sTextChanged, sModelClass,
+ sPropNames, oPropValues, listener):
+ xField = self.insertControlModel2(sModelClass,
+ sName, sPropNames, oPropValues)
+ if sTextChanged is not None:
+ sTextChanged = getattr(listener, sTextChanged)
+ xField.addTextListener(TextListenerProcAdapter(sTextChanged))
+
+ return xField
+
+ def insertFileControl(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(sName, sTextChanged,
+ "com.sun.star.awt.UnoControlFileControlModel",
+ sPropNames, oPropValues, listener)
+
+ def insertCurrencyField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlCurrencyFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertDateField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlDateFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertNumericField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlNumericFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertTimeField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlTimeFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertPatternField(
+ self, sName, sTextChanged, oPropValues, listener):
+ return self.insertEditField(sName, sTextChanged,
+ "com.sun.star.awt.UnoControlPatternFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertFormattedField(
+ self, sName, sTextChanged, sPropNames, oPropValues, listener):
+ return self.insertEditField(
+ sName, sTextChanged,
+ "com.sun.star.awt.UnoControlFormattedFieldModel",
+ sPropNames, oPropValues, listener)
+
+ def insertFixedLine(self, sName, sPropNames, oPropValues):
+ oLine = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlFixedLineModel",
+ sName, sPropNames, oPropValues)
+ return oLine
+
+ def insertScrollBar(self, sName, sPropNames, oPropValues):
+ oScrollBar = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlScrollBarModel",
+ sName, sPropNames, oPropValues)
+ return oScrollBar
+
+ def insertProgressBar(self, sName, sPropNames, oPropValues):
+ oProgressBar = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlProgressBarModel",
+ sName, sPropNames, oPropValues)
+ return oProgressBar
+
+ def insertGroupBox(self, sName, sPropNames, oPropValues):
+ oGroupBox = self.insertControlModel2(
+ "com.sun.star.awt.UnoControlGroupBoxModel",
+ sName, sPropNames, oPropValues)
+ return oGroupBox
+
+ def insertControlModel2(
+ self, serviceName, componentName, sPropNames, oPropValues):
+ try:
+ xControlModel = self.insertControlModel(
+ serviceName, componentName, (), ())
+ Helper.setUnoPropertyValues(
+ xControlModel, sPropNames, oPropValues)
+ Helper.setUnoPropertyValue(xControlModel,
+ PropertyNames.PROPERTY_NAME, componentName)
+ except Exception, ex:
+ traceback.print_exc()
+
+ aObj = self.xUnoDialog.getControl(componentName)
+ return aObj
+
+ def setControlPropertiesDebug(self, model, names, values):
+ i = 0
+ while i < len(names):
+ print " Settings: ", names[i]
+ Helper.setUnoPropertyValue(model, names[i], values[i])
+ i += 1
+
+ def getControlModel(self, unoControl):
+ obj = unoControl.Model
+ return obj
+
+ def showMessageBox(self, windowServiceName, windowAttribute, MessageText):
+ return SystemDialog.showMessageBox(
+ xMSF, self.xControl.Peer,
+ windowServiceName, windowAttribute, MessageText)
+
diff --git a/wizards/com/sun/star/wizards/ui/WizardDialog.py b/wizards/com/sun/star/wizards/ui/WizardDialog.py
new file mode 100644
index 000000000..ee0f7c626
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/WizardDialog.py
@@ -0,0 +1,499 @@
+from UnoDialog2 import *
+from common.Resource import Resource
+from abc import ABCMeta, abstractmethod
+from com.sun.star.lang import NoSuchMethodException
+from com.sun.star.lang import IllegalArgumentException
+from com.sun.star.frame import TerminationVetoException
+from common.HelpIds import *
+from com.sun.star.awt.PushButtonType import HELP, STANDARD
+from ui.XPathSelectionListener import XPathSelectionListener
+
+class WizardDialog(UnoDialog2):
+
+ __metaclass__ = ABCMeta
+
+ __NEXT_ACTION_PERFORMED = "gotoNextAvailableStep"
+ __BACK_ACTION_PERFORMED = "gotoPreviousAvailableStep"
+ __FINISH_ACTION_PERFORMED = "finishWizard_1"
+ __CANCEL_ACTION_PERFORMED = "cancelWizard_1"
+ __HELP_ACTION_PERFORMED = None
+
+ '''
+ Creates a new instance of WizardDialog
+ the hid is used as following :
+ "HID:(hid)" - the dialog
+ "HID:(hid+1) - the help button
+ "HID:(hid+2)" - the back button
+ "HID:(hid+3)" - the next button
+ "HID:(hid+4)" - the create button
+ "HID:(hid+5)" - the cancel button
+ @param xMSF
+ @param hid_
+ '''
+
+ def __init__(self, xMSF, hid_):
+ super(WizardDialog,self).__init__(xMSF)
+ self.__hid = hid_
+ self.__iButtonWidth = 50
+ self.nNewStep = 1
+ self.nOldStep = 1
+ self.nMaxStep = 1
+ self.__bTerminateListenermustberemoved = True
+ self.__oWizardResource = Resource(xMSF, "dbw")
+ self.sMsgEndAutopilot = self.__oWizardResource.getResText(
+ UIConsts.RID_DB_COMMON + 33)
+ self.oRoadmap = None
+ #self.vetos = VetoableChangeSupport.VetoableChangeSupport_unknown(this)
+
+ def getResource(self):
+ return self.__oWizardResource
+
+ def itemStateChanged(self, itemEvent):
+ try:
+ self.nNewStep = itemEvent.ItemId
+ self.nOldStep = int(Helper.getUnoPropertyValue(
+ self.xDialogModel,
+ PropertyNames.PROPERTY_STEP))
+ if self.nNewStep != self.nOldStep:
+ self.switchToStep()
+
+ except IllegalArgumentException, exception:
+ traceback.print_exc()
+
+ def setRoadmapInteractive(self, _bInteractive):
+ Helper.setUnoPropertyValue(self.oRoadmap, "Activated", _bInteractive)
+
+ def setRoadmapComplete(self, bComplete):
+ Helper.setUnoPropertyValue(self.oRoadmap, "Complete", bComplete)
+
+ def isRoadmapComplete(self):
+ try:
+ return bool(Helper.getUnoPropertyValue(self.oRoadmap, "Complete"))
+ except IllegalArgumentException, exception:
+ traceback.print_exc()
+ return False
+
+ def setCurrentRoadmapItemID(self, ID):
+ if self.oRoadmap != None:
+ nCurItemID = self.getCurrentRoadmapItemID()
+ if nCurItemID != ID:
+ Helper.setUnoPropertyValue(self.oRoadmap, "CurrentItemID",ID)
+
+ def getCurrentRoadmapItemID(self):
+ try:
+ return int(Helper.getUnoPropertyValue(
+ self.oRoadmap, "CurrentItemID"))
+ except Exception, exception:
+ traceback.print_exc()
+ return -1
+
+ def addRoadmap(self):
+ try:
+ iDialogHeight = Helper.getUnoPropertyValue(
+ self.xDialogModel,
+ PropertyNames.PROPERTY_HEIGHT)
+ # the roadmap control has got no real TabIndex ever
+ # that is not correct, but changing this would need time,
+ # so it is used without TabIndex as before
+ self.oRoadmap = self.insertControlModel(
+ "com.sun.star.awt.UnoControlRoadmapModel",
+ "rdmNavi",
+ (PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX, "Tabstop",
+ PropertyNames.PROPERTY_WIDTH),
+ ((iDialogHeight - 26), 0, 0, 0,
+ 0, True, 85))
+ self.oRoadmap.setPropertyValue(
+ PropertyNames.PROPERTY_NAME, "rdmNavi")
+
+ self.xRoadmapControl = self.xUnoDialog.getControl("rdmNavi")
+ method = getattr(self, "itemStateChanged")
+ self.xRoadmapControl.addItemListener(
+ ItemListenerProcAdapter(method))
+
+ Helper.setUnoPropertyValue(
+ self.oRoadmap, "Text",
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 16))
+ except NoSuchMethodException, ex:
+ Resource.showCommonResourceError(xMSF)
+ except Exception, jexception:
+ traceback.print_exc()
+
+ def setRMItemLabels(self, _oResource, StartResID):
+ self.sRMItemLabels = _oResource.getResArray(
+ StartResID, self.nMaxStep)
+
+ def getRMItemLabels(self):
+ return self.sRMItemLabels
+
+ def insertRoadmapItem(self, Index, _bEnabled, _sLabel, _CurItemID):
+ try:
+ if isinstance(_sLabel, int):
+ _sLabel = self.sRMItemLabels(_sLabel)
+ oRoadmapItem = self.oRoadmap.createInstance()
+ Helper.setUnoPropertyValue(oRoadmapItem,
+ PropertyNames.PROPERTY_LABEL, _sLabel)
+ Helper.setUnoPropertyValue(oRoadmapItem,
+ PropertyNames.PROPERTY_ENABLED, _bEnabled)
+ Helper.setUnoPropertyValue(oRoadmapItem, "ID", _CurItemID)
+ self.oRoadmap.insertByIndex(Index, oRoadmapItem)
+ NextIndex = Index + 1
+ return NextIndex
+ except Exception, exception:
+ traceback.print_exc()
+ return -1
+
+ def getRMItemCount(self):
+ return self.oRoadmap.Count
+
+ def getRoadmapItemByID(self, _ID):
+ try:
+ getByIndex = self.oRoadmap.getByIndex
+ for i in xrange(self.oRoadmap.Count):
+ CurRoadmapItem = getByIndex(i)
+ CurID = int(Helper.getUnoPropertyValue(CurRoadmapItem, "ID"))
+ if CurID == _ID:
+ return CurRoadmapItem
+
+ return None
+ except Exception, exception:
+ traceback.print_exc()
+ return None
+
+ def switchToStep(self,_nOldStep=None, _nNewStep=None):
+ if _nOldStep is not None and _nNewStep is not None:
+ self.nOldStep = _nOldStep
+ self.nNewStep = _nNewStep
+
+ self.leaveStep(self.nOldStep, self.nNewStep)
+ if self.nNewStep != self.nOldStep:
+ if self.nNewStep == self.nMaxStep:
+ self.setControlProperty(
+ "btnWizardNext", "DefaultButton", False)
+ self.setControlProperty(
+ "btnWizardFinish", "DefaultButton", True)
+ else:
+ self.setControlProperty(
+ "btnWizardNext", "DefaultButton", True)
+ self.setControlProperty(
+ "btnWizardFinish", "DefaultButton", False)
+
+ self.changeToStep(self.nNewStep)
+ self.enterStep(self.nOldStep, self.nNewStep)
+ return True
+
+ return False
+
+ @abstractmethod
+ def leaveStep(self, nOldStep, nNewStep):
+ pass
+
+ @abstractmethod
+ def enterStep(self, nOldStep, nNewStep):
+ pass
+
+ def changeToStep(self, nNewStep):
+ Helper.setUnoPropertyValue(self.xDialogModel,
+ PropertyNames.PROPERTY_STEP, nNewStep)
+ self.setCurrentRoadmapItemID(nNewStep)
+ self.enableNextButton(self.getNextAvailableStep() > 0)
+ self.enableBackButton(nNewStep != 1)
+
+ def iscompleted(self, _ndialogpage):
+ return False
+
+ def ismodified(self, _ndialogpage):
+ return False
+
+ def drawNaviBar(self):
+ try:
+ curtabindex = UIConsts.SOFIRSTWIZARDNAVITABINDEX
+ iButtonWidth = self.__iButtonWidth
+ iButtonHeight = 14
+ iCurStep = 0
+ iDialogHeight = Helper.getUnoPropertyValue(self.xDialogModel,
+ PropertyNames.PROPERTY_HEIGHT)
+ iDialogWidth = Helper.getUnoPropertyValue(self.xDialogModel,
+ PropertyNames.PROPERTY_WIDTH)
+ iHelpPosX = 8
+ iBtnPosY = iDialogHeight - iButtonHeight - 6
+ iCancelPosX = iDialogWidth - self.__iButtonWidth - 6
+ iFinishPosX = iCancelPosX - 6 - self.__iButtonWidth
+ iNextPosX = iFinishPosX - 6 - self.__iButtonWidth
+ iBackPosX = iNextPosX - 3 - self.__iButtonWidth
+ self.insertControlModel(
+ "com.sun.star.awt.UnoControlFixedLineModel",
+ "lnNaviSep",
+ (PropertyNames.PROPERTY_HEIGHT, "Orientation",
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_WIDTH),
+ (1, 0, 0, iDialogHeight - 26, iCurStep, iDialogWidth))
+ self.insertControlModel(
+ "com.sun.star.awt.UnoControlFixedLineModel",
+ "lnRoadSep",
+ (PropertyNames.PROPERTY_HEIGHT,
+ "Orientation",
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_WIDTH),
+ (iBtnPosY - 6, 1, 85, 0, iCurStep, 1))
+ propNames = (PropertyNames.PROPERTY_ENABLED,
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_HELPURL,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "PushButtonType",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH)
+ Helper.setUnoPropertyValue(
+ self.xDialogModel, PropertyNames.PROPERTY_HELPURL,
+ HelpIds.getHelpIdString(self.__hid))
+ self.insertButton("btnWizardHelp",
+ WizardDialog.__HELP_ACTION_PERFORMED,
+ (PropertyNames.PROPERTY_ENABLED,
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ "PushButtonType",
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),
+ (True, iButtonHeight,
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 15),
+ iHelpPosX, iBtnPosY,
+ uno.Any("short",HELP), iCurStep,
+ uno.Any("short",(curtabindex + 1)), iButtonWidth), self)
+ self.insertButton("btnWizardBack",
+ WizardDialog.__BACK_ACTION_PERFORMED, propNames,
+ (False, iButtonHeight, HelpIds.getHelpIdString(self.__hid + 2),
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 13),
+ iBackPosX, iBtnPosY, uno.Any("short",STANDARD), iCurStep,
+ uno.Any("short",(curtabindex + 1)), iButtonWidth), self)
+ self.insertButton("btnWizardNext",
+ WizardDialog.__NEXT_ACTION_PERFORMED, propNames,
+ (True, iButtonHeight, HelpIds.getHelpIdString(self.__hid + 3),
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 14),
+ iNextPosX, iBtnPosY, uno.Any("short",STANDARD), iCurStep,
+ uno.Any("short",(curtabindex + 1)), iButtonWidth), self)
+ self.insertButton("btnWizardFinish",
+ WizardDialog.__FINISH_ACTION_PERFORMED, propNames,
+ (True, iButtonHeight, HelpIds.getHelpIdString(self.__hid + 4),
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 12),
+ iFinishPosX, iBtnPosY, uno.Any("short",STANDARD),
+ iCurStep,
+ uno.Any("short",(curtabindex + 1)),
+ iButtonWidth), self)
+ self.insertButton("btnWizardCancel",
+ WizardDialog.__CANCEL_ACTION_PERFORMED, propNames,
+ (True, iButtonHeight, HelpIds.getHelpIdString(self.__hid + 5),
+ self.__oWizardResource.getResText(UIConsts.RID_COMMON + 11),
+ iCancelPosX, iBtnPosY, uno.Any("short",STANDARD), iCurStep,
+ uno.Any("short",(curtabindex + 1)),
+ iButtonWidth), self)
+ self.setControlProperty("btnWizardNext", "DefaultButton", True)
+ except Exception, exception:
+ traceback.print_exc()
+
+ def insertRoadMapItems(self, items, steps, enabled):
+ i = 0
+ while i < items.length:
+ insertRoadmapItem(i, enabled(i), items(i), steps(i))
+ i += 1
+
+ def setStepEnabled(self, _nStep, bEnabled, enableNextButton):
+ setStepEnabled(_nStep, bEnabled)
+ if self.getNextAvailableStep() > 0:
+ self.enableNextButton(bEnabled)
+
+ def enableNavigationButtons(
+ self, _bEnableBack, _bEnableNext, _bEnableFinish):
+ self.enableBackButton(_bEnableBack)
+ self.enableNextButton(_bEnableNext)
+ self.enableFinishButton(_bEnableFinish)
+
+ def enableBackButton(self, enabled):
+ self.setControlProperty("btnWizardBack",
+ PropertyNames.PROPERTY_ENABLED, enabled)
+
+ def enableNextButton(self, enabled):
+ self.setControlProperty("btnWizardNext",
+ PropertyNames.PROPERTY_ENABLED, enabled)
+
+ def enableFinishButton(self, enabled):
+ self.setControlProperty("btnWizardFinish",
+ PropertyNames.PROPERTY_ENABLED, enabled)
+
+ def setStepEnabled(self, _nStep, bEnabled):
+ xRoadmapItem = getRoadmapItemByID(_nStep)
+ if xRoadmapItem != None:
+ Helper.setUnoPropertyValue(xRoadmapItem,
+ PropertyNames.PROPERTY_ENABLED, bEnabled)
+
+ def enablefromStep(self, _iStep, _bDoEnable):
+ if _iStep <= self.nMaxStep:
+ i = _iStep
+ while i <= self.nMaxStep:
+ setStepEnabled(i, _bDoEnable)
+ i += 1
+ enableFinishButton(_bDoEnable)
+ if not _bDoEnable:
+ enableNextButton(_iStep > getCurrentStep() + 1)
+ else:
+ enableNextButton(not (getCurrentStep() == self.nMaxStep))
+
+ def isStepEnabled(self, _nStep):
+ try:
+ xRoadmapItem = self.getRoadmapItemByID(_nStep)
+ # Todo: In this case an exception should be thrown
+ if (xRoadmapItem == None):
+ return False
+ bIsEnabled = bool(Helper.getUnoPropertyValue(xRoadmapItem,
+ PropertyNames.PROPERTY_ENABLED))
+ return bIsEnabled
+ except Exception, exception:
+ traceback.print_exc()
+ return False
+
+ def gotoPreviousAvailableStep(self):
+ try:
+ if self.nNewStep > 1:
+ self.nOldStep = self.nNewStep
+ self.nNewStep -= 1
+ while self.nNewStep > 0:
+ bIsEnabled = self.isStepEnabled(self.nNewStep)
+ if bIsEnabled:
+ break;
+
+ self.nNewStep -= 1
+ if (self.nNewStep == 0):
+ self.nNewStep = self.nOldStep
+ self.switchToStep()
+ except Exception, e:
+ traceback.print_exc()
+
+ #TODO discuss with rp
+
+ def getNextAvailableStep(self):
+ if self.isRoadmapComplete():
+ i = self.nNewStep + 1
+ while i <= self.nMaxStep:
+ if self.isStepEnabled(i):
+ return i
+
+ i += 1
+
+ return -1
+
+ def gotoNextAvailableStep(self):
+ try:
+ self.nOldStep = self.nNewStep
+ self.nNewStep = self.getNextAvailableStep()
+ if self.nNewStep > -1:
+ self.switchToStep()
+ except Exception, e:
+ traceback.print_exc()
+
+ @abstractmethod
+ def finishWizard(self):
+ pass
+
+ def finishWizard_1(self):
+ '''This function will call
+ if the finish button is pressed on the UI'''
+ try:
+ self.enableFinishButton(False)
+ success = False
+ try:
+ success = self.finishWizard()
+ finally:
+ if not success:
+ self.enableFinishButton(True)
+
+ if success:
+ self.removeTerminateListener()
+ except Exception, e:
+ traceback.print_exc()
+
+ def getMaximalStep(self):
+ return self.nMaxStep
+
+ def getCurrentStep(self):
+ try:
+ return int(Helper.getUnoPropertyValue(self.xDialogModel,
+ PropertyNames.PROPERTY_STEP))
+ except Exception, exception:
+ traceback.print_exc()
+ return -1
+
+ def setCurrentStep(self, _nNewstep):
+ self.nNewStep = _nNewstep
+ changeToStep(self.nNewStep)
+
+ def setRightPaneHeaders(self, _oResource, StartResID, _nMaxStep):
+ self.sRightPaneHeaders = _oResource.getResArray(StartResID, _nMaxStep)
+ setRightPaneHeaders(self.sRightPaneHeaders)
+
+ def setRightPaneHeaders(self, _sRightPaneHeaders):
+ self.nMaxStep = _sRightPaneHeaders.length
+ self.sRightPaneHeaders = _sRightPaneHeaders
+ oFontDesc = FontDescriptor.FontDescriptor()
+ oFontDesc.Weight = com.sun.star.awt.FontWeight.BOLD
+ i = 0
+ while i < self.sRightPaneHeaders.length:
+ insertLabel("lblQueryTitle" + String.valueOf(i),("FontDescriptor",
+ PropertyNames.PROPERTY_HEIGHT,
+ PropertyNames.PROPERTY_LABEL,
+ PropertyNames.PROPERTY_MULTILINE,
+ PropertyNames.PROPERTY_POSITION_X,
+ PropertyNames.PROPERTY_POSITION_Y,
+ PropertyNames.PROPERTY_STEP,
+ PropertyNames.PROPERTY_TABINDEX,
+ PropertyNames.PROPERTY_WIDTH),(
+ oFontDesc, 16, self.sRightPaneHeaders(i),
+ True, 91, 8, i + 1, 12, 212))
+ i += 1
+
+ def cancelWizard(self):
+ #can be overwritten by extending class
+ xDialog.endExecute()
+
+ def removeTerminateListener(self):
+ if self.__bTerminateListenermustberemoved:
+ Desktop.getDesktop(self.xMSF).removeTerminateListener( \
+ TerminateListenerProcAdapter(self))
+ self.__bTerminateListenermustberemoved = False
+
+ '''
+ called by the cancel button and
+ by the window hidden event.
+ if this method was not called before,
+ perform a cancel.
+ '''
+
+ def cancelWizard_1(self):
+ try:
+ self.cancelWizard()
+ self.removeTerminateListener()
+ except Exception,e:
+ traceback.print_exc()
+
+ def queryTermination(self):
+ self.activate()
+ raise TerminationVetoException()
+
+ class myPathSelectionListener(XPathSelectionListener):
+
+ def validatePath(self):
+ if self.myPathSelection.usedPathPicker:
+ self.filenameChanged = True
+
+ self.myPathSelection.usedPathPicker = False
diff --git a/wizards/com/sun/star/wizards/ui/XPathSelectionListener.py b/wizards/com/sun/star/wizards/ui/XPathSelectionListener.py
new file mode 100644
index 000000000..1f065209d
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/XPathSelectionListener.py
@@ -0,0 +1,7 @@
+from abc import ABCMeta, abstractmethod
+
+class XPathSelectionListener(object):
+
+ @abstractmethod
+ def validatePath(self):
+ pass
diff --git a/wizards/com/sun/star/wizards/ui/__init__.py b/wizards/com/sun/star/wizards/ui/__init__.py
new file mode 100644
index 000000000..51429ce86
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/__init__.py
@@ -0,0 +1 @@
+"""UI"""
diff --git a/wizards/com/sun/star/wizards/ui/event/CommonListener.py b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
new file mode 100644
index 000000000..3bd486240
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/event/CommonListener.py
@@ -0,0 +1,85 @@
+#**********************************************************************
+#
+# Danny.OOo.Listeners.ListenerProcAdapters.py
+#
+# A module to easily work with OpenOffice.org.
+#
+#**********************************************************************
+# Copyright (c) 2003-2004 Danny Brewer
+# d29583@groovegarden.com
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See: http://www.gnu.org/licenses/lgpl.html
+#
+#**********************************************************************
+# If you make changes, please append to the change log below.
+#
+# Change Log
+# Danny Brewer Revised 2004-06-05-01
+#
+#**********************************************************************
+
+# OOo's libraries
+import unohelper
+
+from com.sun.star.awt import XActionListener
+class ActionListenerProcAdapter( unohelper.Base, XActionListener ):
+ def __init__( self, oProcToCall, tParams=() ):
+ self.oProcToCall = oProcToCall # a python procedure
+ self.tParams = tParams # a tuple
+
+
+ # oActionEvent is a com.sun.star.awt.ActionEvent struct.
+ def actionPerformed( self, oActionEvent ):
+ if callable( self.oProcToCall ):
+ apply( self.oProcToCall )
+
+from com.sun.star.awt import XItemListener
+class ItemListenerProcAdapter( unohelper.Base, XItemListener ):
+ def __init__( self, oProcToCall, tParams=() ):
+ self.oProcToCall = oProcToCall # a python procedure
+ self.tParams = tParams # a tuple
+
+ # oItemEvent is a com.sun.star.awt.ItemEvent struct.
+ def itemStateChanged( self, oItemEvent ):
+ if callable( self.oProcToCall ):
+ try:
+ apply( self.oProcToCall)
+ except:
+ apply( self.oProcToCall, (oItemEvent,) + self.tParams )
+
+from com.sun.star.awt import XTextListener
+class TextListenerProcAdapter( unohelper.Base, XTextListener ):
+ def __init__( self, oProcToCall, tParams=() ):
+ self.oProcToCall = oProcToCall # a python procedure
+ self.tParams = tParams # a tuple
+
+ # oTextEvent is a com.sun.star.awt.TextEvent struct.
+ def textChanged( self, oTextEvent ):
+ if callable( self.oProcToCall ):
+ apply( self.oProcToCall )
+
+from com.sun.star.frame import XTerminateListener
+class TerminateListenerProcAdapter( unohelper.Base, XTerminateListener ):
+ def __init__( self, oProcToCall, tParams=() ):
+ self.oProcToCall = oProcToCall # a python procedure
+ self.tParams = tParams # a tuple
+
+ # oTextEvent is a com.sun.star.awt.TextEvent struct.
+ def queryTermination(self, TerminateEvent):
+ self.oProcToCall = getattr(self.oProcToCall,"queryTermination")
+ if callable( self.oProcToCall ):
+ apply( self.oProcToCall )
diff --git a/wizards/com/sun/star/wizards/ui/event/DataAware.py b/wizards/com/sun/star/wizards/ui/event/DataAware.py
new file mode 100644
index 000000000..450d6f753
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/event/DataAware.py
@@ -0,0 +1,127 @@
+from common.PropertyNames import *
+from abc import ABCMeta, abstractmethod
+import traceback
+from ui.event.CommonListener import *
+
+'''
+@author rpiterman
+DataAware objects are used to live-synchronize UI and DataModel/DataObject.
+It is used as listener on UI events, to keep the DataObject up to date.
+This class, as a base abstract class, sets a frame of functionality,
+delegating the data Object get/set methods to a Value object,
+and leaving the UI get/set methods abstract.
+Note that event listenning is *not* a part of this model.
+the updateData() or updateUI() methods should be porogramatically called.
+in child classes, the updateData() will be binded to UI event calls.
+<br><br>
+This class holds references to a Data Object and a Value object.
+The Value object "knows" how to get and set a value from the
+Data Object.
+'''
+
+class DataAware(object):
+ __metaclass__ = ABCMeta
+
+ '''
+ creates a DataAware object for the given data object and Value object.
+ @param dataObject_
+ @param value_
+ '''
+
+ def __init__(self, dataObject_, field_):
+ self._dataObject = dataObject_
+ self._field = field_
+
+ '''
+ sets the given value to the UI control
+ @param newValue the value to set to the ui control.
+ '''
+ @abstractmethod
+ def setToUI (self,newValue):
+ pass
+
+ '''
+ gets the current value from the UI control.
+ @return the current value from the UI control.
+ '''
+
+ @abstractmethod
+ def getFromUI (self):
+ pass
+
+ '''
+ updates the UI control according to the
+ current state of the data object.
+ '''
+
+ def updateUI(self):
+ data = getattr(self._dataObject, self._field)
+ ui = self.getFromUI()
+ if data is not ui:
+ try:
+ self.setToUI(data)
+ except Exception, ex:
+ traceback.print_exc()
+ #TODO tell user...
+
+ '''
+ updates the DataObject according to
+ the current state of the UI control.
+ '''
+
+ def updateData(self):
+ try:
+ data = getattr(self._dataObject, self._field)
+ ui = self.getFromUI()
+ if data is not ui:
+ if isinstance(ui,tuple):
+ #Selected Element listbox
+ ui = ui[0]
+ setattr(self._dataObject, self._field, ui)
+ except Exception:
+ traceback.print_exc()
+
+ '''
+ given a collection containing DataAware objects,
+ calls updateUI() on each memebr of the collection.
+ @param dataAwares a collection containing DataAware objects.
+ '''
+ @classmethod
+ def updateUIs(self, dataAwares):
+ for i in dataAwares:
+ i.updateUI()
+
+ '''
+ Given a collection containing DataAware objects,
+ sets the given DataObject to each DataAware object
+ in the given collection
+ @param dataAwares a collection of DataAware objects.
+ @param dataObject new data object to set to the DataAware
+ objects in the given collection.
+ @param updateUI if true, calls updateUI() on each DataAware object.
+ '''
+
+ def setDataObject(self, dataObject, updateUI):
+ if dataObject is not None:
+ if not (type(self._field) is not
+ type(dataObject)):
+ raise ClassCastException (
+ "can not cast new DataObject to original Class")
+ self._dataObject = dataObject
+ if updateUI:
+ self.updateUI()
+
+ '''
+ Given a collection containing DataAware objects,
+ sets the given DataObject to each DataAware object
+ in the given collection
+ @param dataAwares a collection of DataAware objects.
+ @param dataObject new data object to set to the DataAware objects
+ in the given collection.
+ @param updateUI if true, calls updateUI() on each DataAware object.
+ '''
+
+ @classmethod
+ def setDataObjects(self, dataAwares, dataObject, updateUI):
+ for i in dataAwares:
+ i.setDataObject(dataObject, updateUI)
diff --git a/wizards/com/sun/star/wizards/ui/event/RadioDataAware.py b/wizards/com/sun/star/wizards/ui/event/RadioDataAware.py
new file mode 100644
index 000000000..41ce307a0
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/event/RadioDataAware.py
@@ -0,0 +1,39 @@
+from DataAware import *
+from UnoDataAware import *
+import time
+'''
+@author rpiterman
+To change the template for this generated type comment go to
+Window>Preferences>Java>Code Generation>Code and Comments
+'''
+
+class RadioDataAware(DataAware):
+
+ def __init__(self, data, value, radioButtons):
+ super(RadioDataAware,self).__init__(data, value)
+ self.radioButtons = radioButtons
+
+ def setToUI(self, value):
+ selected = int(value)
+ if selected == -1:
+ i = 0
+ while i < self.radioButtons.length:
+ self.radioButtons[i].State = False
+ i += 1
+ else:
+ self.radioButtons[selected].State = True
+
+ def getFromUI(self):
+ for i in xrange(len(self.radioButtons)):
+ if self.radioButtons[i].State:
+ return i
+
+ return -1
+
+ @classmethod
+ def attachRadioButtons(self, data, prop, buttons, field):
+ da = RadioDataAware(data, prop, buttons)
+ method = getattr(da,"updateData")
+ for i in da.radioButtons:
+ i.addItemListener(ItemListenerProcAdapter(method))
+ return da
diff --git a/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
new file mode 100644
index 000000000..b117dcb4f
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/event/UnoDataAware.py
@@ -0,0 +1,74 @@
+from DataAware import *
+from common.Helper import *
+
+'''
+@author rpiterman
+This class suppoprts imple cases where a UI control can
+be directly synchronized with a data property.
+Such controls are: the different text controls
+(synchronizing the "Text" , "Value", "Date", "Time" property),
+Checkbox controls, Dropdown listbox controls (synchronizing the
+SelectedItems[] property.
+For those controls, static convenience methods are offered, to simplify use.
+'''
+
+class UnoDataAware(DataAware):
+
+ def __init__(self, dataObject, field, unoObject_, unoPropName_, isShort=False):
+ super(UnoDataAware,self).__init__(dataObject, field)
+ self.unoControl = unoObject_
+ self.unoModel = self.unoControl.Model
+ self.unoPropName = unoPropName_
+ self.isShort = isShort
+
+ def setToUI(self, value):
+ if self.isShort:
+ value = uno.Any("[]short", (value,))
+ Helper.setUnoPropertyValue(self.unoModel, self.unoPropName, value)
+
+ def getFromUI(self):
+ return Helper.getUnoPropertyValue(self.unoModel, self.unoPropName)
+
+ @classmethod
+ def __attachTextControl(
+ self, data, prop, unoText, unoProperty, field, value):
+ uda = UnoDataAware(data, prop, unoText, unoProperty)
+ method = getattr(uda,"updateData")
+ unoText.addTextListener(TextListenerProcAdapter(method))
+ return uda
+
+ @classmethod
+ def attachEditControl(self, data, prop, unoControl, field):
+ return self.__attachTextControl(
+ data, prop, unoControl, "Text", field, "")
+
+ @classmethod
+ def attachDateControl(self, data, prop, unoControl, field):
+ return self.__attachTextControl(
+ data, prop, unoControl, "Date", field, 0)
+
+ def attachTimeControl(self, data, prop, unoControl, field):
+ return self.__attachTextControl(
+ data, prop, unoControl, "Time", field, 0)
+
+ @classmethod
+ def attachNumericControl(self, data, prop, unoControl, field):
+ return self.__attachTextControl(
+ data, prop, unoControl, "Value", field, float(0))
+
+ @classmethod
+ def attachCheckBox(self, data, prop, checkBox, field):
+ uda = UnoDataAware(data, prop, checkBox, PropertyNames.PROPERTY_STATE)
+ method = getattr(uda,"updateData")
+ checkBox.addItemListener(ItemListenerProcAdapter(method))
+ return uda
+
+ def attachLabel(self, data, prop, label, field):
+ return UnoDataAware(data, prop, label, PropertyNames.PROPERTY_LABEL)
+
+ @classmethod
+ def attachListBox(self, data, prop, listBox, field):
+ uda = UnoDataAware(data, prop, listBox, "SelectedItems", True)
+ method = getattr(uda,"updateData")
+ listBox.addItemListener(ItemListenerProcAdapter(method))
+ return uda
diff --git a/wizards/com/sun/star/wizards/ui/event/__init__.py b/wizards/com/sun/star/wizards/ui/event/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/wizards/com/sun/star/wizards/ui/event/__init__.py
diff --git a/wizards/prj/build.lst b/wizards/prj/build.lst
index 2c2a8456d..97a8b05f3 100644
--- a/wizards/prj/build.lst
+++ b/wizards/prj/build.lst
@@ -1,2 +1,2 @@
-wz wizards : TRANSLATIONS:translations rsc javaunohelper unoil LIBXSLT:libxslt NULL
+wz wizards : TRANSLATIONS:translations DESKTOP:rsc javaunohelper unoil LIBXSLT:libxslt NULL
wz wizards\prj nmake - all wz_prj NULL
diff --git a/wizards/source/tools/Misc.xba b/wizards/source/tools/Misc.xba
index 7eca46671..faa0f802f 100644
--- a/wizards/source/tools/Misc.xba
+++ b/wizards/source/tools/Misc.xba
@@ -271,14 +271,18 @@ End Sub
Function InitResources(Description, ShortDescription as String) as boolean
+Dim xResource as Object
+Dim aArgs(0) as String
On Error Goto ErrorOcurred
- oResSrv = createUnoService( &quot;com.sun.star.resource.VclStringResourceLoader&quot; )
- If (IsNull(oResSrv)) then
+ aArgs(0) = ShortDescription
+ oConfigProvider = createUnoService(&quot;com.sun.star.configuration.ConfigurationProvider&quot;)
+ xResource = getProcessServiceManager().createInstanceWithArguments( &quot;org.libreoffice.resource.ResourceIndexAccess&quot;, aArgs() )
+ If (IsNull(xResource)) then
InitResources = FALSE
- MsgBox( Description &amp; &quot;: No resource loader found&quot;, 16, GetProductName())
+ MsgBox(&quot;could not initialize ResourceIndexAccess&quot;)
Else
InitResources = TRUE
- oResSrv.FileName = ShortDescription
+ oResSrv = xResource.getByName( &quot;String&quot; )
End If
Exit Function
ErrorOcurred:
@@ -294,7 +298,7 @@ End Function
Function GetResText( nID as integer ) As string
On Error Goto ErrorOcurred
If Not IsNull(oResSrv) Then
- GetResText = oResSrv.getString( nID )
+ GetResText = oResSrv.getByIndex( nID )
Else
GetResText = &quot;&quot;
End If
@@ -814,4 +818,4 @@ End Sub
Function CalIsLeapYear(ByVal iYear as Integer) as Boolean
CalIsLeapYear = ((iYear Mod 4 = 0) And ((iYear Mod 100 &lt;&gt; 0) Or (iYear Mod 400 = 0)))
End Function
-</script:module> \ No newline at end of file
+</script:module>
diff --git a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
index 15fb06a7a..78cb2b49d 100644
--- a/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
+++ b/xmlsecurity/inc/xmlsecurity/certificatechooser.hxx
@@ -61,7 +61,8 @@ private:
SignatureInformations maCertsToIgnore;
FixedText maHintFT;
- SvxSimpleTable maCertLB; // #i48648 now SvHeaderTabListBox
+ SvxSimpleTableContainer m_aCertLBContainer;
+ SvxSimpleTable maCertLB;
PushButton maViewBtn;
@@ -73,7 +74,6 @@ private:
sal_Bool mbInitialized;
sal_uInt16 GetSelectedEntryPos( void ) const;
-// DECL_LINK( Initialize, void* );
DECL_LINK( ViewButtonHdl, Button* );
DECL_LINK( CertificateHighlightHdl, void* );
DECL_LINK( CertificateSelectHdl, void* );
diff --git a/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx b/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
index 16d37a2d6..acfe7747d 100644
--- a/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
+++ b/xmlsecurity/inc/xmlsecurity/certificateviewer.hxx
@@ -114,7 +114,8 @@ public:
class CertificateViewerDetailsTP : public CertificateViewerTP
{
private:
- SvxSimpleTable maElementsLB; // #i48648 now SvHeaderTabListBox
+ SvxSimpleTableContainer m_aElementsLBContainer;
+ SvxSimpleTable maElementsLB;
MultiLineEdit maElementML;
Font maStdFont;
Font maFixedWidthFont;
diff --git a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
index e4b65d62b..4f631ea2e 100644
--- a/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
+++ b/xmlsecurity/inc/xmlsecurity/digitalsignaturesdialog.hxx
@@ -80,7 +80,8 @@ private:
FixedText maHintDocFT;
FixedText maHintBasicFT;
FixedText maHintPackageFT;
- SvxSimpleTable maSignaturesLB; // #i48648 now SvHeaderTabListBox
+ SvxSimpleTableContainer maSignaturesLBContainer;
+ SvxSimpleTable maSignaturesLB;
FixedImage maSigsValidImg;
FixedInfo maSigsValidFI;
FixedImage maSigsInvalidImg;
diff --git a/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx b/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
index d54b02309..1af2f79ab 100644
--- a/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
+++ b/xmlsecurity/inc/xmlsecurity/macrosecurity.hxx
@@ -138,7 +138,8 @@ class MacroSecurityTrustedSourcesTP : public MacroSecurityTP
private:
FixedLine maTrustCertFL;
ReadOnlyImage maTrustCertROFI;
- SvxSimpleTable maTrustCertLB; // #i48648 now SvHeaderTabListBox
+ SvxSimpleTableContainer m_aTrustCertLBContainer;
+ SvxSimpleTable maTrustCertLB;
PushButton maAddCertPB;
PushButton maViewCertPB;
PushButton maRemoveCertPB;
diff --git a/xmlsecurity/source/component/registerservices.cxx b/xmlsecurity/source/component/registerservices.cxx
index 164b02dce..eca071caf 100644
--- a/xmlsecurity/source/component/registerservices.cxx
+++ b/xmlsecurity/source/component/registerservices.cxx
@@ -42,11 +42,6 @@ using namespace ::com::sun::star;
extern "C"
{
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** )
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
void* pRet = 0;
diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx
index 2e21297d7..ec9cba589 100644
--- a/xmlsecurity/source/dialogs/certificatechooser.cxx
+++ b/xmlsecurity/source/dialogs/certificatechooser.cxx
@@ -68,7 +68,8 @@ CertificateChooser::CertificateChooser( Window* _pParent, uno::Reference< uno::X
:ModalDialog ( _pParent, XMLSEC_RES( RID_XMLSECDLG_CERTCHOOSER ) )
,maCertsToIgnore( _rCertsToIgnore )
,maHintFT ( this, XMLSEC_RES( FT_HINT_SELECT ) )
- ,maCertLB ( this, XMLSEC_RES( LB_SIGNATURES ) )
+ ,m_aCertLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
+ ,maCertLB(m_aCertLBContainer)
,maViewBtn ( this, XMLSEC_RES( BTN_VIEWCERT ) )
,maBottomSepFL ( this, XMLSEC_RES( FL_BOTTOM_SEP ) )
,maOKBtn ( this, XMLSEC_RES( BTN_OK ) )
diff --git a/xmlsecurity/source/dialogs/certificateviewer.cxx b/xmlsecurity/source/dialogs/certificateviewer.cxx
index e39540eae..34c84fb0e 100644
--- a/xmlsecurity/source/dialogs/certificateviewer.cxx
+++ b/xmlsecurity/source/dialogs/certificateviewer.cxx
@@ -53,19 +53,10 @@ namespace css = ::com::sun::star;
namespace
{
- void ShrinkToFit( FixedImage& _rImage );
- void AdjustPosAndSize( Control& _rCtrl, Point& _rStartIn_EndOut, long _nXOffset = 0 );
-
void ShrinkToFit( FixedImage& _rImg )
{
_rImg.SetSizePixel( _rImg.GetImage().GetSizePixel() );
}
-
- void AdjustPosAndSize( Control& _rCtrl, Point& _rStartIn_EndOut, long _nOffs )
- {
- _rCtrl.SetPosPixel( _rStartIn_EndOut );
- _rStartIn_EndOut.X() += XmlSec::ShrinkToFitWidth( _rCtrl, _nOffs );
- }
}
CertificateViewer::CertificateViewer(
@@ -264,7 +255,8 @@ void CertificateViewerDetailsTP::InsertElement( const String& _rField, const Str
CertificateViewerDetailsTP::CertificateViewerDetailsTP( Window* _pParent, CertificateViewer* _pDlg )
:CertificateViewerTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_DETAILS ), _pDlg )
- ,maElementsLB ( this, XMLSEC_RES( LB_ELEMENTS ) )
+ ,m_aElementsLBContainer(this, XMLSEC_RES(LB_ELEMENTS))
+ ,maElementsLB(m_aElementsLBContainer)
,maElementML ( this, XMLSEC_RES( ML_ELEMENT ) )
,maStdFont ( maElementML.GetControlFont() )
,maFixedWidthFont ( OutputDevice::GetDefaultFont( DEFAULTFONT_UI_FIXED, LANGUAGE_DONTKNOW, DEFAULTFONT_FLAGS_ONLYONE, this ) )
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index b17f8021f..34a71d47f 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -191,7 +191,8 @@ DigitalSignaturesDialog::DigitalSignaturesDialog(
,maHintDocFT ( this, XMLSEC_RES( FT_HINT_DOC ) )
,maHintBasicFT ( this, XMLSEC_RES( FT_HINT_BASIC ) )
,maHintPackageFT ( this, XMLSEC_RES( FT_HINT_PACK ) )
- ,maSignaturesLB ( this, XMLSEC_RES( LB_SIGNATURES ) )
+ ,maSignaturesLBContainer(this, XMLSEC_RES(LB_SIGNATURES))
+ ,maSignaturesLB(maSignaturesLBContainer)
,maSigsValidImg ( this, XMLSEC_RES( IMG_STATE_VALID ) )
,maSigsValidFI ( this, XMLSEC_RES( FI_STATE_VALID ) )
,maSigsInvalidImg ( this, XMLSEC_RES( IMG_STATE_BROKEN ) )
@@ -209,7 +210,7 @@ DigitalSignaturesDialog::DigitalSignaturesDialog(
,m_bHasDocumentSignature(bHasDocumentSignature)
,m_bWarningShowSignMacro(false)
{
- // --> PB #i48253 the tablistbox needs its own unique id
+ // #i48253# the tablistbox needs its own unique id
maSignaturesLB.Window::SetUniqueId( HID_XMLSEC_TREE_SIGNATURESDLG );
Size aControlSize( maSignaturesLB.GetSizePixel() );
aControlSize = maSignaturesLB.PixelToLogic( aControlSize, MapMode( MAP_APPFONT ) );
diff --git a/xmlsecurity/source/dialogs/macrosecurity.cxx b/xmlsecurity/source/dialogs/macrosecurity.cxx
index a05b0a9c8..fc301230d 100644
--- a/xmlsecurity/source/dialogs/macrosecurity.cxx
+++ b/xmlsecurity/source/dialogs/macrosecurity.cxx
@@ -337,7 +337,8 @@ MacroSecurityTrustedSourcesTP::MacroSecurityTrustedSourcesTP( Window* _pParent,
:MacroSecurityTP ( _pParent, XMLSEC_RES( RID_XMLSECTP_TRUSTSOURCES ), _pDlg )
,maTrustCertFL ( this, XMLSEC_RES( FL_TRUSTCERT ) )
,maTrustCertROFI ( this, XMLSEC_RES( FI_TRUSTCERT_RO ) )
- ,maTrustCertLB ( this, XMLSEC_RES( LB_TRUSTCERT ) )
+ ,m_aTrustCertLBContainer(this, XMLSEC_RES(LB_TRUSTCERT))
+ ,maTrustCertLB(m_aTrustCertLBContainer)
,maAddCertPB ( this, XMLSEC_RES( PB_ADD_TRUSTCERT ) )
,maViewCertPB ( this, XMLSEC_RES( PB_VIEW_TRUSTCERT ) )
,maRemoveCertPB ( this, XMLSEC_RES( PB_REMOVE_TRUSTCERT ) )
diff --git a/xmlsecurity/source/framework/xsec_framework.cxx b/xmlsecurity/source/framework/xsec_framework.cxx
index e84d3c12d..897ac7213 100644
--- a/xmlsecurity/source/framework/xsec_framework.cxx
+++ b/xmlsecurity/source/framework/xsec_framework.cxx
@@ -53,13 +53,6 @@ using namespace ::com::sun::star::registry;
extern "C"
{
//==================================================================================================
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment **)
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
-//==================================================================================================
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx b/xmlsecurity/source/xmlsec/saxhelper.cxx
index dab28ff9e..8a8a00b22 100644
--- a/xmlsecurity/source/xmlsec/saxhelper.cxx
+++ b/xmlsecurity/source/xmlsec/saxhelper.cxx
@@ -65,36 +65,6 @@ xmlChar* ous_to_nxmlstr( const rtl::OUString& oustr, int& length )
}
/**
- * The input parameter isn't necessaryly NULL terminated.
- */
-rtl::OUString xmlchar_to_ous( const xmlChar* pChar, int length )
-{
- if( pChar != NULL )
- {
- return rtl::OUString( ( sal_Char* )pChar , length , RTL_TEXTENCODING_UTF8 ) ;
- }
- else
- {
- return rtl::OUString() ;
- }
-}
-
-/**
- * The input parameter is NULL terminated
- */
-rtl::OUString xmlstr_to_ous( const xmlChar* pStr )
-{
- if( pStr != NULL )
- {
- return xmlchar_to_ous( pStr , xmlStrlen( pStr ) ) ;
- }
- else
- {
- return rtl::OUString() ;
- }
-}
-
-/**
* The return value and the referenced value must be NULL terminated.
* The application has the responsibilty to deallocte the return value.
*/
diff --git a/xmlsecurity/source/xmlsec/xsec_xmlsec.cxx b/xmlsecurity/source/xmlsec/xsec_xmlsec.cxx
index 066e073b7..d5b8c1af8 100644
--- a/xmlsecurity/source/xmlsec/xsec_xmlsec.cxx
+++ b/xmlsecurity/source/xmlsec/xsec_xmlsec.cxx
@@ -100,12 +100,6 @@ extern void* nss_component_getFactory( const sal_Char*, void*, void* );
extern void* mscrypt_component_getFactory( const sal_Char*, void*, void* );
#endif
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
- const sal_Char ** ppEnvTypeName, uno_Environment **)
-{
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
-}
-
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplName , void* pServiceManager , void* pRegistryKey )
{
void* pRet = 0;
diff --git a/xmlsecurity/util/exports_xsmscrypt.dxp b/xmlsecurity/util/exports_xsmscrypt.dxp
index f0e1c6993..700330789 100644
--- a/xmlsecurity/util/exports_xsmscrypt.dxp
+++ b/xmlsecurity/util/exports_xsmscrypt.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/xmlsecurity/util/exports_xsnss.dxp b/xmlsecurity/util/exports_xsnss.dxp
index f0e1c6993..700330789 100644
--- a/xmlsecurity/util/exports_xsnss.dxp
+++ b/xmlsecurity/util/exports_xsnss.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory
diff --git a/xmlsecurity/util/xsec_fw.dxp b/xmlsecurity/util/xsec_fw.dxp
index f0e1c6993..700330789 100644
--- a/xmlsecurity/util/xsec_fw.dxp
+++ b/xmlsecurity/util/xsec_fw.dxp
@@ -1,2 +1 @@
-component_getImplementationEnvironment
component_getFactory