LibreOffice 25.2 Hjælp
LibreOffices statiske dialoger er oprettet med Dialog-redigering og lagret på forskellige steder efter deres personlige (Mine makroer), delte (LibreOffice-makroer) eller dokument-indlejrede natur. Modsætningsvis konstrueres dynamiske dialoger på afviklingstidspunket, fra Basic- eller Python-scripts, eller for den sags skyld med brug af et andet LibreOffice-understøttet sprog. Åbning af statiske dialoger med Python illustreres hermed. Undtagelseshåndtering og internationalisering er udeladt af klarhedsgrunde.
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.