Knjižnice ScriptForge

Vsebina

# Knjižnica ScriptForge

Za dostop do tega ukaza ...

Odprite Orodja – Makri – LibreOffice Basic – Uredi in nato izberite vsebnik Makri programa.

Knjižnica ScriptForge je tvorijo razširljivo zbirko virov za skripte makrov za LibreOffice, ki jih prikličete iz makrov BASIC ali skriptov Python.

• Za makre Basic mora biti naložena knjižnica ScriptForge z naslednjim ukazom:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Za skripte Python mora biti opravljen uvoz iz modula scriptforge:
from scriptforge import CreateScriptService

Če želite izvedeti več o ustvarjanju in izvajanju skriptov Python s knjižnico ScriptForge, glejte stran pomoči Izdelava skriptov Python s knjižnico ScriptForge.

## Priklic storitev ScriptForge

Opisani moduli in razredi se iz uporabniških skriptov kličejo kot storitve (Service). Za ta namen je izdelan generični konstruktor teh storitev za vsak jezik.

Metoda Dispose je na voljo v vseh storitvah in jo je potrebno klicati za sprostitev virov po uporabi storitev:

##### V Basicu

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

##### V Pythonu

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

## Storitve, ki jih zagotavlja knjižnica ScriptForge

Kategorija | Storitve
--- | ---
LibreOffice Basic | Array Dictionary | Exception FileSystem | String TextStream
Vsebina dokumenta | Base Calc Chart | Database Dataset Datasheet | Document FormDocument Writer
Uporabniški vmesnik | ContextMenu Dialog DialogControl Form | FormControl Menu PopupMenu | Toolbar ToolbarButton UI
Pripomočki | Basic L10N Platform | Region Services Session | Timer UnitTest

## Storitev ScriptForge.Array

Ponuja zbirko metod za ravnanje z in preoblikovanje enodimenzionalnih polj (vektorjev) in dvodimenzionalnih polj (matrik). To vključuje operacije nad množicami, razvrščanje ter uvažanje in izvažanje besedilnih datotek.

Polj z več kot dvema dimenzijama ni možno uporabljati z metodami te storitve, edina izjema je metoda CountDims, ki sprejema polja poljubnih dimenzij.

## Storitev SFDocuments.Base

Storitev Base ponuja številne metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice Base.

Ta storitev je tesno povezana s storitvijo Document, ki ponuja splošne metode za ravnanje z dokumenti LibreOffice, vključno z dokumenti programa Base. Zatorej storitev Base razširja storitev Document in ponuja dodatne metode, ki so specifične za dokumente programa Base, saj uporabnikom omogoča:

- pridobivanje dostopa do zbirke podatkov, vsebovane v dokumentu programa Base;

- odpiranje dokumentov obrazcev, shranjenih v dokumentu programa Base;

- preverjanje, če je dokument obrazca iz dokumenta programa Base trenutno naložen.

## Storitev ScriptForge.Basic

Storitev ScriptForge.Basic ponuja zbirko metod LibreOffice Basic, ki jih je moč izvajati v kontekstu Pythona. Metode storitve Basic imajo isto skladnjo in vedenje kot vgrajene funkcije Basica.

## Storitev SFDocuments.Calc

Knjižnica SFDocuments v skupni rabi vsebuje metode in lastnosti, ki pomagajo pri upravljanju in ravnanju z dokumenti LibreOffice.

Storitev SFDocuments.Calc je podrazred storitve SFDocuments.Document. Do vseh metod in lastnosti, definiranih za storitev Document, lahko dostopate tudi z uporabo instance storitve Calc.

Storitev Calc se osredotoča na:

- ravnanje z delovnimi listi v dokumentu Calc (kopiraj, vstavi, premakni itn.);

- izmenjavo podatkov med podatkovnimi strukturami Basica in obsegi programa Calc;

- kopiranje in uvažanje ogromnih količin podatkov.

- Oblikovanje enostavnih obsegov celic

## Storitev SFDocuments.Chart

Storitev Chart zagotavlja nabor lastnosti in metod za ravnanje z grafikoni v dokumentih Calc. Ta storitev omogoča:

- Dostop do predmetov grafikonov v dokumentih programa Calc in upravljanje z njihovimi lastnostmi.

