Discussioni utente:Wim b/Jalo
Aggiungi argomentoCiao. Dopo aver scritto e salvato il tuo messaggio clicca qui e attendi che il software faccia il resto (se non hai istallato il popup clicca invece qui).
|
Ciao
[modifica sorgente]Il codice della tua sandbox e' un pezzo di quello che gestisce il popup che appare quando usi i pulsanti della toolbar (per la precisione i metodi che servono sono Ficus e AuxFicus).
In linea di massima la toolbar convive da sola con il wikEd, se non fosse che lavorano su finestre di edit diverse. Quella che vedi con il wikEd e' una finestra di tipo RichText che viene sovrapposta a quella originale. Per farli scrivere sulla stessa finestra si usa questo trucco:
- Ogni funzione del codice che mette mano alla finestra deve:
- copiare la finestra del wikEd su quella standard (nel codice chiamo questa operazione copia dal frame di wikEd)
- fare quello che deve fare sulla finestra standard
- ricopiare il risultato nella finestra di wikEd (nel codice si chiama copia la wpTextbox1 textarea nel frame del wikEd)
Le operazioni di copia vanno fatte solo se il wikEd e' attivato, e questo e' il significato degli if che vedi nel codice.
Lo script per la toolbar potrebbe interessarmi, dove sta? :-) --Jalo 18:04, 5 lug 2007 (CEST)
- Non capisco cosa intendi con far convivere toolbar e wikEd. Dovrebbero gia' apparirti tutte e due. --Jalo 21:27, 5 lug 2007 (CEST)
- Ok, allora avevo capito la prima volta. Il wikEd crea una nuova casella di testo (che lui chiama Frame) e la sovrappone a quella standard (che chiama TextArea). La differenza tra i due e' che il frame permette di colorare il testo, di mostrare le scritte in grassetto, corsivo, ecc. La textarea standard non puo' farlo.
- Quando apri una pagina in modifica, il wikEd copia il contenuto della TextArea nel suo frame. Da quel punto in avanti il wikEd modifica il Frame, mentre la toolbar modifica la TextArea che, essendo sotto al Frame, non si vede, e quindi non vedi le modifiche. La soluzione e' quella a cui accennavo sopra: Tutti gli script che modificano la TextArea devono per prima cosa copiare il Frame nella TextArea, poi fanno quello che devono fare, infine ricopiano la TextArea nel Frame. A questo punto puoi vedere le modifiche perché sono state portate anche nella casella di testo che sta sopra.
- Se guardi il monobook di Wikipedia, ad esempio la funzione function auxFicus(), vedrai che inizia con il copiare il Frame di wikEd nella TextArea standard:
// copia dal frame di wikEd (http://en.wikipedia.org/wiki/User:Cacycle/wikEd.js) alla wpTextbox1 textarea
if (typeof(wikEdUseWikEd) != 'undefined') {
if (wikEdUseWikEd == true) {
WikEdUpdateTextarea();
}
}
- Poi fa le modifiche che sono state richieste dall'utente e, alla fine, ricopia la textarea nel Frame di wikEd:
// copia la wpTextbox1 textarea nel frame del wikEd
if (typeof(wikEdUseWikEd) != 'undefined') {
if (wikEdUseWikEd == true) {
WikEdUpdateFrame();
}
}
- Gli if si limitano a controllare se wikEd sia in esecuzione, mentre i metodi WikEdUpdateTextarea e WikEdUpdateFrame sono forniti da WikEd per copiare il testo tra le due diverse caselle. Questi due blocchi di codice non vanno modificati, vanno solo copiati all'inizio e alla fine di tutte le funzioni che mettono mano alla TextArea standard (wpTextbox1) --Jalo 00:06, 10 lug 2007 (CEST)
- Ho dato un'occhiata veloce al monobook ed ho provato ad aggiustarlo (le copie da frame a textarea e viceversa vanno dentro alle funzioni :-)). Provo a vedere se funziona, ma col 56k è una tragedia ogni volta che svuoto la cache. Male che vada finisco domani sera. --Jalo 00:23, 10 lug 2007 (CEST)
- Ora il monobook funziona in parte, la toolbar ancora non va. Il fatto e' che avete una vecchia versione del monobook, antecedente all'introduzione del WikEd e senza la maggior parte delle correzioni fatte. Ho iniziato a correggere gli errori, ma e' cambiato troppo. Domani sera gli do un'aggiornata. --Jalo 00:38, 10 lug 2007 (CEST)
Ora dovrebbe essere tutto a posto. Se serve qualcosa fammi un fischio su wikipedia, potrebbe passare molto tempo prima che ripasso da books. Ciao --Jalo 23:20, 10 lug 2007 (CEST)