home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / SCL.EXE / MGRNODEL.CPP < prev    next >
C/C++ Source or Header  |  1994-08-06  |  2KB  |  80 lines

  1.  
  2. /*
  3. * NIST STEP Editor Class Library
  4. * cleditor/mgrnodelist.cc
  5. * February, 1994
  6. * David Sauder
  7. * K. C. Morris
  8.  
  9. * Development of this software was funded by the United States Government,
  10. * and is not subject to copyright.
  11. */
  12.  
  13. /* $Id: mgrnodelist.cc,v 2.0.1.1 1994/04/05 16:42:39 sauderd Exp $ */ 
  14.  
  15. #include <mgrnode.h>
  16. #include <mgrnodelist.h>
  17. #include <dispnode.h>
  18. #include <dispnodlist.h>
  19.  
  20.  
  21. MgrNodeList::MgrNodeList(stateEnum type) : GenNodeList(new MgrNode())
  22. {
  23. //    if(debug_level >= PrintFunctionTrace)
  24. //    cout << "MgrNodeList::MgrNodeList()\n";
  25.     listType = type;
  26.     ((MgrNode *)head)->currState = type;
  27. }
  28.  
  29. void MgrNodeList::Remove(GenericNode *node)
  30. {
  31. //    if(debug_level >= PrintFunctionTrace)
  32. //    cout << "MgrNodeList::Remove()\n";
  33.     GenNodeList::Remove(node);
  34. // DON'T DO THIS    ((MgrNode *)node)->currState = noStateSE;
  35. };
  36.  
  37.     // deletes node from its previous list & appends...
  38.     // actually it puts it at the front of the list.
  39. void MgrNodeList::Append(GenericNode *node)
  40. {
  41.     InsertBefore(node, head);
  42. }
  43.  
  44.         // deletes newNode from its previous list & inserts after
  45.         //    existNode
  46. void MgrNodeList::InsertAfter(GenericNode *newNode, 
  47.                      GenericNode *existNode)
  48. {
  49.     if(newNode->next != 0){    // remove the node from its previous list
  50.     newNode->Remove();
  51.     }
  52.     GenNodeList::InsertAfter(newNode, existNode);
  53. // DON'T DO THIS    ((MgrNode *)newNode)->currState = listType;
  54. }
  55.  
  56.         // deletes newNode from its previous list & inserts before
  57.         //    existNode
  58. void MgrNodeList::InsertBefore(GenericNode *newNode, 
  59.                       GenericNode *existNode)
  60. {
  61.     if(newNode->next != 0){    // remove the node from its previous 
  62.     newNode->Remove();    //    state list
  63.     }
  64.     GenNodeList::InsertBefore(newNode, existNode);
  65. // DON'T DO THIS!!    ((MgrNode *)newNode)->currState = listType;
  66. }
  67.  
  68. MgrNode *MgrNodeList::FindFileId(int fileId)
  69. {
  70.     MgrNode *mn = (MgrNode *)head->next;
  71.     while(mn != head)
  72.     {
  73.     if(mn->GetFileId() == fileId)
  74.         return mn;
  75.     mn = (MgrNode *)mn->next;
  76.     }
  77.     return (MgrNode *)0;
  78. }
  79.  
  80.