home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / wpfinder.def < prev    next >
Text File  |  1994-05-24  |  6KB  |  192 lines

  1. DEFINITION MODULE WPFINDER;
  2.  
  3. (***************************************************************************
  4.   OS/2 2.1 Workplace class interface for WPFinder
  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 WPFILTER;
  15. IMPORT OS2DEF;
  16. IMPORT WPOBJECT;
  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 PWPFinder              = POINTER TO WPFinder;
  24. TYPE PM_WPFinder            = POINTER TO M_WPFinder;
  25.  
  26. (************************************************************************
  27.   Additional TYPE- and CONST-declarations supporting WPFinder
  28. *************************************************************************)
  29.  
  30. TYPE LHANDLE                = OS2DEF.LHANDLE;
  31. TYPE OBJECT                 = WPOBJECT.OBJECT;
  32. TYPE HWND                   = OS2DEF.HWND;
  33. TYPE PWPFolder              = WPOBJECT.PWPObject;
  34. TYPE PWPObject              = WPOBJECT.PWPObject;
  35.  
  36. CONST
  37.   SATTR_INCLUDE_SUBFOLDERS   = 0001H;
  38.   SATTR_INCLUDE_FINDRESULTS  = 0002H;
  39.   SATTR_MULTIPLE_SELECT      = 0004H;
  40.   SATTR_APPEND_RESULTS       = 0008H;
  41.  
  42. CONST
  43.   FRESULTS_BUFSIZE           = 32;
  44.  
  45. TYPE
  46.   HFOBJ                      = LHANDLE;
  47.  
  48. TYPE
  49.   PFINDRESULTS = POINTER TO FINDRESULTS;
  50.   FINDRESULTS  = RECORD
  51.     pNext        : PFINDRESULTS; (* Next struct pointer *)
  52.     cObjects     : LONGCARD;     (* Count of found objs *)
  53.     Object       : ARRAY [0..FRESULTS_BUFSIZE-1] OF OBJECT; (* Object list *)
  54.     SelectState  : ARRAY [0..FRESULTS_BUFSIZE-1] OF CHAR;   (* Selection list *)
  55.                  END;
  56.  
  57. TYPE
  58.   PFOBJ        = POINTER TO FOBJ;
  59.   FOBJ         = RECORD
  60.     pNext        : PFOBJ;           
  61.     pFResults    : PFINDRESULTS;       (* Current results struct *)
  62.     Index        : LONGCARD;           (* Index in current object list *)
  63.                  END;
  64.  
  65. CONST
  66.   HANDLE_MAGIC = 99999999H;
  67.  
  68.  
  69. (*************************************************************************
  70.   SOM class API for WPFinder, including type-bound procedures
  71. **************************************************************************)
  72.  
  73. CONST
  74.   WPFinder_MajorVersion     = 1;
  75.   WPFinder_MinorVersion     = 2;
  76.  
  77. TYPE
  78.   WPFinderClassDataStructure     = RECORD
  79.     classObject                    : PSOMClass;
  80.     wpFind                         : somMToken;
  81.     wpSetFindAttrs                 : somMToken;
  82.     wpQueryFindAttrs               : somMToken;
  83.     wpSetStartFolder               : somMToken;
  84.     wpQueryStartFolder             : somMToken;
  85.     wpBeginEnumFoundObj            : somMToken;
  86.     wpEndEnumFoundObj              : somMToken;
  87.     wpGetNextFoundObj              : somMToken;
  88.     wpFindParametersDialog         : somMToken;
  89.     wpSelectionListDialog          : somMToken;
  90.     wpCreateFindResultsFolder      : somMToken;
  91.     wpSetSelectionState            : somMToken;
  92.     wpAllocResultBlock             : somMToken;
  93.     wpFreeResultBlock              : somMToken;
  94.     wpCleanupFindResults           : somMToken;
  95.                                    END;
  96.  
  97. VAR
  98.   WPFinderClassData : WPFinderClassDataStructure;
  99.  
  100. TYPE
  101.   (*$SOM+ *)
  102.   WPFinder = RECORD( WPFILTER.WPFilter ) END;
  103.   (*$SOM- *)
  104.  
  105.  
  106. PROCEDURE WPFinderNewClass
  107. (
  108.   majorVersion  : INTEGER4;
  109.   minorVersion  : INTEGER4
  110. )               : PSOMClass;
  111.  
  112. PROCEDURE( Self : PWPFinder ) wpSetFindAttrs
  113. (
  114.   ulAttrs       : LONGCARD
  115. )               : BOOLEAN;
  116.  
  117. PROCEDURE( Self : PWPFinder ) wpQueryFindAttrs( ) : LONGCARD;
  118.  
  119. PROCEDURE( Self : PWPFinder ) wpFind
  120. (
  121.   hwndOwner     : HWND;
  122.   fShowCriteria : BOOLEAN
  123. )               : BOOLEAN;
  124.  
  125. PROCEDURE( Self : PWPFinder ) wpSetStartFolder
  126. (
  127.   Folder        : PWPFolder
  128. )               : BOOLEAN;
  129.  
  130. PROCEDURE( Self : PWPFinder ) wpQueryStartFolder( ) : PWPFolder;
  131.  
  132. PROCEDURE( Self : PWPFinder ) wpBeginEnumFoundObj( ) : HFOBJ;
  133.  
  134. PROCEDURE( Self : PWPFinder ) wpEndEnumFoundObj
  135. (
  136.   hfo           : HFOBJ
  137. )               : BOOLEAN;
  138.  
  139. PROCEDURE( Self : PWPFinder ) wpGetNextFoundObj
  140. (
  141.   hfo           : HFOBJ;
  142.   fSelected     : BOOLEAN
  143. )               : PWPObject;
  144.  
  145. PROCEDURE( Self : PWPFinder ) wpFindParametersDialog
  146. (
  147.   hwndOwner     : HWND
  148. )               : BOOLEAN;
  149.  
  150. PROCEDURE( Self : PWPFinder ) wpSelectionListDialog
  151. (
  152.   hwndOwner     : HWND
  153. )               : BOOLEAN;
  154.  
  155. PROCEDURE( Self : PWPFinder ) wpCreateFindResultsFolder
  156. (
  157.   Location      : PWPFolder;
  158.   szTitle       : ARRAY OF CHAR
  159. )               : PWPFolder;
  160.  
  161.  
  162. (*************************************************************************
  163.   SOM class API for M_WPFinder, including type-bound procedures
  164. **************************************************************************)
  165.  
  166. CONST
  167.   M_WPFinder_MajorVersion   = 1;
  168.   M_WPFinder_MinorVersion   = 2;
  169.  
  170. TYPE
  171.   M_WPFinderClassDataStructure   = RECORD
  172.     classObject                    : PSOMClass;
  173.                                    END;
  174.  
  175. VAR
  176.   M_WPFinderClassData : M_WPFinderClassDataStructure;
  177.  
  178. TYPE
  179.   (*$SOM+ *)
  180.   M_WPFinder = RECORD( WPFILTER.M_WPFilter ) END;
  181.   (*$SOM- *)
  182.  
  183.  
  184. PROCEDURE M_WPFinderNewClass
  185. (
  186.   majorVersion : INTEGER4;
  187.   minorVersion : INTEGER4
  188. )              : PSOMClass;
  189.  
  190.  
  191. END WPFINDER.
  192.