Top Banner
a cura di nizan Soluzioni Open Source Fondamenti di programmazione OpenOffice.org Basic
86

Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Feb 16, 2019

Download

Documents

trinhdieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

a cura di nizan Soluzioni Open Source

Fondamenti di programmazione OpenOffice.org Basic

Page 2: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

GNU Free Documentation License

Copyright © 2003 nizan Soluzioni OpenSource via Marconi,14 Casalecchio di Reno.Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Text Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

2

Page 3: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org

OpenOffice.org è un progetto Open Source che

ha quale scopo primario lo sviluppo di una

Suite per l'Ufficio multi-lingue e multi-

piattaforma, basata sullo standard aperto XML

di salvataggio dei documenti

3

Page 4: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Differenze tra StarOffice e OpenOffice.org

Non tutto il codice di StarOffice è disponibile presso OpenOffice.org.La ragione dipende dal fatto che Sun Microsystems utilizza codice di terze parti e ne acquista la licenza; non ha perciò il permesso di renderlo utilizzabile in OpenOffice.org. Le parti che sono o saranno presenti in StarOffice, ma non disponibili in OpenOffice.org includono:

* Controllo Ortografico * Alcuni caratteri (inclusi, in modo particolare, i caratteri delle lingue orientali) * La Guida * Il componente di Database (Adabas D) * I Modelli * La vasta galleria di Clip Art * Alcune funzionalità di ordinamento (nelle versioni asiatiche) * Alcuni filtri per i file

4

Page 5: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org: uso delle macro

● Creazione nuova macro● Creazione nuovo modulo● Gestione moduli● Gestione librerie● Importazione/esportazione● Assegnazione macro

5

Page 6: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org:uso delle macro

6

Page 7: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Finestra Macro: moduli standard

7

Page 8: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Opzioni: percorsi

8

Page 9: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Finestra Macro: moduli utente

9

Page 10: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Gestione macro: moduli

10

Page 11: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Gestione macro: librerie

11

Page 12: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Assegnazione macro: voce di menù

12

Page 13: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Assegnazione macro: combinazione di tasti

13

Page 14: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Assegnazione macro: eventi

14

Page 15: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org Basic: differenze rispetto ai dialetti basic tradizionali

OpenOffice.org Basic è modulareLa programmazione con OpenOffice.org Basic è basata su singole Subs o Functions che terminano sempre con End Sub o End Function. In ogni Sub o Function può essere chiamata un'altra Sub o FunctionQuando una macro viene eseguita automaticamente essa chiama la Sub corrispondente

15

Page 16: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org Basic: considerazioni tecniche

● Variabili● Oggetti● Procedure e funzioni● Librerie di moduli e dialoghi

16

Page 17: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Variabili: dichiarazione

● DIM a$– dichiara “a” come stringa

● DIM a As String– dichiara “a” come stringa

● DIM a$, b As Integer– dichiara “a” come stringa, “b” come intero

17

Page 18: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Variabili: dichiarazione

La dichiarazione delle variabili NON è obbligatoria

Questo comportamento può essere cambiato utilizzando “OPTION EXPLICIT” come prima istruzione di un modulo

18

Page 19: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Variabili: tipi

● DIM Variabile%● DIM Variabile&● DIM Variabile!● DIM Variabile#● DIM Variabile@● DIM Variabile$

● Integer● Long● Single● Double● Currency● String

● Date● Boolean

Forma breve DIM Variabile As ...

19

Page 20: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e Funzioni: chiamata semplice

Sub InizioDIM Variabile1 As StringDIM Variabile2 As Integer

Codice

End Sub

20

Page 21: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e Funzioni: chiamata semplice

Function Inizio As IntegerDIM Variabile1 As StringDIM Variabile2 As Integer

Codice

Inizio = Valore (valore di ritorno)

End Function

21

Page 22: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e Funzioni: chiamata con parametri

Sub Inizio(Par1 As Integer, Par2 As String)DIM Variabile1 As StringDIM Variabile2 AS Integer

Codice

End Sub

22

Page 23: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e Funzioni: chiamata con parametri

Function Inizio(Par1 As Single) As IntegerDIM Variabile1 As StringDIM Variabile2 AS Integer

Codice

Inizio = Valore (valore di ritorno)

End Function

23

Page 24: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e funzioni: visibilità delle variabili

● PUBLIC Variabile As TYPENAME– Visibile in tutti i moduli

● PRIVATE Variabile As TYPENAME– Visibile solo nel modulo corrente

● DIM Variabile As TYPENAME– Come sopra

● STATIC Variabile As TYPENAME– Preserva il valore di una variabile in una Sub

24

Page 25: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Procedure e funzioni: altre caratteristiche

