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

  1. DEFINITION MODULE WPPGM;
  2.  
  3. (***************************************************************************
  4.   OS/2 2.1 Workplace class interface for WPProgram;
  5.  
  6.   Copyright (c) 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 SOM;
  14. IMPORT WPABS;
  15. IMPORT OS2DEF;
  16. IMPORT WINPROGRAMLIST;
  17.  
  18. TYPE PSOMClass              = SOM.PSOMClass;
  19. TYPE INTEGER4               = SOM.INTEGER4;
  20. TYPE somMToken              = SOM.somMToken;
  21. TYPE somDToken              = SOM.somDToken;
  22. TYPE somMethodProc          = SOM.somMethodProc;
  23. TYPE PWPProgram             = POINTER TO WPProgram;
  24. TYPE PM_WPProgram           = POINTER TO M_WPProgram;
  25.  
  26. (************************************************************************
  27.   Additional TYPE- and CONST-declarations supporting WPProgram
  28. *************************************************************************)
  29.  
  30. TYPE HWND                   = OS2DEF.HWND;
  31. TYPE PROGDETAILS            = WINPROGRAMLIST.PROGDETAILS;
  32. TYPE PSZ                    = OS2DEF.PSZ;
  33.  
  34. (*************************************************************************
  35.   SOM class API for WPProgram, including type-bound procedures
  36. **************************************************************************)
  37.  
  38. CONST
  39.   WPProgram_MajorVersion     = 1;
  40.   WPProgram_MinorVersion     = 2;
  41.  
  42. TYPE
  43.   WPProgramClassDataStructure   = RECORD
  44.     classObject                   : PSOMClass;
  45.     wpAddProgramPage              : somMToken;
  46.     wpAddProgramSessionPage       : somMToken;
  47.     wpQueryProgDetails            : somMToken;
  48.     wpSetProgDetails              : somMToken;
  49.     wpSetHPROGRAM                 : somMToken;
  50.     wpQueryHPROGRAM               : somMToken;
  51.     wpAddProgramAssociationPage   : somMToken;
  52.     wpSetProgIcon                 : somMToken;
  53.     wpQueryAssociationFilter      : somMToken;
  54.     wpQueryAssociationType        : somMToken;
  55.     wpSetAssociationFilter        : somMToken;
  56.     wpSetAssociationType          : somMToken;
  57.                                   END;
  58.  
  59. VAR
  60.   WPProgramClassData : WPProgramClassDataStructure;
  61.  
  62. TYPE
  63.   (*$SOM+ *)
  64.   WPProgram = RECORD( WPABS.WPAbstract ) END;
  65.   (*$SOM- *)
  66.  
  67. PROCEDURE WPProgramNewClass
  68. (
  69.   majorVersion  : INTEGER4;
  70.   minorVersion  : INTEGER4
  71. )               : PSOMClass;
  72.  
  73. (*
  74.  *  NOTE: The following methods also support name lookup.
  75.  *
  76.  *  Example name lookup for "wpAddProgramAssociationPage":
  77.  *      ...
  78.  *    TYPE PROCAddProgramAssociationPage =
  79.  *         PROCEDURE( PWPProgram, HWND ) : LONGCARD;
  80.  *      ...
  81.  *    VAR classObject : SOM.SOMClass;
  82.  *    VAR methodId    : SOM.somId;
  83.  *    VAR directFlag  : BOOLEAN;
  84.  *    VAR method      : SOM.somMethodProc;
  85.  +    VAR wpProc      : PROCAddProgramAssociationPage;
  86.  *      ...
  87.  *    classObject := ProgramObject^.somGetClass();
  88.  *    methodId := SOM.somIdFromString( "wpAddProgramAssociationPage" );
  89.  *    directFlag := classObject^.somFindMethodOk( methodId, method );
  90.  *    proc := PROCAddProgramAssociationPage( method );
  91.  *      ...
  92.  *)
  93.  
  94. PROCEDURE( Self : PWPProgram ) wpAddProgramAssociationPage
  95. (
  96.   hwndNotebook  : HWND
  97. )               : LONGCARD;
  98.  
  99. PROCEDURE( Self : PWPProgram ) wpQueryProgDetails
  100. (
  101.   VAR ProgDetails : PROGDETAILS;
  102.   VAR ulSize      : LONGCARD
  103. )                 : BOOLEAN;
  104.  
  105. PROCEDURE( Self : PWPProgram ) wpSetProgDetails
  106. (
  107.   VAR ProgDetails : PROGDETAILS
  108. )                 : BOOLEAN;
  109.  
  110. PROCEDURE( Self : PWPProgram ) wpAddProgramPage
  111. (
  112.   hwndNotebook  : HWND
  113. )               : LONGCARD;
  114.  
  115. PROCEDURE( Self : PWPProgram ) wpAddProgramSessionPage
  116. (
  117.   hwndNotebook  : HWND
  118. )               : LONGCARD;
  119.  
  120. PROCEDURE( Self : PWPProgram ) wpQueryAssociationFilter( ) : PSZ;
  121.  
  122. PROCEDURE( Self : PWPProgram ) wpQueryAssociationType( ) : PSZ;
  123.  
  124. PROCEDURE( Self : PWPProgram ) wpSetAssociationFilter
  125. (
  126.   szFilter      : ARRAY OF CHAR
  127. )               : BOOLEAN;
  128.  
  129. PROCEDURE( Self : PWPProgram ) wpSetAssociationType
  130. (
  131.   szType        : ARRAY OF CHAR
  132. )               : BOOLEAN;
  133.  
  134.  
  135. (*************************************************************************
  136.   SOM class API for M_WPProgram, including type-bound procedures
  137. **************************************************************************)
  138.  
  139. CONST
  140.   M_WPProgram_MajorVersion   = 1;
  141.   M_WPProgram_MinorVersion   = 2;
  142.  
  143. TYPE
  144.   M_WPProgramClassDataStructure   = RECORD
  145.     classObject                     : PSOMClass;
  146.                                     END;
  147.  
  148. VAR
  149.   M_WPProgramClassData : M_WPProgramClassDataStructure;
  150.  
  151. TYPE
  152.   (*$SOM+ *)
  153.   M_WPProgram = RECORD( WPABS.M_WPAbstract ) END;
  154.   (*$SOM- *)
  155.  
  156.  
  157. PROCEDURE M_WPProgramNewClass
  158. (
  159.   majorVersion : INTEGER4;
  160.   minorVersion : INTEGER4
  161. )              : PSOMClass;
  162.  
  163. END WPPGM.
  164.