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

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