Atveriamas Pitono dialogo langas

„LibreOffice“ statiniai dialogai kuriami naudojant dialogų rengyklę ir yra laikomi įvairiose vietose atsižvelgiant į jų prigimtį: asmeninę („My Macros“), bendrinimo („LibreOffice Macros“) arba įterptųjų dokumentų. Priešingai dinaminiai dialogai konstruojami vykdymo metu naudojant „Basic“ arba Pitono skriptus, arba tam naudojant kitas „LibreOffice“ grindžiamas kalbas. Čia iliustruojami Pitono statinių dialogų atvėrimas. Aiškumo dėlei išimčių apdorojimas ir internacionalizavimas praleisti.

Mano makrokomandų arba „LibreOffice„ makrokomandų dialogai

Pateikti pavyzdžiai atveria „Access2Base Trace“ konsolę arba importuotą „TutorialsDialog“ dialogą naudojantis Priemonės → Makrokomandos → Vykdyti makrokomandą... meniu:


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

Įterptųjų dokumentų dialogai

Pateiktas pavyzdys atveria naujai taisomą „Dialogas1“ dialogą iš dokumento naudojant Priemonės → Makrokomandos → Vykdyti makrokomandą... meniu:


        # -*- coding: utf-8 -*-
        from __future__ import unicode_literals
            
        def docDialog():
            """ Rodomas „doc“ dialogas """
            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,)
    

Nurodoma į msgbox.py, esantį {installation}/program/ Pitono dinaminių dialogų pavyzdžių kataloge.

Paremkite mus!