Knihovny ScriptForge

Obsah
Rejstřík 🔎︎

# Knihovna ScriptForge

Pro přístup k tomuto příkazu...

Otevřete Nástroje - Makra - LibreOffice Basic - Upravit a vyberte Makra LibreOffice.

Knihovny ScriptForge představují rozšiřitelnou sadu pro skriptování maker v LibreOffice, které lze volat z maker Basicu nebo skriptů Pythonu.

• Basic macros require to load ScriptForge library using the following statement:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scripts require an import from scriptforge module:
from scriptforge import CreateScriptService

Další informace o vytváření a spouštění skriptů Pythonu využívajících knihovnu ScriptForge naleznete na stránce nápovědy Vytváření skriptů Pythonu pomocí ScriptForge.

## Volání služeb ScriptForge

Popsané moduly a třídy se z uživatelských skriptů volají jako „služby“. Za tím účelem byl pro tyto služby vytvořen obecný konstruktor:

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
        ' ...
        oSvc.Dispose()

        from scriptforge import CreateScriptService
        svc = CreateScriptService('servicename'[, arg0, arg1, ...])
        # ...
        svc.Dispose()

Metoda Dispose je k dispozici ve všech službách a měla by být volána, aby se zdroje po použití uvolnily.

## Služby poskytované knihovnou ScriptForge

Kategorie | Služby |
LibreOffice Basic | Array Dictionary Exception | FileSystem String TextStream
Obsah dokumentu | Base Calc Chart | Database Document
Uživatelské rozhraní | Dialog DialogControl Form | FormControl PopupMenu UI
Nástroje | Basic L10N Platform | Services Session Timer

## Služba ScriptForge.Array

Poskytuje sadu metod pro manipulaci s jednorozměrnými poli (vektory) a dvourozměrnými poli (maticemi) a jejich transformaci. Mezi ně patří množinové operace, řazení, import z textových souborů a import do nich.

Pole s více než dvěma rozměry nelze pomocí metod této služby používat, jedinou výjimkou je metoda CountDims, která přijímá pole s libovolným počtem rozměrů.

## Služba SFDocuments.Base

Služba Base poskytuje řadu metod a vlastností usnadňujících správu a obsluhu dokumentů LibreOffice Base.

Služba úzce souvisí se službou Dokument, která nabízí obecné metody pro nakládání s dokumenty LibreOffice, a to včetně dokumentů aplikace Base. Služba Base tak službu Document rozšiřuje, nabízí dodatečné metody specifické pro Base, a umožňuje uživatelům:

- Získat přístup k databázi obsažené v dokumentu Base.

- Otevřít dokument formulářů uložený v dokumentu Base.

- Zkontrolovat, zda je dokument formulářů z dokumentu Base aktuálně načten.

## Služba ScriptForge.Basic

Záměrem služby ScriptForge.Basic je, aby šla v kontextu Pythonu spouštět vybraná sada metod jazyka LibreOffice Basic. Metody služby Basic přesně reprodukují syntaxi a chování funkcí vestavěných v Basicu.

## Služba SFDocuments.Calc

Sdílená knihovnaSFDocuments poskytuje řadu metod a vlastností usnadňujících správu a obsluhu dokumentů LibreOffice.

Služba SFDocuments.Calc je podtřídou služby SFDocuments.Document. Ke všem metodám a vlastnostem služby Document lze přistupovat také pomocí instance služby Calc.

Služba Calc se zaměřuje na:

- Manipulaci s listy v dokumentu Calcu (kopírování, vkládání, přesun apod.)

- Výměnu dat mezi datovými strukturami Basicu a oblastmi Calcu

- Kopírování a importování velkého množství dat

## Služba ScriptForge.Chart

Služba Chart poskytuje sadu vlastností a metod pro obsluhu grafů v dokumentech Calcu. Umožňuje:

- Přistupovat k objektům s grafy v dokumentech Calcu a měnit jejich vlastnosti.

- Vytvářet nové grafy a vkládat je do dokumentu Calcu.

- Exportovat grafy jako soubory s obrázkem.

## Služba SFDatabases.Database

Služba Database poskytuje přístup k databázím, a to jak vestavěným, tak popsaným v dokumentech Base. Pomocí metod této služby lze:

- Přistupovat k datům v databázových tabulkách.

- Spouštět dotazy SELECT a používat agregační funkce.

- Spouštět SQL příkazy jako INSERT, UPDATE, DELETE atd.

## Služba SFDialogs.Dialog

Služba Dialog přispívá ke správě dialogových oken vytvořených v editoru dialogových oken Basicu. Každá instance třídy představuje jedno dialogové okno zobrazené uživateli.

## Služba SFDialogs.DialogControl

Služba DialogControl je určena pro správu ovládacích prvků náležejících k dialogovému oknu definovanému v editoru dialogových oken Basicu. Každá instance aktuální služby představuje jeden ovládací prvek v dialogovém okně.

Služba je zaměřena na získávání a nastavování hodnot zobrazených v ovládacích prvcích okna. Formátovat lze prvky prostřednictvím vlastností XControlModel a XControlView.

Obsah důležité vlastnosti DialogControl.Value závisí na druhu ovládacího prvku.

Důraz je kladen na ovládací prvky typu stromu. Lze je snadno plnit daty, buď větev po větvi, nebo najednou pro skupinu větví. Plnění může probíhat jak staticky, tak dynamicky.

