>>  <<  Ndx  Usr  Pri  JfC  LJ  Phr  Dic  Rel  Voc  !:  wd  Help  User

winlib: standard windows library

Name Type Description
wd verb main window driver, name for 11!:0
wdbox verb box wd argument
wdcenter verb center form on another
wdclipread verb read clipboard
wdclipwrite verb write to clipboard
wde verb as wd but displays error and signals break
wdfit verb fit form in window
wdforms verb info about all forms
wdget verb get values from matrix, e.g. wd'q'
wdhandler verb wd handler
wdinfo verb information box
wdishandle verb return 1 if a window handle
wdisparent verb return 1 if a parent window
wdmove verb position window, relative to side of screen
wdpclose verb close parent window
wdqshow verb display result of wdq
wdquery verb query box
wdreset verb reset window driver
wdselect verb selection box
wdstatus verb put status message on screen


box wd argument
use this to analyze arguments to wd
in code: whs=whitepace, del=delimiters


center form on another
form: wdcenter xywh
use this to center a form on another


fit form in window
y is two integers for horizontal and vertical
in each case, the entire form will be shown

values are:
  0   move the side out of view back into the window
      - typically reduces the form size
  1   move the form so it is all visible
      - typically leaves the form size unchanged
  2   stretch the form to the window
  3   maximize the form to full screen, hiding caption and borders

an empty argument is treated as 1 1

wd'qm' - return system metrics:
0-1 screen width, screen height,
2-3 x logical unit, y logical unit,
4-5 cxborder, cyborder,
6-7 cxfixedframe, cyfixedframe,
8-9 cxframe, cyframe,
10-11 cycaption, cymenu,
12-15 desktop xywh


info about all forms

columns are:
 0 name
 1 handle
 2 locale
 3 type: jijx, jijs or empty
 4 recent use (sequence number)
 5 title

|jijs       |100|0       |jijx|10|1.ijx          |
|projectform|102|jproject|    |8 |Project Manager|
|jijs       |198|1       |jijs|9 |winlib.ijs     |


get values from matrix, e.g. wd'q'
utility to index 2-column boxed array, e.g. result of wd 'q'
form:  names wdget data
returns items in second column indexed on names in first column
result is boxed if left argument is boxed
e.g. 'sysfocus' wdget wdq


wd handler
runs in form locale
sets global event data: wdq
runs first found of: form_handler, form_event, form_default,
with global event variables from wdq
if debug is off, wraps event handler in try. catch.
catch exits if error message is the last picked up by debug.


information box
syntax: wdinfo [title;] message


position window, relative to side of screen
form: [window] wdmove offset

offset is the xy offset.
  if  >: 0  the offset is from topleft
  if  < 0   the offset is from bottomright (less 1)

    0 0  = topleft
  _1 _1  = bottomright
   5 _11 = 5 from left, 10 from bottom


display result of wdq
display wdq result - useful for testing forms


query box
form: [opt] wdquery [title;] message
  opt has one or two elements:
   0{  = 0    okcancel          (ok=0 cancel=1)
         1    retrycancel       (retry=0 cancel=1)
         2    yesno             (yes=0 no=1)
         3    yesnocancel       (yes=0 no=1 cancel=2)
         4    abortretryignore  (abort=0 retry=1 ignore=2)
   1{ = default button (0, 1 or 2)


selection box
windows selection box

y is a either:   boxed list of choices
            or:   title ; <boxed list of choices
   if y is empty, closes selection box if open.

x. is optional of up to 3 values (default 0). the second and
   third options are only referenced when the box is created:
  0{ initial selection
  1{ 0=single selection, 1=multiple selection
  2{ 0=close on exit, 1=leave open if selection made

returns 2 item boxed list:
  0{ 0=cancel, 1=accept
  1{ indices of selections


put status message on screen
write status message on screen

{title} wdstatus message    - write message
        wdstatus ''         - close message box

default text size is 1 row of 50 characters.
for a larger size, call wdstatus initially with a message
of the required size (pad with blanks if necessary).
once created, the message box is not resized.

>>  <<  Ndx  Usr  Pri  JfC  LJ  Phr  Dic  Rel  Voc  !:  wd  Help  User