/* examples/panel/griser.c */ #include He_node *princ, *panel, *tog1, *tog2, *tog3, *tog4, *tog5, *mess1, *mess2, *mess3, *mess4, *mess5, *text1, *text2; void tog1_proc (He_node *hn) { int etat = HeGetToggleValue (hn); HeSetActive (mess2, etat); HeSetActive (tog2, etat); HeSetActive (tog3, etat); } void tog2_proc (He_node *hn) { int etat = HeGetToggleValue (hn); HeSetActive (mess1, etat); HeSetActive (tog1, etat); } void tog3_proc (He_node *hn) { int etat = HeGetToggleValue (hn); HeSetActive (mess3, etat); HeSetActive (tog4, etat); HeSetActive (tog5, etat); } void tog4_proc (He_node *hn) { int etat = HeGetToggleValue (hn); HeSetActive (mess4, etat); HeSetActive (text1, etat); } void tog5_proc (He_node *hn) { int etat = HeGetToggleValue (hn); HeSetActive (mess5, etat); HeSetActive (text2, etat); } int main (int argc, char *argv[]) { HeInit (&argc, &argv); princ = HeCreateFrame (); HeSetFrameLabel (princ, "Toggle qui grise"); panel = HeCreatePanel (princ); mess1 = HeCreateMessageP (panel, "Bouton Led :", TRUE); tog1 = HeCreateToggleLedP (panel, "Ligne dessous", tog1_proc, TRUE); HeSetPanelLayout (panel, HE_LINE_FEED); mess2 = HeCreateMessageP (panel, "Bouton Check :", TRUE); tog2 = HeCreateToggleCheckP (panel, "Dessus" , tog2_proc, TRUE); tog3 = HeCreateToggleCheckP (panel, "Dessous", tog3_proc, TRUE); HeSetPanelLayout (panel, HE_LINE_FEED); mess3 = HeCreateMessageP (panel, "Bouton Radio :", TRUE); tog4 = HeCreateToggleRadioP (panel, "Gauche", tog4_proc, NULL); tog5 = HeCreateToggleRadioP (panel, "Droite", tog5_proc, tog4); HeSetPanelLayout (panel, HE_LINE_FEED); mess4 = HeCreateMessageP (panel, "Texte 1 :", TRUE); text1 = HeCreateText (panel); HeSetTextVisibleLen (text1, 10); HeSetTextValue (text1, "Bonjour"); mess5 = HeCreateMessageP (panel, "Texte 2 :", TRUE); text2 = HeCreateText (panel); HeSetTextVisibleLen (text2, 10); HeSetTextValue (text2, "Bonsoir"); /* On force l'appel des callback pour griser */ HeSetToggleLighted (tog4); HeSetToggleLighted (tog5); HeFit(panel); HeFit(princ); return HeMainLoop (princ); }