home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / winworkp.def < prev    next >
Text File  |  1994-06-27  |  7KB  |  197 lines

  1. DEFINITION MODULE WINWORKPLACE;
  2.  
  3. (************************************************************************
  4.   OS/2 2.1 interface for Presentation Manager Workplace Shell.
  5.  
  6.   Copyright (c) 1992,1994 by Juergen Neuhoff
  7. *************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$CDECL+    C-style procedures                                         *)
  11. (*$A         default alignment for record fields                        *)
  12.  
  13. IMPORT SYSTEM;
  14. FROM   OS2DEF      IMPORT HAB, HWND, HMODULE, HMQ, LHANDLE;
  15. FROM   OS2DEF      IMPORT TYPEPREFIX, POINTL, PSZ;
  16. FROM   OS2DEF      IMPORT ICONINFO;
  17. FROM   WINPOINTERS IMPORT HPOINTER;
  18. FROM   WINHELP     IMPORT PHELPSUBTABLE;
  19. FROM   WINDEF      IMPORT PFNWP;
  20. FROM   WINSTDCNR   IMPORT PMINIRECORDCORE;
  21.  
  22.  
  23. TYPE (* Common types *)
  24.   HOBJECT                = LHANDLE;
  25.   ULONG                  = LONGCARD;
  26.   PULONG                 = POINTER TO ULONG;
  27.  
  28. CONST (* Standard object classes *)
  29.   CCHMAXCLASS            = 3;     (* Length of a classname     *)
  30.   QC_First               = 0;     (* Codes for OA_QueryContent *)
  31.   QC_Next                = 1;
  32.   QC_Last                = 2;
  33.  
  34. TYPE (* An object's appearance (icon or bitmap or outline) *)
  35.   OBJECTIMAGE            = RECORD   (* oimg *)
  36.     CASE                   : TYPEPREFIX OF
  37.     | TRUE                 :
  38.       hptrObject           : HPOINTER;
  39.     | FALSE                :
  40.       ObjectPointerHandle  : HPOINTER;
  41.     END;                   END;
  42.   POBJECTIMAGE           = POINTER TO OBJECTIMAGE;
  43.  
  44. TYPE (* Class info structure returned by WinEnumObjectClasses *)
  45.   POBJCLASS              = POINTER TO OBJCLASS;
  46.   OBJCLASS               = RECORD       (* ocls *)
  47.     CASE                   : TYPEPREFIX OF
  48.     | TRUE                 :
  49.       pNext                : POBJCLASS; (* Null for the last structure.. *)
  50.       pszClassName         : PSZ;       (* Class name *)
  51.       pszModName           : PSZ;       (* Module name *)
  52.     | FALSE                :
  53.       Next                 : POBJCLASS; (* Null for the last structure.. *)
  54.       ClassName            : PSZ;       (* Class name *)
  55.       ModName              : PSZ;       (* Module name *)
  56.     END;                   END;
  57.  
  58.  
  59. (*** Workplace object management functions *)
  60.  
  61. PROCEDURE WinRegisterObjectClass
  62. ( ClassName              : ARRAY OF CHAR;
  63.   ModName                : ARRAY OF CHAR
  64. )                        : BOOLEAN;
  65.  
  66. PROCEDURE WinDeregisterObjectClass
  67. ( ClassName              : ARRAY OF CHAR
  68. )                        : BOOLEAN;
  69.  
  70. PROCEDURE WinReplaceObjectClass
  71. ( OldClassName           : ARRAY OF CHAR;
  72.   NewClassName           : ARRAY OF CHAR;
  73.   Replace                : BOOLEAN
  74. )                        : BOOLEAN;
  75.  
  76. PROCEDURE WinEnumObjectClasses
  77. ( ObjClass               : POBJCLASS;
  78.   VAR Size               : LONGCARD
  79. )                        : BOOLEAN;
  80.  
  81. PROCEDURE WinCreateObject
  82. ( ClassName              : ARRAY OF CHAR;
  83.   Title                  : ARRAY OF CHAR;
  84.   SetupString            : ARRAY OF CHAR;
  85.   Location               : ARRAY OF CHAR;
  86.   Flags                  : LONGCARD
  87. )                        : HOBJECT;
  88.  
  89. CONST (* for WinCreateObject() Flags *)
  90.   CO_FAILIFEXISTS        = 0;
  91.   CO_REPLACEIFEXISTS     = 1;
  92.   CO_UPDATEIFEXISTS      = 2;
  93.  
  94. PROCEDURE WinSetObjectData
  95. ( ObjectHandle           : HOBJECT;
  96.   SetupString            : ARRAY OF CHAR
  97. )                        : BOOLEAN;
  98.  
  99. PROCEDURE WinDestroyObject
  100. ( ObjectHandle           : HOBJECT
  101. )                        : BOOLEAN;
  102.  
  103. PROCEDURE WinQueryObject
  104. ( ObjectId               : ARRAY OF CHAR
  105. )                        : HOBJECT;
  106.  
  107. TYPE (* Object settings notebook page insertion structure *)
  108.   PAGEINFO               = RECORD    (* pginf *)
  109.     CASE                   : TYPEPREFIX OF
  110.     | TRUE                 :
  111.       cb                   : LONGCARD;
  112.       hwndPage             : HWND;
  113.       pfnwp                : PFNWP;
  114.       resid                : LONGCARD;
  115.       pCreateParams        : SYSTEM.ADDRESS;
  116.       dlgid                : CARDINAL;
  117.       usPageStyleFlags     : CARDINAL;
  118.       usPageInsertFlags    : CARDINAL;
  119.       usReserved           : CARDINAL;
  120.       pszName              : PSZ;
  121.       idDefaultHelpPanel   : CARDINAL;
  122.       usReserved2          : CARDINAL;
  123.       pszHelpLibraryName   : PSZ;
  124.       pHelpSubtable        : PHELPSUBTABLE;
  125.       hmodHelpSubtable     : HMODULE;
  126.       ulPageInsertId       : LONGCARD;
  127.     | FALSE                :
  128.       Count                : LONGCARD;
  129.       PageWinHandle        : HWND;
  130.       WinProc              : PFNWP;
  131.       ResourceId           : LONGCARD;
  132.       CreateParams         : SYSTEM.ADDRESS;
  133.       DialogId             : CARDINAL;
  134.       PageStyleFlags       : CARDINAL;
  135.       PageInsertFlags      : CARDINAL;
  136.       Reserved             : CARDINAL;
  137.       Name                 : PSZ;
  138.       DefaultHelpPanelId   : CARDINAL;
  139.       Reserved2            : CARDINAL;
  140.       HelpLibraryName      : PSZ;
  141.       HelpSubTable         : PHELPSUBTABLE;
  142.       HelpSubtableModHandle : HMODULE;
  143.       PageInsertId         : LONGCARD;
  144.     END;                   END;
  145.   PPAGEINFO              = POINTER TO PAGEINFO;
  146.  
  147. TYPE
  148.   ICONPOS                = RECORD                  (* icp *)
  149.     CASE                   : TYPEPREFIX OF
  150.     | TRUE                 :
  151.       ptlIcon              : POINTL;               (* Location *)
  152.       szIdentity           : ARRAY [0..0] OF CHAR; (* Object ID string *)
  153.     | FALSE                :
  154.       IconPoint            : POINTL;               (* Location *)
  155.       Identity             : ARRAY [0..0] OF CHAR; (* Object ID string *)
  156.     END;                   END;
  157.   PICONPOS               = POINTER TO ICONPOS;
  158.  
  159. PROCEDURE WinSetFileIcon
  160. ( FileName               : ARRAY OF CHAR;
  161.   VAR IconInfo           : ICONINFO
  162. )                        : BOOLEAN;
  163.  
  164. PROCEDURE WinFreeFileIcon
  165. ( PointerHandle          : HPOINTER
  166. )                        : BOOLEAN;
  167.  
  168. PROCEDURE WinLoadFileIcon
  169. ( FileName               : ARRAY OF CHAR;
  170.   Private                : BOOLEAN
  171. )                        : HPOINTER;
  172.  
  173. PROCEDURE WinStoreWindowPos
  174. ( AppName                : ARRAY OF CHAR;
  175.   KeyName                : ARRAY OF CHAR;
  176.   WinHandle              : HWND
  177. )                        : BOOLEAN;
  178.  
  179. PROCEDURE WinRestoreWindowPos
  180. ( AppName                : ARRAY OF CHAR;
  181.   KeyName                : ARRAY OF CHAR;
  182.   WinHandle              : HWND
  183. )                        : BOOLEAN;
  184.  
  185. PROCEDURE WinShutdownSystem
  186. ( AnchorBlockHandle      : HAB;
  187.   MsgQueueHandle         : HMQ
  188. )                        : BOOLEAN;
  189.  
  190. PROCEDURE ShlGetUserWordPtr
  191. (
  192.   hwndCnr                : HWND;
  193.   prec                   : PMINIRECORDCORE
  194. )                        : PULONG;
  195.  
  196. END WINWORKPLACE.
  197.