home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Utilities / Winter Shell 1.0d2 / Source / Special / TestLib.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-17  |  3.6 KB  |  159 lines  |  [TEXT/KAHL]

  1. /* stuff for testing libraries via access with menu commands
  2.     93/12/30 aih added icon list test, tear off menu test
  3.     93/12/17 aih created */
  4.     
  5. #include "EventLib.h"
  6. #include "FileDialogLib.h"
  7. #include "FloatMenuLib.h"
  8. #include "MacLib.h"
  9. #include "MemoryLib.h"
  10. #include "NotifyLib.h"
  11. #include "IconListLib.h"
  12. #include "ResourceConstantsLib.h"
  13. #include "WindowLib.h"
  14.  
  15. #include "ConcatenateTextFolders.h"
  16. #include "WordsInFile.h"
  17.  
  18. void TestEventTableRegister(void);
  19.  
  20. /* menu resources */
  21. enum {
  22.     mTest = 1024,
  23.     mTestIconList = 250,
  24.     mTestStandardFile = 251,
  25.     mTestLast
  26. };
  27.  
  28. /* menu commands */
  29. enum {
  30.     cmdTest = CMD_LAST,
  31.     cmdTestWords,
  32.     cmdTestCatFolders,
  33.     cmdTestSF,
  34.     cmdTestSFMultiple,
  35.     cmdTestSFFolder,
  36.     cmdTestSFGet,
  37.     cmdTestSFPut,
  38.     cmdTestIcon,
  39.     cmdTestIconICON,
  40.     cmdTestIconICN,
  41.     cmdTestIconSICN,
  42.     cmdTestLast
  43. };
  44.  
  45. static MenuPickType gTestMenus[16] = {
  46.     { mTest, 0, cmdTest, NULL },
  47.     { mTest, 4, cmdTestWords, NULL },
  48.     { mTest, 5, cmdTestCatFolders, NULL },
  49.     { mTestIconList, 0, cmdTestIcon, NULL },
  50.     { mTestIconList, 1, cmdTestIconICON, NULL },
  51.     { mTestIconList, 2, cmdTestIconICN, NULL },
  52.     { mTestIconList, 3, cmdTestIconSICN, NULL },
  53.     { mTestStandardFile, 0, cmdTestSF, NULL },
  54.     { mTestStandardFile, 1, cmdTestSFMultiple, NULL },
  55.     { mTestStandardFile, 2, cmdTestSFFolder, NULL },
  56.     { mTestStandardFile, 3, cmdTestSFGet, NULL },
  57.     { mTestStandardFile, 4, cmdTestSFPut, NULL },
  58.     { 0, 0, CMD_NONE, NULL },
  59. };
  60.  
  61. static Boolean TestMenu(const MenuPickType *pick)
  62. {
  63.     FileType file, *fp = &file;
  64.     Boolean handled = false;    /* true if command was handled */
  65.     Boolean executable = true;    /* true if command can be executed */
  66.     OSType textType = 'TEXT';    /* for selecting text files */
  67.     
  68.     switch (pick->cmd) {
  69.     case cmdTestSFMultiple:
  70.     case cmdTestSFFolder:
  71.     case cmdTestCatFolders:
  72.         if (! MacHasStandardFile()) {
  73.             NotifyStop(RLS_ALERT_SYSTEM_FEATURE, "7.0");
  74.             executable = false;
  75.         }
  76.         break;
  77.     }
  78.     if (executable) {
  79.         handled = true;
  80.         switch (pick->cmd) {
  81.         case cmdTestSFMultiple:
  82.             HandleEnd(FileSelectMultiple());
  83.             break;
  84.         case cmdTestSFFolder:
  85.             FileOrFolderSelect(fp, 0, NULL);
  86.             break;
  87.         case cmdTestSFGet:
  88.             FileSFButtonTitle("Get text");
  89.             FileSFGet(fp, 1, &textType);
  90.             break;
  91.         case cmdTestSFPut:
  92.             FileSFButtonTitle("Put");
  93.             FileSFPut(fp, "The prompt string", "The file name"); 
  94.             break;
  95.         case cmdTestIconICON:
  96.             (void) IconListBegin(ICON_LIST_ICON, RLW_TOOL_BAR);
  97.             break;
  98.         case cmdTestIconICN:
  99.             (void) IconListBegin(ICON_LIST_ICON_LIST, RLW_TOOL_BAR);
  100.             break;
  101.         case cmdTestIconSICN:
  102.             (void) IconListBegin(ICON_LIST_SMALL_ICON, RLW_TOOL_BAR);
  103.             break;
  104.         case cmdTestWords:
  105.             WordsInFile(NULL, NULL);
  106.             break;
  107.         case cmdTestCatFolders:
  108.             ConcatenateTextFolders(NULL, 0, NULL);
  109.             break;
  110.         default:
  111.             handled = false;
  112.             break;
  113.         }
  114.     }
  115.     return(handled);
  116. }
  117.  
  118. static void TestAdjustMenu(void)
  119. {
  120.     if (! WinModalHasFocus()) {
  121.         MenuCmdEnable(cmdTest);
  122.         MenuCmdEnable(cmdTestSF);
  123.         MenuCmdEnable(cmdTestIcon);
  124.         MenuCmdEnable(cmdTestSFMultiple);
  125.         MenuCmdEnable(cmdTestSFFolder);
  126.         MenuCmdEnable(cmdTestSFGet);
  127.         MenuCmdEnable(cmdTestSFPut);
  128.         MenuCmdEnable(cmdTestIconICON);
  129.         MenuCmdEnable(cmdTestIconICN);
  130.         MenuCmdEnable(cmdTestIconSICN);
  131.         MenuCmdEnable(cmdTestWords);
  132.         MenuCmdEnable(cmdTestCatFolders);
  133.     }
  134. }
  135.  
  136. static Boolean menu(const MenuPickType *pick)
  137. {
  138.     return TestMenu(pick);
  139. }
  140.  
  141. static void adjustmenu(void)
  142. {
  143.     TestAdjustMenu();
  144. }
  145.  
  146. void TestEventTableRegister(void)
  147. {
  148.     static EventTableType table;
  149.     
  150.     table.objectType.menu = menu;
  151.     table.objectType.adjustmenu = adjustmenu;
  152.     EventTableRegister(&table);
  153.     MenuAppend(mTest);
  154.     MenuTableAppend(gTestMenus);
  155.     (void) FloatMenuBegin(mTest);
  156.     (void) FloatMenuBegin(mTestIconList);
  157.     (void) FloatMenuBegin(mTestStandardFile);
  158. }
  159.