## Služba ScriptForge.Dictionary

Slovník je kolekce dvojic klíč a položka.

- Klíč je řetězec, u něhož nezáleží na velikosti znaků.

- Položky mohou být jakéhokoliv typu.

## Služba SFDocuments.Document

Knihovna SFDocuments nabízí metody a vlastnosti pro správu dokumentů LibreOffice a manipulaci s nimi.

Metody, které lze použít u všech typů dokumentů (textové dokumenty, sešity, prezentace apod.), jsou poskytovány službou SFDocuments.Document. Jedná se například o:

- Otevírání, zavírání a ukládání dokumentů

- Přístup ke standardním nebo vlastním vlastnostem dokumentů

## Služba ScriptForge.Exception

Služba Exception je sada metod napomáhajících ladění kódu ve skriptech Basicu a Pythonu a zpracování chyb ve skriptech Basicu.

Když ve skriptech Basicu nastane běhová chyba, metody a vlastnosti služby Exception pomáhají identifikovat kontext chyby a umožňují chybu zpracovat.

## Služba ScriptForge.FileSystem

Služba FileSystem obsahuje procedury pro manipulaci se soubory a složkami. Příklady funkcí poskytovaných touto službou jsou:

- Ověření, zda soubor či složka existuje.

- Vytváření a mazání složek a souborů.

- Spouštění dialogových oken pro otevírání a ukládání souborů.

- Přístup k seznamu souborů ve složce apod.

## Služba SFDocuments.Form

Služba Form nabízí metody a vlastnosti pro správu formulářů v dokumentech LibreOffice. Podporuje formuláře v aplikacích Base, Calc a Writer a umožňuje:

- Otevírat a aktivovat formuláře.

- Navigovat mezi záznamy zobrazenými ve formuláři.

- Přistupovat k ovládacím prvkům formuláře.

- Přistupovat k podformulářům rodičovského formuláře.

## Služba SFDocuments.FormControl

Služba FormControl poskytuje přístup k ovládacím prvkům náležejícím k formuláři, podformuláři nebo prvku tabulky objektu FormDocument. Každá instance služby FormControl odkazuje na jeden ovládací prvek ve formuláři. Služba umožňuje uživatelům:

- Získávat a nastavovat vlastnosti ovládacího prvku představovaného instancí služby FormControl.

- Přistupovat k aktuální hodnotě zobrazené ovládacím prvkem.

- Nastavovat zaměření požadovaného ovládacího prvku.

## Služba ScriptForge.L10N

Tato služba nabízí řadu metod souvisejících s překladem řetězců s minimálním zásahem do zdrojového kódu programu. Metody poskytované službou L10 lze použít zejména pro:

- Vytvoření souborů POT, které je možné použít jako šablony pro překlad všech řetězců programu.

- Získání přeložených řetězců za běhu programu, a to pro jazyk stanovený ve vlastnosti Locale.

## Služba ScriptForge.Platform

Služba Platform nabízí sadu vlastností popisujících aktuální běhové prostředí a kontext, jako jsou:

- Hardwarová platforma (architektura, počet procesorů, typ zařízení atd.)

- Informace o operačním systému (typ, vydání, verze atd.)

- Verze LibreOffice

- Jméno aktuálního uživatele

## Služba ScriptForge.PopupMenu

Službu PopupMenu je možné použít k vytváření vyskakovacích nabídek, které lze propojovat s událostmi nebo spouštět pomocí skriptů. Služba nabízí následující možnosti:

- Vytváření vyskakovacích nabídek s vlastními položkami, zaškrtávacími poli a přepínači.

- Doplnění ikon a tipů k položkám nabídky.

## Služba ScriptForge.Services

Hlavním účelem modulu Service je poskytovat přístup k metodě CreateScriptService, pomocí které lze v uživatelských skriptech vytvářet instance služeb implementovaných v knihovnách ScriptForge.

## Služba ScriptForge.Session

Služba Session sdružuje různé obecné metody týkající se:

- prostředí instalace nebo spouštění

- zkoumání objektů UNO

- volání externích skriptů nebo programů

## ScriptForge.String service

The String service provides a collection of methods for string processing. These methods can be used to:

- Validate the contents of strings

- Format strings by trimming, justifying or wrapping their contents

- Use regular expressions to search and replace substrings

- Apply hash algorithms on strings, etc.

## ScriptForge.TextStream service

The TextStream service is used to sequentially read from and write to files opened or created using the ScriptForge.FileSystem service.

The methods OpenTextFile and CreateTextFile from the FileSystem service return an instance of the TextStream service.

## ScriptForge.Timer service

The Timer service measures the amount of time it takes to run user scripts.

A Timer measures durations. It can be:

- Started, to indicate when to start measuring time.

- Suspended, to pause measuring running time.

- Resumed, to continue tracking running time after the Timer has been suspended.

- Restarted, which will cancel previous measurements and start the Timer at zero.

## ScriptForge.UI service

The UI (User Interface) service simplifies the identification and the manipulation of the different windows composing the whole LibreOffice application:

- Windows selection

- Windows moving and resizing

- Statusbar settings

- Display of a floating progress bar

- Creation of new windows

- Access to the underlying "documents"

Poznámka: Další, nepopisované moduly ScriptForge jsou určeny pro interní použití. Jejich obsah se může bez upozornění měnit.

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.