home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / macros / main.tde < prev    next >
Encoding:
Text File  |  1996-02-22  |  3.4 KB  |  111 lines

  1. <code DEFINE_MAIN>
  2. --
  3. -- sample driver for the collection class guides
  4. --
  5. //-----------------------------------------------------------------------------
  6. // Usage sample.
  7. //-----------------------------------------------------------------------------
  8. IBoolean printItem($ELEMENT_TYPE$ const& t, void*)
  9. {
  10. <if ($ELEMENT_PTR$)>
  11.   cout << *t << endl;
  12. <else>
  13.   cout << t << endl;
  14. </if>
  15.   return true;
  16. }
  17.  
  18. main()
  19. {
  20.    $CLTN_NAME$ i$CLTN_NAME$;
  21.    $CLTN_NAME$::Cursor myCursor(i$CLTN_NAME$);
  22. --
  23. -- Define values for element (key) initialization
  24. --
  25. <if ( (($USER_DEFINED_ELEMENT$ ) & ((!$USER_DEFINED_KEY$) & (!$KEY_NUMERIC_TYPE$)) )     \
  26.        |                                                                                     \
  27.       ((!$USER_DEFINED_ELEMENT$) & (!$NUMERIC_TYPE$)) ) >
  28. -- values are strings
  29. <define VAL1>"C.Lau"\</define>
  30. <define VAL2>"T.Glover"\</define>
  31. <define VAL3>"C.Piekny"\</define>
  32. <define VAL4>"D.Birsan"\</define>
  33. <else>
  34. -- values are integers
  35. <define VAL1>24\</define>
  36. <define VAL2>32\</define>
  37. <define VAL3>41\</define>
  38. <define VAL4>50\</define>
  39. </if>
  40. --
  41. -- Define elements to add
  42. --
  43.  
  44.    // Use the customized constructor. Revise this if necessary.
  45. <if (($USER_DEFINED_ELEMENT$) & ($KEY_PTR$))>
  46.    $ELEMENT_CLASS$ element1(new $KEY_CLASS$($VAL1$));
  47.    $ELEMENT_CLASS$ element2(new $KEY_CLASS$($VAL2$));
  48.    $ELEMENT_CLASS$ element3(new $KEY_CLASS$($VAL3$));
  49.    $ELEMENT_CLASS$ element4(new $KEY_CLASS$($VAL4$));
  50. <else>\<if (($USER_DEFINED_ELEMENT$) & ($USER_DEFINED_KEY$))>
  51.    $ELEMENT_CLASS$ element1($KEY_CLASS$($VAL1$));
  52.    $ELEMENT_CLASS$ element2($KEY_CLASS$($VAL2$));
  53.    $ELEMENT_CLASS$ element3($KEY_CLASS$($VAL3$));
  54.    $ELEMENT_CLASS$ element4($KEY_CLASS$($VAL4$));
  55. <else>\<if (!$USER_DEFINED_ELEMENT$)>
  56.    $ELEMENT_CLASS$ element1($VAL1$);
  57.    $ELEMENT_CLASS$ element2($VAL2$);
  58.    $ELEMENT_CLASS$ element3($VAL3$);
  59.    $ELEMENT_CLASS$ element4($VAL4$);
  60. <else>
  61.    $ELEMENT_CLASS$ element1($ELEMENT_CLASS$($VAL1$));
  62.    $ELEMENT_CLASS$ element2($ELEMENT_CLASS$($VAL2$));
  63.    $ELEMENT_CLASS$ element3($ELEMENT_CLASS$($VAL3$));
  64.    $ELEMENT_CLASS$ element4($ELEMENT_CLASS$($VAL4$));
  65. </if>\</if>\</if>
  66.  
  67. --
  68. -- Add the elements.
  69. --
  70. <if ($ELEMENT_PTR$)>
  71.    i$CLTN_NAME$.add(&element1);
  72.    i$CLTN_NAME$.add(&element1);
  73.    i$CLTN_NAME$.add(&element2);
  74.    i$CLTN_NAME$.add(&element3);
  75.    i$CLTN_NAME$.add(&element4);
  76. <else>
  77.    i$CLTN_NAME$.add(element1);
  78.    i$CLTN_NAME$.add(element1);
  79.    i$CLTN_NAME$.add(element2);
  80.    i$CLTN_NAME$.add(element3);
  81.    i$CLTN_NAME$.add(element4);
  82. </if>
  83.  
  84.    // List all the items
  85.    i$CLTN_NAME$.allElementsDo(printItem);
  86.    // List the total number of items
  87.    cout << i$CLTN_NAME$.numberOfElements() << " added" << endl;
  88.  
  89.    // Remove a key item
  90. <if ($STACK_TYPE$)>
  91.    i$CLTN_NAME$.pop();
  92. <else>\<if ($QUEUE_TYPE$)>
  93.    i$CLTN_NAME$.removeFirst();
  94. <else>
  95.    myCursor.setToFirst();
  96.    i$CLTN_NAME$.removeAt(myCursor);
  97. </if>\</if>
  98.  
  99.    // List the total number of items
  100.    cout << "After remove, the total number of items is: ";
  101.    cout << i$CLTN_NAME$.numberOfElements() << "\n\n";
  102.  
  103.    // List all the items
  104.    i$CLTN_NAME$.allElementsDo(printItem);
  105. }
  106.  
  107. //------------------------------------------------------------------------------
  108. // COLLECTION CLASSES: End of VisualAge C++ SmartGuide generation
  109. //------------------------------------------------------------------------------
  110. </code DEFINE_MAIN>
  111.