home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / utils / dialoglib / examples.lha / test00.c < prev    next >
C/C++ Source or Header  |  1993-03-09  |  3KB  |  124 lines

  1. #include <libraries/gadtools.h>
  2. #include <utility/tagitem.h>
  3. #include <proto/gadtools.h>
  4. #include <proto/intuition.h>
  5. #include <proto/utility.h>
  6. #include <dialog/dialog.h>
  7.  
  8. struct Screen *myScreen;
  9. APTR myVisualInfo;
  10.  
  11. VOID dialog( VOID )
  12. {
  13.     DialogElement root, hstack, hspring, vstack, hstack1, ok, hstack2, *termination;
  14.     DialogElement text1, text2, text3, text4;
  15.     ULONG error = 0;
  16.  
  17.     initDialogElement( &root, NULL, dispatchRoot, &error,
  18.         DA_Screen, myScreen,
  19.         DA_Member, &vstack,
  20.         WA_Activate, TRUE,
  21.         WA_DragBar, TRUE,
  22.         TAG_DONE );
  23.     initDialogElement( &vstack, &root, dispatchVStack, &error,
  24.         DA_Member, &hstack1,
  25.         DA_Member, &hstack,
  26.         DA_Member, &hstack2,
  27.         TAG_DONE );
  28.     initDialogElement( &hstack, &root, dispatchHStack, &error,
  29.         DA_Member, &hspring,
  30.         DA_Member, &ok,
  31.         DA_Member, &hspring,
  32.         TAG_DONE );
  33.     initDialogElement( &hspring, &root, dispatchHSpring, &error, TAG_DONE );
  34.     initDialogElement( &ok, &root, dispatchButton, &error,
  35.         NGDA_TextAttr, myScreen->Font,
  36.         NGDA_VisualInfo, myVisualInfo,
  37.         NGDA_GadgetText, "_Ok",
  38.         GT_Underscore, '_',
  39.         DA_EquivalentKey, 'O',
  40.         DA_Termination, TRUE,
  41.         TAG_DONE );
  42.     initDialogElement( &hstack1, &root, dispatchHStack, &error,
  43.         DA_Member, &text1,
  44.         DA_Member, &text4,
  45.         TAG_DONE );
  46.     initDialogElement( &hstack2, &root, dispatchHStack, &error,
  47.         DA_Member, &text3,
  48.         DA_Member, &text2,
  49.         TAG_DONE );
  50.     initDialogElement( &text1, &root, dispatchText, &error,
  51.         NGDA_TextAttr, myScreen->Font,
  52.         NGDA_VisualInfo, myVisualInfo,
  53.         NGDA_GadgetText, "placement left",
  54. /*        NGDA_Flags, PLACETEXT_LEFT,    *** default *** */
  55.         GTTX_Text, "bla bla bla",
  56.         GTTX_Border, TRUE,
  57.         TAG_DONE );
  58.     initDialogElement( &text2, &root, dispatchText, &error,
  59.         NGDA_TextAttr, myScreen->Font,
  60.         NGDA_VisualInfo, myVisualInfo,
  61.         NGDA_GadgetText, "placement right",
  62.         NGDA_Flags, PLACETEXT_RIGHT,
  63.         GTTX_Text, "bla bla bla",
  64.         GTTX_Border, TRUE,
  65.         TAG_DONE );
  66.     initDialogElement( &text3, &root, dispatchText, &error,
  67.         NGDA_TextAttr, myScreen->Font,
  68.         NGDA_VisualInfo, myVisualInfo,
  69.         NGDA_GadgetText, "placement above",
  70.         NGDA_Flags, PLACETEXT_ABOVE,
  71.         GTTX_Text, "bla bla bla",
  72.         GTTX_Border, TRUE,
  73.         TAG_DONE );
  74.     initDialogElement( &text4, &root, dispatchText, &error,
  75.         NGDA_TextAttr, myScreen->Font,
  76.         NGDA_VisualInfo, myVisualInfo,
  77.         NGDA_GadgetText, "placement below",
  78.         NGDA_Flags, PLACETEXT_BELOW,
  79.         GTTX_Text, "bla bla bla",
  80.         GTTX_Border, TRUE,
  81.         TAG_DONE );
  82.  
  83.     if( error )
  84.         goto cleanup;
  85.  
  86.     termination = runSimpleDialog( &root,
  87.         WA_Title, "Example : GadTools TEXT",
  88.         WA_InnerWidth, 300,
  89.         WA_InnerHeight, 200,
  90.         TAG_DONE );
  91.  
  92. cleanup:
  93.     cleanupDialogElement( &text1 );
  94.     cleanupDialogElement( &text2 );
  95.     cleanupDialogElement( &text3 );
  96.     cleanupDialogElement( &text4 );
  97.     cleanupDialogElement( &ok );
  98.     cleanupDialogElement( &hstack1 );
  99.     cleanupDialogElement( &hstack2 );
  100.     cleanupDialogElement( &hspring );
  101.     cleanupDialogElement( &hstack );
  102.     cleanupDialogElement( &vstack );
  103.     cleanupDialogElement( &root );
  104. }
  105.  
  106. main( int argc, char *argv[] )
  107. {
  108.     myScreen = LockPubScreen( NULL );
  109.     if( !myScreen )
  110.         goto cleanup;
  111.  
  112.     myVisualInfo = GetVisualInfo( myScreen, TAG_DONE );
  113.     if( !myVisualInfo )
  114.         goto cleanup;
  115.  
  116.     dialog();
  117.  
  118. cleanup:
  119.     if( myVisualInfo )
  120.         FreeVisualInfo( myVisualInfo );
  121.     if( myScreen )
  122.         UnlockPubScreen( NULL, myScreen );
  123. }
  124.