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

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

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

Τα παρακάτω παραδείγματα ανοίγουν με την κονσόλα 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.

Παρακαλούμε, υποστηρίξτε μας!