- Ustvarjanje in vstavljanje novih grafikonov v dokumentih programa Calc.

- Izvoz grafikonov kot slikovnih datotek.

## Storitev SFWidgets.ContextMenu

Kontekstni meniji so vnaprej določeni ob namestitvi LibreOffice. Ni jih možno prilagajati prek pogovornega okna Orodja + Prilagodi.

Storitev ContextMenu zagotavlja naslednje zmožnosti:

- Začasno zamenja vse elemente menija v določenem kontekstnem meniju.

- Začasno doda nove menijske izbire na dno vnaprej določenega kontekstnega menija.

- Naredi kontekstni meni začasno nedejaven.

## Storitev SFDatabases.Database

Storitev Database zagotavlja dostop do zbirk podatkov, ki so vdelane ali opisane v dokumentih Base. Ta storitev zagotavlja metode za:

- pridobivanje dostopa do podatkov v tabelah zbirke podatkov;

- zagon povpraševanj SELECT in izvajanje sestavljenih funkcij;

- izvajanje ukazov dejanj SQL , kot so INSERT, UPDATE, DELETE itn.

## Storitev SFDatabases.Dataset

Storitev Dataset se uporablja za predstavljanje tabelaričnih podatkov, ki jih izdela zbirka podatkov. S to storitvijo je možno:

- dostop in krmarjenje po podatkih v naboru podatkov;

- posodabljanje, vstavljanje in odstranjevanje zapisov v naboru podatkov.

## Storitev SFDatabases.Datasheet

Storitev Datasheet omogoča vizualizacijo vsebine tabel zbirke podatkov, kot tudi rezultate poizvedb in izjav SQL, ki uporabljajo podatkovni pogled modula Base. Poleg tega vam ta storitev omogoča naslednje:

- Dodajte menije po meri podatkovnemu pogledu.

- Dostopajte do vrednosti na določenih položajih v podatkovnem pogledu.

- Postavite kazalko v določeno celico v podatkovnem pogledu.

## Storitev SFDialogs.Dialog

Storitev Dialog prispeva upravljanju pogovornih oken, ustvarjenih z Urejevalnikom pogovornih oken Basic ali izdelanih neposredno. Vsaka instanca trenutnega razreda predstavlja posamezno pogovorno okno, prikazano uporabniku.

## Storitev SFDialogs.DialogControl

Storitev DialogControl upravlja s kontrolniki, ki pripadajo pogovornemu oknu, določenemu z Urejevalnikom pogovornih oken Basica. Vsaka instanca trenutne storitve predstavlja posamezen kontrolnik v pogovornem oknu.

Pozornost je nastavljena na pridobivanje in določanje vrednosti, prikazanih na kontrolnikih pogovornega okna. Oblikovanje je dostopno prek lastnosti XControlModel in XControlView.

Upoštevajte, da so enkratne vsebine lastnosti DialogControl.Value razlikujejo glede na vrsto kontrolnika.

Posebna pozornost velja za drevesne kontrolnike. Drevo je enostavno napolniti: vejo po vejo ali pa z množico vej naenkrat. Napolnjevanje drevesnega kontrolnika se lahko izvede statično ali dinamično.

## Storitev ScriptForge.Dictionary

Slovar je zbirka parov ključ-element

- Ključ je niz. V skriptih Basic je razlikovanje malih in velikih črk določeno ob ustvarjanju slovarja. V skriptih Python ključ vedno razlikuje med malimi in velikimi črkami.

- Elementi so lahko poljubne vrste

## Storitev SFDocuments.Document

Knjižnica SFDocuments vsebuje metode in lastnosti, ki lajšajo upravljanje in ravnanje z dokumenti LibreOffice.

Metode, ki veljajo za vse vrste dokumentov (besedilne dokumente, preglednice, predstavitve itn.) so vključene v storitev SFDocuments.Document. Nekaj primerov:

- Odpiranje, zapiranje in shranjevanje dokumentov

- Dostop do standardnih lastnosti ali lastnosti po meri dokumentov

## Storitev ScriptForge.Exception

Storitev Exception je nabor metod za razhroščevanje kode skriptov Basic in Python ter za ravnanje ob napakah v skriptih Basic.

