diff options
author | Alain Romedenne <alain.romedenne@libreoffice.org> | 2022-10-28 08:13:23 +0200 |
---|---|---|
committer | Olivier Hallot <olivier.hallot@libreoffice.org> | 2022-10-30 14:32:57 +0100 |
commit | 021a444733a8022967b374642057d2032318634b (patch) | |
tree | 53689fcac6e539f9d8270ae6af4bab382eccdecd /source/text | |
parent | ca05a2e1e9569618449d87fcba196ba21c711363 (diff) |
tdf141474 CreateUnoService accepts keyword arguments
tdf114263 CreateUnoServiceWithArguments new help page
Change-Id: I217746d0817cefcaab7ecb07d30b2c3f2ad8bfff
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/141916
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Diffstat (limited to 'source/text')
-rw-r--r-- | source/text/sbasic/shared/03131600.xhp | 40 | ||||
-rw-r--r-- | source/text/sbasic/shared/CreateUnoSvcWithArgs.xhp | 84 | ||||
-rw-r--r-- | source/text/sbasic/shared/uno_objects.xhp | 1 |
3 files changed, 107 insertions, 18 deletions
diff --git a/source/text/sbasic/shared/03131600.xhp b/source/text/sbasic/shared/03131600.xhp index bf62e3df4c..3e0f978dd8 100644 --- a/source/text/sbasic/shared/03131600.xhp +++ b/source/text/sbasic/shared/03131600.xhp @@ -34,18 +34,20 @@ <paragraph id="par_id3152924" role="paragraph" xml-lang="en-US">Instantiates a Uno service with the <literal>ProcessServiceManager</literal>.</paragraph> </section> <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> - <paragraph role="paragraph" id="par_id511629989178074"><input>oService = CreateUnoService( UNO service name )</input></paragraph> + <bascode> + <paragraph role="bascode" localize="false" id="bas_syntax"> CreateUnoService(serviceName As String) As Object</paragraph> + </bascode> <tip id="par_id921629989537850">For a list of available services, visit the <link href="https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star.html" name="UNO_Service_Names">com::sun::star Module</link> reference page.</tip> <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <paragraph role="paragraph" id="par_id891561653344669">The example below creates the function <literal>FileExists</literal> that uses the service <literal>com.sun.star.ucb.SimpleFileAccess</literal> to test if a given path is an existing file.</paragraph> <bascode> - <paragraph role="bascode" localize="false" id="bas_id901629989240801">Function FileExists(sPath as String) as Boolean</paragraph> - <paragraph role="bascode" localize="false" id="bas_id361629989241073"> Dim svcSFA as Object</paragraph> + <paragraph role="bascode" localize="false" id="bas_id901629989240801">Function FileExists(sPath as String) As Boolean</paragraph> + <paragraph role="bascode" localize="false" id="bas_id361629989241073"> Dim svcSFA As Object</paragraph> <paragraph role="bascode" localize="false" id="bas_id461629989241289"> Set svcSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")</paragraph> - <paragraph role="bascode" localize="false" id="bas_id441629989241521"> Dim bExists as Boolean : bExists = svcSFA.exists(sPath)</paragraph> - <paragraph role="bascode" localize="false" id="bas_id651629989241801"> Dim bIsFolder as Boolean : bIsFolder = svcSFA.IsFolder(sPath)</paragraph> + <paragraph role="bascode" localize="false" id="bas_id441629989241521"> Dim bExists As Boolean : bExists = svcSFA.exists(sPath)</paragraph> + <paragraph role="bascode" localize="false" id="bas_id651629989241801"> Dim bIsFolder As Boolean : bIsFolder = svcSFA.IsFolder(sPath)</paragraph> <paragraph role="bascode" localize="false" id="bas_id521629989242114"> FileExists = bExists And Not bIsFolder</paragraph> - <paragraph role="bascode" localize="false" id="bas_id211629989242416">End Function</paragraph> + <paragraph role="bascode" localize="false" id="bas_id211629989242416">End Function ' FileExists</paragraph> </bascode> <tip id="par_id351629989310797">UNO services have an extensive online documentation in the <link href="https://api.libreoffice.org/" name="API_Website">api.libreoffice.org</link> website. Visit the <link href="https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1ucb_1_1SimpleFileAccess.html" name="SimpleFileAccess_Page">SimpleFileAccess Service</link> reference page to learn more about the methods provided by the service used in the example above.</tip> <embed href="text/sbasic/shared/00000003.xhp#functexample"/> @@ -54,22 +56,24 @@ </bookmark> <paragraph id="par_idN10625" role="paragraph" xml-lang="en-US">The following code uses the service <literal>com.sun.star.ui.dialogs.FilePicker</literal> to show a file open dialog:</paragraph> <bascode> -<paragraph id="par_idm1206777616" role="bascode" localize="false" xml-lang="en-US">Sub Main</paragraph> +<paragraph id="par_idm1206777616" role="bascode" localize="false">Sub Main</paragraph> <paragraph id="par_idN1062B" role="bascode" xml-lang="en-US"> fName = FileOpenDialog ("Please select a file")</paragraph> <paragraph id="par_idN10630" role="bascode" xml-lang="en-US"> Print "file chosen: "+fName</paragraph> -<paragraph id="par_idm1206774256" role="bascode" localize="false" xml-lang="en-US">End Sub</paragraph> -<paragraph id="par_idm1206773152" role="bascode" localize="false" xml-lang="en-US"> </paragraph> -<paragraph id="par_idm1206772000" role="bascode" localize="false" xml-lang="en-US">Function FileOpenDialog(title As String) As String</paragraph> -<paragraph id="bas_id11593417954966" role="bascode" localize="false" xml-lang="en-US"> res = com.sun.star.ui.dialogs.ExecutableDialogResults</paragraph> -<paragraph id="par_idm1206770832" role="bascode" localize="false" xml-lang="en-US"> filepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")</paragraph> -<paragraph id="par_idm1206769648" role="bascode" localize="false" xml-lang="en-US"> filepicker.Title = title</paragraph> -<paragraph id="par_idm1206768496" role="bascode" localize="false" xml-lang="en-US"> If res.OK = filepicker.execute() Then </paragraph> -<paragraph id="par_idm1206767344" role="bascode" localize="false" xml-lang="en-US"> files = filepicker.getSelectedFiles()</paragraph> -<paragraph id="par_idm1206766192" role="bascode" localize="false" xml-lang="en-US"> FileOpenDialog=files(0)</paragraph> -<paragraph id="bas_id11593417954" role="bascode" localize="false" xml-lang="en-US"> EndIf</paragraph> -<paragraph id="par_idm1206765040" role="bascode" localize="false" xml-lang="en-US">End Function</paragraph> +<paragraph id="par_idm1206774256" role="bascode" localize="false">End Sub</paragraph> +<paragraph id="par_idm1206773152" role="bascode" localize="false"> </paragraph> +<paragraph id="par_idm1206772000" role="bascode" localize="false">Function FileOpenDialog(title As String) As String</paragraph> +<paragraph id="bas_id11593417954966" role="bascode" localize="false"> res = com.sun.star.ui.dialogs.ExecutableDialogResults</paragraph> +<paragraph id="par_idm1206770832" role="bascode" localize="false"> filepicker = createUnoService("com.sun.star.ui.dialogs.FilePicker")</paragraph> +<paragraph id="par_idm1206769648" role="bascode" localize="false"> filepicker.Title = title</paragraph> +<paragraph id="par_idm1206768496" role="bascode" localize="false"> If res.OK = filepicker.execute() Then </paragraph> +<paragraph id="par_idm1206767344" role="bascode" localize="false"> files = filepicker.getSelectedFiles()</paragraph> +<paragraph id="par_idm1206766192" role="bascode" localize="false"> FileOpenDialog=files(0)</paragraph> +<paragraph id="bas_id11593417954" role="bascode" localize="false"> EndIf</paragraph> +<paragraph id="par_idm1206765040" role="bascode" localize="false">End Function ' Main</paragraph> </bascode> <section id="relatedtopics"> + <embed href="text/sbasic/shared/CreateUnoSvcWithArgs.xhp#UnoSvcWithArgs_h1"/> + <embed href="text/sbasic/shared/uno_objects.xhp#UnoObjects_h1"/> <embed href="text/sbasic/shared/calc_functions.xhp#CallingCalcFunctionsh1"/> </section> </body> diff --git a/source/text/sbasic/shared/CreateUnoSvcWithArgs.xhp b/source/text/sbasic/shared/CreateUnoSvcWithArgs.xhp new file mode 100644 index 0000000000..f3ecef8bb3 --- /dev/null +++ b/source/text/sbasic/shared/CreateUnoSvcWithArgs.xhp @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<helpdocument version="1.0"> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . +--> +<meta> + <topic id="textsbasicsharedcreateunosvcwithargsxml" indexer="include" status="PUBLISH"> + <title id="tit" xml-lang="en-US">CreateUnoServiceWithArguments Function</title> + <filename>/text/sbasic/shared/CreateUnoSvcWithArgs.xhp</filename> + </topic> +</meta> +<body> + <section id="CreateUnoSvcWithArgs"> + <bookmark xml-lang="en-US" branch="index" id="bm_id3150682"> + <bookmark_value>CreateUnoServiceWithArguments function</bookmark_value> + <bookmark_value>API;FilePicker</bookmark_value> + </bookmark> + <h1 id="hd_id3150682"><variable id="UnoSvcWithArgs_h1"><link href="text/sbasic/shared/CreateUnoSvcWithArgs.xhp" name="CreateUnoServiceWithArguments Function">CreateUnoServiceWithArguments Function</link></variable></h1> + <paragraph id="par_id3152924" role="paragraph" xml-lang="en-US">Instantiates a UNO service with the <literal>ProcessServiceManager</literal>, including supplemental optional arguments.</paragraph> + </section> + <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> + <bascode> + <paragraph role="bascode" localize="false" id="bas_syntax"> CreateUnoServiceWithArguments(ServiceName As String, Arguments() As Variant) As Object</paragraph> + </bascode> + <tip id="par_id301666950633646">UNO services that can be used with <literal>CreateUnoServiceWithArguments</literal> function are identifiable with method names that follow a <literal>createWith..</literal> pattern.</tip> + <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> + <paragraph role="paragraph" id="par_id781666942583785"><emph>ServiceName</emph>: The UNO service name to be created.</paragraph> + <paragraph role="paragraph" id="par_id11666942585785"><emph>Arguments</emph>: One to many arguments that specify the instance of the service. <emph>Arguments</emph> are stored as a one dimensional array, according to their positions in the constructor method definition.</paragraph> + <embed href="text/sbasic/shared/00000003.xhp#functvalue"/> + <paragraph role="paragraph" id="par_id311666942529939">An instance of the given UNO service name, otherwise <literal>Null</literal> value.</paragraph> + <note id="par_id921629989537850">For a list of available services, visit the <link href="https://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star.html" name="UNO_Service_Names">com::sun::star Module</link> reference page.</note> + <embed href="text/sbasic/shared/00000003.xhp#functexample"/> + <paragraph role="paragraph" id="par_id891561653344669">The <literal>com.sun.star.ui.dialogs.FilePicker</literal> example below displays a <emph>Save As</emph> dialog with two extra controls: a listbox and a checkbox.</paragraph> + <bascode> + <paragraph role="bascode" localize="false" id="bas_id901629989240801">Sub FileSaveAsDialog()</paragraph> + <paragraph role="bascode" localize="false" id="bas_id361629989241073"> td = com.sun.star.ui.dialogs.TemplateDescription</paragraph> + <paragraph role="bascode" localize="false" id="bas_id461629989241289"> options = td.FILESAVE_AUTOEXTENSION_TEMPLATE</paragraph> + <paragraph role="bascode" localize="false" id="bas_id441629989241521"> dlg = createUnoServiceWithArguments( _</paragraph> + <paragraph role="bascode" localize="false" id="bas_id651629989241801"> "com.sun.star.ui.dialogs.FilePicker", _</paragraph> + <paragraph role="bascode" localize="false" id="bas_id521629989242114"> Array(options))</paragraph> + <paragraph role="bascode" localize="false" id="bas_id211629989242416">End Sub ' FileSaveAsDialog</paragraph> + </bascode> + <tip id="par_id351629989310797">UNO services have an extensive online documentation in the <link href="https://api.libreoffice.org/" name="API_Website">api.libreoffice.org</link> website. Visit the <link href="https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1ui_1_1dialogs_1_1FilePicker.html" name="FilePicker_Page">FilePicker Service</link> reference page to learn more about the methods provided by the service used in the example above.</tip> +<embed href="text/sbasic/shared/00000003.xhp#functexample"/> +<bookmark xml-lang="en-US" branch="index" id="bm_id8334604"> +<bookmark_value>filepicker;API service</bookmark_value> +</bookmark> +<paragraph id="par_idN10625" role="paragraph" xml-lang="en-US">The following code uses the service <literal>com.sun.star.security.DocumentDigitalSignatures</literal> to sign the current document:</paragraph> +<bascode> +<paragraph id="par_idm1206777616" role="bascode" localize="false">Sub SignCurrentDocDialog</paragraph> +<paragraph id="par_idm1206766192" role="bascode" localize="false"> Dim pv(0) as new com.sun.star.beans.PropertyValue</paragraph> +<paragraph id="bas_id11593417954" role="bascode" localize="false"> pv(0).Name = "StorageFormat"</paragraph> +<paragraph id="par_idm1206774256" role="bascode" localize="false"> pv(0).Value = "ZipFormat"</paragraph> +<paragraph id="par_idm1206773152" role="bascode" localize="false"> mode = com.sun.star.embed.ElementModes</paragraph> +<paragraph id="par_idm1206772000" role="bascode" localize="false"> sf = CreateUnoService("com.sun.star.embed.StorageFactory</paragraph> +<paragraph id="bas_id11593417954966" role="bascode" localize="false"> storage = sf.createInstanceWithArguments(Array(ThisComponent.URL, mode.WRITE, pv))</paragraph> +<paragraph id="par_idm1206770832" role="bascode" localize="false"> dds = CreateUnoServiceWithArguments( _</paragraph> +<paragraph id="par_idm1206769648" role="bascode" localize="false"> "com.sun.star.security.DocumentDigitalSignatures", _</paragraph> +<paragraph id="par_idm1206768496" role="bascode" localize="false"> Array("1.2", True)) </paragraph> +<paragraph id="par_idm1206767344" role="bascode" localize="false"> dds.signDocumentContent(storage, Null)</paragraph> +<paragraph id="par_idm1206765040" role="bascode" localize="false">End Sub ' SignCurrentDocDialog</paragraph> +</bascode> +<paragraph role="paragraph" id="par_id921666951609352"><literal>CreateWithVersion</literal> and <literal>createWithVersionAndValidSignature</literal> constructor methods in <link href="https://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1security_1_1DocumentDigitalSignatures.html" name="DocumentDigitalSignatures">com.sun.star.security.DocumentDigitalSignatures</link> UNO service indicate two different ways of instantiating this service with <literal>CreateUnoServiceWithArguments</literal> function.</paragraph> +<section id="relatedtopics"> + <embed href="text/sbasic/shared/03131600.xhp#createunoserviceh1"/> + <embed href="text/sbasic/shared/uno_objects.xhp#UnoObjects_h1"/> + <embed href="text/sbasic/shared/calc_functions.xhp#CallingCalcFunctionsh1"/> +</section> +</body> +</helpdocument> diff --git a/source/text/sbasic/shared/uno_objects.xhp b/source/text/sbasic/shared/uno_objects.xhp index 1916fa2799..ae20684850 100644 --- a/source/text/sbasic/shared/uno_objects.xhp +++ b/source/text/sbasic/shared/uno_objects.xhp @@ -42,6 +42,7 @@ <paragraph role="paragraph" id="par_id481622648684690">Use the following methods to manage or query Unified Network Objects (UNO).</paragraph> <embed href="text/sbasic/shared/03131500.xhp#createunostruct"/> <embed href="text/sbasic/shared/03131600.xhp#createunoservice"/> + <embed href="text/sbasic/shared/CreateUnoSvcWithArgs.xhp#UnoSvcWithArgs_h1"/> <embed href="text/sbasic/shared/03131800.xhp#createunodialog"/> <embed href="text/sbasic/shared/03132000.xhp#createunolistener"/> <embed href="text/sbasic/shared/03132300.xhp#createunovalue"/> |