Files
help/source/text/sbasic/python/python_dialogs.xhp
Andrea Gelmini 49d8f790a7 Fix typo
Change-Id: I3946d4ed9f9c38d0d30f89427b44bb6696b85f8a
Reviewed-on: https://gerrit.libreoffice.org/68182
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-02-22 05:35:42 +01:00

77 lines
6.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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/.
*
-->
<meta>
<topic id="text/sbasic/python/Python_Dialog">
<title id="tit" xml-lang="en-US">Python: Opening a Dialog</title>
<filename>/text/sbasic/python/python_dialogs.xhp</filename>
</topic>
</meta>
<body>
<bookmark branch="index" id="N0334">
<bookmark_value>Python;dialogs</bookmark_value>
<bookmark_value>dialog box;Python</bookmark_value>
<bookmark_value>dialogs;Python</bookmark_value>
</bookmark>
<section id="pythondialog1">
<h1 id="N0336"><variable id="pythondialog"><link href="text/sbasic/python/python_dialogs.xhp" name="command_name">Opening a Dialog in Python</link></variable></h1>
</section>
<paragraph role="paragraph" id="N0337">%PRODUCTNAME static dialogs are created with the <link href="text/sbasic/guide/create_dialog.xhp" name="dialog editor">Dialog editor</link> and are stored in varying places according to their personal (My Macros), shared (%PRODUCTNAME Macros) or document-embedded nature. In reverse, dynamic dialogs are constructed at runtime, from on Basic or Python scripts, or using any other <link href="text/shared/guide/scripting.xhp">%PRODUCTNAME supported language</link> for that matter. Opening static dialogs with Python is illustrated herewith. Exception handling and internationalization are omitted for clarity.</paragraph>
<h2 id="N0338">My Macros or %PRODUCTNAME Macros dialogs</h2>
<paragraph role="paragraph" id="N0339">The examples below open <literal>Access2Base Trace</literal> console or the imported <literal>TutorialsDialog</literal> dialog with <menuitem>Tools Macros Run Macro...</menuitem> menu:</paragraph>
<pycode>
<paragraph role="pycode" id="N0340" localize="false"># -*- coding: utf-8 -*-</paragraph>
<paragraph role="pycode" id="N0341" localize="false">from __future__ import unicode_literals</paragraph>
<paragraph role="pycode" id="N0342" localize="false"> </paragraph>
<paragraph role="pycode" id="N0343" localize="false">def consoleDlg():</paragraph>
<paragraph role="pycode" id="N0344" localize="false"> ctx =XSCRIPTCONTEXT.getComponentContext()</paragraph>
<paragraph role="pycode" id="N0345" localize="false"> smgr = ctx.getServiceManager()</paragraph>
<paragraph role="pycode" id="N0346" localize="false"> dp = smgr.createInstanceWithContext(&quot;com.sun.star.awt.DialogProvider&quot;, ctx)</paragraph>
<paragraph role="pycode" id="N0348" localize="false"> dlg = dp.createDialog( &quot;vnd.sun.star.script:Access2Base.dlgTrace?location=application&quot;)</paragraph>
<paragraph role="pycode" id="N0350" localize="false"> dlg.execute()</paragraph>
<paragraph role="pycode" id="N0351" localize="false"> dlg.dispose()</paragraph>
<paragraph role="pycode" id="N0352" localize="false"> </paragraph>
<paragraph role="pycode" id="N0353" localize="false">def tutorDialog():</paragraph>
<paragraph role="pycode" id="N0354" localize="false"> ctx =XSCRIPTCONTEXT.getComponentContext()</paragraph>
<paragraph role="pycode" id="N0355" localize="false"> smgr = ctx.getServiceManager()</paragraph>
<paragraph role="pycode" id="N0356" localize="false"> dp = smgr.createInstanceWithContext(&quot;com.sun.star.awt.DialogProvider&quot;, ctx)</paragraph>
<paragraph role="pycode" id="N0358" localize="false"> dlg = dp.createDialog(&quot;vnd.sun.star.script:Standard.TutorialsDialog?location=application&quot;)</paragraph>
<paragraph role="pycode" id="N0360" localize="false"> dlg.execute()</paragraph>
<paragraph role="pycode" id="N0361" localize="false"> dlg.dispose()</paragraph>
<paragraph role="pycode" id="N0362" localize="false"> </paragraph>
<paragraph role="pycode" id="N0363" localize="false">g_exportedScripts = (consoleDlg, tutorDialog)</paragraph>
</pycode>
<h2 id="N0364">Document embedded dialogs</h2>
<paragraph role="paragraph" id="N0365">The example below opens a newly edited <literal>Dialog1</literal> dialog from a document with <menuitem>Tools Macros Run Macro...</menuitem> menu:</paragraph>
<pycode>
<paragraph role="pycode" id="N0366" localize="false"># -*- coding: utf-8 -*-</paragraph>
<paragraph role="pycode" id="N0367" localize="false">from __future__ import unicode_literals</paragraph>
<paragraph role="pycode" id="N0368" localize="false"> </paragraph>
<paragraph role="pycode" id="N0369" localize="false">def docDialog():</paragraph>
<paragraph role="pycode" id="N0370"> &quot;&quot;&quot; Display a doc-based dialog &quot;&quot;&quot;</paragraph>
<paragraph role="pycode" id="N0371" localize="false"> model = XSCRIPTCONTEXT.getDocument()</paragraph>
<paragraph role="pycode" id="N0372" localize="false"> smgr = XSCRIPTCONTEXT.getComponentContext().ServiceManager</paragraph>
<paragraph role="pycode" id="N0373" localize="false"> dp = smgr.createInstanceWithArguments( &quot;com.sun.star.awt.DialogProvider&quot;, (model,))</paragraph>
<paragraph role="pycode" id="N0375" localize="false"> dlg = dp.createDialog( &quot;vnd.sun.star.script:Standard.Dialog1?location=document&quot;)</paragraph>
<paragraph role="pycode" id="N0377" localize="false"> dlg.execute()</paragraph>
<paragraph role="pycode" id="N0378" localize="false"> dlg.dispose()</paragraph>
<paragraph role="pycode" id="N0379" localize="false"> </paragraph>
<paragraph role="pycode" id="N0380" localize="false">g_exportedScripts = (docDialog,)</paragraph>
</pycode>
<section id="relatedtopics" >
<paragraph role="paragraph" id="N0381">
Refer to <literal>msgbox.py</literal> in <literal>&lt;$installation&gt;/program/</literal> directory for an example of Python dynamic dialogs.
</paragraph>
<embed href="text/sbasic/python/python_examples.xhp#pythonexamples2"/>
<embed href="text/sbasic/python/main0000.xhp#pythonscriptshelp"/>
</section>
</body>
</helpdocument>