V primeru napake v skriptih Basic ob izvajanju lastnosti in metode storitve Exception pomagajo identificirati kontekst napake in omogočajo ravnanje z njo.

## Storitev ScriptForge.FileSystem service

Storitev FileSystem vključuje metode za ravnanje z datotekami in mapami. Sledi nekaj primerov funkcionalnosti, ki jih zagotavlja ta storitev:

- preverjanje, ali datoteka oz. mapa obstaja.

- ustvarjanje in brisanje map in datotek;

- odpiranje pogovornih oken za odpiranje/shranjevanje datotek;

- dostop do seznama datotek v mapi itn.

## Storitev SFDocuments.Form

Storitev Form ponuja metode in lastnosti za upravljanje z obrazci v dokumentih LibreOffice. Storitev podpira obrazce v dokumentih programov Base, Calc in Writer ter omogoča, da:

- odprete in aktivirate obrazce;

- krmarite po zapisih, ki jih prikazuje obrazec;

- pridobite dostop do kontrolnikov v obrazcu;

- pridobite dostop do podobrazcev nadrejenega obrazca.

## Storitev SFDocuments.FormControl

Storitev FormControl omogoča dostop do kontrolnikov, ki pripadajo obrazcu, podobrazcu ali kontrolniku tabele FormDocument. Vsaka instanca storitve FormControl se nanaša na posamezen kontrolnik v obrazcu. Ta storitev omogoča uporabnikom:

- pridobiti in določiti lastnosti kontrolnika, ki ga predstavlja instanca FormControl;

- dostopati do trenutne vrednosti, ki jo prikazuje kontrolnik;

- določiti pozornost na želeni kontrolnik.

## Storitev SFDocuments.FormDocument

Storitev FormDocument omogoča dostop do dokumentov obrazcev, shranjenih v dokumentih LibreOffice Base.

V dokumentu Base lahko pogledate obstoječe dokumente obrazca z izbiro Pogled – Obrazci v uporabniškem vmesniku. Vsak dokument obrazca je lahko sestavljen iz enega ali več obrazcev, vključno z glavnim obrazcem ter drugimi podobrazci.

## Storitev ScriptForge.L10N

Ta storitev zagotavlja številne metode, ki se nanašajo na prevod nizov z minimalnim vplivom na izvorno kodo programa. Metode, ki jih zagotavlja storitev L10N, lahko predvsem uporabite za:

- ustvarjanje datotek POT, ki jih je mogoče uporabiti kot predloge za prevod vseh nizov v programu;

- pridobivanje prevedenih nizov v času izvajanja za jezik, definiran z lastnostjo Locale.

## Storitev SFWidgets.Menu

Storitev Menu lahko uporabite za ustvarjanje in odstranjevanje menijev v menijski vrstici okna dokumenta LibreOffice. Vsak menijski vnos lahko povežete s skriptom ali ukazom UNO. Ta storitev ponuja naslednje zmogljivosti:

- Ustvarjanje menijev z vnosi, potrditvenimi polji, izbirnimi polji in ločili po meri.

- Okrasitev menijskih elementov z ikonami in namigi.

## Storitev ScriptForge.Platform

Storitev Platform ponuja zbirko lastnosti o trenutnem izvajalnem okolju in kontekstu, kot so:

- strojna platforma (arhitektura, število CPE, vrsta računalnika itn.),

- podatki o operacijskem sistemu (vrsta OS, izdaja, različica itn.),

- različica LibreOffice,

- ime trenutnega uporabnika

## Storitev SFWidgets.PopupMenu

Storitev PopupMenu lahko uporabite za ustvarjanje pojavnih menijev, ki jih lahko povežete z dogodki ali izvajate s skripti. Ta storitev ponuja naslednje zmogljivosti:

- Ustvarjanje pojavnih menijev z vnosi, potrditvenimi polji in izbirnimi polji po meri.

- Okrasitev menijskih elementov z ikonami in namigi.

## Storitev ScriptForge.Region

Storitev Region ponuja zbirko lastnosti in metod za ravnanje s področnimi in krajevnimi elementi programiranja, kot so:

- Dostop do krajevno in področno odvisnih nastavitev, kot so oblikovanje števil, valute in časovni pasovi.

- Pretvorba časovnih pasov in računanje zamikov zimskega časa.

