Notizie: lo sai che puoi installare Firefox anche su dispositivi Apple iPhone e iPad? Provalo subito!

Autore Topic: XUL, immagini e bottoni  (Letto 4667 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
XUL, immagini e bottoni
« il: 25 Aprile 2010 14:53:53 »
Mi sembra l'unica sezione adatta per una domanda che non c'entra proprio nulla altrove :P

Ultimamente, per lavoro e per progetti personali, ho ripreso in mano il buon vecchio caro XUL e lavorando su un piccolo client da consegnare mi son imbattuto sulla necessità di inserire una immagine in un pulsante.

Fin qui non ci son problemi...l'unico problema è la necessità di non avere margini immensi tra l'immagine e i bordi effettivi del pulsante in questione.

Ho provato con i css, con qualche workaround ma nada...ottengo sempre l'immagine al centro e diversi mm di margine esterni.

Per farvi capire meglio allego questo screen di esempio:



Qualcuno ha qualche suggerimento? Anche alternativo all'uso del bottone diretto.

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: XUL, immagini e bottoni
« Risposta #1 il: 25 Aprile 2010 16:04:46 »
Giusto per capire: l'immagine è il risultato attuale o quello che vorresti?

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #2 il: 25 Aprile 2010 23:03:37 »
L'immagine allegata al post è quella attuale...a me piacerebbe fare in modo che quei fastidiosi bordi scomparissero

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: XUL, immagini e bottoni
« Risposta #3 il: 26 Aprile 2010 08:24:09 »
Secondo me l'unica è mettere un
Codice: [Seleziona]
-moz-appearance: none;e poi gestire l'immagine e l'aspetto del pulsante via css.

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #4 il: 26 Aprile 2010 09:49:57 »
Sono un cretino  :lol: :lol: :lol:

Quella proprietà la uso già per le Dialog e per altri componenti e per due giorni consecutivi ci ho sbattuto contro senza pensare di usarla  :?

Grazie mille flod ;)

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #5 il: 26 Aprile 2010 11:33:30 »
Premesso che non voglio approfittare del tuo aiuto o dell'aiuto di qualsiasi altra persona voglia rispondere ma il sito https://developer.mozilla.org è più il tempo che non carica le pagine, di quello che riesco ad usarlo :D

Apro un nuovo file XUL di tipo window con la funzione window.openDialog per passare alla finestra dei parametri da utilizzare.

Esempio:

