Knihovna ScriptForge
      
  
    
    Otevřete  a vyberte kontejner .
 
   
 
    Knihovny ScriptForge představují rozšiřitelnou sadu pro skriptování maker v LibreOffice, které lze volat z maker Basicu nebo skriptů Pythonu.
  
    
• V makrech Basicu je nutné načíst knihovnu ScriptForge následujícím příkazem:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Ve skriptech Pythonu je nezbytné import z modulu scriptforge:
from scriptforge import CreateScriptService
 
  
  
  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 pro každý jazyk obecný konstruktor.
  Metoda Dispose je dostupná ve všech službách a měla by být volána, aby se zdroje po použití uvolnily:
  
  
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
    ' ...
    oSvc.Dispose()
  
    from scriptforge import CreateScriptService
    svc = CreateScriptService('servicename'[, arg0, arg1, ...])
    # ...
    svc.Dispose()
  
Služby poskytované knihovnou ScriptForge
  
    
      
  
  
  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 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. 
 
    
    
      
    
  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.
 
    
    
      
    
    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 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 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 Dataset se používá k tomu, aby reprezentovala tabulková data z databáze. Pomocí této služby je možné:
    
      - 
        Procházet datovou sadu a přistupovat k jejím datům. 
- 
        V datové sadě aktualizovat, vkládat a odstraňovat záznamy. 
 
    
    
      
  
  
  Služba Datasheet umožňuje vizualizovat obsah databázových tabulek a výsledků dotazů a SQL příkazů pomocí Pohledu na data aplikace Base. Kromě toho lze pomocí této služby:
  
    - 
        Přidávat k pohledu na data vlastní nabídky. 
- 
        Přistupovat v pohledu na data k hodnotám na zadaném umístění. 
- 
        Umisťovat kurzor na zadané buňky pohledu na data. 
 
    
    
      
  
  Služba Dialog přispívá ke správě dialogových oken vytvořených v editoru dialogových oken Basicu nebo dialogových oken vytvořených za běhu programu. Každá instance třídy představuje jedno dialogové okno zobrazené uživateli.
 
    
    
      
   
  
  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.
 
    
    
      
  
  
  Slovník je kolekce dvojic klíč a položka.
  
 
    
    
      
    
  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:
  
 
    
    
      
  
  
  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 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 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 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 FormDocument umožňuje přistupovat k dokumentům formulářů uloženým v dokumentech LibreOffice Base.
    V dokumentu aplikace Base lze stávající dokumenty formulářů zobrazovat v uživatelském rozhraní volbou . Každý dokument formulářů může obsahovat jeden či více formulářů, a to včetně hlavního formuláře a podformulářů.
   
    
    
      
    
    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žbu Menu je možné použít k vytváření a odstraňování nabídek v hlavní nabídce okna LibreOffice s dokumentem. Každé položce nabídky lze přiřadit skript nebo příkaz UNO. Služba nabízí následující možnosti:
    
      - 
        Vytváření nabídek s vlastními položkami, zaškrtávacími poli, přepínači a oddělovači. 
- 
        Doplnění ikon a tipů k položkám nabídky. 
 
    
    
      
    
  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ž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 Region nabízí sadu vlastností a metod pro práci s národním prostředím a dalšími částmi programování souvisejícími s regionem, například:
  
    - 
      Přístup k národnímu prostředí a nastavením závisejícím na regionu, jako jsou formátování čísel, měna a časová pásma. 
- 
      Převod mezi časovými pásmy a výpočet posunů pro letní čas. 
- 
      Převod čísel na text v podporovaných jazycích. 
 
    
    
      
  
  
  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 Session sdružuje různé obecné metody týkající se:
    
   
    
    
      
  
  Služba String nabízí sadu metod na zpracování řetězců. Pomocí těchto metod je možné:
  
    - 
      Validovat obsah řetězců. 
- 
      Formátovat řetězce ořezáváním, zarovnáním nebo zalamováním jejich obsahu. 
- 
      Používat regulární výrazy pro vyhledávání a nahrazování podřetězců. 
- 
      Používat na řetězce hashovací algoritmy atd. 
 
    
    
      
  
  Služba TextStream se používá k postupnému čtení/zápisu z/do souborů otevřených či vytvořených pomocí služby ScriptForge.FileSystem.
  Instanci služby TextStream vrátí metody OpenTextFile a CreateTextFile ze služby FileSystem.
 
    
    
      
  
  Služba Timer měří dobu, kterou trvá spouštění uživatelských skriptů.
  Timer měří dobu trvání. Je možné jej:
  
    - 
      Spustit a označit tak začátek měřeného času. 
- 
      Pozastavit během měření běžící času. 
- 
      Pokračovat v měření poté, co byl Timer pozastaven. 
- 
      Restartovat a zrušit tak předchozí měření spustit Timer od nuly. 
 
    
    
      
    
    Služba Toolbar umožňuje získávat informace týkající se nástrojových lišt dostupných v určitém okně dokumentu. Pomocí této služby lze:
    
   
    
    
      
    
    Služba ToolbarButton umožňuje získávat informace týkající se tlačítek dostupných na zadané nástrojové liště. Pomocí této služby lze:
    
   
    
    
      
   
Služba UI (user interface, uživatelské rozhraní) zjednodušuje identifikování a manipulace s různými okny, ze kterých se skládá celá aplikace LibreOffice.
   - 
      výběr oken 
- 
      přesun a změna velikosti oken 
- 
      nastavení stavového řádku 
- 
      zobrazení plovoucího ukazatele průběhu 
- 
      vytváření nových oken 
- 
      přístup k souvisejícím dokumentům 
 
    
    
      
  
  Služba UnitTest nabízí prostředí pro automatizaci jednotkových testů v jazyce Basic, a to včetně možností:
  
    - 
      Agregovat testovací případy do testovacích sad a jednotkových testů. 
- 
      Sdílet mezi testovacími případy kód spouštěný při inicializaci a ukončování testů. 
- 
      Vypisovat výsledky testů pomocí Console. 
 
    
    
      
    
    Sdílená knihovnaSFDocuments poskytuje řadu metod a vlastností usnadňujících správu a obsluhu dokumentů LibreOffice.
    Některé metody, zděděné z modulu SF_Document, jsou obecné pro všechny typy dokumentů, zatímco jiné, specifické pro dokumenty Writeru, jsou definovány v modulu SF_Writer.
    
 
    
    
    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.