home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ocl150a.zip / OCL / Samples / GTakPM / Source / GTPMWinControl.cpp < prev    next >
C/C++ Source or Header  |  1996-08-12  |  2KB  |  82 lines

  1. // GTakPM
  2. // (c) Benjamin Stein 1994
  3. // All Rights Reserved
  4. // GTPMWinControl.cpp
  5.  
  6. //  $Header: W:/Projects/OCL/Samples/GTakPM/Source/rcs/GTPMWinControl.cpp 1.50 1996/08/11 23:48:09 B.STEIN Release $
  7.  
  8. #include "..\Source\GTakPM.hpp"
  9.  
  10.  
  11. BOOL GTPMWin::control(MPARAM mp1, MPARAM mp2)
  12. {
  13.  switch(SHORT1FROMMP(mp1))
  14.   {
  15.    case OBUTTONBAR_MOVEOVER:
  16.     statline->setText((PSZ) PVOIDFROMMP(mp2));
  17.     wasOutOfContainer = TRUE;
  18.     break;
  19.  
  20.    case GTPM_DRIVECNR:
  21.     switch(SHORT2FROMMP(mp1))
  22.      {
  23.       case CN_EXPANDTREE:
  24.       case CN_COLLAPSETREE: {
  25.        pDirInfo record = Drives->queryEmphasis();
  26.  
  27.        if (!record)
  28.          break;
  29.        if ((SHORT2FROMMP(mp1) == CN_EXPANDTREE) && (!record->wasExpanded)) {
  30.          record->wasExpanded = TRUE; 
  31.          expander.run(); }
  32.        if (record->rc.pszTree[1] == ':')
  33.          break;
  34.        record->expanded = !record->expanded;
  35.        if (record->expanded)
  36.          record->rc.hptrIcon = 
  37.          record->selected ? Drives->openfolderS_ico.hptr : Drives->openfolder_ico.hptr;
  38.        else
  39.          record->rc.hptrIcon = 
  40.          record->selected ? Drives->folderS_ico.hptr : Drives->folder_ico.hptr;
  41.        break; }
  42.  
  43.       case CN_ENTER: {
  44.        pDirInfo record = Drives->queryEmphasis();
  45.        pDirInfo parent;
  46.   
  47.        if (!record) 
  48.          break;
  49.        parent = Drives->queryRecord(record, CMA_PARENT, CMA_ITEMORDER);
  50.        record->selected = !record->selected;
  51.        Drives->select.run();
  52.        updateListbox(record->dirItem->fullName);
  53.        if ((!parent) && (record->selected))
  54.          addInclude(record->dirItem->fullName);
  55.        else if (((parent) && (parent->selected)) && (!record->selected))
  56.          addExclude(record->dirItem->fullName);
  57.        else if (((parent) && (!parent->selected)) && (record->selected))
  58.          addInclude(record->dirItem->fullName);
  59.        break; }
  60.  
  61.       case CN_EMPHASIS: { 
  62.        PNOTIFYRECORDEMPHASIS pne = (PNOTIFYRECORDEMPHASIS) mp2;
  63.        pDirInfo              record = Drives->queryEmphasis();
  64.  
  65.        if ((!pne) || 
  66.            (!(pne->fEmphasisMask & CRA_SELECTED)) ||
  67.            (!record))
  68.          break;
  69.        Files->scanDirectory << record->dirItem->fullName;
  70.        Files->populate.run(); 
  71.        break; }
  72.      }
  73.     break;
  74.  
  75.    default:
  76.     return(FALSE);
  77.   }
  78.  return(TRUE);
  79. }
  80.  
  81. // end of source
  82.