Valerio Messina ha scritto:

ciao Valerio,

Bart Aimar ha scritto:

Aprire un documento calc che chiamiamo doc A
Ctrl-F per aprire una finestra di ricerca
lasciarla aperta...
Aprire un secondo documento calc che chiamiamo B e in B (doc attivo)
inserire una funzione qualsiasi su una cella qualsiasi...
Plong! ...e ci si ritrova immediatamente sul documento A

confermo, usando il wizard delle formule, alla pressione dell'OK, ci si
trova sul documentoA.
La cosa buffa è che nella barra delle applicazioni rimane selezionato
(cliccato) il documento B, anche se siamo tornati al documento A.

ma:
Print ThisComponent.CurrentController.Frame.Title
indica il documento A

Il focus è alla finestra di Cerca e Sostituisci.

C'è modo via API di trovare dove sia il focus?

Se in questa situazione si clicca sulla barra delle applicazioni
DocumentoB, si vede la finestra dietro a documentoA ridursi a icona...

La questione è complicata... document model, document controller e document frame... e dove sarà il focus?
Quale di questi oggetti sa qual'è il "documento in primo piano"?
Forse nessuno... forse bisogna ricorrere al desktop senza passare da ThisComponent... "Avere il focus su" e "essere in primo piano" sono circa la stessa cosa? Insomma sono un po' confuso... e mi piacerebbe fare chiarezza una volta per tutte.

Provando sempre nella situazione che si diceva... cioè dopo il salto (involontario) sul doc A:

print stardesktop.ActiveFrame.Title
print ThisComponent.GetURL()
print ThisComponent.CurrentController,Frame.Title

sembrano sostenere che si è sul doc A...
ma probabilmente ho trascurato delle possibilità...
Viene in mente qualcos'altro?

Il tutto non succede inserendo la formula a mano.

Indubbiamente il problema è creato dalla finestra di ricerca.
Probabilmente è una qualche forma di listener (bisognerebbe guardare il codice sorgente...) che rimane aperto fino a quando la relativa finestra è aperta... e che si "ruba" il focus quando si chiude wizard di inserimento funzione (o si chiude il rangeselectionlistener)

Ho fatto una ricerca per vedere se già qualcuno (magari ingenuamente) avesse aperto una issue... ma non ho trovato nulla!
Ma non vuol dire... non son bravo a cercare su quelle pagine...!

Ciao

Bart

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a