Newsgroup: it.comp.os.linux.development
Titolo: gtkradiobutton

quando prgrammo in java posso dire se un bottno è clickabile o meno in
base al fatto che un altro bottone sia stato clickato in precedenza o
meno. Vorrei ottenere lo stesso con le gtk.
Ho preso il segnale dell'evento toggled del primo radiobutton e fin qua
non ci dovrebbe essere problema (lo fa glade :-) ). Come posso dire al
metodo di vedere se il primo radiobutton è selezionato e in tal caso di
attivare / disattivare gli altri radiobutton (che appartengono ad un
altro gruppo di bottoni)?
Spero di essere stato sufficientemente chiaro.
-- 
Non c'è più forza nella normalità, c'è solo monotonia.

Prendiri il tutorial e guarda la parte relativa ai radiobutton, il
widget gestisce da se' la deselezione di un bottone se clicchi su
un'altro. In sostanza ti crei il primo bottone passando un NULL come
puntatore al gruppo, poi crei il gruppo con la call, e infine crei i
successivi usando il gruppo.
Qualcosa del tipo:
    button = gtk_radio_button_new_with_label (NULL, "DM");
    gtk_signal_connect (GTK_OBJECT (button), "toggled",
                        GTK_SIGNAL_FUNC (memsel_callback), (gpointer)
&DM);
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_widget_show (button);
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
    group = gtk_radio_button_group (GTK_RADIO_BUTTON (button));
    button = gtk_radio_button_new_with_label(group, "PM");
    gtk_signal_connect (GTK_OBJECT (button), "toggled",
                        GTK_SIGNAL_FUNC (memsel_callback), (gpointer)
&PM);
    gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
    gtk_widget_show (button);
non ho idea di come farlo con glade; ho provato a usarlo due volte e non
sono riuscito a capire come funziona con tutta quella roba che si
sposta, finestre e menu da riempire e compagnia bella, mi sa proprio che
sono troppo vecchio e legato a tecnologie obsolete.
Ciao
-- 
Simone Piccardi
Microsoft is NOT the answer. Microsoft is the Question.
The answer is: "NO!"

 successivi usando il gruppo.
mi sa che non ci siamo capiti: io ho due gruppi distinti di bottoni. Se
nel primo gruppo di bottoni ne viene selezionato uno un particolare
allora deve essere possibile effettuare una selezione di un bottone del
secondo gruppo ma se non viene selezionato il bottone adeguato nel primo
gruppo non mi serve a nulla il secondo e quindi lo volgio oscurare.
Quello che voglio fare č:
Scegli il mouse:
(X) ps2
( ) seriale
Oppure 
Scegli il mouse
( ) ps2
(X) seriale
(X) ttyS0
( ) ttyS1
( ) ttyS2
( ) ttyS3
Nel primo caso, visto che non me ne frega della seriale, non voglio che
le caselle delle ttyS siano clickabili. Concettualmente č come quando
compili il kernel: se abiliti delle opzioni poi te ne compaiono delle
altre. I radiobottoni delle seriali non scompaiono, ma si "grigizzano".
Questo lo si fa in un sacco di linguaggi, mi sembra strano che le gtk
non lo supportino.
-- 
Non c'č piů forza nella normalitŕ, c'č solo monotonia.

 secondo in base a cosa clicki.
e come si fa a fare questo callback?


e come si fa a fare questo callback?
io ho risolto un problema simile in un modo che non si sembra il
massimo della correttezza, ma non sapevo come fare altrimenti senza
andare a toccare i file di glade.
//callbacks.c
GtkWidget *radio_che_cambia;
void on_widget_show(GtkWidget* widget, ...)
{
	pulsante_che_cambia=lookup_widget(widget,
"nome_radio_che_cambia);
}
//cosě hai sempre il puntatore al radio che deve essere
// attivato/disattivato. La prossima callback č del pulsante che 
//detemina il cambiamento. Non mi ricordo la sitassi esatta, ma in 
//genreale
void on_button_clicked(GtkWidget widget, ....)
{
	//controlla lo stato di button
	gtk_widget_set_senitive(radio_che_cambia, true); //o false
}
//--------------
Spero di esser stato chiaro...  :-?
Ciao, 
Lumaca
lum...@writeme.com
ICQ: 12424362