Opna eit dialogvindauge med Python

Innhald
Innhaldsliste 🔎︎

# Opna eit dialogvindauge med Phyton

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.

## My Macros or Application Macros dialogs

Eksempla nedanfor opnar konsollen Access2Base Trace eller det importerte dialogvindauget TutorialsDialog med Verktøy → Makroar → Køyr makro-menyen:

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

## Innebygde dokumentdialogvindauge

Eksempelet nedanfor opnar eit dialogvindauge med nyleg redigert Dialog med Verktøy → Makroar - Køyr makro-menyen:

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

            def docDialog():
                ""Viser eit doc-basert dialogvindauge""
                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,)

Referer til msgbox.py i mappa {installasjon}/program/ for dynamiske dialogeksempel i Python.

Liknande emne

Opna eit dialogvindauge med Basic

Pythonprogrammering, eksempel

LibreOffice Pythonskript hjelp