Biblioteki ScriptForge

Wobsah

# Biblioteka ScriptForge

Přistup k tutomu přikazej …

Open Tools - Macros - LibreOfficeDev Basic - Edit and select Application Macros container.

Biblioteki ScriptForge rozšěrjomnu zběrku skriptowych resursow makrow za LibreOfficeDev tworja, zo bychu so přez makra Basic abo skripty Python wuwołali.

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService

Zo byšće wjace wo tym zhonił, kak móžeće skripty Python z pomocu biblioteki ScriptForge wutworić a wuwjesć, čitajće stronu pomocy Skripty Python ze ScriptForge wutworić.

## Słužby ScriptForge wuwołać

Wopisane module a klasy so přez wužiwarske skripty jako „Słužby“ wuwołuja. Powšitkowny konstruktor tutych słužbow je so za tón zaměr z kóždu rěč naćisnył.

Metoda Dispose je we wšěch słužbach k dispoziciji a měła so wołać, zo by resursy po wužiwanju wuswobodźiła:

##### W Basic

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

##### W Python

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

## Słužby, kotrež so přez biblioteku ScriptForge k dispoziciji stajeja

Kategorija | Słužby
--- | ---
LibreOfficeDev Basic | Array Dictionary | Exception FileSystem | String TextStream
Dokumentowy wobsah | Base Calc Chart | Database Dataset Datasheet | Document FormDocument Writer
Wužiwarski powjerch | ContextMenu Dialog DialogControl Form | FormControl Menu PopupMenu | Toolbar ToolbarButton UI
Nastroje | Basic L10N Platform | Region Services Session | Timer UnitTest

## Słužba ScriptForge.Array

Skići zběrku metodow za manipulaciju a přetworjenje matriksow z jednej dimensiju (wektory) a matriksy z dwěmaj dimensijomaj (matriksy). To operacije set, sortěrowanje, importowanje z a eksportowanje do tekstowych datajow wopřijima.

Matriksy z wjace hač dwěmaj dimensijomaj njedadźa so z metodami w tutej słužbje wužiwać, jeničke wuwzaće je metoda CountDims, kotraž matriksy z někajkejžkuli ličbu dimensijow akceptuje.

## Słužba SFDocuments.Base

Słužba Base rjad metodow a kajkosćow skići, kotrež rjadowanje dokumentow LibreOfficeDev Base a wobchadźenje z nimi wosnadnjeja.

Tuta słužba je wusko ze słužbu Document zwjazana, kotraž generiske metody za wobchadźenje z dokumentami LibreOfficeDev skići, inkluziwnje dokumenty Base. Tohodla słužba Base słužbu Document rozšěrja a skićo přidatne metody, kotrež su specifiske za dokumenty Base a wužiwarjam zmóžnjeja:

- Přistup k datowej bance dóstać, kotraž je w dokumenće Base wobsahowana.

- Formularowe dokumenty wočinić, kotrež su w dokumenće Base składowane.

- Přepruwować, hač formularowy dokument z dokumenta Base je tuchwilu začitany.

## Słužba ScriptForge.Basic

Słužba ScriptForge.Basic zběrku metodow LibreOfficeDev Basic namjetuje, kotrež so maja w konteksće Python wuwjesć. Metody słužby Basic eksaktnu syntaksu a zadźerženje zatwarjenych funkcijow Basic reprodukuja.

## Słužba SFDocuments.Calc

Zhromadnje wužita biblioteka SFDocuments rjad metodow a kajkosćow skići, kotrež rjadowanje dokumentow LibreOfficeDev a wobchadźenje z nimi wosnadnjeja.

Słužba SFDocuments.Calc je podklasa słužby SFDocuments.Document. Ke wšěm metodam a kajkosćam, kotrež so za słužbu Document definuja, maće z pomocu słužboweje instancy Calc přistup.

Słužba Calc koncentruje so na:

- Wobchadźenje z tabelemi w dokumenće Calc (kopěrować, zasadźić, přesunyć atd.)

