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

  1. /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2.  
  3.   edittool.cpp
  4.   Created: 10/24/95
  5.   Copyright (c) 1995, Borland International
  6.   $Revision:   1.13  $
  7.    
  8. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/  
  9. #ifndef __AOEXPCH_H
  10.   #include "aoexpch.h"
  11. #endif
  12. #pragma hdrstop
  13.  
  14. #include "edittool.h"
  15.  
  16. //.............................................................................
  17. EditToolTest::EditToolTest() 
  18.   {
  19.   _toolServer = NULL;
  20.   }
  21. //.............................................................................
  22. EditToolTest::~EditToolTest() 
  23.   {
  24.   UnInit();
  25.   }
  26. //.............................................................................
  27. BOOL EditToolTest::Init() 
  28.   {
  29.   if ( !_toolServer ) 
  30.     {
  31.     OutStr( "EditToolTest::Init()" );
  32.     _toolServer = GET_INTERFACE(IToolServer);
  33.     if ( _toolServer == NULL ) 
  34.       {
  35.       return FALSE;
  36.       }
  37.     }
  38.   return TRUE;
  39. }
  40. //.............................................................................
  41. void EditToolTest::UnInit() 
  42.   {
  43.   OutStr( "EditToolTest::UnInit()" );
  44.   if ( _toolServer ) 
  45.     {
  46.     _toolServer->Release();
  47.     _toolServer = NULL;
  48.     }
  49.   }
  50. //.............................................................................
  51. const char * EditToolTest::GetName() 
  52.   {
  53.   return "Tool info (editor as tool)";
  54.   }
  55. //.............................................................................
  56. const char * EditToolTest::GetTestDescription( int testNum ) 
  57.   {
  58.   switch ( testNum )
  59.     {
  60.     case 1: 
  61.       return "Returns info about the edit tool.";
  62.     case 2: 
  63.       return "Add .bat to list of supported types.";
  64.     }
  65.   return "This test not implemented.";
  66.   }  
  67. //.............................................................................
  68. void EditToolTest::DoTest( int testNum ) 
  69.   {
  70.   if ( !_toolServer ) 
  71.     {
  72.     OutStr( "Tool Server not initialized!" );
  73.     return;
  74.     }
  75.   switch ( testNum ) 
  76.     {  
  77.     case 1: 
  78.       {
  79.       ToolObj toolObj = _toolServer->ToolFind( ::MakePolyString ( "EditText" ) );
  80.       if ( toolObj ) 
  81.         {
  82.         IToolInfo * pToolInfo = _toolServer->QueryToolInfo ( toolObj );
  83.         if ( pToolInfo != NULL )
  84.           {
  85.           ShowPolyStr ( "Name = ", pToolInfo->GetName(), TRUE );
  86.           ShowPolyStr ( "Menu Name = ", pToolInfo->GetMenuName(), TRUE );
  87.           ShowPolyStr ( "Help Hint = ", pToolInfo->GetHelpHint(), TRUE );
  88.           ShowPolyStr ( "Path = ", pToolInfo->GetPath(), TRUE );
  89.           ShowPolyStr ( "Cmd Line = ", pToolInfo->GetDefCmdLine(), TRUE );
  90.           ShowPolyStr ( "Supported Types = ", pToolInfo->GetSupportedTypes(), TRUE );
  91.           ShowPolyStr ( "DefForTypes = ", pToolInfo->GetDefaultForTypes(), TRUE );
  92.           ShowPolyStr ( "TranslateTo = ", pToolInfo->GetTranslateTo(), TRUE ); 
  93.           OutStr( FormatStr( "ToolTypes = %d", pToolInfo->GetTypes() ) );
  94.           OutStr( FormatStr( "ToolFlags = %d", pToolInfo->GetFlags() ) );
  95.           OutStr( FormatStr( "LaunchType = %d", pToolInfo->GetLaunchType() ) );
  96.  
  97.           pToolInfo->Release();
  98.           }
  99.         } 
  100.       else 
  101.         {
  102.         OutStr( FormatStr( "Couldn't find tool named %s.", "EditText" ) );
  103.         }
  104.       break;
  105.       }
  106.  
  107.     case 2: 
  108.       {
  109.       ToolObj toolObj = _toolServer->ToolFind( ::MakePolyString ( "EditText" ) );
  110.       if ( toolObj ) 
  111.         {
  112.         IToolInfo * pToolInfo = _toolServer->QueryToolInfo ( toolObj );
  113.         if ( pToolInfo != NULL )
  114.           {
  115.           IPolyString *pSupported = pToolInfo->GetSupportedTypes();
  116.           if ( pSupported )
  117.             {
  118.             const char *pcSupport = pSupported->GetCstr();
  119.             if ( pcSupport )
  120.               {
  121.               char buf[256];
  122.               strncpy ( buf, pcSupport, 255);
  123.               strcat  ( buf, ".bat" );
  124.               pToolInfo->SetSupportedTypes ( ::MakePolyString( buf ) );
  125.               }
  126.             }
  127.           else
  128.             {
  129.             pToolInfo->SetSupportedTypes ( ::MakePolyString( ".bat" ) );
  130.             }
  131.           _toolServer->ToolAdd( pToolInfo );
  132.           pToolInfo->Release();
  133.           }
  134.         }
  135.       }
  136.       break;
  137.  
  138.  
  139.     default: 
  140.       {
  141.       OutStr( FormatStr( "Test #%d Not Implemented!", testNum ) );
  142.       }
  143.     }
  144.   }
  145.