[wxWidgets] Ciclo idle e disabilitare bottoni

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

[wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da Dott104 »

Allora...sto creando un giochetto (idota tra l'altro!) e sono arrivato quasi alla fine di tutto!

Questo è il punto in cui la partita finisce!
Immagine

Dopo devo controllare "in un qualche modo" che la partita è finita e vorrei disabilitare l'interfaccia! Mi date dei consigli su come procedere?
Vorrei disabilitare i due bottoni e riabilitarli solo quando si preme su "Nuova partita"!

Sono qua se vi servono chiarimenti! :P
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da bite »

Se i due bottoni sono gestiti con event handler, potresti avere una variabile della finestra genitrice (quella che implementa gli handler) dove tieni nota se il gioco è finito e in questo caso non rispondi agli eventi.

Oppure, visto che wxButton alla lunga discende da wxWindow che ha un metodo Disable(), potresti provare questo e vedere che fa (poi dimmelo  ;D)
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da Dott104 »

bite ha scritto: Se i due bottoni sono gestiti con event handler, potresti avere una variabile della finestra genitrice (quella che implementa gli handler) dove tieni nota se il gioco è finito e in questo caso non rispondi agli eventi.

Oppure, visto che wxButton alla lunga discende da wxWindow che ha un metodo Disable(), potresti provare questo e vedere che fa (poi dimmelo  ;D)
Provo e ti faccio sapere!!! :D
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da Dott104 »

Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!! Grazie per la dritta!
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da bite »

Visto che wx ti appassiona, se leggi l'Inglese ti suggerisco di tenere d'occhio il forum http://wxforum.shadonet.com/.
Avatar utente
Dott104
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 432
Iscrizione: sabato 16 settembre 2006, 13:21
Contatti:

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da Dott104 »

Secondo voi questa funzione idle va bene o produce troppo overhead???

Codice: Seleziona tutto

void masterMindFrame::OnIdle(wxIdleEvent& event)
{
  if( risolto )
  {  
    risolto = false;
    wxMessageBox( wxT(TITOLO), wxT(TITOLO) , wxOK | wxICON_INFORMATION, this );
    ok->Disable();
    resetta->Disable();
  }
}
Be yourself...
My blog
"La scienza è essenzialmente contemplazione del bello" Giuseppe Trautteur, mio professore di Calcolabilità e Complessità
Avatar utente
bite
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3798
Iscrizione: sabato 19 maggio 2007, 22:10

Re: [wxWidgets] Ciclo idle e disabilitare bottoni

Messaggio da bite »

Non dovrebbe dare troppo overhead perché fa qualcosa solo quando trova risolto==true e poi lo mette a false, quindi all'evento idle successivo non fa più nulla. Comunque non c'è che provare e guardare con top o simili se il processo si succhia troppa cpu.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti