home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / wpclass.def < prev    next >
Text File  |  1995-02-12  |  4KB  |  104 lines

  1. DEFINITION MODULE WPCLASS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.x/3.0 interface for Workplace object class API's
  5.  
  6.   Copyright (c) 1995 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. IMPORT OS2DEF;
  15. IMPORT WINPOINTERS;
  16.  
  17.  
  18. TYPE (* Common types *)
  19.   HOBJECT                = OS2DEF.LHANDLE;
  20.   HPOINTER               = WINPOINTERS.HPOINTER;
  21.   PSZ                    = OS2DEF.PSZ;
  22.  
  23. CONST (* Standard object classes *)
  24.   CCHMAXCLASS            = 3;     (* Length of a classname     *)
  25.   QC_First               = 0;     (* Codes for OA_QueryContent *)
  26.   QC_Next                = 1;
  27.   QC_Last                = 2;
  28.  
  29. TYPE (* An object's appearance (icon or bitmap or outline) *)
  30.   OBJECTIMAGE            = RECORD   (* oimg *)
  31.     CASE                   : OS2DEF.TYPEPREFIX OF
  32.     | TRUE                 :
  33.       hptrObject           : HPOINTER;
  34.     | FALSE                :
  35.       ObjectPointerHandle  : HPOINTER;
  36.     END;                   END;
  37.   POBJECTIMAGE           = POINTER TO OBJECTIMAGE;
  38.  
  39. TYPE (* Class info structure returned by WinEnumObjectClasses *)
  40.   POBJCLASS              = POINTER TO OBJCLASS;
  41.   OBJCLASS               = RECORD       (* ocls *)
  42.     CASE                   : OS2DEF.TYPEPREFIX OF
  43.     | TRUE                 :
  44.       pNext                : POBJCLASS; (* Null for the last structure.. *)
  45.       pszClassName         : PSZ;       (* Class name *)
  46.       pszModName           : PSZ;       (* Module name *)
  47.     | FALSE                :
  48.       Next                 : POBJCLASS; (* Null for the last structure.. *)
  49.       ClassName            : PSZ;       (* Class name *)
  50.       ModName              : PSZ;       (* Module name *)
  51.     END;                   END;
  52.  
  53.  
  54. (*** Workplace object management functions *)
  55.  
  56. PROCEDURE WinRegisterObjectClass
  57. ( ClassName              : ARRAY OF CHAR;
  58.   ModName                : ARRAY OF CHAR
  59. )                        : BOOLEAN;
  60.  
  61. PROCEDURE WinDeregisterObjectClass
  62. ( ClassName              : ARRAY OF CHAR
  63. )                        : BOOLEAN;
  64.  
  65. PROCEDURE WinReplaceObjectClass
  66. ( OldClassName           : ARRAY OF CHAR;
  67.   NewClassName           : ARRAY OF CHAR;
  68.   Replace                : BOOLEAN
  69. )                        : BOOLEAN;
  70.  
  71. PROCEDURE WinEnumObjectClasses
  72. ( ObjClass               : POBJCLASS;
  73.   VAR Size               : LONGCARD
  74. )                        : BOOLEAN;
  75.  
  76. PROCEDURE WinCreateObject
  77. ( ClassName              : ARRAY OF CHAR;
  78.   Title                  : ARRAY OF CHAR;
  79.   SetupString            : ARRAY OF CHAR;
  80.   Location               : ARRAY OF CHAR;
  81.   Flags                  : LONGCARD
  82. )                        : HOBJECT;
  83.  
  84. CONST (* for WinCreateObject() Flags *)
  85.   CO_FAILIFEXISTS        = 0;
  86.   CO_REPLACEIFEXISTS     = 1;
  87.   CO_UPDATEIFEXISTS      = 2;
  88.  
  89. PROCEDURE WinSetObjectData
  90. ( ObjectHandle           : HOBJECT;
  91.   SetupString            : ARRAY OF CHAR
  92. )                        : BOOLEAN;
  93.  
  94. PROCEDURE WinDestroyObject
  95. ( ObjectHandle           : HOBJECT
  96. )                        : BOOLEAN;
  97.  
  98. PROCEDURE WinQueryObject
  99. ( ObjectId               : ARRAY OF CHAR
  100. )                        : HOBJECT;
  101.  
  102.  
  103. END WPCLASS.
  104.