home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / OpenDoc / ProcessMap / $SOM / ProcessMap.cpp next >
Encoding:
C/C++ Source or Header  |  1995-04-22  |  22.6 KB  |  693 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        ProcessMap.cpp
  3.     Contains:    Implementation of the SOM class ProcessMap
  4.     Written by:    PartMaker
  5.  
  6.     Change History (most recent first):
  7.  
  8.     <3>    4/18/95    JS        Updated to Developer Release 2
  9.                         Add ClonePartInfo.
  10.                         Inherited for InitPart, InitPartFromStorage.
  11.                         Fixed Externalize() inherited call.
  12.                         Removed inherited from Release().
  13.                         delete to ODDeleteObject().
  14.     <2>    3/8/95    JS        Updated to b1c13/c14
  15.     <1>    2/2/95    RA        first checked in
  16.     <0>    PartMaker source by E. Soldan, T. Ã‡elik, J. Alfke, R. Adkins, J. Schalk
  17. */
  18.  
  19. #ifndef _ALTPOINT_
  20. #include <AltPoint.h>
  21. #endif
  22.  
  23. #ifndef SOM_ODFrame_xh
  24. #include <Frame.xh>
  25. #endif
  26.  
  27. #ifndef SOM_ODFacet_xh
  28. #include <Facet.xh>
  29. #endif
  30.  
  31. #ifndef SOM_ODShape_xh
  32. #include <Shape.xh>
  33. #endif
  34.  
  35. #ifndef SOM_ODDraft_xh
  36. #include <Draft.xh>
  37. #endif
  38.  
  39. #ifndef SOM_ODStorageUnit_xh
  40. #include <StorageU.xh>
  41. #endif
  42.  
  43. #ifndef SOM_ODTransform_xh
  44. #include <Trnsform.xh>
  45. #endif
  46.  
  47. #ifndef SOM_ODWindow_xh
  48. #include <Window.xh>
  49. #endif
  50.  
  51. #ifndef __QUICKDRAW__
  52. #include <Quickdraw.h>
  53. #endif
  54.  
  55. #ifndef _CPPROCESSMAP_
  56. #include "CPProcessMap.h"
  57. #endif
  58.  
  59. #define SOM_Module_processmap_Source
  60. #define VARIABLE_MACROS
  61.  
  62. #ifndef SOM_SomethingGood_ProcessMap_xih
  63. #include <ProcessMap.xih>
  64. #endif
  65.  
  66. #ifndef _ODUTILS_
  67. #include <ODUtils.h>
  68. #endif
  69.  
  70. //========================================================================================
  71. // SomethingGood_ProcessMap
  72. //========================================================================================
  73.  
  74. SOM_Scope void  SOMLINK SomethingGood_ProcessMapsomInit(SomethingGood_ProcessMap *somSelf)
  75. {
  76.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  77.     _fCPPart = kODNULL;
  78.     SomethingGood_ProcessMap_parent_ODPart_somInit(somSelf);
  79. }
  80.  
  81. SOM_Scope void  SOMLINK SomethingGood_ProcessMapsomUninit(SomethingGood_ProcessMap *somSelf)
  82. {
  83.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  84.     if (_fCPPart)
  85.         ODDeleteObject(_fCPPart);
  86.     SomethingGood_ProcessMap_parent_ODPart_somUninit(somSelf);
  87. }
  88.  
  89. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFulfillPromise(SomethingGood_ProcessMap *somSelf,
  90.         Environment *ev,
  91.         ODStorageUnitView* promiseSUView)
  92. {
  93.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  94.     _fCPPart->FulfillPromise(ev,promiseSUView);
  95. }
  96.  
  97. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDropCompleted(SomethingGood_ProcessMap *somSelf, 
  98.         Environment *ev,
  99.         ODPart* destPart,
  100.         ODDropResult dropResult)
  101. {
  102.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  103.     _fCPPart->DropCompleted(ev,destPart,dropResult);
  104. }
  105.  
  106. SOM_Scope ODDragResult  SOMLINK SomethingGood_ProcessMapDragEnter(SomethingGood_ProcessMap *somSelf, 
  107.         Environment *ev,
  108.         ODDragItemIterator* dragInfo,
  109.         ODFacet* facet,
  110.         ODPoint* where)
  111. {
  112.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  113.     return (_fCPPart->DragEnter(ev,dragInfo,facet,where));
  114. }
  115.  
  116. SOM_Scope ODDragResult  SOMLINK SomethingGood_ProcessMapDragWithin(SomethingGood_ProcessMap *somSelf, 
  117.         Environment *ev,
  118.         ODDragItemIterator* dragInfo,
  119.         ODFacet* facet,
  120.         ODPoint* where)
  121. {
  122.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  123.     return (_fCPPart->DragWithin(ev,dragInfo,facet,where));
  124. }
  125.  
  126. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDragLeave(SomethingGood_ProcessMap *somSelf, 
  127.         Environment *ev,
  128.         ODFacet* facet,
  129.         ODPoint* where)
  130. {
  131.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  132.     _fCPPart->DragLeave(ev,facet,where);
  133. }
  134.  
  135. SOM_Scope ODDropResult  SOMLINK SomethingGood_ProcessMapDrop(SomethingGood_ProcessMap *somSelf, 
  136.         Environment *ev,
  137.         ODDragItemIterator* dropInfo,
  138.         ODFacet* facet,
  139.         ODPoint* where)
  140. {
  141.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  142.     return (_fCPPart->Drop(ev,dropInfo,facet,where));
  143. }
  144.  
  145. SOM_Scope void  SOMLINK SomethingGood_ProcessMapContainingPartPropertiesChanged(SomethingGood_ProcessMap *somSelf, 
  146.         Environment *ev,
  147.         ODFrame* frame,
  148.         ODStorageUnit* propertyUnit)
  149. {
  150.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  151.     _fCPPart->ContainingPartPropertiesChanged(ev,frame,propertyUnit);
  152. }
  153.  
  154. SOM_Scope ODStorageUnit*  SOMLINK SomethingGood_ProcessMapGetContainingPartProperties(SomethingGood_ProcessMap *somSelf, 
  155.         Environment *ev,
  156.         ODFrame* frame)
  157. {
  158.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  159.     return (_fCPPart->GetContainingPartProperties(ev,frame));
  160. }
  161.  
  162. SOM_Scope ODBoolean  SOMLINK SomethingGood_ProcessMapRevealFrame(SomethingGood_ProcessMap *somSelf, 
  163.         Environment *ev,
  164.         ODFrame* embeddedFrame,
  165.         ODShape* revealShape)
  166. {
  167.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  168.     return (_fCPPart->RevealFrame(ev,embeddedFrame,revealShape));
  169. }
  170.  
  171. SOM_Scope void  SOMLINK SomethingGood_ProcessMapEmbeddedFrameSpec(SomethingGood_ProcessMap *somSelf, 
  172.         Environment *ev,
  173.         ODFrame* embeddedFrame,
  174.         ODObjectSpec* spec)
  175. {
  176.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  177.     _fCPPart->EmbeddedFrameSpec(ev,embeddedFrame,spec);
  178. }
  179.  
  180. SOM_Scope ODEmbeddedFramesIterator*  SOMLINK SomethingGood_ProcessMapCreateEmbeddedFramesIterator(SomethingGood_ProcessMap *somSelf, 
  181.         Environment *ev,
  182.         ODFrame* frame)
  183. {
  184.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  185.     return (_fCPPart->CreateEmbeddedFramesIterator(ev,frame));
  186. }
  187.  
  188. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDisplayFrameAdded(SomethingGood_ProcessMap *somSelf, 
  189.         Environment *ev,
  190.         ODFrame* frame)
  191. {
  192.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  193.     _fCPPart->DisplayFrameAdded(ev,frame);
  194. }
  195.  
  196. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDisplayFrameRemoved(SomethingGood_ProcessMap *somSelf, 
  197.         Environment *ev,
  198.         ODFrame* frame)
  199. {
  200.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  201.     _fCPPart->DisplayFrameRemoved(ev,frame);
  202. }
  203.  
  204. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDisplayFrameConnected(SomethingGood_ProcessMap *somSelf, 
  205.         Environment *ev,
  206.         ODFrame* frame)
  207. {
  208.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  209.     _fCPPart->DisplayFrameConnected(ev,frame);
  210. }
  211.  
  212. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDisplayFrameClosed(SomethingGood_ProcessMap *somSelf, 
  213.         Environment *ev,
  214.         ODFrame* frame)
  215. {
  216.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  217.     _fCPPart->DisplayFrameClosed(ev,frame);
  218. }
  219.  
  220. SOM_Scope void  SOMLINK SomethingGood_ProcessMapAttachSourceFrame(SomethingGood_ProcessMap *somSelf, 
  221.         Environment *ev,
  222.         ODFrame* frame,
  223.         ODFrame* sourceFrame)
  224. {
  225.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  226.     _fCPPart->AttachSourceFrame(ev,frame,sourceFrame);
  227. }
  228.  
  229. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFrameShapeChanged(SomethingGood_ProcessMap *somSelf, 
  230.         Environment *ev,
  231.         ODFrame* frame)
  232. {
  233.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  234.     _fCPPart->FrameShapeChanged(ev,frame);
  235. }
  236.  
  237. SOM_Scope void  SOMLINK SomethingGood_ProcessMapViewTypeChanged(SomethingGood_ProcessMap *somSelf, 
  238.         Environment *ev,
  239.         ODFrame* frame)
  240. {
  241.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  242.     _fCPPart->ViewTypeChanged(ev,frame);
  243. }
  244.  
  245. SOM_Scope void  SOMLINK SomethingGood_ProcessMapPresentationChanged(SomethingGood_ProcessMap *somSelf, 
  246.         Environment *ev,
  247.         ODFrame* frame)
  248. {
  249.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  250.     _fCPPart->PresentationChanged(ev,frame);
  251. }
  252.  
  253. SOM_Scope void  SOMLINK SomethingGood_ProcessMapSequenceChanged(SomethingGood_ProcessMap *somSelf, 
  254.         Environment *ev,
  255.         ODFrame* frame)
  256. {
  257.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  258.     _fCPPart->SequenceChanged(ev,frame);
  259. }
  260.  
  261. SOM_Scope void  SOMLINK SomethingGood_ProcessMapWritePartInfo(SomethingGood_ProcessMap *somSelf, 
  262.         Environment *ev,
  263.         ODInfoType partInfo,
  264.         ODStorageUnitView* storageUnitView)
  265. {
  266.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  267.     _fCPPart->WritePartInfo(ev,partInfo,storageUnitView);
  268. }
  269.  
  270. SOM_Scope ODInfoType  SOMLINK SomethingGood_ProcessMapReadPartInfo(SomethingGood_ProcessMap *somSelf, 
  271.         Environment *ev,
  272.         ODFrame* frame,
  273.         ODStorageUnitView* storageUnitView)
  274. {
  275.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  276.     return (_fCPPart->ReadPartInfo(ev,frame,storageUnitView));
  277. }
  278.  
  279. SOM_Scope void  SOMLINK SomethingGood_ProcessMapClonePartInfo(SomethingGood_ProcessMap *somSelf, 
  280.         Environment *ev,
  281.         ODDraftKey key,
  282.         ODInfoType partInfo,
  283.         ODStorageUnitView* storageUnitView,
  284.         ODFrame* scopeFrame)
  285. {
  286.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  287.     _fCPPart->ClonePartInfo(ev,key,partInfo,storageUnitView,scopeFrame);
  288. }
  289.  
  290. SOM_Scope ODID  SOMLINK SomethingGood_ProcessMapOpen(SomethingGood_ProcessMap *somSelf,
  291.         Environment *ev,
  292.         ODFrame* frame)
  293. {
  294.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  295.     return (_fCPPart->Open(ev,frame));
  296. }
  297.  
  298. SOM_Scope ODFrame*  SOMLINK SomethingGood_ProcessMapRequestEmbeddedFrame(SomethingGood_ProcessMap *somSelf, 
  299.         Environment *ev,
  300.         ODFrame* containingFrame,
  301.         ODFrame* baseFrame,
  302.         ODShape* frameShape,
  303.         ODPart* embedPart,
  304.         ODTypeToken viewType,
  305.         ODTypeToken presentation,
  306.         ODBoolean isOverlaid)
  307. {
  308.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  309.     return (_fCPPart->RequestEmbeddedFrame(ev,containingFrame,baseFrame,frameShape,embedPart,viewType,presentation,isOverlaid));
  310. }
  311.  
  312. SOM_Scope void  SOMLINK SomethingGood_ProcessMapRemoveEmbeddedFrame(SomethingGood_ProcessMap *somSelf, 
  313.         Environment *ev,
  314.         ODFrame* embeddedFrame)
  315. {
  316.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  317.     _fCPPart->RemoveEmbeddedFrame(ev,embeddedFrame);
  318. }
  319.  
  320. SOM_Scope ODShape*  SOMLINK SomethingGood_ProcessMapRequestFrameShape(SomethingGood_ProcessMap *somSelf, 
  321.         Environment *ev,
  322.         ODFrame* embeddedFrame,
  323.         ODShape* frameShape)
  324. {
  325.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  326.     return (_fCPPart->RequestFrameShape(ev,embeddedFrame,frameShape));
  327. }
  328.  
  329. SOM_Scope void  SOMLINK SomethingGood_ProcessMapUsedShapeChanged(SomethingGood_ProcessMap *somSelf, 
  330.         Environment *ev,
  331.         ODFrame* embeddedFrame)
  332. {
  333.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  334.     _fCPPart->UsedShapeChanged(ev,embeddedFrame);
  335. }
  336.  
  337. SOM_Scope ODShape*  SOMLINK SomethingGood_ProcessMapAdjustBorderShape(SomethingGood_ProcessMap *somSelf, 
  338.         Environment *ev,
  339.         ODFacet* embeddedFacet,
  340.         ODShape* shape)
  341. {
  342.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  343.     return (_fCPPart->AdjustBorderShape(ev,embeddedFacet,shape));
  344. }
  345.  
  346. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFacetAdded(SomethingGood_ProcessMap *somSelf, 
  347.         Environment *ev,
  348.         ODFacet* facet)
  349. {
  350.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  351.     _fCPPart->FacetAdded(ev,facet);
  352. }
  353.  
  354. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFacetRemoved(SomethingGood_ProcessMap *somSelf, 
  355.         Environment *ev,
  356.         ODFacet* facet)
  357. {
  358.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  359.     _fCPPart->FacetRemoved(ev,facet);
  360. }
  361.  
  362. SOM_Scope void  SOMLINK SomethingGood_ProcessMapCanvasChanged(SomethingGood_ProcessMap *somSelf, 
  363.         Environment *ev,
  364.         ODFacet* facet)
  365. {
  366.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  367.     _fCPPart->CanvasChanged(ev,facet);
  368. }
  369.  
  370. SOM_Scope void  SOMLINK SomethingGood_ProcessMapGeometryChanged(SomethingGood_ProcessMap *somSelf, 
  371.         Environment *ev,
  372.         ODFacet* facet,
  373.         ODBoolean clipShapeChanged,
  374.         ODBoolean externalTransformChanged)
  375. {
  376.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  377.     _fCPPart->GeometryChanged(ev,facet,clipShapeChanged,externalTransformChanged);
  378. }
  379.  
  380. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDraw(SomethingGood_ProcessMap *somSelf, 
  381.         Environment *ev,
  382.         ODFacet* facet,
  383.         ODShape* invalidShape)
  384. {
  385.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  386.     _fCPPart->Draw(ev,facet,invalidShape);
  387. }
  388.  
  389. SOM_Scope void  SOMLINK SomethingGood_ProcessMapCanvasUpdated(SomethingGood_ProcessMap *somSelf, 
  390.         Environment *ev,
  391.         ODCanvas* canvas)
  392. {
  393.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  394.     _fCPPart->CanvasUpdated(ev,canvas);
  395. }
  396.  
  397. SOM_Scope void  SOMLINK SomethingGood_ProcessMapHighlightChanged(SomethingGood_ProcessMap *somSelf, 
  398.         Environment *ev,
  399.         ODFacet* facet)
  400. {
  401.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  402.     _fCPPart->HighlightChanged(ev,facet);
  403. }
  404.  
  405. SOM_Scope ODULong  SOMLINK SomethingGood_ProcessMapGetPrintResolution(SomethingGood_ProcessMap *somSelf, 
  406.         Environment *ev,
  407.         ODFrame* frame)
  408. {
  409.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  410.     return (_fCPPart->GetPrintResolution(ev,frame));
  411. }
  412.  
  413. SOM_Scope ODLinkSource*  SOMLINK SomethingGood_ProcessMapCreateLink(SomethingGood_ProcessMap *somSelf, 
  414.         Environment *ev,
  415.         ODByteArray* data)
  416. {
  417.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  418.     return (_fCPPart->CreateLink(ev,data));
  419. }
  420.  
  421. SOM_Scope void  SOMLINK SomethingGood_ProcessMapLinkUpdated(SomethingGood_ProcessMap *somSelf, 
  422.         Environment *ev,
  423.         ODLink* updatedLink,
  424.         ODChangeID id)
  425. {
  426.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  427.     _fCPPart->LinkUpdated(ev,updatedLink,id);
  428. }
  429.  
  430. SOM_Scope void  SOMLINK SomethingGood_ProcessMapRevealLink(SomethingGood_ProcessMap *somSelf, 
  431.         Environment *ev,
  432.         ODLinkSource* linkSource)
  433. {
  434.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  435.     _fCPPart->RevealLink(ev,linkSource);
  436. }
  437.  
  438. SOM_Scope void  SOMLINK SomethingGood_ProcessMapEmbeddedFrameChanged(SomethingGood_ProcessMap *somSelf, 
  439.         Environment *ev,
  440.         ODFrame* frame,
  441.         ODChangeID change)
  442. {
  443.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  444.     _fCPPart->EmbeddedFrameChanged(ev,frame,change);
  445. }
  446.  
  447. SOM_Scope void  SOMLINK SomethingGood_ProcessMapLinkStatusChanged(SomethingGood_ProcessMap *somSelf, 
  448.         Environment *ev,
  449.         ODFrame* frame)
  450. {
  451.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  452.     _fCPPart->LinkStatusChanged(ev,frame);
  453. }
  454.  
  455. SOM_Scope ODBoolean  SOMLINK SomethingGood_ProcessMapBeginRelinquishFocus(SomethingGood_ProcessMap *somSelf, 
  456.         Environment *ev,
  457.         ODTypeToken focus,
  458.         ODFrame* ownerFrame,
  459.         ODFrame* proposedFrame)
  460. {
  461.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  462.     return (_fCPPart->BeginRelinquishFocus(ev,focus,ownerFrame,proposedFrame));
  463. }
  464.  
  465. SOM_Scope void  SOMLINK SomethingGood_ProcessMapCommitRelinquishFocus(SomethingGood_ProcessMap *somSelf, 
  466.         Environment *ev,
  467.         ODTypeToken focus,
  468.         ODFrame* ownerFrame,
  469.         ODFrame* proposedFrame)
  470. {
  471.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  472.     _fCPPart->CommitRelinquishFocus(ev,focus,ownerFrame,proposedFrame);
  473. }
  474.  
  475. SOM_Scope void  SOMLINK SomethingGood_ProcessMapAbortRelinquishFocus(SomethingGood_ProcessMap *somSelf, 
  476.         Environment *ev,
  477.         ODTypeToken focus,
  478.         ODFrame* ownerFrame,
  479.         ODFrame* proposedFrame)
  480. {
  481.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  482.     _fCPPart->AbortRelinquishFocus(ev,focus,ownerFrame,proposedFrame);
  483. }
  484.  
  485. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFocusAcquired(SomethingGood_ProcessMap *somSelf, 
  486.         Environment *ev,
  487.         ODTypeToken focus,
  488.         ODFrame* ownerFrame)
  489. {
  490.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  491.     _fCPPart->FocusAcquired(ev,focus,ownerFrame);
  492. }
  493.  
  494. SOM_Scope void  SOMLINK SomethingGood_ProcessMapFocusLost(SomethingGood_ProcessMap *somSelf, 
  495.         Environment *ev,
  496.         ODTypeToken focus,
  497.         ODFrame* ownerFrame)
  498. {
  499.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  500.     _fCPPart->FocusLost(ev,focus,ownerFrame);
  501. }
  502.  
  503. SOM_Scope ODBoolean  SOMLINK SomethingGood_ProcessMapHasExtension(SomethingGood_ProcessMap *somSelf, 
  504.         Environment *ev,
  505.         ODType extensionName)
  506. {
  507.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  508.     return (_fCPPart->HasExtension(ev,extensionName));
  509. }
  510.  
  511. SOM_Scope ODExtension*  SOMLINK SomethingGood_ProcessMapGetExtension(SomethingGood_ProcessMap *somSelf, 
  512.         Environment *ev,
  513.         ODType extensionName)
  514. {
  515.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  516.     return (_fCPPart->GetExtension(ev,extensionName));
  517. }
  518.  
  519. SOM_Scope void  SOMLINK SomethingGood_ProcessMapReleaseExtension(SomethingGood_ProcessMap *somSelf, 
  520.         Environment *ev,
  521.         ODExtension* extension)
  522. {
  523.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  524.     _fCPPart->ReleaseExtension(ev,extension);
  525. }
  526.  
  527. SOM_Scope ODSize  SOMLINK SomethingGood_ProcessMapPurge(SomethingGood_ProcessMap *somSelf, 
  528.         Environment *ev,
  529.         ODSize size)
  530. {
  531.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  532.     if  (_fCPPart)
  533.         return (_fCPPart->Purge(ev,size));
  534.     else
  535.         return (SomethingGood_ProcessMap_parent_ODPart_Purge(somSelf,ev,size));
  536. }
  537.  
  538. SOM_Scope void  SOMLINK SomethingGood_ProcessMapIncrementRefCount(SomethingGood_ProcessMap *somSelf, 
  539.         Environment *ev)
  540. {
  541.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  542.     SomethingGood_ProcessMap_parent_ODPart_IncrementRefCount(somSelf,ev);
  543.  
  544.     _fCPPart->IncrementRefCount(ev);
  545. }
  546.  
  547. SOM_Scope void  SOMLINK SomethingGood_ProcessMapRelease(SomethingGood_ProcessMap *somSelf, 
  548.         Environment *ev)
  549. {
  550.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  551.     SomethingGood_ProcessMap_parent_ODPart_Release(somSelf,ev);
  552.  
  553.     if (_fCPPart)
  554.         _fCPPart->Release(ev);
  555.         
  556.     if (somSelf->GetRefCount(ev) == 0)
  557.         somSelf->GetStorageUnit(ev)->GetDraft(ev)->ReleasePart(ev, somSelf);
  558. }
  559.  
  560. SOM_Scope void  SOMLINK SomethingGood_ProcessMapReleaseAll(SomethingGood_ProcessMap *somSelf, 
  561.         Environment *ev)
  562. {
  563.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  564.     _fCPPart->ReleaseAll(ev);
  565. }
  566.  
  567. SOM_Scope void  SOMLINK SomethingGood_ProcessMapExternalize(SomethingGood_ProcessMap *somSelf, 
  568.         Environment *ev)
  569. {
  570.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  571.     SomethingGood_ProcessMap_parent_ODPart_Externalize(somSelf,ev);
  572.  
  573.     _fCPPart->Externalize(ev);
  574. }
  575.  
  576. SOM_Scope void  SOMLINK SomethingGood_ProcessMapCloneInto(SomethingGood_ProcessMap *somSelf, 
  577.         Environment *ev,
  578.         ODDraftKey key,
  579.         ODStorageUnit* storageUnit,
  580.         ODFrame* initiatingFrame)
  581. {
  582.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  583.     SomethingGood_ProcessMap_parent_ODPart_CloneInto(somSelf,ev,key,storageUnit,initiatingFrame);
  584.  
  585.     _fCPPart->CloneInto(ev,key,storageUnit,initiatingFrame);
  586. }
  587.  
  588. SOM_Scope void  SOMLINK SomethingGood_ProcessMapExternalizeKinds(SomethingGood_ProcessMap *somSelf, 
  589.         Environment *ev,
  590.         ODTypeList* kindset)
  591. {
  592.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  593.     _fCPPart->ExternalizeKinds(ev,kindset);
  594. }
  595.  
  596. SOM_Scope void  SOMLINK SomethingGood_ProcessMapChangeKind(SomethingGood_ProcessMap *somSelf, 
  597.         Environment *ev,
  598.         ODType kind)
  599. {
  600.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  601.     _fCPPart->ChangeKind(ev,kind);
  602. }
  603.  
  604. SOM_Scope ODBoolean  SOMLINK SomethingGood_ProcessMapHandleEvent(SomethingGood_ProcessMap *somSelf, 
  605.         Environment *ev,
  606.         ODEventData* event,
  607.         ODFrame* frame,
  608.         ODFacet* facet,
  609.         ODEventInfo* eventInfo)
  610. {
  611.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  612.     return (_fCPPart->HandleEvent(ev,event,frame,facet,eventInfo));
  613. }
  614.  
  615. SOM_Scope void  SOMLINK SomethingGood_ProcessMapAdjustMenus(SomethingGood_ProcessMap *somSelf, 
  616.         Environment *ev,
  617.         ODFrame* frame)
  618. {
  619.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  620.     _fCPPart->AdjustMenus(ev,frame);
  621. }
  622.  
  623. SOM_Scope void  SOMLINK SomethingGood_ProcessMapUndoAction(SomethingGood_ProcessMap *somSelf, 
  624.         Environment *ev,
  625.         ODActionData* actionState)
  626. {
  627.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  628.     _fCPPart->UndoAction(ev,actionState);
  629. }
  630.  
  631. SOM_Scope void  SOMLINK SomethingGood_ProcessMapRedoAction(SomethingGood_ProcessMap *somSelf, 
  632.         Environment *ev,
  633.         ODActionData* actionState)
  634. {
  635.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  636.     _fCPPart->RedoAction(ev,actionState);
  637. }
  638.  
  639. SOM_Scope void  SOMLINK SomethingGood_ProcessMapDisposeActionState(SomethingGood_ProcessMap *somSelf, 
  640.         Environment *ev,
  641.         ODActionData* actionState,
  642.         ODDoneState doneState)
  643. {
  644.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  645.     _fCPPart->DisposeActionState(ev,actionState,doneState);
  646. }
  647.  
  648. SOM_Scope void  SOMLINK SomethingGood_ProcessMapWriteActionState(SomethingGood_ProcessMap *somSelf, 
  649.         Environment *ev,
  650.         ODActionData* actionState,
  651.         ODStorageUnitView* storageUnitView)
  652. {
  653.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  654.     _fCPPart->WriteActionState(ev,actionState,storageUnitView);
  655. }
  656.  
  657. SOM_Scope ODActionData  SOMLINK SomethingGood_ProcessMapReadActionState(SomethingGood_ProcessMap *somSelf, 
  658.         Environment *ev,
  659.         ODStorageUnitView* storageUnitView)
  660. {
  661.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  662.     return (_fCPPart->ReadActionState(ev,storageUnitView));
  663. }
  664.  
  665. SOM_Scope void  SOMLINK SomethingGood_ProcessMapInitPart(SomethingGood_ProcessMap *somSelf,
  666.         Environment *ev,
  667.         ODStorageUnit* storageUnit, ODPart* partWrapper)
  668. {
  669.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  670.     if (somSelf->IsInitialized(ev))
  671.         return;
  672.     
  673.     SomethingGood_ProcessMap_parent_ODPart_InitPart(somSelf,ev,storageUnit,partWrapper);
  674.     
  675.     _fCPPart = new CPProcessMap; // $$$$$ Check to see if it is nil
  676.     _fCPPart->InitPart(ev,storageUnit, (ODPart*)partWrapper);
  677. }
  678.  
  679. SOM_Scope void  SOMLINK SomethingGood_ProcessMapInitPartFromStorage(SomethingGood_ProcessMap *somSelf, 
  680.         Environment *ev,
  681.         ODStorageUnit* storageUnit, ODPart* partWrapper)
  682. {
  683.     SomethingGood_ProcessMapData *somThis = SomethingGood_ProcessMapGetData(somSelf);
  684.     if (somSelf->IsInitialized(ev))
  685.         return;
  686.  
  687.     SomethingGood_ProcessMap_parent_ODPart_InitPartFromStorage(somSelf,ev,storageUnit,partWrapper);
  688.     
  689.     _fCPPart = new CPProcessMap; // $$$$$ Check to see if it is nil
  690.     _fCPPart->InitPartFromStorage(ev,storageUnit, (ODPart*)partWrapper);
  691. }
  692.  
  693.