/* Edouard.Thiel@lif.univ-mrs.fr */ #include He_node *princ, *pan1, *pan2, *pan3, *pan4, *pan5, *canvas, *tmp1, *tmp2, *tit; int main (int argc, char *argv[]) { HeInit (&argc, &argv); princ = HeCreateFrame(); HeSetFrameLabel (princ, "Focus du clavier"); pan1 = HeCreatePanel (princ); HeSetBorder (pan1, 1); tit = HeCreateMessageP (pan1, "Panel fils d'un Frame", TRUE); HeSetPanelLayout (pan1, HE_LINE_FEED); HeCreateMessageP(pan1, "Text1 :", TRUE); tmp1 = HeCreateText (pan1); HeSetTextValue (tmp1, "Appuyez sur TAB ou shift-TAB,"); HeSetPanelLayout (pan1, HE_LINE_FEED); HeCreateMessageP(pan1, "Text2 :", TRUE); tmp1 = HeCreateText (pan1); HeSetTextValue (tmp1, "ou shift-clic avec la souris"); HeSetPanelLayout (pan1, HE_LINE_FEED); HeCreateMessageP(pan1, "Text3 :", TRUE); tmp1 = HeCreateText (pan1); HeSetTextValue (tmp1, "pour passer le focus clavier."); HeSetPanelLayout (pan1, HE_LINE_FEED); HeCreateButtonP(pan1, "Bouton 1", NULL, NULL); HeCreateButtonP(pan1, "Bouton 2", NULL, NULL); HeSetPanelLayout (pan1, HE_LINE_FEED); HeFit(pan1); HeSetWidth(tit, HeGetWidth(pan1)); canvas = HeCreateCanvas (princ); HeSetY (canvas, HeGetHeight (pan1) + 5); HeSetWidth (canvas, HeGetWidth (pan1)); HeSetHeight (canvas, HeGetHeight(pan1)); HeSetTip (canvas, "Le canvas \"emprunte\" le focus clavier\n" "lorsqu'il est survolé par la souris."); /* Essai d'un panel fils d'un canvas */ pan2 = HeCreatePanel(canvas); HeSetBorder (pan2, 1); tit = HeCreateMessageP (pan2, "Panel fils d'un Canvas", TRUE); HeSetPanelLayout (pan2, HE_LINE_FEED); HeCreateButtonP(pan2, "Bouton 8", NULL, NULL); HeCreateButtonP(pan2, "Bouton 9", NULL, NULL); HeSetPanelLayout (pan2, HE_LINE_FEED); HeCreateMessageP(pan2, "Text6 :", TRUE); tmp1 = HeCreateText (pan2); HeSetTextValue (tmp1, "actif"); HeSetTextVisibleLen (tmp1, 14); HeFit (pan2); HeSetWidth(tit, HeGetWidth(pan2)); HeSetX (pan2, (HeGetWidth(canvas)-HeGetWidth(pan2))/2); HeSetY (pan2, (HeGetHeight(canvas)-HeGetHeight(pan2))/2); pan3 = HeCreatePanel (princ); HeSetBorder (pan3, 1); HeSetX (pan3, HeGetWidth (pan1)+5); HeCreateButtonP(pan3, "Bouton 3", NULL, NULL); HeCreateButtonP(pan3, "Bouton 4", NULL, NULL); HeSetPanelLayout (pan3, HE_LINE_FEED); tmp1 = HeCreateButtonP(pan3, "Bouton 5", NULL, NULL); HeSetActive (tmp1, FALSE); HeSetPanelLayout (pan3, HE_LINE_FEED); HeCreateMessageP(pan3, "Text4 :", TRUE); tmp2 = HeCreateText (pan3); HeSetTextValue (tmp2, "Le calcul du suivant est automatique"); /* Essai d'un panel fils d'un panel */ pan4 = HeCreatePanel(pan3); HeSetBorder (pan4, 1); HeSetY (pan4, HeGetY(tmp2)+HeGetHeight(tmp2)+20); tit = HeCreateMessageP (pan4, "Panel fils d'un Panel", TRUE); HeSetPanelLayout (pan4, HE_LINE_FEED); HeCreateButtonP(pan4, "Bouton 6", NULL, NULL); HeCreateButtonP(pan4, "Bouton 7", NULL, NULL); HeSetPanelLayout (pan4, HE_LINE_FEED); HeCreateMessageP(pan4, "Text5 :", TRUE); tmp1 = HeCreateText (pan4); HeSetTextValue (tmp1, "inactif"); HeSetActive (tmp1, FALSE); HeSetTextVisibleLen (tmp1, 14); HeFit (pan4); HeSetWidth(tit, HeGetWidth(pan4)); HeFit(pan3); HeSetX(pan4, (HeGetWidth(pan3)-HeGetWidth(pan4))/2); /* Quelques boutons ŕ bascule */ pan5 = HeCreatePanel (princ); HeSetBorder (pan5, 1); HeSetX (pan5, HeGetWidth (pan1)+5); HeSetY (pan5, HeGetHeight (pan3)+5); HeSetWidth(pan5, HeGetWidth(pan3)); HeSetHeight(pan5, HeGetY(canvas)+HeGetHeight(canvas)-HeGetY(pan5)); HeCreateMessageP (pan5, "Led : ", TRUE); HeCreateToggleLedP (pan5, "Toggle 1", NULL, TRUE); HeCreateToggleLedP (pan5, "Toggle 2", NULL, FALSE); HeSetPanelLayout (pan5, HE_LINE_FEED); HeCreateMessageP (pan5, "Check :", TRUE); HeCreateToggleCheckP (pan5, "Toggle 3", NULL, TRUE); HeCreateToggleCheckP (pan5, "Toggle 4", NULL, FALSE); HeSetPanelLayout (pan5, HE_LINE_FEED); HeCreateMessageP (pan5, "Radio :", TRUE); tmp1 = HeCreateToggleRadioP (pan5, "Toggle 5", NULL, NULL); HeCreateToggleRadioP (pan5, "Toggle 6", NULL, tmp1); HeFit (princ); HeSetHeight (princ, HeGetHeight(princ) + 5); return HeMainLoop (princ); }