home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / OpenDoc / ProcessMap / $Sources / CPProcessMap.Frame.cpp < prev    next >
Encoding:
Text File  |  1995-04-28  |  9.3 KB  |  283 lines  |  [TEXT/MPCC]

  1. //----------------------------------------------------------------------------------------
  2. // Frame protocol
  3. //----------------------------------------------------------------------------------------
  4.  
  5. #ifndef _PROCESSMAP_
  6. #include "CPProcessMap.h"
  7. #endif
  8.  
  9. //----------------------------------------------------------------------------------------
  10.  
  11. void CPProcessMap::DisplayFrameAdded(Environment* ev, ODFrame* frame)
  12. {
  13.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameAdded
  14.     EnteringMethod("\pCPProcessMap::AddDisplayFrame");
  15.  
  16.     fDisplayFrames.Add(frame);
  17.         // Add new frame to list of current display frames.
  18.     
  19.     frame->SetDroppable(ev, kODTrue);
  20.         // We always want drag and drop in parts.
  21. }
  22.  
  23. //----------------------------------------------------------------------------------------
  24.  
  25. void CPProcessMap::DisplayFrameConnected(Environment* ev, ODFrame* /*frame*/)
  26. {
  27.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameConnected
  28.     EnteringMethod("\pCPProcessMap::DisplayFrameConnected");
  29.  
  30.     // // fDisplayFrames.Add(frame);
  31.     // Don't need to add frame to list of current display frames because we already did
  32.     // in InitPartFromStorage.
  33. }
  34.  
  35. //----------------------------------------------------------------------------------------
  36.  
  37. void CPProcessMap::DisplayFrameRemoved(Environment* ev, ODFrame* frame)
  38. {
  39.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameRemoved
  40.     EnteringMethod("\pCPProcessMap::DisplayFrameRemoved");
  41.  
  42.     fSession->GetArbitrator(ev)->RelinquishFocusSet(ev, fFocusSet, frame);
  43.  
  44.     fDisplayFrames.Remove(frame);
  45.         // This just removes the reference from our frame list.
  46. }
  47.  
  48. //----------------------------------------------------------------------------------------
  49.  
  50. void CPProcessMap::DisplayFrameClosed(Environment* ev, ODFrame* frame)
  51. {
  52.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_DisplayFrameClosed
  53.     EnteringMethod("\pCPProcessMap::DisplayFrameClosed");
  54.  
  55.     fSession->GetArbitrator(ev)->RelinquishFocusSet(ev, fFocusSet, frame);
  56.  
  57.     fDisplayFrames.Remove(frame);
  58.         // This just removes the reference from our frame list.
  59. }
  60.  
  61. //----------------------------------------------------------------------------------------
  62.  
  63. void CPProcessMap::FrameShapeChanged(Environment* ev, ODFrame* frame)
  64. {
  65.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_FrameShapeChanged
  66.     EnteringMethod("\pCPProcessMap::FrameShapeChanged");
  67.  
  68.     frame->RequestFrameShape(ev, this->PrivGetFrameShape(ev, frame), kODNULL);
  69.     this->PrivAdjustFacets(ev, frame);
  70.     frame->Invalidate(ev, kODNULL, kODNULL);
  71.     frame->InvalidateActiveBorder(ev);
  72. }
  73.  
  74. //----------------------------------------------------------------------------------------
  75.  
  76. ODShape* CPProcessMap::PrivGetFrameShape(Environment* ev, ODFrame* frame)
  77.  
  78. // This is just to centralize the frame shape code.  Do it any way
  79. // is best for your part.
  80.  
  81. {
  82.     ODShape* newFrameShape;
  83.  
  84.     if (frame->IsRoot(ev))
  85.         newFrameShape = frame->GetFrameShape(ev, kODNULL);
  86.     else
  87.         newFrameShape = this->PrivGetUsedShape(ev, frame);
  88.  
  89.     return newFrameShape;
  90. }
  91.  
  92. //----------------------------------------------------------------------------------------
  93.  
  94. ODShape* CPProcessMap::PrivGetUsedShape(Environment* ev, ODFrame* frame)
  95.  
  96. // This is just to centralize the frame shape code.  Do it any way
  97. // is best for your part.
  98.  
  99. {
  100.     ODShape* frameShape = frame->GetFrameShape(ev, kODNULL);
  101.     RgnHandle    shapeRgn = frameShape->GetQDRegion(ev);
  102.  
  103.     frameShape->Release(ev);
  104.  
  105.     Rect        rr = (*shapeRgn)->rgnBBox;
  106.     short        hh = rr.bottom - rr.top;
  107.     short        ww = rr.right - rr.left;
  108.  
  109.     fHorizontal = true;
  110.     if ( hh > ww ) fHorizontal = false;
  111.     ::SetRect(&rr, 0, 0, ww, hh);
  112.     ::OpenRgn();
  113.     ::FrameRect(&rr);
  114.     ::CloseRgn(shapeRgn = ::NewRgn());
  115.  
  116.     ODShape* usedShape = frame->CreateShape(ev);
  117.     usedShape->SetQDRegion(ev, shapeRgn);
  118.  
  119.     return usedShape;
  120. }
  121.  
  122. //----------------------------------------------------------------------------------------
  123.  
  124. void CPProcessMap::PrivAdjustFacets(Environment* ev, ODFrame* frame)
  125.  
  126. // Given a frame, iterate through all of the facets and adjust them
  127. // according to the new frame.
  128.  
  129. {
  130.     ODShape* usedShape  = this->PrivGetUsedShape(ev, frame);
  131.     frame->ChangeUsedShape(ev, usedShape, kODNULL);
  132.     usedShape->Release(ev);
  133.  
  134.     ODShape* frameShape = frame->GetFrameShape(ev, kODNULL);
  135.     ODFrameFacetIterator* facets = frame->CreateFacetIterator(ev);
  136.     for (ODFacet* facet = facets->First(ev);
  137.             facets->IsNotComplete(ev);
  138.             facet = facets->Next(ev) )
  139.     {
  140.         facet->ChangeActiveShape(ev, frameShape, kODNULL);
  141.     }
  142.     frameShape->Release(ev);
  143. }
  144.  
  145.  
  146. //----------------------------------------------------------------------------------------
  147.  
  148. void CPProcessMap::AttachSourceFrame(Environment* ev, ODFrame* frame, ODFrame* sourceFrame)
  149. {
  150.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_AttachSourceFrame
  151.     EnteringMethod("\pCPProcessMap::AttachSourceFrame");
  152.     ODUnused(frame);
  153.     ODUnused(sourceFrame);
  154. }
  155.  
  156. //----------------------------------------------------------------------------------------
  157.  
  158. void CPProcessMap::ViewTypeChanged(Environment* ev, ODFrame* frame)
  159. {
  160.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ViewTypeChanged
  161.     EnteringMethod("\pCPProcessMap::ViewTypeChanged");
  162.     ODUnused(frame);
  163. }
  164.  
  165. //----------------------------------------------------------------------------------------
  166.  
  167. void CPProcessMap::PresentationChanged(Environment* ev, ODFrame* frame)
  168. {
  169.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_PresentationChanged
  170.     EnteringMethod("\pCPProcessMap::PresentationChanged");
  171.     ODUnused(frame);
  172. }
  173.  
  174. //----------------------------------------------------------------------------------------
  175.  
  176. void CPProcessMap::SequenceChanged(Environment* ev, ODFrame* frame)
  177. {
  178.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_SequenceChanged
  179.     EnteringMethod("\pCPProcessMap::SequenceChanged");
  180.     ODUnused(frame);
  181. }
  182.  
  183. //----------------------------------------------------------------------------------------
  184.  
  185. void CPProcessMap::WritePartInfo(Environment* ev, ODInfoType partInfo,
  186.                                ODStorageUnitView* storageUnitView)
  187. {
  188.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_WritePartInfo
  189.     EnteringMethod("\pCPProcessMap::WritePartInfo");
  190.     ODUnused(partInfo);
  191.     ODUnused(storageUnitView);
  192. }
  193.  
  194. //----------------------------------------------------------------------------------------
  195.  
  196. void CPProcessMap::ClonePartInfo(Environment *ev, ODDraftKey key,
  197.                                 ODInfoType partInfo,
  198.                                 ODStorageUnitView* storageUnitView,
  199.                                 ODFrame* scopeFrame)
  200. {
  201.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ClonePartInfo
  202.     EnteringMethod("\pCPProcessMap::ClonePartInfo");
  203.     ODUnused(key);
  204.     ODUnused(partInfo);
  205.     ODUnused(storageUnitView);
  206.     ODUnused(scopeFrame);
  207. }
  208.  
  209. //----------------------------------------------------------------------------------------
  210.  
  211. ODInfoType CPProcessMap::ReadPartInfo(Environment* ev, ODFrame* frame, ODStorageUnitView* storageUnitView)
  212. {
  213.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_ReadPartInfo
  214.     EnteringMethod("\pCPProcessMap::ReadPartInfo");
  215.     ODUnused(frame);
  216.     ODUnused(storageUnitView);
  217.     return kODNULL;
  218. }
  219.  
  220. //----------------------------------------------------------------------------------------
  221.  
  222. ODFrame* CPProcessMap::RequestEmbeddedFrame(Environment* ev, ODFrame* containingFrame,
  223.                                            ODFrame* baseFrame,
  224.                                            ODShape* frameShape,
  225.                                            ODPart* embedPart,
  226.                                            ODTypeToken viewType,
  227.                                            ODTypeToken presentation,
  228.                                            ODBoolean isOverlaid)
  229. {
  230.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RequestEmbeddedFrame
  231.     EnteringMethod("\pCPProcessMap::RequestEmbeddedFrame");
  232.     ODUnused(containingFrame);
  233.     ODUnused(baseFrame);
  234.     ODUnused(frameShape);
  235.     ODUnused(embedPart);
  236.     ODUnused(viewType);
  237.     ODUnused(presentation);
  238.     ODUnused(isOverlaid);
  239.     DebugStr("\pCPProcessMap::RequestEmbeddedFrame -- shouldn't be here.");
  240.     return kODNULL;
  241. }
  242.  
  243. //----------------------------------------------------------------------------------------
  244.  
  245. void CPProcessMap::RemoveEmbeddedFrame(Environment* ev, ODFrame* embeddedFrame)
  246. {
  247.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RemoveEmbeddedFrame
  248.     EnteringMethod("\pCPProcessMap::RemoveEmbeddedFrame");
  249.     ODUnused(embeddedFrame);
  250.     DebugStr("\pCPProcessMap::RemoveEmbeddedFrame -- shouldn't be here.");
  251. }
  252.  
  253. //----------------------------------------------------------------------------------------
  254.  
  255. ODShape* CPProcessMap::RequestFrameShape(Environment* ev, ODFrame* embeddedFrame, ODShape* frameShape)
  256. {
  257.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_RequestFrameShape
  258.     EnteringMethod("\pCPProcessMap::RequestFrameShape");
  259.     ODUnused(embeddedFrame);
  260.     ODUnused(frameShape);
  261.     DebugStr("\pCPProcessMap::RequestFrameShape -- shouldn't be here.");
  262.     return kODNULL;
  263. }
  264.  
  265. //----------------------------------------------------------------------------------------
  266.  
  267. void CPProcessMap::UsedShapeChanged(Environment* ev, ODFrame* embeddedFrame)
  268. {
  269.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_UsedShapeChanged
  270.     EnteringMethod("\pCPProcessMap::UsedShapeChanged");
  271.     ODUnused(embeddedFrame);
  272. }
  273.  
  274. //----------------------------------------------------------------------------------------
  275.  
  276. ODShape* CPProcessMap::AdjustBorderShape(Environment* ev, ODFacet* embeddedFacet, ODShape* shape)
  277. {
  278.     // CodeWarrior: Cmd-Click or Search:Find Definition • Explain_AdjustBorderShape
  279.     EnteringMethod("\pCPProcessMap::AdjustBorderShape");
  280.     ODUnused(embeddedFacet);
  281.     return shape;
  282. }
  283.