- Wuměnjenje datow mjez datowymi strukturami Basic a wobłukami Calc

- Kopěrowanje a importowanje njesměrnych datowych mnóstwow

- Jednore formatěrowanje celowych wobłukow

## Słužba SFDocuments.Chart

Słužba Chart sadźbu kajkosćow a metodow za wobchadźenje z diagramami w dokumentach Calc skići. Z tutej słužbu je móžno:

- Přistup k diagramowym objektam w dokumentach Calc a wobdźěłanje jich kajkosćow.

- Nowe diagramy do dokumenta Calc wutworić a zasadźić.

- Diagramy jako wobrazowe dataje eksportować.

## Słužba SFWidgets.ContextMenu

Kontekstowe menije so při instalaciji LibreOfficeDev předdefinuja. Dadźa so w dialogu Nastroje --> Přiměrić… přiměrić.

Słužba ContextMenu slědowace móžnosće skići:

- Wuměnja nachwilu wšě menijowe zapiski podateho kontekstoweho menija.

- Přidawa nachwilu nowe menijowe zapiski deleka w předdefinowanym kontekstowym meniju.

- Znjemóžnja nachwilu kontekstowy meni.

## Słužba SFDatabases.Database

Słužba Database přistup k datowym bankam skići, kotrež su pak zasadźene pak w dokumentach Base wopisane. Tuta słužba metody skići, kotrež:

- Přistup k datam w tabelach datoweje banki dóstawaja.

- Wotprašowanja SELECT wuwjedu a agregatne funkcije přewjedu.

- Akciske instrukcije kaž INSERT, UPDATE, DELETE atd. wuwjedu.

## Słužba SFDatabases.Dataset

Słužba Dataset so wužiwa, zo by tabelariske daty reprezentowała, kotrež su so přez datowu banku wutworili. Z tutej słužbu je móžno:

- Po datach w datowym wobstatku nawigěrować a přistup k nim dóstać.

- Datowe sadźby w datowym wobstatku aktualizować, zasadźić a wotstronić.

## Słužba SFDatabases.Datasheet

Słužba Datasheet zmóžnja, wobsah tabelow datoweje banki kaž tež wuslědki wotprašowanjow a SQL-přikazy z pomocu datoweho napohlada Base wizualizować. Nimo toho tuta słužba zmóžnja:

- Datowemu napohladej swójske menije přidać.

- Přistup k hódnotam we wěstych pozicijach datoweho napohlada dóstać.

- Kursor we wěstej celi datoweho napohlada pozicioněrować.

## Słužba SFDialogs.Dialog

Słužba Dialog k rjadowanju dialogow přinošuje, kotrež su so přez dialogowy editor Basic wutworili abo přez dialogi, kotrež su so nimoducy wutworili. Kóžda instanca aktualneje klasy jednotliwy dialogowe polo reprezentuje, kotrež so wužiwarjej pokazuje.

## Słužba SFDialogs.DialogControl

Słužba DialogControl wodźenske elementy rjaduje, kotrež k dialogej słušeja, kotryž so z dialogowym editorom Basic definuje. Kóžda instanca aktualneje słužby jednotliwy wodźenski element w dialogowym polu reprezentuje.

Fokus na wotwołowanje a nastajenje hódnotow leži, kotrež so přez wodźenske elementy dialogoweho pola pokazuja. Formatěrowanje je přistupne přez kajkosći XControlModel a XControlView.

Dźiwajće na to, zo wobsah jónkróćneje kajkosće DialogControl.Value po wobsahowym typje wariěruje.

Wosebita kedźbnosć so na wodźenske elementy typa štom złožuje. Je lochko, štom pjelnić, pak hałuzu po hałuzy pak ze sadźbu hałuzow naraz. Pjelnjenje štomoweho wodźenskeho elementa da so statisce abo dynamisce wuwjesć.

## Słužba ScriptForge.Dictionary

Słownik je zběrka porow klučowych zapiskow.