- Preoblikovanje števil v besedilo v vseh podprtih jezikih.

## Storitev ScriptForge.Services

Glavni namen modula Services je zagotavljati dostop do metode CreateScriptService, ki jo lahko kličete iz uporabniških skriptov, da tvorite instanco storitev, ki so implementirane z uporabo ogrodja ScriptForge.

## Storitev ScriptForge.Session

Storitev Session obsega različne splošne metode glede:

- okolja nameščanja ali izvajanja,

- vpogleda v delovanje UNO in

- priklica zunanjih skriptov ali programov.

## Storitev ScriptForge.String

Storitev String ponuja zbirko metod za obdelavo nizov. S temi metodami lahko:

- potrdite veljavnost vsebine niza;

- oblikujete nize z obrezovanjem, poravnavanjem ali oblivanjem njihove vsebine;

- uporabite regularne izraze za iskanje in zamenjevanje podnizov;

- izvedete algoritme zgoščevalne funkcije nad nizi itn.

## Storitev ScriptForge.TextStream

Storitev TextStream se uporablja za zaporedno branje in pisanje v datoteke, odprte ali ustvarjene s storitvijo ScriptForge.FileSystem.

Metodi OpenTextFile in CreateTextFile iz storitve FileSystem vrneta instanco storitve TextStream.

## Storitev ScriptForge.Timer

Storitev Timer meri pretečeni čas ob izvajanju uporabniških skriptov.

Timer meri trajanje. Lahko je:

- zagnan, kar nakazuje, da meri čas delovanja;

- začasno zaustavljen, t.j. začasno ne meri časa delovanja;

- v nadaljevanju, da nadaljuje z merjenjem časa delovanja, potem ko je bil začasno zaustavljen;

- ponovno zagnan, kar prekliče prejšnje meritve in zažene časovnik Timer z ničelno vrednostjo.

## Storitev SFDocuments.Toolbar

Storitev Toolbar omogoča pridobivanje informacij, ki se nanašajo na orodne vrstice, ki so na voljo v danem oknu dokumenta. Ta storitev omogoča:

- Preklopite vidljivost določenih orodnih vrstic.

- Dostopajte do informacij o gumbih, ki so na voljo v vsaki orodni vrstici.

## Storitev SFWidgets.ToolbarButton

Storitev ToolbarButton omogoča pridobivanje informacij, ki se nanašajo na gumbe orodne vrstice, ki so na voljo v dani orodni vrstici. Ta storitev omogoča:

- Preklopite vidljivost elementov orodne vrstice.

- Izvede ukaz, povezan z danim gumbom orodne vrstice.

## Storitev ScriptForge.UI

Storitev UI (User Interface, angl. za uporabniški vmesnik) poenostavlja identifikacijo in ravnanje z različnimi okni, ki tvorijo celoten program LibreOffice:

- izbiranje oken;

- premikanje in spreminjanje oken;

- nastavitve vrstice stanja;

- prikaz plavajoče vrstice napredka;

- ustvarjanje novih oken;

- Dostop do osnovnih "dokumentov"

## Storitev SFDocuments.UnitTest

Storitev UnitTest ponuja ogrodje za samodejne preizkuse enot z rabo jezika Basic, vključno z naslednjimi možnostmi:

- Iz testnih primerov tvorite nabore testov in teste modulov.

- Delite kodo zagona in izklopa med testnimi primeri.

- Poročajte o rezultatih preizkusov z uporabo Console,

## Storitev SFDocuments.Writer

Knjižnica SFDocuments v skupni rabi vsebuje metode in lastnosti, ki pomagajo pri upravljanju in ravnanju z dokumenti LibreOffice.

Nekatere metode so generične za vse vrste dokumentov in se dedujejo iz storitve SF_Document, medtem ko so druge metode, specifične za dokumente programa Writer, definirane v modulu SF_Writer.

Opomba: drugi, neopisani moduli ScriptForge so rezervirani za interno uporabo. Njihova vsebina se lahko spremeni brez opozorila.

Vsi podprogrami ali identifikatorji ScriptForge Basic s predpono podčrtaja (»_«) so rezervirani za interno uporabo. Uporabi v makrih Basic ali skriptih Python niso namenjeni.

Podprite nas!