Άνοιγμα διαλόγου με Python

Οι στατικοί διάλογοι του LibreOffice δημιουργούνται με τον Επεξεργαστή διαλόγων και αποθηκεύονται σε διάφορες θέσεις σύμφωνα με τη φύση των προσωπικών τους (Οι μακροεντολές μου), των κοινοχρήστων (Μακροεντολές του LibreOffice) ή των ενσωματωμένων στο έγγραφο. Αντίθετα, οι δυναμικοί διάλογοι κατασκευάζονται κατά τον χρόνο εκτέλεσης, από δέσμες ενεργειών της Basic ή του Python, ή χρησιμοποιώντας οποιαδήποτε άλλη υποστηριζόμενη γλώσσα του LibreOffice για αυτό το θέμα. Τα άνοιγμα στατικών διαλόγων με Python δείχνονται με το παρόν. Εξαίρεση ο χειρισμός και η διεθνοποίηση παραλείπονται για λόγους σαφήνειας.

Οι μακροεντολές μου ή διάλογοι μακροεντολών του LibreOffice

The examples below open Access2Base Trace console or the imported TutorialsDialog dialog with Tools - Macros - Run Macro menu:


        # -*- 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)
    

Ενσωματωμένοι διάλογοι εγγράφου

The example below opens a newly edited Dialog1 dialog from a document with Tools - Macros - Run Macro menu:


        # -*- 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.