Pomoc Collabora Office 24.04
Statyczne okna dialogowe programu Collabora Office są tworzone za pomocą edytora okien dialogowych i są przechowywane w różnych miejscach zgodnie z ich osobistymi (Moje makra), współdzielonymi (Makra aplikacji) lub osadzone w dokumencie. I odwrotnie, dynamiczne okna dialogowe są tworzone w czasie wykonywania, ze skryptów Basic lub Python albo przy użyciu dowolnego innego języka obsługiwanego przez program Collabora Office. Otwieranie statycznych okien dialogowych w Pythonie jest zilustrowane poniżej. Dla jasności pominięto obsługę wyjątków i internacjonalizację.
Poniższe przykłady otwierają konsolę Access2Base Trace lub zaimportowane okno dialogowe TutorialsDialog poprzez :
# -*- 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)
Poniższy przykład otwiera nowo edytowane okno dialogowe Dialog1 z dokumentu z menu :
# -*- 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.