Turinys
Rodyklė 🔎︎

# Atveriamas Pitono dialogo langas

„LibreOffice“ statiniai dialogai kuriami naudojant dialogų rengyklę ir yra laikomi įvairiose vietose atsižvelgiant į jų prigimtį: asmeninę („My Macros“), bendrinimo („LibreOffice Macros“) arba įterptųjų dokumentų. Priešingai dinaminiai dialogai konstruojami vykdymo metu naudojant „Basic“ arba Pitono skriptus, arba tam naudojant kitas „LibreOffice“ grindžiamas kalbas. Čia iliustruojami Pitono statinių dialogų atvėrimas. Aiškumo dėlei išimčių apdorojimas ir internacionalizavimas praleisti.

## Mano makrokomandų arba „LibreOffice„ makrokomandų dialogai

Pateikti pavyzdžiai atveria „Access2Base Trace“ konsolę arba importuotą „TutorialsDialog“ dialogą naudojantis Priemonės → Makrokomandos → Vykdyti makrokomandą... meniu:

            # -*- 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)

## Įterptųjų dokumentų dialogai

Pateiktas pavyzdys atveria naujai taisomą „Dialogas1“ dialogą iš dokumento naudojant Priemonės → Makrokomandos → Vykdyti makrokomandą... meniu:

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

            def docDialog():
                """ Rodomas „doc“ dialogas """
                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,)

Nurodoma į msgbox.py, esantį {installation}/program/ Pitono dinaminių dialogų pavyzdžių kataloge.

Susijusios temos

Atveriamas dialogas naudojant „Basic“

Python programavimo pavyzdžiai

LibreOffice Python skriptai žinynas