- Kluč je znamješkowy rjećazk. W skriptach Basic so wulko- resp. małopisanje při wutworjenju słownika postaja. W skriptach Python kluč přeco na wulko-/małopisanje dźiwa.

- Zapiski móža kóždy typ měć

## Słužba SFDocuments.Document

Biblioteka SFDocuments metody a kajkosće skići, kotrež rjadowanje a wobdźěłowanje dokumentow LibreOfficeDev wosnadnić.

Metody, kotrež su na wšě typy dokumentow (tekstowe dokumenty, tabelowe dokumenty, prezentacije atd.) nałožujomne, kotrež słužba SFDocuments.Document k dispoziciji staja. Někotre přikłady su:

- Dokumenty wočinić, začinić a składować

- Přistup k standardnym abo swójskim kajkosćam dokumentow

## Słužba ScriptForge.Exception

Słužba Exception je zběrka metodow, kotrež při pytanju za zmylkami w kodźe skriptow Basic a Python a při wobchadźenju ze zmylkami w skriptach Basic pomhaja.

Hdyž w skriptach Basic wuwjedźenskočasowy zmylk nastawa, pomhaja metody a kajkosće słužby Exception zmylkowy kontekst identifikować a dowolić, z nim wobchadźeć.

## Słužba ScriptForge.FileSystem

Słužba FileSystem rutiny za wobchadźenje z datajemi a rjadowakami wobsahuje. Potom su někotre přikłady podate, kotrež tuta słužba skići:

- Přepruwować, hač dataja abo rjadowak eksistuje.

- Rjadowaki a dataje wutworić a zhašeć

- Dialogowe pola startować, zo bychu so dataje wočinili/składowali.

- Přistup k lisćinje datajow w rjadowaku atd.

## Słužba SFDocuments.Form

Słužba Form metody a kajkosće skići, zo by formulary w dokumentach LibreOfficeDev rjadowała. Tuta słužba formulary w dokumentach Base, Calc a Writer podpěruje a zmóžnja:

- Formulary wočinić a aktiwizować.

- Po datowych sadźbach nawigěrować, kotrež so přez formular pokazuja.

- Přistup k wodźenskim elementam we formularje.

- Přistup k podformularam nadrjadowaneho formulara.

## Słužba SFDocuments.FormControl

Słužba FormControl přistup k wodźenskim elementam skići, kotrež k formularej, podformularej abo tabelowemu wodźenskemu elementej z FormDocument słušeja. Kóžda instanca słužby FormControl so na jednotliwy wodźenski element we formularje poćahuje. Tuta słužba wužiwarjam zmóžnja:

- Kajkosće wodźenskeho element, kotryž so přez instancu FormControl reprezentuje, wobstarać a nastajić.

- Přistup k aktualnej hódnoće, kotraž so přez wodźenski element pokazuje.

- Fokus na požadany wodźenski element stajić.

## Słužba SFDocuments.FormDocument

Słužba FormDocument přistup k formularowym dokumentam zmóžnja, kotrež su w dokumentach LibreOfficeDev Base składowane.

W dokumenće Base dadźa so eksistowace formularowe dokumenty wobhladać, hdyž Napohlad – Formulary we wužiwarskim powjerchu wuběraće. Kóždy formularowy dokument móže z jednoho formulara abo z wjacorych formularow wobstać, inkluziwnje hłowny formular a druhe podformulary.

## Słužba ScriptForge.L10N

Tuta słužba rjad metodow nastupajo přełožowanje znamješkowych rjećazkow z minimalnym wuskutkowanjom na žórłowy kod programa skići. Metody, kotrež słužba L10N skići, dadźa so hłownje wužiwać, zo bychu:

- Dataje POT wuwtorili, kotrež dadźa so jako dokumentowe přikłady za přełožowanje wšěch znamješkowych rjećazkach w programje wužiwać.

- we wuwjedźenskim času přełožene znamješkowe rjećazki dóstali, kotrež su w kajkosći Locale definowane.

## Słužba SFWidgets.Menu

