home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osp1.exe / src / linkcntr / iodlinkc.idl < prev    next >
Text File  |  1997-04-02  |  5KB  |  200 lines

  1. //#====START_GENERATED_PROLOG======================================
  2. //#
  3. //#
  4. //#   COMPONENT_NAME: odlinkcntr
  5. //#
  6. //#   CLASSES: none
  7. //#
  8. //#   ORIGINS: 82,27
  9. //#
  10. //#
  11. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  12. //#   All Rights Reserved
  13. //#   Licensed Materials - Property of IBM
  14. //#   US Government Users Restricted Rights - Use, duplication or
  15. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  16. //#       
  17. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  18. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  19. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  20. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  21. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  22. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  23. //#   OR PERFORMANCE OF THIS SOFTWARE.
  24. //#
  25. //#====END_GENERATED_PROLOG========================================
  26. //#
  27. /* @(#) 1.16 com/src/samples/linkcntr/iodlinkc.idl, odlinkpart, od96os2, odos29712d 3/18/97 10:47:13 [3/21/97 17:45:25] */
  28.  
  29. #ifndef _LinkContainer
  30. #define _LinkContainer
  31.  
  32. #ifndef _CONTAINER_
  33. #include <iodbasec.idl>
  34. #endif
  35.  
  36.  
  37.  
  38. //======================================================================
  39. // Classes defined in this interface
  40. //======================================================================
  41.  
  42. interface  LinkContainer;
  43. interface  M_LinkContainer;
  44.  
  45. //======================================================================
  46. // Classes used by this interface
  47. //======================================================================
  48.  
  49. interface  BaseContainer;
  50. interface  M_BaseContainer;
  51. interface ODStorageUnit;
  52. interface ODFacet;
  53. interface ContentObject;
  54. interface ODLinkSource;
  55. interface ODLink;
  56. interface ODSession;
  57. interface ALink;
  58. interface ALinkedList;
  59.  
  60.  
  61. //======================================================================
  62. // Type definitions used by this interface
  63. //======================================================================
  64.  
  65. #pragma somemittypes on
  66.  
  67. typedef struct tagsourceoflink
  68. {
  69.    ODLinkSource   linkSource;
  70.    ODULong        num;
  71.    ODUpdateID     change;
  72.    ContentObject  *sourceObjects;
  73.  
  74. } SourceOfLink;
  75.  
  76.  
  77. typedef struct tagdestoflink
  78. {
  79.    ODLink     link;
  80.    ODULong        num;
  81.    ContentObject  *destObjects;
  82.    ODFrame        containingFrame;
  83.    ODPoint    destinationPoint;
  84.    ODLinkInfo info;
  85.  
  86. } DestOfLink, *P_DestOfLink;
  87.  
  88.  
  89. #pragma somemittypes off
  90.  
  91. //======================================================================
  92. // LinkContainer Implementation
  93. //======================================================================
  94.  
  95. interface LinkContainer : BaseContainer
  96. {
  97.  
  98.         // Linking methods
  99.  
  100.         void    WriteLinkSpec (in ODStorageUnit toSU);
  101.  
  102.         void      GetAllLinkSources(       in ContentObject  cObj,
  103.                                            in ALinkedList    l);
  104.  
  105.         void      GetAllLinkDestinations(  in ContentObject  cObj,
  106.                                            in ALinkedList    l);
  107.  
  108.         void      WriteSingleLink(         in void          *sourceoflink,
  109.                                            in ODUpdateID     change);
  110.  
  111.         void      BreakAllLinks (in    ContentObject cObj);
  112.  
  113.     ODBoolean DoLinkInfo(in ODFrame frame);
  114.  
  115. #ifdef __SOMIDL__
  116.   implementation
  117.   {
  118.         dllname = "iodlinkc.dll";
  119.         functionprefix = LinkContainer;
  120.         metaclass      = M_LinkContainer;
  121.         majorversion = 0;
  122.         minorversion = 0;
  123.  
  124.         override:
  125.                 CreateLink,
  126.                 LinkUpdated,
  127.                 RevealLink,
  128.                 LinkStatusChanged,
  129.                 PasteSelectionAs,
  130.                 Drop,
  131.                 ChangeNotification,
  132.                 DeleteSelection,
  133.                 StartDrag,
  134.  
  135.                 CompleteMoveOperation,
  136.                 CompleteResizeOperation,
  137.           
  138.         HandleMenuEvent,
  139.  
  140.                 WriteSingleFrame,
  141.                 WriteContents,
  142.                 ReadContents,
  143.                 AdjustMenus,
  144.                 Initialize,
  145.                 FrameShapeChanged,
  146.                 somInit,
  147.                 somUninit;
  148.  
  149.         releaseorder:
  150.                 WriteLinkSpec,
  151.                 PasteSelectionAs,
  152.                 GetAllLinkSources,
  153.                 GetAllLinkDestinations,
  154.                 WriteSingleLink,
  155.                 BreakAllLinks,
  156.         DoLinkInfo;
  157.  
  158.                 ODSession fSession;
  159.                 ODPart fPartWrapper;
  160.  
  161.                 // Linking stuff
  162.                 ALinkedList  fAllLinkSources;
  163.                 ALinkedList  fAllLinkDestinations;
  164.                 void         *floatingDest;
  165.  
  166.                 ALinkedList  fLastSavedList;
  167.  
  168.  
  169.   }; // end implementation section
  170.  
  171. #endif //__SOMIDL__
  172.  
  173. }; // end interface definition
  174.  
  175.  
  176. // ******************************************************************
  177.  
  178. interface M_LinkContainer : M_BaseContainer
  179. {
  180.  
  181. #ifdef __SOMIDL__
  182.   implementation
  183.   {
  184.     functionprefix = M_LinkContainer;
  185.  
  186.     override:
  187.         clsGetODPartHandlerName,
  188.         clsGetODPartHandlerDisplayName,
  189.         clsGetODPartKinds,
  190.         clsGetOLE2ClassId,
  191.         clsGetWindowsIconFileName;
  192.   };
  193.  
  194. #endif  // _SOMIDL__
  195. };
  196.  
  197. #endif //_LinkContainer_
  198.  
  199. 
  200.