home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Sample Code / CALib & You… / Source / CALib / Implementation / ProxyPart / CAProxyPartStubs.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-07  |  20.0 KB  |  718 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        CAProxyPartStubs.cpp
  3.  
  4.     Contains:    ODPart methods unimplemented by CAProxyPart. ODPart is purely
  5.                 abstract, so subclasses must provide implementations of all
  6.                 methods, even if they're just stubs. The stubs aren't all
  7.                 completely empty, but the non-empty ones return the appropriate
  8.                 "Duh?" response that tells the caller that the action was
  9.                 not handled.
  10.  
  11.     Written by:    PartMaker 
  12.  
  13.     Change History (most recent first):
  14.  
  15.          <8>      4/8/95    RB        Moved TProxyPart::AdjustBorderShape() to
  16.                                      CAProxyPart.cp
  17.          <7>      4/7/95    SJF        CreateLink returns an ODLinkSource* now.
  18.                                     See revision <11> comments in CAProxyPart.h
  19.          <5>     3/15/95    SJF        Split out Drag & Drop and Extension support
  20.                                     methods
  21.          <3>     2/13/95    SJF        Interim checkin to update project database
  22.          <0>    11/16/94    SJF        first written
  23.          
  24.     To Do:
  25. */
  26.  
  27. #define DEBUGSTR_API(A)        /* */
  28. #define DEBUGSTR_ASSERT(A)    /* */
  29.  
  30.  
  31. #ifndef _EXCEPT_
  32. #include <Except.h>
  33. #endif
  34.  
  35. #ifndef _CAPROXYPART_
  36. #include "CAProxyPart.h"
  37. #endif
  38.  
  39. #ifndef SOM_ODWindow_xh
  40. #include <Window.xh>
  41. #endif
  42.  
  43. #include <PlfmDef.h>
  44.  
  45.  
  46. #define DEBUGSTR_API(A)        /* */
  47. #define DEBUGSTR_ASSERT(A)    /* */
  48.  
  49. //#ifdef applec
  50. #pragma segment CAProxyPart
  51. //#endif
  52.  
  53.  
  54. //-------------------------------------------------------------------------
  55. // Part Extension
  56. //-------------------------------------------------------------------------
  57.  
  58.  
  59.  
  60. void CAProxyPart::MouseEnter(Environment* ev, ODFacet* facet, ODPoint* where)
  61.  
  62. // Called when the mouse is moved over a display frame of this
  63. // part (mouse button up).
  64. //
  65. // Called by the Dispatcher object.
  66.  
  67. {
  68.     DEBUGSTR_API("\pCAProxyPart::MouseEnter");
  69. ODUnused(ev);
  70. ODUnused(facet);
  71. ODUnused(where);
  72.  
  73.     DEBUGSTR_ASSERT("\pCAProxyPart::MouseEnter - Shouldn't the CA get this event???");
  74. }
  75.  
  76.  
  77.  
  78. void CAProxyPart::MouseWithin(Environment* ev, ODFacet* facet, ODPoint* where)
  79.  
  80. // Called when the mouse is moved within a display frame of this
  81. // part (mouse button up).
  82. //
  83. // Called by the Dispatcher object.
  84.  
  85. {
  86.     DEBUGSTR_API("\pCAProxyPart::MouseWithin");
  87. ODUnused(ev);
  88. ODUnused(facet);
  89. ODUnused(where);
  90.  
  91.     DEBUGSTR_ASSERT("\pCAProxyPart::MouseWithin - Shouldn't the CA get this event???");
  92. }
  93.  
  94. void CAProxyPart::MouseLeave(Environment* ev, ODFacet* facet)
  95.  
  96. // Called when the mouse is moved out of a display frame of this
  97. // part (mouse button up).
  98. //
  99. // Called by the Dispatcher object.
  100.  
  101. {
  102.     DEBUGSTR_API("\pCAProxyPart::MouseLeave");
  103. ODUnused(ev);
  104. ODUnused(facet);
  105.  
  106.     DEBUGSTR_ASSERT("\pCAProxyPart::MouseLeave - Shouldn't the CA get this event???");
  107. }
  108.  
  109.  
  110.  
  111. //-------------------------------------------------------------------------
  112. // Binding protocol
  113. //-------------------------------------------------------------------------
  114.  
  115.  
  116.  
  117. void CAProxyPart::ChangeKind(Environment* ev, ODType kind)
  118.  
  119. // Asks a part to change into a new kind of content,
  120. // i.e. ask an ASCII Text part to change into a Styled Text part.
  121. //
  122. // The part should begin using the given kind as its primary kind
  123. // if it is supported. The first type of the first value in the
  124. // content property of the part's storage unit should become the
  125. // given kind. Before calling this method, you must ensure that the
  126. // part supports the specified kind. After this method is executed
  127. // successfully, the part's primary kind is the one that was
  128. // specified in the parameter, and the first type of the first
  129. // value in the content property of the part's storage unit is of
  130. // the specified type. When it reads in data, the part uses this
  131. // representation.
  132.  
  133. {
  134.     DEBUGSTR_API("\pCAProxyPart::ChangeKind");
  135. ODUnused(ev);
  136. ODUnused(kind);
  137. }
  138.  
  139.  
  140. //-------------------------------------------------------------------------
  141. // Embedding protocol
  142. //-------------------------------------------------------------------------
  143.  
  144.  
  145. void CAProxyPart::ContainingPartPropertiesUpdated(Environment* ev, ODFrame* displayFrame,
  146.                                                 ODStorageUnit* propertyUnit)
  147.  
  148. // Used by ContainingPart to inform the contained part of
  149. // changes to the content properties of that object within
  150. // the containing part’s content model that encapsulates the
  151. // embedded frame.
  152. //
  153. // This method inspects “propertyUnit” for properties that this
  154. // part can understand. Where applicable, it incorporate those
  155. // properties into part's content data. It ignores inapplicable
  156. // properties, without signalling an error.
  157.  
  158. {
  159.     DEBUGSTR_API("\pCAProxyPart::ContainingPartPropertiesUpdated");
  160. ODUnused(ev);
  161. ODUnused(displayFrame);
  162. ODUnused(propertyUnit);
  163. }
  164.  
  165.  
  166.  
  167. ODStorageUnit* CAProxyPart::AcquireContainingPartProperties(Environment *ev,
  168.         ODFrame* frame)
  169. {
  170.     DEBUGSTR_API("\pCAProxyPart::GetContainingPartProperties");
  171.     ODUnused(ev);
  172.     ODUnused(frame);
  173.  
  174.     return (kODNULL);
  175.     
  176. }
  177.  
  178.  
  179.  
  180. ODBoolean CAProxyPart::RevealFrame(Environment* ev, ODFrame* embeddedFrame, ODShape* revealShape)
  181.  
  182. // Asks a part to make an embedded frame visible.
  183. //
  184. // Called by an embedded part.
  185. //
  186. // This method scrolls one of this part's display frame's to make
  187. // the embedded frame visible therein. If this part has no visible
  188. // frames, it asks a containing part to reveal one of them. If no
  189. // display frames for the part currently exist, or if this part's
  190. // containing frame can't reveal the display frame, it opens a frame
  191. // in a new window.
  192.  
  193. {
  194.     DEBUGSTR_API("\pCAProxyPart::RevealFrame");
  195. ODUnused(ev);
  196. ODUnused(embeddedFrame);
  197. ODUnused(revealShape);
  198.  
  199.     DEBUGSTR_ASSERT("\pCAProxyPart::RevealFrame -- huh? Who shows the embedded frames???");
  200.  
  201.     return kODFalse;
  202. }
  203.  
  204.  
  205.  
  206. void CAProxyPart::EmbeddedFrameSpec(Environment* ev, ODFrame* embeddedFrame, ODObjectSpec* spec)
  207.  
  208. // Creates an object specifier for the embedded frame.
  209. //
  210. // If this part is itself embedded, this method asks its containing
  211. // part for the specifier for the part's display frame, then
  212. // concatenates the specifier for that embedded frame.
  213.  
  214. {
  215.     DEBUGSTR_API("\pCAProxyPart::EmbeddedFrameSpec");
  216. ODUnused(ev);
  217. ODUnused(embeddedFrame);
  218. ODUnused(spec);
  219.  
  220.     DEBUGSTR_ASSERT("\pCAProxyPart::EmbeddedFrameSpec - Who's trying to embed me?");
  221. }
  222.  
  223.  
  224.  
  225.  
  226. //-------------------------------------------------------------------------
  227. // Frame protocol
  228. //-------------------------------------------------------------------------
  229.  
  230.  
  231.  
  232. void CAProxyPart::AttachSourceFrame(Environment* ev, ODFrame* frame, ODFrame* sourceFrame)
  233.  
  234. // Called by the object that requested creation of a frame,
  235. // immediately after the creation of the frame.
  236. //
  237. // Calling this method associates a “source frame” with a display
  238. // frame of a part. This tells the part to keep two or more of its
  239. // display frames synchronized.
  240. //
  241. // A part will receive this call just after a display frame has
  242. // been added. Attaching a source frame should cause the display
  243. // frame to look identical to it. If presentations differ, it
  244. // causes the display frame to be equivalent to it. This causes
  245. // duplication of the embedded frames, and ensures that the view
  246. // in one frame is updated when content in the other is changed.
  247. // Before calling this method, you must ensure that both frame
  248. // and sourceFrame are display frames of the part.
  249. //
  250. // The part being displayed should take whatever action necessary
  251. // to synchronize the frames. As a minimum, if the two frames are
  252. // the same kind of presentation, it should duplicate embedded
  253. // frames in one frame into the other. 
  254.  
  255. {
  256.     DEBUGSTR_API("\pCAProxyPart::AttachSourceFrame");
  257. ODUnused(ev);
  258. ODUnused(frame);
  259. ODUnused(sourceFrame);
  260. }
  261.  
  262.  
  263.  
  264. void CAProxyPart::ViewTypeChanged(Environment* ev, ODFrame* frame)
  265.  
  266. // Notifies the part that the viewType of one of its
  267. // frames has been changed.
  268. //
  269. // Parts must support all standard view types.
  270. // And they are ... ???
  271.  
  272. {
  273.     DEBUGSTR_API("\pCAProxyPart::ViewTypeChanged");
  274. ODUnused(ev);
  275. ODUnused(frame);
  276. }
  277.  
  278.  
  279.  
  280. void CAProxyPart::PresentationChanged(Environment* ev, ODFrame* frame)
  281.  
  282. // Notifies the part that the presentation kind of one
  283. // of its frames has been changed.
  284. //
  285. // Called by Frame::ChangeViewType().
  286. //
  287. // The part should examine the new view type via
  288. // frame->GetViewType(). If the part does not support that kind
  289. // of view type, it should correct the frame's viewType using
  290. // frame->SetViewType(). Note that parts MUST support the
  291. // standard set of view types (se HI spec). The part should then
  292. // adjust its display in the display frame to be of the new view
  293. // type.
  294.  
  295. {
  296.     DEBUGSTR_API("\pCAProxyPart::PresentationChanged");
  297. ODUnused(ev);
  298. ODUnused(frame);
  299. }
  300.  
  301.  
  302.  
  303. void CAProxyPart::SequenceChanged(Environment* ev, ODFrame* frame)
  304.  
  305. // Informs the part that the sequencing of a group of its
  306. // display frames has been changed.
  307. //
  308. // Called by containing part.
  309. //
  310. // The containing part of frame should call this when adding a new
  311. // frame to the group or re-ordering the frames in the group. A
  312. // single frame of the group is passed as an argument to indicate
  313. // which group of which containing frame has been changed.
  314.  
  315. {
  316.     DEBUGSTR_API("\pCAProxyPart::SequenceChanged");
  317. ODUnused(ev);
  318. ODUnused(frame);
  319. }
  320.  
  321.  
  322.  
  323. void CAProxyPart::WritePartInfo(Environment* ev, ODInfoType partInfo,
  324.                                ODStorageUnitView* storageUnitView)
  325.  
  326. // Externalizes the frame's partInfo data onto the frame's
  327. // storage unit.
  328. //
  329. // Called by the frame object.
  330. //
  331. // Duh???
  332.  
  333. {
  334.     DEBUGSTR_API("\pCAProxyPart::WritePartInfo");
  335. ODUnused(ev);
  336. ODUnused(partInfo);
  337. ODUnused(storageUnitView);
  338. }
  339.  
  340.  
  341.  
  342. ODInfoType CAProxyPart::ReadPartInfo(Environment* ev, ODFrame* frame, ODStorageUnitView* storageUnitView)
  343.  
  344. // Internalizes the partInfo for a display frame of this part.
  345. //
  346. //
  347. // Called by the frame object.
  348. //
  349. // The data for the partInfo is stored in a value in the frame's
  350. // storage unit, specified by the suView parameter. It gets the
  351. // data from out of the value, and places it in a block of memory.
  352. // It then returns the memory block to the frame for it to hold.
  353.  
  354. {
  355.     DEBUGSTR_API("\pCAProxyPart::ReadPartInfo");
  356. ODUnused(ev);
  357. ODUnused(frame);
  358. ODUnused(storageUnitView);
  359.     return kODNULL;
  360. }
  361.  
  362. void CAProxyPart::ClonePartInfo(Environment* ev,
  363.         ODDraftKey key,
  364.         ODInfoType partInfo,
  365.         ODStorageUnitView* storageUnitView,
  366.         ODFrame* scope)
  367.  
  368. // Internalizes the partInfo for a display frame of this part.
  369. //
  370. //
  371. // Called by the frame object.
  372. //
  373. // The data for the partInfo is stored in a value in the frame's
  374. // storage unit, specified by the suView parameter. It gets the
  375. // data from out of the value, and places it in a block of memory.
  376. // It then returns the memory block to the frame for it to hold.
  377.  
  378. {
  379.     DEBUGSTR_API("\pCAProxyPart::ReadPartInfo");
  380. ODUnused(ev);
  381. ODUnused(key);
  382. ODUnused(partInfo);
  383. ODUnused(storageUnitView);
  384. ODUnused(scope);
  385. }
  386.  
  387.  
  388. ODFrame* CAProxyPart::RequestEmbeddedFrame(Environment* ev, ODFrame* containingFrame,
  389.                                            ODFrame* baseFrame,
  390.                                            ODShape* frameShape,
  391.                                            ODPart* embedPart,
  392.                                            ODTypeToken viewType,
  393.                                            ODTypeToken presentation,
  394.                                            ODBoolean isOverlaid)
  395.  
  396. // Asks the part to create a new frame and embed a part in it.
  397. //
  398. // This is only requested by embedded parts which want additional
  399. // frames in which to display in the same containing part.
  400. //
  401. // If this part is a containing part, it should ask the draft to
  402. // create a new frame, and embed the frame in its content.
  403. // “baseFrame” is another display frame of the same part, already
  404. // embedded in the same containing part. The frameShape parameter
  405. // is relative to the frame coordinate system of the baseFrame.
  406. // The containing part decides if it can fulfill the requests for
  407. // frameShape. - if not, it can create the frame where it wants
  408. // and with the shape it chooses. The containing part should assign
  409. // the new frame to the same frameGroup as the baseFrame. If
  410. // isOverlaid is true, the new frame should float above the part's
  411. // content, and should not have to negotiate for space with the part.
  412. // The viewType and presentation are just passed through to
  413. // Draft::CreateFrame().
  414. //
  415. // Note that RequestEmbeddedFrame should only be called by an embedded
  416. // part on its containing part in order to get a sibling frame.  That
  417. // is why this call takes a baseFrame parameter.  The baseFrame must
  418. // already be embedded inside the part receiving the
  419. // RequestEmbeddedFrame message.
  420.  
  421. {
  422.     DEBUGSTR_API("\pCAProxyPart::RequestEmbeddedFrame");
  423. ODUnused(ev);
  424. ODUnused(containingFrame);
  425. ODUnused(baseFrame);
  426. ODUnused(frameShape);
  427. ODUnused(embedPart);
  428. ODUnused(viewType);
  429. ODUnused(presentation);
  430. ODUnused(isOverlaid);
  431.  
  432.     DEBUGSTR_ASSERT("\pCAProxyPart::RequestEmbeddedFrame -- Need to get a frame from the CA");
  433.     return kODNULL;
  434. }
  435.  
  436.  
  437.  
  438.  
  439.  
  440. void CAProxyPart::CanvasChanged(Environment* ev, ODFacet* facet)
  441.  
  442. // Notifies the part that one of its facets has been moved to
  443. // image on a different canvas.
  444. //
  445. // Called by the facet object.
  446. //
  447. // The part must update any internal state necessary for
  448. // compliance with this method.
  449.  
  450. {
  451.     DEBUGSTR_API("\pCAProxyPart::CanvasChanged");
  452. ODUnused(ev);
  453. ODUnused(facet);
  454. }
  455.  
  456.  
  457.  
  458. void CAProxyPart::GeometryChanged(Environment* ev, ODFacet* facet,
  459.                                                    ODBoolean clipShapeChanged,
  460.                                                    ODBoolean externalTransformChanged)
  461.  
  462. // Called by a facet of the part to inform it that the clipping
  463. // shape and/or external transform of that facet has changed.
  464. //
  465. // Called by the facet object.
  466. //
  467. // The part should use the new clip shape for display from now
  468. // on. Parts that display only in response to update events don't
  469. // need to do anything special, provided they check the clip
  470. // shape each time they draw. Parts that display asynchronously
  471. // (like clocks, movies, etc.) must notice their new clipping and
  472. // limit their display accordingly.
  473.  
  474. {
  475.     DEBUGSTR_API("\pCAProxyPart::GeometryChanged");
  476. ODUnused(ev);
  477. ODUnused(facet);
  478. ODUnused(clipShapeChanged);
  479. ODUnused(externalTransformChanged);
  480. }
  481.  
  482.  
  483.  
  484. ODULong CAProxyPart::GetPrintResolution(Environment* ev, ODFrame* frame)
  485.  
  486. // Returns the minimum desired resolution in dots per inch
  487. // that this part requires for printing the contents of the
  488. // specified frame.
  489. //
  490. // Called by part or the application and is used in performing
  491. // printing.
  492.  
  493. {
  494.     DEBUGSTR_API("\pCAProxyPart::GetPrintResolution");
  495. ODUnused(ev);
  496. ODUnused(frame);
  497.     return 0;
  498. }
  499.  
  500.  
  501.  
  502. //-------------------------------------------------------------------------
  503. // From Linking protocol
  504. //-------------------------------------------------------------------------
  505.  
  506.  
  507.  
  508. ODLinkSource* CAProxyPart::CreateLink(Environment* ev, ODByteArray* data)
  509.  
  510. // Creates a new link object.
  511. //
  512. // If a link already exists to the content identified by the data
  513. // and size arguments, this method returns the link object;
  514. // otherwise, it creates a new link object, puts in the initial
  515. // data and returns it to the caller.
  516. //
  517. // This method identifies the content to be linked (by resolving
  518. // the object specifier saved in the data parameter, or by some
  519. // other means). It then creates a link object to represent the
  520. // content data. The part must maintain information about what
  521. // portion of its contents have been linked to it, so that it may
  522. // notify link clients when that data has been changed. The link
  523. // created is returned to the caller. Before calling this method,
  524. // you must ensure that the data identifies some portion of this
  525. // part's contents. After calling this method successfully, this
  526. // part maintains a link to the identified content.
  527.  
  528. {
  529.     DEBUGSTR_API("\pCAProxyPart::CreateLink");
  530. ODUnused(ev);
  531. ODUnused(data);
  532.     return kODNULL;
  533. }
  534.  
  535.  
  536.  
  537. void CAProxyPart::LinkUpdated(Environment* ev, ODLink* updatedLink, ODUpdateID id)
  538.  
  539. // Retrieves the data from the link and incorporates it into
  540. // this part at the link's destination, thereby replacing any
  541. // previous content of the link.
  542.  
  543. {
  544.     DEBUGSTR_API("\pCAProxyPart::LinkUpdated");
  545. ODUnused(ev);
  546. ODUnused(updatedLink);
  547. ODUnused(id);
  548. }
  549.  
  550.  
  551.  
  552. void CAProxyPart::RevealLink(Environment* ev, ODLinkSource* linkSource)
  553.  
  554. // Reveals data that was previously linked in a window, making it
  555. // available for viewing in a display frame.
  556. //
  557. // Called by ODLinkSource objects.  Should not be called by parts.
  558. // In some display frame for this part, this method selects the
  559. // content linked by the linkSource argument, and scrolls it into
  560. // view. That display frame is made the active frame. If no display
  561. // frames for the part currently exist, or if this part's containing
  562. // frame can't reveal the display frame, it opens a frame in a new
  563. // window.
  564.  
  565. {
  566.     DEBUGSTR_API("\pCAProxyPart::RevealLink");
  567. ODUnused(ev);
  568. ODUnused(linkSource);
  569. }
  570.  
  571.  
  572.  
  573. void CAProxyPart::EmbeddedFrameUpdated(Environment* ev, ODFrame* frame, ODUpdateID change)
  574.  
  575. // Notifies the containing part that the content displayed
  576. // in the argument “embedded frame” has changed.
  577. //
  578. // Called by an frame object belonging to an embedded part when
  579. // the frame object's ContentChanged method is called.
  580. //
  581. // The part should call the ContentChanged method of any of its
  582. // frames that would be interested in this information. This
  583. // method should only be called by frame objects. The part is
  584. // not responsible for passing this notification on to its
  585. // containing part. The part may ignore this notification if it
  586. // is uninterested in changes to embedded content. A part should
  587. // wait a certain length of time (a second perhaps) before
  588. // updating its display so that subsequent calls to
  589. // EmbeddedFrameChanged with the same ODChangeID don’t result
  590. // in multiple updates for the same change.After executing this
  591. // method successfully, the ContentChanged method of any of the
  592. // part's frames may have been called and the part may have
  593. // taken action to update its display.
  594.  
  595. {
  596.     DEBUGSTR_API("\pCAProxyPart::EmbeddedFrameChanged");
  597. ODUnused(ev);
  598. ODUnused(change);
  599. ODUnused(frame);
  600. }
  601.  
  602.  
  603.  
  604. void CAProxyPart::LinkStatusChanged(Environment* ev, ODFrame* frame)
  605.  
  606. // Allows the part to set the link status of any embedded frames.
  607. //
  608. // Called by a part's frame when that frame's ChangeLinkStatus
  609. // method is called.
  610. //
  611. // Frames notify their owner parts that their link status has
  612. // changed whenever ChangeLinkStatus is called. After this
  613. // method executes successfully, the part will call
  614. // ChangeLinkStatus on any embedded frames that are involved
  615. // in the link in question.
  616.  
  617. {
  618.     DEBUGSTR_API("\pCAProxyPart::LinkStatusChanged");
  619. ODUnused(ev);
  620. ODUnused(frame);
  621. }
  622.  
  623.  
  624.  
  625. //-------------------------------------------------------------------------
  626. // Undo protocol
  627. //-------------------------------------------------------------------------
  628.  
  629.  
  630.  
  631. void CAProxyPart::UndoAction(Environment* ev, ODActionData* actionState)
  632.  
  633. // Tells the part to undo the action that is described by actionState.
  634. //
  635. // Called by the undo object.
  636.  
  637. {
  638.     DEBUGSTR_API("\pCAProxyPart::UndoAction");
  639. ODUnused(ev);
  640. ODUnused(actionState);
  641. }
  642.  
  643.  
  644.  
  645. void CAProxyPart::RedoAction(Environment* ev, ODActionData* actionState)
  646.  
  647. // Tells the part to Redo the action described by actionState.
  648. //
  649. // Called by the undo object.
  650.  
  651. {
  652.     DEBUGSTR_API("\pCAProxyPart::RedoAction");
  653. ODUnused(ev);
  654. ODUnused(actionState);
  655. }
  656.  
  657.  
  658.  
  659. void CAProxyPart::DisposeActionState(Environment* ev, ODActionData* actionState,
  660.                                    ODDoneState doneState)
  661.  
  662. // Tells the part to dispose of the action data.
  663. //
  664. // Before calling this method, you must ensure that “actionState”
  665. // is an action data block previously logged by this part. After
  666. // calling this method successfully, memory for “actionState” has
  667. // been reclaimed. It is no longer usable to perform undo operations.
  668.  
  669. {
  670.     DEBUGSTR_API("\pCAProxyPart::DisposeActionState");
  671. ODUnused(ev);
  672. ODUnused(actionState);
  673. ODUnused(doneState);
  674. }
  675.  
  676.  
  677.  
  678. void CAProxyPart::WriteActionState(Environment* ev, ODActionData* actionState,
  679.                                  ODStorageUnitView* storageUnitView)
  680.  
  681. // Writes out the actionState data onto a StorageUnitView,
  682. // and externalizes the undoAction data to the storage unit.
  683. //
  684. // Called by the undo object.
  685.  
  686. {
  687.     DEBUGSTR_API("\pCAProxyPart::WriteActionState");
  688. ODUnused(ev);
  689. ODUnused(actionState);
  690. ODUnused(storageUnitView);
  691. }
  692.  
  693.  
  694.  
  695. ODActionData CAProxyPart::ReadActionState(Environment* ev, ODStorageUnitView* storageUnitView)
  696.  
  697. // Internalizes the undoAction data from the storage unit.
  698. //
  699. // This method reads the actionState data from a view on a
  700. // StorageUnit. It then allocates the memory and passes ownership
  701. // of the storage to the caller.
  702.  
  703. {
  704.     ODActionData    actionData;
  705.     DEBUGSTR_API("\pCAProxyPart::ReadActionState");
  706. ODUnused(ev);
  707. ODUnused(storageUnitView);
  708.     return (actionData);
  709. }
  710.  
  711. //-------------------------------------------------------------------------
  712. //-------------------------------------------------------------------------
  713. //-------------------------------------------------------------------------
  714.  
  715.  
  716.  
  717.  
  718.