LibreOffice 7.3 Hjælp
LibreOffice statiske dialoger oprettes med Dialogredigering og gemmes ifølge deres natur som personlige (Mine makroer), delte (LibreOffice-makroer) eller dokument-indlejrede. Omvendt konstrueres dynamiske dialoger på kørselstidspunktet fra Basic- eller Python-scripts, eller for den sags skyld, med ethvert andet sprog, der understøttes af LibreOffice supported language . Åbning af statiske dialoger med Python illustreres hermed. Håndtering af undtagelser og internationalisering er udeladt for klarhedens skyld.
Eksemplerne herunder åbner konsollen Access2Base Trace eller den importerede dialog TutorialsDialog med with menuen :
# -*- 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)
Eksemplet herunder åbner en nyligt redigeret dialog Dialog1 fra et dokument med menuen :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def docDialog():
""" Vis en dokument-baseret 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,)
Se eksempler på dynamiske Python-dialoger i msgbox.py i {installation}/program/-kataloget.