¸®´ª½º °ü·Ã °Á¶õ |
---|
Á¦¸ñ | Motif #5 1999/01/02 (15:24) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 82 |
Á¶È¸ | 486 |
º»¹® |
----------------------------------------------------------------------------- -------------------------------------------------------------------- [°ÁÂ5] Motif Programming for X windows Using Lesstif -------------------------------------------------------------------- 9. Toplevelshell ¿¡ widget ¿©·¯°³ ºÙÀ̱â Àú¹ø½Ã°£¿¡ widgetÀ» ¿©·¯°³ ºÙÀÌ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¸¶ó°í Çߴµ¥ »ý°¢À» ÇØ º¸¼Ì´ÂÁö¿ä.. Á¦°¡ ¿¹Àü¿¡ »ý°¢ÇÑ ¹æ¹ýÀº ÀÌ·¸½À´Ï´Ù. ex8) alwidget.c #include<Xm/Xm.h> #include<Xm/Label.h> #include<Xm/Scale.h> #include<Xm/Text.h> XtAppContext context; XmStringCharSet char_set=XmSTRING_DEFAULT_CHARSET; Widget toplevel,label,scale,text; main(int argc,char *argv[]) { Arg al[10]; int ac; toplevel=XtAppInitialize(&context,"",NULL,0,&argc,argv,NULL, NULL,0); ac=0; XtSetArg(al[ac],XmNlabelString, XmStringCreateLtoR("Hello World",char_set)); ac++; label=XmCreateLabel(toplevel,"label",al,ac); XtManageChild(label); ac=0; XtSetArg(al[ac],XmNshowValue,True); ac++; scale=XmCreateScale(toplevel,"scale",al,ac); XtManageChild(scale); ac=0; XtSetArg(al[ac],XmNeditMode,XmMULTI_LINE_EDIT); ac++; text=XmCreateText(toplevel,"text",al,ac); XtManageChild(text); XtRealizeWidget(toplevel); XtAppMainLoop(context); } º»ÀÎÀÌ »ý°¢ÇϽŠ°Í°ú °°ÀºÁö ¸ð¸£°Ú³×¿ä. Àú´Â À§¿Í °°ÀÌ »ý°¢ÇßÀ¾´Ï´Ù. ¹°·Ð ¾Õ¿¡¼ ¼³¸íÇÑ°ÍÀÌ ¸Â´Ù¸é ÀÌ ¿¹Á¦°¡ ¸ÂÀ»°Ì´Ï´Ù. ÀÚ ÄÄÆÄÀÏ ÇØ º¾½Ã´Ù. Á¦´ë·Î ³ª¿É´Ï±î? Àú´Â 200x200Å©±âÀÇ Hello World ¶ó°í ÂïÈù ¶óº§ À§Á¬ ¹Û¿¡ ¾È³ª¿À³×¿ä.. ÀÌÁ¦ ¿Ö ÇѲ¨¹ø¿¡ À§Á¬ÀÌ Ç¥½Ã°¡ ¾ÈµÇ¾ú´ÂÁö »ìÆì º¾½Ã´Ù. Toplevel ShellÀº ¿øÄ¢ÀûÀ¸·Î ÇϳªÀÇ À§Á¬¸¸ ÀÚ½ÄÀ¸·Î °¡Áú¼ö ÀÖÀ¾´Ï´Ù. µû¶ó¼ Toplevel shell¿¡ ºÙÀϼö ÀÖ´Â À§Á¬Àº ´Ü Çϳª°¡ µË´Ï´Ù. ±×·¸Áö¸¸ ÇÁ·Î±×·¥µéÀ» º¸¸é ÇϳªÀÇ Ã¢¿¡ ¶óº§µµ ÀÖ°í, ½½¶óÀÌ´õµµ ºÙ¾î ÀÖ°í ÅؽºÆ®µµ ºÙ¾î Àִ°ÍÀ» º¸½Ç¼ö ÀÖÀ¾´Ï´Ù. ¿©·¯°³ÀÇ À§Á¬À» ºÙÀ̱â À§Çؼ´Â, ¿©·¯°³ÀÇ À§Á¬À» ÀÚ½ÄÀ¸·Î °¡Áú¼ö ÀÖ´Â À§ Á¬À» Toplevel¿¡ ºÙ¿©¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ À§Á¬À» ¸Å´ÏÁ® À§Á¬À̶ó°í ÇÕ´Ï ´Ù. ¿À´Ã ¹è¿ï ³»¿ëÀº ¹Ù·Î ¸Å´ÏÁ® À§Á¬¿¡ °üÇÑ °ÍÀÔ´Ï´Ù. 1) Bulltin Board À§Á¬ ex9) bulltinb.c #include<Xm/Xm.h> #include<Xm/Label.h> #include<Xm/Scale.h> #include<Xm/Text.h> #include<Xm/BulletinB.h> XtAppContext context; XmStringCharSet char_set=XmSTRING_DEFAULT_CHARSET; Widget toplevel, label, scale, text, bb; main(int argc,char *argv[]) { Arg al[10]; int ac; toplevel=XtAppInitialize(&context,"",NULL,0,&argc,argv,NULL, NULL,0); ac=0; bb=XmCreateBulletinBoard(toplevel,"bb",al,ac); XtManageChild(bb); ac=0; XtSetArg(al[ac],XmNlabelString, XmStringCreateLtoR("Hello World",char_set)); ac++; label=XmCreateLabel(bb,"label",al,ac); XtManageChild(label); ac=0; XtSetArg(al[ac],XmNshowValue,True); ac++; scale=XmCreateScale(bb,"scale",al,ac); XtManageChild(scale); ac=0; XtSetArg(al[ac],XmNeditMode,XmMULTI_LINE_EDIT); ac++; text=XmCreateText(bb,"text",al,ac); XtManageChild(text); XtRealizeWidget(toplevel); XtAppMainLoop(context); } ¾ÕÀÇ ¿¹Á¦¿Í ´Þ¶óÁø °ÍÀº bulletin board À§Á¬À» Toplevel¿¡ ºÙÀÌ°í ³ª¸ÓÁö À§Á¬À» bulletin board À§Á¬¿¡ ºÙ¿´´Ù´Â Á¡ÀÔ´Ï´Ù. Çì´õ ÆÄÀÏ¿¡ BulletinB.h¶ó´Â ÆÄÀÏÀ» include ÇÏ¿´°í, Widget ŸÀÔÀ¸·Î bb¸¦ ¼±¾ðÇß½À´Ï´Ù. Toplevel shellÀ» ¸¸µç ´ÙÀ½¿¡ BulletinBoard À§Á¬À» »ý¼ºÇÏ°í, ³ª¸ÓÁö À§Á¬À» ¸¸µå´Â XmCreate~ÇÔ¼ö¿¡ toplevel ´ë½Å bb·Î ¹Ù²Û °ÍÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù. ±»ÀÌ ±×¸²À¸·Î ±×·Áº»´Ù¸é ´ÙÀ½°ú °°ÀÌ µÉ °ÍÀÔ´Ï´Ù Toplevel | | Bulletin Board | +--------+-------+ | | | ¶óº§ ½ºÄÉÀÏ ÅؽºÆ® ½ÇÇàÀ» ½ÃÄѺ¸¸é ¶óº§À§Á¬,½ºÄÉÀÏ À§Á¬,ÅؽºÆ® À§Á¬ÀÌ µÚÁ×¹ÚÁ×À¸·Î ³õ¿© ÀÖÀ» °ÍÀÔ´Ï´Ù. À̵éÀ» Àß ¹è¿ÇØ º¾½Ã´Ù. ¹æ¹ýÀº XtSetArgÇÔ¼ö¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÇÔ¼ö °¢°¢ÀÇ µÎ ¹ø° ÆĶó¹ÌÅÍ¿¡ XmNx,XmNy¶ó´Â °ªÀ» ³Ö°í ¼¼ ¹ø° ÆĶó¹Ì ÅÍ¿¡ À§Á¬ÀÌ ³õÀÏ x,yÁÂÇ¥¸¦ ³ÖÀ¸½Ã¸é µË´Ï´Ù. XtSetArg(al[ac],XmNx,10); ac++; XtSetArg(al[ac],XmNy,20); ac++; ÀÌ·± ½ÄÀ¸·Î¿ä.. |