Einen Dialog mit Python öffnen
Statische Dialog in Collabora Office werden mit dem Dialog-Editor erstellt und an verschiedenen Orten gespeichert, je nachdem, ob sie persönlich (Meine Makros), geteilt (Collabora Office Makros) oder in Dokumenten eingebettet sind. Umgekehrt werden dynamische Dialogfelder zur Laufzeit aus Basis- oder Python-Skripten oder unter Verwendung einer anderen von Collabora Office unterstützten Sprache erstellt. Das Öffnen von statischen Dialogen mit Python wird hiermit veranschaulicht. Ausnahmebehandlung und Internationalisierung sind aus Gründen der Übersichtlichkeit weggelassen.
Dialoge für meine Makros oder Collabora Office Makros
Die Beispiele unten öffnen die Konsole Access2Base Trace oder den importierten Dialog TutorialsDialog über
# -*- 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)
Ins Dokument eingebettete Dialoge
Das Beispiel unten öffnet den neu erstellten Dialog Dialog1 aus einem Dokument heraus über :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def docDialog():
""" Zeige einen Dokument-basierten Dialog """
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,)
Beispiele für dynamische Dialoge in Python finden sich in der msgbox.py im Verzeichnis {installation}/program/.