home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / ADDON.PAK / MSGTEST2.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  5.4 KB  |  210 lines

  1. #ifndef __AOEXPCH_H
  2.   #include "aoexpch.h"
  3. #endif
  4. #pragma hdrstop
  5.  
  6. #include <ideaddon\imsgsys.h>
  7.  
  8.  
  9. #include "msgtest2.h"
  10. #include "helpids.hh"
  11.  
  12. const char* HelpFileName = "..\\examples\\ide\\addon\\testbed\\testhelp.hlp";
  13.  
  14.  
  15. ///////////////////////////
  16. // MsgTest Implementation
  17. ///////////////////////////
  18.  
  19.  
  20. MsgTest::MsgTest()
  21.       : folder(0), folder2(0), parentMsg(0)
  22. {
  23. }
  24.  
  25.  
  26. MsgTest::~MsgTest()
  27. {
  28.   if( folder )
  29.      folder->Release();
  30.  
  31.   if( folder2 )
  32.      folder2->Release();
  33. }
  34.  
  35.  
  36. BOOL MsgTest::Init()
  37. {
  38.   OutStr( "MsgTest::Init()" );
  39.   IMessageSystem* msgSys = GET_INTERFACE( IMessageSystem );
  40.   if( !msgSys )  {
  41.      OutStr( "Couldn't get IMessageSystem" );
  42.      return FALSE;
  43.   }
  44.  
  45.   folder = msgSys->NewFolder( MakePolyString("Addon"),
  46.                      MakePolyString("Buildtime")
  47.                     );
  48.   msgSys->Release();
  49.                     
  50.   if( !folder )  {
  51.      OutStr( "Couldn't get IMessageFolder" );
  52.      return FALSE;
  53.   }
  54.   
  55.   return TRUE;
  56. }
  57.  
  58.  
  59. void MsgTest::UnInit()
  60. {
  61.   OutStr( "MsgTest::UnInit()" );
  62. }
  63.  
  64.  
  65. const char* MsgTest::GetName()
  66. {
  67.    return "Message System Test 2";
  68. }
  69.  
  70.  
  71. const char* MsgTest::GetTestDescription(int testNum)
  72. {
  73.    switch( testNum )  {
  74.       case 1:
  75.         return "Add Top Level Message to Buildtime tab of Message View";
  76.       case 2:
  77.         return "Add Child Message to Message created in Test 1";
  78.       case 3:
  79.         return "Add Group of nested messages with auto scroll support";
  80.       case 4:
  81.         return "Add Group of top level messages with auto scroll suppport"; 
  82.  
  83.       default:
  84.         return "This test is not yet implemented";
  85.    }
  86. }
  87.  
  88.  
  89. void MsgTest::DoTest(int testNum)
  90. {
  91.    switch( testNum )  {
  92.       case 1:  {
  93.         parentMsg = folder->NewFileMessage( MakePolyString("msgtest.cpp"),
  94.                                 MakePolyString("Message Test")
  95.                                );  
  96.         break;
  97.       }
  98.       
  99.       case 2:  {
  100.         if( !parentMsg )  {
  101.            OutStr( "Please run test 1 first" );
  102.            break;
  103.         }
  104.  
  105.         folder->NewMessage( parentMsg, 
  106.                       MakePolyString("msgtest.cpp"),
  107.                       MakePolyString("No help associated with this message"),
  108.                       97, 13, ADDON_MESSAGE_STRING 
  109.                     );  
  110.         
  111.         break;
  112.       }     
  113.       
  114.       case 3:  {
  115.         if( folder2 )  {
  116.            folder2->Release();
  117.            folder2 = 0;
  118.         }
  119.  
  120.         folder2 = QUERY_INTERFACE( folder, IMessageFolder2 );
  121.         if( !folder2 )  {
  122.            OutStr( "Couldn't get IMessageFolder2" );
  123.            break;
  124.         }
  125.  
  126.         folder2->BeginAutoScrollGroup();
  127.         
  128.         parentMsg = folder->NewFileMessage( MakePolyString("msgtest.cpp"),
  129.                                 MakePolyString("AutoScroll Test")
  130.                                );  
  131.         folder2->NewMessage2( parentMsg,
  132.                        MakePolyString("msgtest.cpp"),
  133.                        MakePolyString("Warning "),
  134.                        138, 0, ADDON_MESSAGE_WARNING,
  135.                        IDH_CM_ADDONWARN, 
  136.                        MakePolyString(HelpFileName)
  137.                       );  
  138.                      
  139.         folder2->NewMessage2( parentMsg,
  140.                        MakePolyString("msgtest.cpp"),
  141.                        MakePolyString("Fatal "),
  142.                        146, 0, ADDON_MESSAGE_FATAL,
  143.                        IDH_CM_ADDONFATAL, 
  144.                        MakePolyString(HelpFileName)
  145.                       );  
  146.         
  147.         folder2->NewMessage2( parentMsg,
  148.                        MakePolyString("msgtest.cpp"),
  149.                        MakePolyString("Error "),
  150.                        154, 0, ADDON_MESSAGE_ERROR,
  151.                        IDH_CM_ADDONERROR, 
  152.                        MakePolyString(HelpFileName)
  153.                       );  
  154.  
  155.         folder2->EndAutoScrollGroup();
  156.  
  157.         break;
  158.       }     
  159.  
  160.       case 4:  {
  161.         if( folder2 )  {
  162.            folder2->Release();
  163.            folder2 = 0;
  164.         }
  165.  
  166.         folder2 = QUERY_INTERFACE( folder, IMessageFolder2 );
  167.         if( !folder2 )  {
  168.            OutStr( "Couldn't get IMessageFolder2" );
  169.            break;
  170.         }
  171.  
  172.         folder2->BeginAutoScrollGroup();
  173.  
  174.         folder2->NewMessage2( 0,
  175.                        MakePolyString("msgtest.cpp"),
  176.                        MakePolyString("Warning "),
  177.                        175, 0, ADDON_MESSAGE_WARNING,
  178.                        IDH_CM_ADDONWARN, 
  179.                        MakePolyString(HelpFileName)
  180.                       );  
  181.                      
  182.         folder2->NewMessage2( 0,
  183.                        MakePolyString("msgtest.cpp"),
  184.                        MakePolyString("Fatal "),
  185.                        183, 0, ADDON_MESSAGE_FATAL,
  186.                        IDH_CM_ADDONFATAL, 
  187.                        MakePolyString(HelpFileName)
  188.                       );  
  189.         
  190.         folder2->NewMessage2( 0,
  191.                        MakePolyString("msgtest.cpp"),
  192.                        MakePolyString("Error "),
  193.                        191, 0, ADDON_MESSAGE_ERROR,
  194.                        IDH_CM_ADDONERROR, 
  195.                        MakePolyString(HelpFileName)
  196.                       );  
  197.  
  198.         folder2->EndAutoScrollGroup();
  199.  
  200.         break;
  201.  
  202.         
  203.       }
  204.  
  205.       default:
  206.         OutStr( FormatStr( "Test #%d Not Implemented!", testNum ) );
  207.    }
  208.  
  209. }
  210.