home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / info.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-02  |  4.6 KB  |  125 lines

  1. /*
  2.     File:        Info.h
  3.  
  4.     Contains:    function declarations for Part Frame Info dialog and getsetters
  5.  
  6.     Written by:    Tantek éelik
  7.  
  8.     Copyright:    ⌐ 1993-94 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <8>     2/15/94    Té        fix 1143649
  13.          <7>     1/11/94    Té        add XMPType    XMPGetKind(XMPPart* part);
  14.          <6>    12/14/93    Té        added kXMPViewAs constants
  15.          <5>    12/11/93    Té        changed XMPGetPOModifiedBy to use Str32
  16.                                     instead of IntlText because Str32 is the
  17.                                     only type of username info we can extract
  18.                                     from Mac
  19.          <4>     12/8/93    Té        #include "XMPMem.h"
  20.          <3>     12/8/93    Té        added Getters & Setters for IconFamily on
  21.                                     Part
  22.          <2>     12/7/93    Té        added Part & Frame Property getters and
  23.                                     setters
  24.          <1>    11/18/93    Té        first checked in
  25.  
  26.     To Do:
  27. */
  28.  
  29.  
  30. #ifndef _INFO_
  31. #define _INFO_
  32.  
  33. #ifndef _XMPTYPES_
  34. #include "XMPTypes.h"
  35. #endif
  36.  
  37. //==============================================================================
  38. // Theory of Operation
  39. //==============================================================================
  40.  
  41. //==============================================================================
  42. // Constants
  43. //==============================================================================
  44.  
  45. // ViewAs ISOStr constants
  46.  
  47. const    XMPType    kXMPViewAsSmallIcon        = "OpenDoc:ViewAs:SmallIcon";
  48. const    XMPType    kXMPViewAsLargeIcon        = "OpenDoc:ViewAs:LargeIcon";
  49. const    XMPType    kXMPViewAsThumbnail        = "OpenDoc:ViewAs:Thumbnail";
  50. const    XMPType    kXMPViewAsFrame            = "OpenDoc:ViewAs:Frame";
  51.  
  52.  
  53. //==============================================================================
  54. // Scalar Types
  55. //==============================================================================
  56.  
  57. typedef XMPHandle    XMPIconFamily;
  58.  
  59. //==============================================================================
  60. // Classes used by this interface
  61. //==============================================================================
  62.  
  63. class    XMPFrame;
  64. class    XMPStorageUnit;
  65. class    XMPCategorySet;
  66. class    XMPPart;
  67. class    XMPPersistentObject;
  68.  
  69. //==============================================================================
  70. // Info functions
  71. //==============================================================================
  72.  
  73. //-------------------------------------------------------------------------------------
  74. // Part & Frame Info Dialog
  75. //-------------------------------------------------------------------------------------
  76. // public
  77.  
  78. void    ShowPartFrameInfo(XMPFrame* frame);
  79.  
  80. //-------------------------------------------------------------------------------------
  81. // Part & Frame Property getters and setters
  82. // Note: 
  83. //  all Getters expect you to pass in a buffer to be filled along 
  84. // with the maxsize if the value being gotten is of variable size
  85. // the actual size is returned in maxsize as well
  86. //  all Setters do NOT consume what you pass in, so it is safe to pass in
  87. // a reference to your internal structures.  They are only accessed for the duration
  88. // of the Setter API call.
  89. // These conventions were adopted to reduce memory allocation/deallocation.
  90. //-------------------------------------------------------------------------------------
  91. // private by convention
  92.  
  93. void    XMPGetPOName(XMPPersistentObject* pstobj,XMPName* name,XMPULong* maxsize);
  94. void    XMPSetPOName(XMPPersistentObject* pstobj,XMPName* name);
  95.  
  96. void    XMPGetPOComments(XMPPersistentObject* pstobj,XMPIText* comments,XMPULong* maxsize);
  97. void    XMPSetPOComments(XMPPersistentObject* pstobj,XMPIText* comments);
  98.  
  99. XMPULong    XMPGetPOSize(XMPPersistentObject* pstobj);
  100. XMPULong    XMPGetPOCreationDate(XMPPersistentObject* pstobj);
  101. XMPULong    XMPGetPOModificationDate(XMPPersistentObject* pstobj);
  102. void        XMPGetPOModifiedBy(XMPPersistentObject* pstobj,Str32 user);
  103.  
  104. //-------------------------------------------------------------------------------------
  105. // Part only Property getters and setters
  106. //-------------------------------------------------------------------------------------
  107. // private by convention
  108. void    XMPGetCategories(XMPPart* part,XMPCategorySet* comments,XMPULong* maxsize);
  109.  
  110. XMPType    XMPGetKind(XMPPart* part);
  111.  
  112. void    XMPGetIconFamily(XMPPart* part,XMPIconFamily iconFamily);
  113. void    XMPSetIconFamily(XMPPart* part,XMPIconFamily iconFamily);
  114.  
  115. XMPBoolean    XMPGetIsStationery(XMPPart* part);
  116. void        XMPSetIsStationery(XMPPart* part,XMPBoolean isStationery);
  117.  
  118. //-------------------------------------------------------------------------------------
  119. // Frame only Property getters and setters
  120. //-------------------------------------------------------------------------------------
  121. // see Frame.h
  122.  
  123. #endif // _INFO_
  124.  
  125.