● Di default tutte le variabili vengono passate alle funzioni per riferimento

– Per modificare questo comportamento aggiungere la keyword “ByVal” prima di un parametro nella chiamata della funzione

● Le chiamate ricorsive di Subs e Functions NON sono permesse

25

Page 26: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Librerie, moduli e dialog● Le librerie sono un tool per organizzare più moduli.

Quando un documento o un template vengono salvati, tutte le librerie in esso contenute vengono salvate

● I moduli contengono Sub e Function e tutte le variabili valide in uno o tutti i moduli

● I dialog permettono l'interazione con l'utente tramite controlli ed eventi

26

Page 27: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Gestione macro: moduli

27

Page 28: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org Basic IDE

● Ambiente di sviluppo integrato in OpenOffice.org

● Supporto linguaggio di programmazione OpenOffice.org Basic

● Editor avanzato● Interfacciamento diretto con API di

programmazione● Debugging avanzato

28

Page 29: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

StarBasic IDE: interfaccia

29

Page 30: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

StarBasic IDE: debugging

30

Page 31: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

L'API OpenOffice.org

L'API OpenOffice.org si basa sulla tecnologia a componenti di OpenOffice.org e consiste in una ampia gamma di interfacce scritte in un linguaggio IDL simile a CORBA.

Mentre la tecnologia a componenti determina come i componenti o le applicazioni comunicano gli uni con gli altri e come accedere all'API da specifici linguaggi, l'API definisce l'interfaccia per accedere alle funzionalità indipendentemente dal linguaggio usato.

31

Page 32: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

L'API OpenOffice.org: definizione

● L'API OpenOffice.org non è un linguaggio di programmazione– E' una definizione astratta di tutti gli oggetti e

delle interfacce che si possono usare nella programmazione.

– OpenOffice.org Basic offre un interfacciamento diretto con l'API OpenOffice.org ma le stesse interfacce possono essere utilizzate da altri linguaggi di programmazione (C, C++, Java, StarScript)

32

Page 33: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

API OpenOffice.org: informazioni addizionali

● http://api.openoffice.org/– Homepage del progetto API OpenOffice.org

● http://api.openoffice.org/basic/man/tutorial/tutorial.pdf– Tutorial sull'API OpenOffice.org (aka Staroffice)

e OpenOffice.org Basic (aka StarBasic)● http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html

– Manuale di riferimento (online) dell'API OpenOffice.org

33

Page 34: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org API: concetti

● Servizi e interfacce

● Moduli

● Componenti

34

Page 35: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org API: servizi e interfacce

● Un servizio è un concetto “astratto” che fornisce interfacce e proprietà

– Ogni implementazione di un particolare servizio deve fornire le stesse interfacce

– Una interfaccia è una collezione di metodi che forniscono certe funzionalità

35

Page 36: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Gestione macro: librerie

36

Page 37: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Servizi e interfacce

37

Page 38: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org API: moduli

● I moduli sono raggruppamenti di servizi, interfacce, tipi, numeratori e strutture dati.

– Alcuni esempi di moduli sono text, sheet, table e drawing

– Sebbene i loro nomi corrispondano con quelli di certe applicazioni non c'è un legame diretto tra questi (es. il modulo document non è usato solamente per documenti di testo)

38

Page 39: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

StarOffice API module structure

39

Page 40: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

OpenOffice.org API: componenti

● I componenti implementano servizi dell'API di OpenOffice.org

– Non è possibile accedervi direttamente programmando con l'API di OpenOffice.org.

– Sono accessibili come “beans” che è possibile incorporare nei programmi

– Il loro utilizzo è fuori dallo scopo di questo trattato

40

Page 41: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

a cura di nizan Soluzioni Open Source

END

Page 42: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

a cura di nizan Soluzioni Open Source

Fondamenti di programmazione OpenOffice.org API

(parte 2)

Page 43: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

GNU Free Documentation License

Copyright © 2003 nizan Soluzioni OpenSource via Marconi,14 Casalecchio di Reno.Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Text Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Page 44: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Funzioni I/O standard

OpenOffice.org Basic comprende un set

completo di funzioni di I/O sul filesystem che lo

rendono compatibile con Visual Basic. Per

garantire l'indipendenza dal sistema operativo

usato è stata aggiunta la notazione “file://...”

Page 45: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Esempio I/O con funzioni standard

Open "file:///home/guandalf/prova.txt" For Input As #1

