Otwieranie okna dialogowego za pomocą Pythona

Spis treści
Indeks 🔎︎

# Opening a Dialog with Python

LibreOffice static dialogs are created with the Dialog editor and are stored in varying places according to their personal (My Macros), shared (Application Macros) or document-embedded nature. In reverse, dynamic dialogs are constructed at runtime, from Basic or Python scripts, or using any other LibreOffice supported language for that matter. Opening static dialogs with Python is illustrated herewith. Exception handling and internationalization are omitted for clarity.

## Okna dialogowe Moje makra lub Makra aplikacji

Poniższe przykłady otwierają konsolę Access2Base Trace lub zaimportowane okno dialogowe TutorialsDialog poprzez Narzędzia - Makra - Uruchom makro:

            # -*- coding: utf-8 -*-
            from __future__ import unicode_literals

            def consoleDlg():
                ctx =XSCRIPTCONTEXT.getComponentContext()
                smgr = ctx.getServiceManager()
                dp = smgr.createInstanceWithContext("com.sun.star.awt.DialogProvider", ctx)
                dlg = dp.createDialog( "vnd.sun.star.script:Access2Base.dlgTrace?location=application")
                dlg.execute()
                dlg.dispose()

            def tutorDialog():
                ctx =XSCRIPTCONTEXT.getComponentContext()
                smgr = ctx.getServiceManager()
                dp = smgr.createInstanceWithContext("com.sun.star.awt.DialogProvider", ctx)
                dlg = dp.createDialog("vnd.sun.star.script:Standard.TutorialsDialog?location=application")
                dlg.execute()
                dlg.dispose()

            g_exportedScripts = (consoleDlg, tutorDialog)

## Okna dialogowe osadzone w dokumencie

Poniższy przykład otwiera nowo edytowane okno dialogowe Dialog1 z dokumentu z menu Narzędzia - Makra - Uruchom makro:

            # -*- coding: utf-8 -*-
            from __future__ import unicode_literals

            def docDialog():
                """ Wyświetl okno dialogowe oparte na dokumencie """
                model = XSCRIPTCONTEXT.getDocument()
                smgr = XSCRIPTCONTEXT.getComponentContext().ServiceManager
                dp = smgr.createInstanceWithArguments( "com.sun.star.awt.DialogProvider", (model,))
                dlg = dp.createDialog( "vnd.sun.star.script:Standard.Dialog1?location=document")
                dlg.execute()
                dlg.dispose()

            g_exportedScripts = (docDialog,)

Zobacz msgbox.py w katalogu {installation}/program/, aby zobaczyć przykłady dynamicznych okien dialogowych Pythona.

Tematy pokrewne

Otwieranie okna dialogowego za pomocą Basic

Python programming examples

Pomoc skryptów Pythona LibreOffice