Codice: [Seleziona]
window.openDialog( chrome://myapp/content/ciao.xul, "myApp", "chrome,centerscreen", param:"ciao" );
Funziona tutto ma...la finestra perde il suo attributo: sizemode="maximized" e non posso impostarla a tutto schermo.

Se oltre a chrome e centerscreen, scrivo resizable=yes non cambia lo stesso nulla.

Se utilizzo window.open non invia i parametri.

Qualche suggerimento in merito? :D

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: XUL, immagini e bottoni
« Risposta #6 il: 26 Aprile 2010 11:47:36 »
Non è che abbia tutta questa esperienza con XUL (ho dovuto riprenderlo in mano dopo che è esplosa la mia unica estensione sulle nightly), ma nella peggiore delle ipotesi non ti basta fare un window.maximize() sull'onload della finestra stessa?

Su MDC: confermo il problema, tant'è che spesso faccio la ricerca da Google e passo tramite la cache per aggirare il problema.

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #7 il: 26 Aprile 2010 11:56:42 »
Nell'onload della finestra ho l'esecuzione e l'elaborazione dei parametri inviati alla finestra; se window.maximized() lo inserisco come prima elaborazione, i parametri vengono persi; se lo inserisco alla fine di tutto, non viene eseguito.

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: XUL, immagini e bottoni
« Risposta #8 il: 26 Aprile 2010 12:01:50 »
Nell'onload della finestra ho l'esecuzione e l'elaborazione dei parametri inviati alla finestra; se window.maximized() lo inserisco come prima elaborazione, i parametri vengono persi; se lo inserisco alla fine di tutto, non viene eseguito.

Questo non è normale, secondo me hai un errore nell'elaborazione o nel passaggio dei parametri.
Forse dico una cosa superflua, ma se vuoi passare come primo parametro "ciao", devi usare

Codice: [Seleziona]
window.openDialog( chrome://myapp/content/ciao.xul, "myApp", "chrome,centerscreen", "ciao" );

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #9 il: 26 Aprile 2010 12:10:53 »
Mmm si anche su MDEV indicava l'indicazione dei parametri "al volo" come hai indicato tu ma, successivamente, indicava anche una cosa del genere:

Pagina 1
Codice: [Seleziona]
window.openDialog("chrome://myapp/content/progress.xul", "myProgress", "chrome,centerscreen", {status: "Reading remote data", maxProgress: 50, progress: 10}, onCancel );
Pagina 2
Codice: [Seleziona]
 function onLoad() {
    gStatus = document.getElementById("status");
    gProgressMeter = document.getElementById("progressmeter");
  
    if("arguments" in window && window.arguments.length > 0) {
      maxProgress = window.arguments[0].maxProgress;
      setProgress(window.arguments[0].progress);
      setStatus(window.arguments[0].status);
    }
  }

Prendendo direttamente in questo caso i valori delle variabili settate nella Pagina 1 direttamente nella funzione window.openDialog;
« Ultima modifica: 26 Aprile 2010 12:15:33 da A35G »

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: XUL, immagini e bottoni
« Risposta #10 il: 26 Aprile 2010 12:18:10 »
Se usi

Codice: [Seleziona]
window.openDialog("chrome://myapp/content/progress.xul", "myProgress", "chrome,centerscreen", {status: "Reading remote data", maxProgress: 50, progress: 10});
viene passato un solo parametro che è un oggetto (infatti ci sono le parantesi graffe) con le proprietà "status", "maxProgress", "progress".
Coerentemente viene poi letto come window.arguments[0].maxProgress ecc.
Volendo usare questa tecnica con il tuo esempio, dovresti usare questo:

Codice: [Seleziona]
window.openDialog( chrome://myapp/content/ciao.xul, "myApp", "chrome,centerscreen", {param:"ciao"} );
e leggere poi il parametro con

Codice: [Seleziona]
window.arguments[0].param

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #11 il: 26 Aprile 2010 12:25:25 »
E infatti il tutto è così:

Pagina 1
Codice: [Seleziona]
 function okapri( nome_tab ) {
  
    window.openDialog("chrome://myapp/content/second.xul", "myProg", "chrome,centerscreen,resizable=yes", {ciccioTab: nome_tab, voce_status: "Ciao belli"});
    window.close();
  
  }

Pagina 2
Codice: [Seleziona]
 function main() {
                
    document.getElementById('mPanel').setAttribute( 'label', window.arguments[0].voce_status );
  
    if ( "arguments" in window && window.arguments.length > 0 ) {
      
      document.getElementById('mbx').selectedTab = document.getElementById( window.arguments[0].ciccioTab );
      
    } else {
    
      document.getElementById('mbx').selectedTab = document.getElementById('abc');
    
    }
    
    window.maximized();

  }

Quel window.maximized lì non funziona...messo all'inizio è come se eliminasse i valori inviati alla pagina.

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: XUL, immagini e bottoni
« Risposta #12 il: 26 Aprile 2010 12:33:08 »
Devi usare

Codice: [Seleziona]
window.maximize();
non

Codice: [Seleziona]
window.maximized();

Offline A35G

  • Post: 642
    • HackWorld - La Rinascita del Sapere -
Re: XUL, immagini e bottoni
« Risposta #13 il: 26 Aprile 2010 12:37:33 »
E non va lo stesso :D

Offline klades

  • Moderatore
  • Post: 5788
    • http://www.nic-nac-project.org/~kaosmos
Re: XUL, immagini e bottoni
« Risposta #14 il: 26 Aprile 2010 12:41:19 »
Usa try & catch per vedere dov'è l'errore.

0 Utenti e 1 Visitatore stanno visualizzando questo topic.