While Not Eof(#1)Input #1, a$Print a$

Wend

Close #1

Page 46: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

I/O con l'API OpenOffice.org

Servizio:com.sun.star.ucb.SimpleFileAccess

Interfacce:com.sun.star.ucb.XSimpleFileAccess2

com.sun.star.ucb.XSimpleFileAccess

Page 47: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

I/O con l'API OpenOffice.orgmetodi

● Copiare, muovere e rimuovere files e folders

(copy(), move(), kill())

● Ottenere informazioni riguardanti files e

folders (isFolder(), exists(), getSize(), ...)

● Aprire e creare files (openFileRead(),

openFileWrite(), openFileReadWrite())

Page 48: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

I/O con l'API OpenOffice.orgintefacce stream

● com.sun.star.io.XInputStream,

com.sun.star.io.XSeekable

● com.sun.star.io.XOutputStream,

com.sun.star.io.XSeekable

● com.sun.star.io.XStream,

com.sun.star.io.XSeekable

Page 49: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per I/O su files di testo

Servizi:com.sun.star.io.TextInputStreamcom.sun.star.io.TextOutputStream

Interfacce:com.sun.star.io.XTextInputStreamcom.sun.star.io.XActiveDataSinkcom.sun.star.io.XTextOutputStreamcom.sun.star.io.XActiveDataSource

Page 50: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per input da files di testo

L'interfacciacom.sun.star.io.XActiveDataSink

esporta il metodosetInputStream()

che accetta come parametro un oggetto ritornato dal metodo

openFileRead()

Page 51: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per I/O su files di testo

Utilizzando i metodireadLine()

readString()

esportati dall'interfacciacom.sun.star.io.XTextInputStream

possiamo leggere linee o stringhe dal file di testo

Page 52: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per I/O su files di testo

Utilizzando il metodosetEncoding()

possiamo definire la codifica dei caratteri che sarà usata (default UTF-8)

http://www.iana.org/assignments/character-sets

Page 53: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per output su files di testo

L'interfacciacom. sun. star. io.XActiveDataSource

esporta il metodosetOutputStream()

che accetta come parametro un oggetto ritornato dal metodo

openFileWrite()

Page 54: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Intefacce stream specifiche per I/O su files di testo

Utilizzando il metodowriteString()

esportato dall'interfacciacom.sun.star.io.XTextOutputStream

possiamo scrivere stringhe nel file di testo

Page 55: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Chiusura streams

I files aperti devono essere chiusi utilizzando i metodi

com.sun.star.io.XInputStream:closeInput() com.sun.star.io.XOutputStream:closeOutput()

Page 56: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Esempio I/O con API OpenOffice.org

oSimpleFileAccess = createUnoService_("com.sun.star.ucb.SimpleFileAccess")

oStream = oSimpleFileAccess.openFileRead_("file:///home/guandalf/prova.txt")

oTextStream = createUnoService_("com.sun.star.io.TextInputStream")

oTextStream.setInputStream(oStream)

While Not oTextStream.isEOF()sLine = oTextStream.readLine()Print sLine

Wend

oStream.closeInput()

Page 57: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Formati data e ora

OpenOffice.org supporta diversi tipi di formati e

funzioni per il trattamento di data e ora

compatibili con Visual Basic

Page 58: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Formati data e oraI metodi

com.sun.star.awt.XDateField:setDate()

ecom.sun.star.awt.XDateField:getDate()

utilizzano uno speciale formato ISO non compatibile con le funzioni

Date e Time

interne al Basic

Page 59: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Formati data e ora

Le funzioniCDateToIso

eCDateFromIso

convertono i formati da quello del Basic a quello delle API e viceversa

Page 60: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Interazione tra Basic e API

● StarDesktop

● ThisComponent

Page 61: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

StarDesktop

Dà accesso diretto al servizio: com.sun.star.frame.Desktop

MsgBox StarDesktop.Dbg_SupportedInterfaces

equivale aDim oDesktop

oDesktop = createUnoService_(“com.sun.star.frame.Desktop”)

MsgBox oDesktop.Dbg_SupportedInterfaces

Page 62: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

ThisComponent

● Dà accesso al documento corrente o che contiene il codice eseguito

● Il valore ritornato dipende dal documento al quale fa riferimento– Es.

MsgBox ThisComponent.Dbg_SupportedInterfaces

Questo esempio produrrà diversi risultati dipendentemente dal documento sul quale stiamo operando

Page 63: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Interfacce di default

Tutti i documenti esportano una serie di

interfacce di default.

Dipendentemente dal tipo di documento,

saranno disponibili una ulteriore serie di

interfacce specializzate.

Page 64: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Interfacce esportate da tutti i documenti (segue)

● com.sun.star.beans.XPropertySet● com.sun.star.container.XChild● com.sun.star.document.XdocumentInfoSupplier● com.sun.star.document.XEventBroadcaster● com.sun.star.document.XViewDataSupplier● com.sun.star.document.XEventsSupplier● com.sun.star.document.XLinkTargetSupplier

Page 65: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Interfacce esportate da tutti i documenti

● com.sun.star.frame.XModel● com.sun.star.frame.XStorable● com.sun.star.lang.XServiceInfo● com.sun.star.lang.XMultiServiceFactory● com.sun.star.lang.XEventListener● com.sun.star.style.XStyleFamiliesSupplier● com.sun.star.util.XModifiable● com.sun.star.view.XPrintable

Page 66: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.beans.XPropertySet

Fornisce informazioni e accesso alle proprietà di una implementazione.Le proprietà possono essere di tipo:

● Bound● Constrained● Free

E' possibile legare dei “listener” alle proprietà di tipo bound e constrained.

Page 67: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.container.XChild

Permette l'accesso al “genitore” dell'oggetto

specificato tramite i metodi

getParent()

setParent()

Page 68: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.document.XDocumentInfoSupplier

Fornisce informazioni specifiche sul documento come:

autoredata di creazione

titoloinformazioni sull'utente

Page 69: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.document.XEventBroadcaster

Permette di registrare “listener” che saranno

chiamati quando determinati eventi avverranno

nel documentoAlcuni nomi di eventi sono:OnLoadFinishedOnPrintOnResize

Page 70: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.document.XViewDataSupplier

Dà accesso a una serie di proprietà che

descrivono le “viste” del documento

Ogni vista è descritta da una serie di

com.sun.star.beans.PropertyValue

Page 71: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.document.XEventsSupplier

Attraverso la chiamata al metodo

getEvents()

ritorna una lista di handlers legati a eventi

dell'oggetto

Page 72: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.document.XLinkTargetSupplier

Interfaccia fornita dagli oggetti all'interno del

modello del documento che possono essere

target di un link.

Il metodo

getLinks()

ritorna l'elenco e implementa il servizio

LinkTargets sul quale operare.

Page 73: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.frame.XModel

E' la rappresentazione di un componente

creato tramite un URL e degli argomenti.

Contiene ad esempio il nome della risorsa

accessibile tramite il metodo

getURL()

Page 74: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.frame.XStorable

Permette in modo semplice di immagazzinare

un componente in un URL.

Ad esempio il metodo

store()

salva il componente nell'URL dal quale era

stato caricato.

Page 75: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.lang.XServiceInfo

Fornisce informazioni riguardanti le

implementazioni di servizi, cioè quali servizi

sono implementati e il nome

dell'implementazione.

Page 76: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.lang.XMultiServiceFactory

Permette la creazione di istanze di servizi che

verranno inclusi nel documento.

Con il metodo

createInstance()

si crea una istanza (ad esempio di un servizio,

ma non solo) all'interno del documento.

Page 77: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.lang.XEventListener

E' l'interfaccia di base per tutte le interfacce “listener”

Esporta un metododisposing()che viene chiamato quando il “broadcaster” sta per essere rimosso

Page 78: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.style.XStyleFamiliesSupplier

Questa interfaccia fornisce l'accesso alle famiglie di stili contenute nel documento.

Il metodogetStyleFamilies()ritorna questo elenco come un contenitore di stili.

Page 79: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.util.XModifiable

Rende accessibile lo stato di documento

modificato attraverso i metodi

isModified()

setModified()

Page 80: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.view.XPrintable

Fornisce le funzionalità basilari di stampa

Esporta i metodi

getPrinter()

setPrinter()

print()

Page 81: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Documenti Text:servizi e interfacce

● Servizio com.sun.star.text.TextDocument

che esporta l'intefaccia

com.sun.star.text.XTextDocument

● Diverse altre interfacce specialmente dal

modulo com.sun.star.text

Page 82: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.text.XTextDocument

Fornisce l'interfaccia principale per un

documento di testo

Esporta

getText()

reformat()

Page 83: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Documenti Spreadsheet:servizi e interfacce

● Servizio com.sun.star.sheet.SpreadsheetDocument

● Diverse altre interfacce specialmente dal

modulo com.sun.star.sheet

Page 84: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

com.sun.star.sheet.SpreadsheetDocument

Fornisce l'accesso a una collezione di fogli di calcolo

EsportagetSheets()

Page 85: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

Documenti Drawing:servizi e interfacce

● Servizio com.sun.star.sheet.DrawingDocument

● Diverse altre interfacce specialmente dal

modulo com.sun.star.drawing

Page 86: Fondamenti di programmazione OpenOffice.org Basic · – Manuale di riferimento (online) dell'API OpenOffice.org 33. OpenOffice.org API: concetti

a cura di nizan Soluzioni Open Source

END