Słužba Menu da so wužiwać, zo by menije z menijoweje lajsty dokumentoweho wokna LibreOfficeDev wutworiła a wotstroniła. Kóždy menijowy zapisk da so ze skriptom abo z přikazom UNO zwjazać. Tuta słužba slědowace móžnosće skići:

- Wutworjenje menijow ze swójskimi zapiskami, kontrolnymi kašćikami, opciskimi tłóčatkami a dźělatkami.

- Dekorowanje menijowych zapiskow ze symbolemi a pomocnych tekstow.

## Słužba ScriptForge.Platform

Słužba Platform zběrku kajkosćow wo aktualnej wuwjedźenskej wokolinje a konteksće skići, na přikład:

- Hardwarowa platforma (architektura, ličba CPU, mašinowy typ atd.)

- Informacije wo dźěłowym systemje (Typ dźěłoweho systema, wozjewjenje, wersija atd.)

- Wersija LibreOfficeDev

- Aktualne wužiwarske mjeno

## Słužba SFWidgets.PopupMenu

Słužba PopupMenu da so wužiwać, zo by wuskakowace menije wutworił, kotrež dadźa so z podawkami zwjazać abo přez skripty wuwjesć. Tuta słužba slědowace funkcije skići:

- Wutworjenje wuskakowacych menijow ze swójskimi zapiskami, kontrolnymi kašćikami a opciskimi polemi.

- Dekoracija menijowe zapiski ze symbolemi a pomocnymi tekstami.

## Słužba ScriptForge.Region

Słužba Region zběrku kajkosćow a metodow k dispoziciji staja, zo by z programowanskimi aspektami wobchadźała, kotrež so na narodnu šemu a region poćahuja, na přikład:

- Přistup k nastajenjam, kotrež su wot narodneje šemy a regiona wotwisne, na přikład formatěrowanje ličbow, měna a časowe pasma.

- Přetworjenje časowych pasmow a wuličenje wotchilenjow wot lětnjeho časa (DST).

- Přetworjenje ličbow do teksta w kóždej podpěranej rěči.

## Słužba ScriptForge.Services

Hłowny zaměr modula Services je, přistup k metodźe CreateScriptService j dispoziciji stajić, kotraž da so we wužiwarskich skriptach wuwołać, zo bychu so słužby instanciěrowali, kotrež so z framworkom ScriptForge implementuja.

## Słužba ScriptForge.Session

Słužba Session hromadźi wšelake wšozaměrowe metody wo:

- wokolinje instalacije abo wuwjedźenja

- introspekciji UNO

- wuwołanju eksternych skriptow abo programow

## 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.

## SFWidgets.Toolbar service

The Toolbar service allows to retrieve information related to the toolbars available for a specific document window. With this service it is possible to:

- Toggle the visibility of specific toolbars.

- Access information about the buttons available in each toolbar.

## SFWidgets.ToolbarButton service

The ToolbarButton service allows to retrieve information related to the toolbar buttons available in a given toolbar. With this service it is possible to:

- Toggle the visibility of toolbar elements.

- Execute the command associated with a given toolbar button.

## ScriptForge.UI service

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

- Windows selection

- Windows moving and resizing

- Statusbar settings

- Display of a floating progress bar

- Creation of new windows

- Access to the underlying "documents"

## SFUnitTests.UnitTest service

The UnitTest service provides a framework for automating unit tests using the Basic language, including the ability to:

- Aggregate test cases into test suites and unit tests.

- Share setup and shutdown code among test cases.

- Report test results using the Console.

## SFDocuments.Writer service

The SFDocuments shared library provides a number of methods and properties to facilitate the management and handling of LibreOfficeDev documents.

Some methods are generic for all types of documents and are inherited from the SF_Document module, whereas other methods that are specific for Writer documents are defined in the SF_Writer module.

Kedźbu: Druhe njewopisane module ScriptForge su za interne wužiwanje wuměnjene. Jich wobsah da so bjez zdźělenki změnić.

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.

Prošu podpěrajće nas!