premetto che è difficile rispondere a questa domanda senza avere un'idea di
quello che stai facendo
Il mio obiettivo è quello di distribuire a più utenti un modello OTT con barra dei bottoni con
funzionalità che permettono di "operare" sul documento corrente. Queste funzionalità vorrei realizzarle interamente
in Java, con Swing che visualizzano finestre varie.
Le macro (in StarBasic) fungono da rampa di lancio per i servizi (realizzati in Java) contenuti in un unico Package UNO.
La distribuzione è fondamentale. Il modello OTT potrebbe essere aperto da una
condivisione di rete, mentre il package presumo che debba essere
installato con un prodotto di deploy sulle singole macchine.
(comunque cercherò di capirne dippiù su come sono organizzati i package).
> Ho provato dagli esempi dell'SDK a creare un package e poi ho
> fatto una macro in StarBasic da cui richiamare il metodo implementato in
> Java. Ok questo funziona (anche se devo dire farlo senza nessun esempio
> non è banale).
Anche se questa è una delle tante possibilità, mi pare strano che tu la abbia
voluta utilizzare.
Perchè usare il basic per richiamare il codice java?
Hai forse scritto dei servizi UNO allo scopo di estendere le funzionalità di
StarBASIC ?
In effetti potrei utilizzare anche Java o Javascript, ma StarBasic è più comodo.
Si di fatto le mie funzionalità estendono Oo (almeno per le mie esigenze)
>
> Ho visto però, anche se non è possibile farlo direttamente in Oo, che
> c'è una directory "OpenOffice\share\script\java" in cui vi sono dei Jar
> con un file XML (immagino che serva per caricare il JAR nel runner delle
> macro), e i metodi implementati nella classe del Jar compaiono nella
> parte Run Macro.
> Non mi pare di aver letto nulla nella documentazione dell'SDK
> relativamente a questa modalità.
si tratta del nuovo scripting framework
se hai l'ultimo sdk, dai un occhiata nella dev-guide al capitolo:
18 Scripting Framework
altre info qui:
http://framework.openoffice.org/scripting/index.html
Mi sembra estremamente interessante, l'unico problema è come deployare soluzioni in questo sistema.
L'installer dovrebbe inserire nell'opportuna directory il compilato Java con l'opportuno file XML....non è
complicatissimo da fare, ma forse i package sono più comodi.
> Secondo voi dovendo richiamare codice
> Java (con finestre Swing) da OpenOffice, magari in una Toolbar, e
> interagire con il documento aperto conviene la prima modalità (UNO
> package) o la seconda (Jar file)?
Il problema non è tanto quello che devi fare quanto se lo devi distribuire e
in che modo.
In generale, se il tuo lavoro deve essere installato in più postazioni
conviene distribuirlo come UNO package.
Lo scripting framework consente invece di integrare "macro" prodotte in vari
linguaggi allo stesso modo delle macro starbasic, quindi a livello di
applicazione ma anche a livello di documento, con la possibilità per l'utente
di collegare l'esecuzione di queste "macro" agli eventi di ooo o ai pulsanti
o menu, o combinazioni di tasti, proprio come si fa con le macro Basic
>
> Vi sarei grato se mi poteste dare anche qualche riferimento
> relativamente alla creazione e deploy di package (Paolo mi ricordo la
> tua Presentazione a OoCon2005)
Ricordo bene che abbiamo avuto il tempo di scambiare un po di chiacchiere
proprio dopo la mia presentazione perciò mi fa piacere "rivederti" da queste
parti :-)
Penso che mi rivedrai spesso. Ho postato anche qualche cosa sulla ML [email protected]
a riguardo di attributi alieni XML e OfficeBean (peccato il non supporto di SWING).
> di una soluzione con Oo e Java (immagino
> siano più convenienti i package).
Come ti dicevo i packages sono uno strumento "unificato" di distribuzione.
unificato perchè possono contenere parecchie cose diverse, non necessariamente
servizi UNO in qualsivoglia linguaggio.
A parte la mia presentazione che fonisce una brevissima vista di insieme,
esiste il capitolo 4 della dev-guide he ne parla in modo esaustivo:
4 Writing UNO Components
in particolare :
4.7 Integrating Components into OpenOffice.org
Ok mi studio i capitoli ;-)
ciao
Paolo M
Ciao e grazie
Roberto B.
-------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]