LibreOffice 24.8 Βοήθεια
Τα στατικά παράθυρα διαλόγου του 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.