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

Τα στατικά παράθυρα διαλόγου του Collabora Office δημιουργούνται με την Επεξεργασία διαλόγου και αποθηκεύονται σε διαφορετικά σημεία ανάλογα με τη φύση τους στα προσωπικά (Οι μακροεντολές μου) , κοινόχρηστα (Μακροεντολές εφαρμογής) ή ενσωματωμένα σε έγγραφα. Αντίστροφα, οι δυναμικοί διάλογοι κατασκευάζονται κατά το χρόνο εκτέλεσης, από σενάρια Basic ή Python ή χρησιμοποιώντας οποιαδήποτε άλλη υποστηριζόμενη γλώσσα του Collabora Office για αυτό το θέμα. Το άνοιγμα στατικών διαλόγων με 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.

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