LibreOffice 7.1 Βοήθεια
Οι στατικοί διάλογοι του LibreOffice δημιουργούνται με τον Επεξεργαστή διαλόγων και αποθηκεύονται σε διάφορες θέσεις σύμφωνα με τη φύση των προσωπικών τους (Οι μακροεντολές μου), των κοινοχρήστων (Μακροεντολές του LibreOffice) ή των ενσωματωμένων στο έγγραφο. Αντίθετα, οι δυναμικοί διάλογοι κατασκευάζονται κατά τον χρόνο εκτέλεσης, από δέσμες ενεργειών της Basic ή του Python, ή χρησιμοποιώντας οποιαδήποτε άλλη υποστηριζόμενη γλώσσα του LibreOffice για αυτό το θέμα. Τα άνοιγμα στατικών διαλόγων με Python δείχνονται με το παρόν. Εξαίρεση ο χειρισμός και η διεθνοποίηση παραλείπονται για λόγους σαφήνειας.
Τα παρακάτω παραδείγματα ανοίγουν με την κονσόλα Access2Base Trace ή με τον εισαγόμενο διάλογο TutorialsDialog με το μενού :
# -*- 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)
Το παρακάτω παράδειγμα ανοίγει έναν πρόσφατα επεξεργασμένο διάλογο Dialog1 από ένα έγγραφο με το μενού :
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def docDialog():
""" Εμφάνιση διαλόγου με βάση ένα έγγραφο """
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,)
Δείτε το msgbox.py στον κατάλογο {installation}/program/ για παραδείγματα δυναμικών διαλόγων Python.