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

  1. DEFINITION MODULE WINSWITCHLIST;
  2.  
  3. (************************************************************************
  4.   OS/2 2.x Presentation Manager Shell Switch List Calls
  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. FROM   OS2DEF       IMPORT TYPEPREFIX, LHANDLE, HWND, PID, HAB;
  14. IMPORT WINDEF;
  15. FROM   WINWINDOWMGR IMPORT SWP;
  16.  
  17. CONST (* maximum title length *)
  18.   MAXNAMEL               = 60;
  19.  
  20. TYPE (* program handle *)
  21.   HPROGRAM               = WINDEF.HPROGRAM;
  22.  
  23. TYPE
  24.   HSWITCH                = LHANDLE;     (* hsw *)
  25.   PHSWITCH               = POINTER TO HSWITCH;
  26.  
  27. TYPE
  28.   SWCNTRL                = RECORD      (* swctl *)
  29.     CASE                   : TYPEPREFIX OF
  30.     | TRUE                 :
  31.       hwnd                 : HWND;
  32.       hwndIcon             : HWND;
  33.       hprog                : HPROGRAM;
  34.       idProcess            : PID;
  35.       idSession            : LONGCARD;
  36.       uchVisibility        : LONGCARD;
  37.       fbJump               : LONGCARD;
  38.       szSwtitle            : ARRAY [0..MAXNAMEL+3] OF CHAR;
  39.       bProgType            : LONGCARD;
  40.     | FALSE                :
  41.       WinHandle            : HWND;
  42.       IconHandle           : HWND;
  43.       ProgHandle           : HPROGRAM;
  44.       ProcessId            : PID;
  45.       SessionId            : LONGCARD;
  46.       Visibility           : LONGCARD;
  47.       Jump                 : LONGCARD;
  48.       SwTitle              : ARRAY [0..MAXNAMEL+3] OF CHAR;
  49.       ProgType             : LONGCARD;
  50.     END;                   END;
  51.   PSWCNTRL               = POINTER TO SWCNTRL;
  52.  
  53. CONST (* visibility flag for SWCNTRL structure *)
  54.   SWL_VISIBLE            = 04H;
  55.   SWL_INVISIBLE          = 01H;
  56.   SWL_GRAYED             = 02H;
  57.  
  58. CONST (* jump flag for SWCNTRL structure *)
  59.   SWL_JUMPABLE           = 02H;
  60.   SWL_NOTJUMPABLE        = 01H;
  61.  
  62. PROCEDURE WinAddSwitchEntry
  63. ( VAR SwitchData         : SWCNTRL
  64. )                        : HSWITCH;
  65.  
  66. PROCEDURE WinRemoveSwitchEntry
  67. ( SwitchHandle           : HSWITCH
  68. )                        : LONGCARD;
  69.  
  70. TYPE
  71.   SWENTRY                = RECORD (* swent *)
  72.     CASE                   : TYPEPREFIX OF
  73.     | TRUE                 :
  74.       hswitch              : HSWITCH;
  75.       swctl                : SWCNTRL;
  76.     | FALSE                :
  77.       SwitchHandle         : HSWITCH;
  78.       SwitchControl        : SWCNTRL;
  79.     END;                   END;
  80.   PSWENTRY               = POINTER TO SWENTRY;
  81.   SWBLOCK                = RECORD  (* swblk *)
  82.     CASE                   : TYPEPREFIX OF
  83.     | TRUE                 :
  84.       cswentry             : LONGCARD;
  85.       aswentry             : ARRAY [0..0] OF SWENTRY;
  86.     | FALSE                :
  87.       SWEntryCount         : LONGCARD;
  88.       SWEntry              : ARRAY [0..0] OF SWENTRY;
  89.     END;                   END;
  90.   PSWBLOCK               = POINTER TO SWBLOCK;
  91.  
  92. PROCEDURE WinChangeSwitchEntry
  93. ( SwitchHandle           : HSWITCH;
  94.   VAR SwitchData         : SWCNTRL
  95. )                        : LONGCARD;
  96.  
  97. PROCEDURE WinCreateSwitchEntry
  98. ( AnchorBlockHandle      : HAB;
  99.   VAR SwitchData         : SWCNTRL
  100. )                        : HSWITCH;
  101.  
  102. PROCEDURE WinQuerySessionTitle
  103. ( AnchorBlockHandle      : HAB;
  104.   Session                : LONGCARD;
  105.   VAR Title              : ARRAY OF CHAR;
  106.   TitleLen               : LONGCARD
  107. )                        : LONGCARD;
  108.  
  109. PROCEDURE WinQuerySwitchEntry
  110. ( SwitchHandle           : HSWITCH;
  111.   VAR SwitchData         : SWCNTRL
  112. )                        : LONGCARD;
  113.  
  114. PROCEDURE WinQuerySwitchHandle
  115. ( WinHandle              : HWND;
  116.   ProcessId              : PID
  117. )                        : HSWITCH;
  118.  
  119. PROCEDURE WinQuerySwitchList
  120. ( AnchorBlockHandle      : HAB;
  121.   SwitchEntries          : PSWBLOCK;
  122.   DataLength             : LONGCARD
  123. )                        : LONGCARD;
  124.  
  125. PROCEDURE WinQueryTaskSizePos
  126. ( AnchorBlockHandle      : HAB;
  127.   ScreenGroup            : LONGCARD;
  128.   VAR PositionData       : SWP
  129. )                        : LONGCARD;
  130.  
  131. PROCEDURE WinQueryTaskTitle
  132. ( Session                : LONGCARD;
  133.   VAR Title              : ARRAY OF CHAR;
  134.   TitleLen               : LONGCARD
  135. )                        : LONGCARD;
  136.  
  137. PROCEDURE WinSwitchToProgram
  138. ( SwitchHandle           : HSWITCH
  139. )                        : LONGCARD;
  140.  
  141.  
  142. END WINSWITCHLIST.
  143.