Bibliotekerne i ScriptForge opbygger en samling af makroscript-ressourcer, der kan udvides, til brug i LibreOffice, der skal kaldes fra Basic-makroer eller Python-scripts.
• Basic-makroer kræver, at biblioteket ScriptForge indlæses med følgende udtryk: GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python-scripts kræver import af scriptforge-modulet: from scriptforge import CreateScriptService
De beskrevne moduler og klasser kaldes fra brugerscripts som "Tjenester". Der er designet en generisk konstruktor af disse tjenester til det formål for hvert enkelt sprog.
Metoden Dispose (Bortskaf) er tilgængelig i alle tjenester og bør kaldes for at frigøre ressourcer efter brugen:
Giver en samling metoder til at manipulere og transformere en-dimensions matrixer (vektorer) og to-dimensions matrixer (matrixer). Dette omfatter sæt-operationer, sortering, import fra og eksport til tekstfiler.
Matrixer med mere end to dimensioner kan ikke bruges med metoderne i denne tjeneste; den eneste udtagelse er metoden CountDims, der accepterer matrixer med et vilkårligt antal dimensioner.
Tjenesten Base giver et antal metoder og egenskaber, der letter administration og håndtering af LibreOffice Base-dokumenter.
Denne tjeneste er nært relateret til tjenesten Document, som giver generiske metoder til at håndtere LibreOffice-dokumenter, herunder Base-dokumenter. Derfor udvider tjenesten Base tjenesten Document og giver yderligere metoder, der er specifikke for Base-dokumenter og lader brugerne:
Få adgang til databasen, der er indeholdt i et Base-dokument.
Åbne formular-dokumenter, der er gemt i et Base-dokument.
Tjekke om et formulardokument fra et Base-dokument aktuelt er indlæst.
Tjenesten ScriptForge.Basic tilbyder en samling af LibreOffice Basic-metoder til kørsel i en Python-kontekst. Tjenesten Basics metoder reproducerer de indbyggede Basic-funktioners præcise syntaks og adfærd.
Det delte bibliotek SFDocuments giver et antal metoder og egenskaber til at facilitere adminstrationen og håndteringen af LibreOffice-dokumenter.
Tjenesten SFDocuments.Calc er en delmængde af tjenesten SFDocuments.Document. Alle metoder og egenskaber, der er defineret for tjenesten Document (dokument) kan også tilgås med instansen af Calc-tjenesten.
Tjenesten Calc er fokuseret på:
Håndteringsark i et Calc dokument (kopier, indsæt, flyt osv.)
Dataudveksling mellem Basic data-strukturer og Calc-områder
Kopiering og import af enorme datamængder amounts of data
Tjenesten Datasheet gør det muligt at visualisere indholdet af databasetabeller og resultater af forespørgsler og SQL-sætninger, med brug af datavisningen i Base. Derudover gør denne tjeneste det muligt at:
Tilføje brugerdefinerede menuer til datavisningen.
Tilgå værdier i specifikke positioner af datavisningen.
Placere markøren i en specifik celle af datavisningen.
Tjenesten Dialog bidrager til administrationen af dialoger oprettet med Basic Dialogeditoren eller dialoger oprettet under afvikling. Hver instans af den aktuelle klasse repræsenterer en enkelt dialog vist for brugeren.
Tjenesten DialogControl håndterer de kontrolelementer, der hører til en dialog, som er defineret med Basics Dialogredigering. Hver instans af den aktuelle tjeneste repræsenterer et enkelt kontrolelement indenfor et dialogfelt.
Fokus sættes på at hente og sætte de værdier, der vises af dialogfeltets kontroller. Formatering er tilgængelig via egenskaberne XControlModel and XControlView.
Bemærk, at indholdet af den unikke egenskab DialogControl.Value (dialogkontrol.værdi) varierer efter kontroltypen.
Kontrolelementer ordnet i en træstruktur får særlig opmærksomhed. Det er let at fylde et træ med værdier, enten gren for gren eller med flere grene på én gang. Indsættelse af værdier i et "kontroltræ" kan gøres statisk eller dynamisk.
Biblioteket SFDocuments stiller metoder og egenskaber til rådighed, som kan hjælpe med administration og manipulation af LibreOffice-dokumenter.
Metoder, der kan anvendes på alle typer af dokumenter (tekstdokumenter, regneark, præsentationer og så videre) leveres af tjenesten SFDocuments.Document. Nogle eksempler er:
Åbning, lukning og lagring af dokumenter
Adgang til dokumenters standard- eller tilpassede egenskaber
Tjenesten Exception (undtagelse) er en samling af metoder, der hjælper med at debugge koder i Basic- og Python-sceripts og med håndtering af fejl i Basic-scripts.
I Basic-scripts hjælper tjenesten Exception (undtagelse) metoderne og egenskaberne med at identificere fejlens sammenhæng og tillader håndtering af den, når der forekommer en kørselsfejl.
Tjenesten FileSystem omfatter rutiner til håndtering af filer og mapper. Herefter er der nogle eksempler på funktionaliteter leveret af denne tjeneste:
Tjenesten Form giver metoder og egenskaber til administration af formularer i LibreOffice-dokumenter. Denne tjeneste understøtter formularer i Base-, Calc- og Writer-dokumenter og tillader:
Åbn og aktiver formularer.
Naviger gennem posterne, der vises i formularen.
Få adgang til kontrollerne i formularen.
Få adgang til til en ophavsformulars afkomsformularer.
Tjenesten FormControl (formularkontrol) giver adgang til de kontroller, der tilhører en formular, en underformular eller en tabel-kontrol i et FormDocument (formulardokument). Hver instans af tjenesten FormControl henviser til et enkelt kontrolelement i formularen. Denne tjeneste lader brugerne:
Find og sæt kontrolelementets egenskaber repræsenteret af instansen af FormControl (formularkontrol).
Tilgå den aktuelle værdi, der vises af kontrollen.
Tjenesten FormDocument giver tilgang til formulardokumenter gemt i LibreOffice Base-dokumenter.
I et Base-dokument kan eksisterende formulardokumenter ses ved at vælge Vis ▸ Formularer i brugerfladen. Hvert formulardokument kan være sammensat af en eller flere formularer, inklusive hovedformularen og andre underformularer.
Denne tjeneste leverer et antal metoder i forbindelse med oversættelse af strenge med minimal indvirkning på programmets kildekode. Metoderne, der er leveret af tjenesten L10N kan hovedsagelig bruges til:
Opret POT-filer, der kan bruges som skabeloner til oversættelse af alle strenge i programmet.
Få oversatte strenge under afviklingen til det sprog, der er defineret i egenskaben Locale.
Tjenesten Menu kan bruges til at oprette og fjerne menuer fra menulinjen i et LibreOffice dokumentvindue. Hvert menupunkt kan tilknyttes til et script eller til en UNO-kommando. Tjenesten giver disse muligheder:
Oprettelse af menuer med tilpassede elementer, afkrydsningsfelter, alternativknapper og skilletegn.
Udstyrelse af menuelementer med ikoner og værktøjstips.
Tjenesten PopupMenu kan bruges til at oprette popup-menuer, der kan knyttes til hændelser eller udføres af scripts. Denne tjeneste giver disse muligheder:
Oprettelse af popup-menuer med tilpassede, afkrydsningsfelter og alternativknapper.
Udsmykning af menuelementer med ikoner og værktøjstips.
Hovedformålet med modulet Services (tjeneste) er at give adgang til metoden CreateScriptService (opret_script-tjeneste), som kan kaldes i brugerscripts til at instantiere tjenester, der implementeres med ScriptForge-miljøet.
Tjenesten TextStream bruges til fortløbende at læse og skrive i de filer, der er åbnet eller oprettet med tjenesten ScriptForge.FileSystem.
Metoderne OpenTextFile (åbn tekstfil) og CreateTextFile (opret tekstfil) fra tjenesten FileSystem (filsystem) returnerer en instans af tjenesten TextStream (tekst-strøm).
Tjenesten Toolbar gør det muligt at hente information relateret til værktøjslinjer, som er tilgængelige for et specifikt dokumentvindue. Med denne tjeneste er det muligt at:
Skift synligheden af specifikke værktøjslinjer.
Få adgang til oplysninger om de tilgængelige knapper på hver værktøjslinje.
ToolbarButton-tjenesten giver mulighed for at hente information relateret til de værktøjslinjeknapper, som er tilgængelige i en given værktøjslinje. Med denne tjeneste er det muligt at:
Skift synligheden af værktøjslinjeelementer.
Udfør kommandoen forbundet med en given knap på værktøjslinjen.
Tjenesten UI (User Interface = brugerflade) forenkler identifikationen og håndteringen af de forskellige vinduer, der udgør hele LibreOffice-programet.
Det delte bibliotek SFDocuments giver et antal metoder og egenskaber til at lette administration og håndtering af LibreOffice-dokumenter.
Nogle metoder et almindelige for alle dokumenttyper og er nedarvede fra modulet SF_Document, mens andre metoder, der er specifikke for Writer-dokumenter er defineret i modulet SF_Writer.
OBS: Andre ScriptForge ikke-beskrevne moduler er reserveret til internt brug. Deres indhold kan ændres uden varsel.
Alle ScriptForge Basic-rutiner eller identifikatorer, der indledes med et understregstegn "_" er reserveret til internt brug. Det er ikke meningen, at de skal bruges i Basic-makroer eller Python-scripts.