Window Library
[Reference documentation]

Manipulate AES Windows in WinDom. More...

Data Structures

struct  W_GRAFPORT
 This structure groups informations related to graphic window VDI workstation. More...
struct  W_MENU
 This structure groups variables related to handle a menu into a window. More...
struct  W_FORM
 This structure groups variables related to handle a formular into a window. More...
struct  W_ICON
 Structure grouping information related to iconified window. More...
struct  _window
 Window descriptor structure. More...
struct  WINvar
 window global variable More...
struct  W_GRAFPORT
 This structure groups informations related to graphic window VDI workstation. More...
struct  W_MENU
 This structure groups variables related to handle a menu into a window. More...
struct  W_FORM
 This structure groups variables related to handle a formular into a window. More...
struct  W_ICON
 Structure grouping information related to iconified window. More...
struct  _window
 Window descriptor structure. More...
struct  WINDOW
 WINDOW is an alias of struct _window. More...
struct  WINvar
 window global variable More...

Defines

#define mt_WindGetGrect(app, win, mode, grect)   mt_WindGet( app, win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define mt_WindXGetGrect(app, win, mode, clip, grect)   mt_WindXGet( app, win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define mt_WindSetGrect(app, win, mode, grect)   mt_WindSet( app, win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
#define mt_WindCalcGrect(app, mode, win, inrect, outrect)
#define WindSetGrect(win, mode, grect)   WindSet( win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
#define WindGetGrect(win, mode, grect)   WindGet( win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define WindXGetGrect(app, win, mode, clip, grect)   WindXGet( win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define WindCalcGrect(mode, win, inrect, outrect)

Typedefs

typedef _window WINDOW

Functions

WINDOWmt_WindCreate (APPvar *app, int GemAttrib, int x, int y, int w, int h)
 Create a window.
int mt_WindOpen (APPvar *app, WINDOW *win, int x, int y, int w, int h)
 Open a window at screen.
int mt_WindClose (APPvar *app, WINDOW *win)
 Close a window opened by mt_WindOpen().
int mt_WindDelete (APPvar *app, WINDOW *win)
 Delete a window descriptor created by mt_WindCreate().
WINDOWmt_WindHandle (APPvar *app, int handle)
 Find a window descriptor by its AES handle.
int mt_WindGet (APPvar *app, WINDOW *win, int mode, INT16 *par1, INT16 *par2, INT16 *par3, INT16 *par4)
 Get window attributes.
int mt_WindXGet (APPvar *app, WINDOW *win, int mode, GRECT *clip, INT16 *par1, INT16 *par2, INT16 *par3, INT16 *par4)
 Get window attributes.
void * mt_WindGetPtr (APPvar *app, WINDOW *win, int mode)
 Get window pointer attribute.
int mt_WindSet (APPvar *app, WINDOW *win, int mode, int par1, int par2, int par3, int par4)
 set/change window attributes.
int mt_WindSetStr (APPvar *app, WINDOW *win, int mode, char *str)
 set/change window string attributes
int mt_WindSetPtr (APPvar *app, WINDOW *win, int mode, void *par1, void *par2)
 set/change window pointer attributes
int mt_WindCalc (APPvar *app, int type, WINDOW *wind, int xin, int yin, int win, int hin, INT16 *xout, INT16 *yout, INT16 *wout, INT16 *hout)
 convert window workarea in real area and inversly
void mt_WindSlider (APPvar *app, WINDOW *win, int mode)
 Adjust window sliders according to the internal WinDom slider system.
WINDOWmt_WindAttach (APPvar *app, int handle)
 insert an alien window in the WinDom list of windows.
WINDOWmt_WindFind (APPvar *app, int mode,...)
 Find a window.
void mt_WindTop (APPvar *app, WINDOW *win)
 Put a window in foreground.
void mt_WindNew (APPvar *app)
 replacement of wind_new() for all AESes
void mt_WindClear (APPvar *app, WINDOW *win)
 clear a window workarea.
void __CDECL mt_stdWindClear (WINDOW *win, short buff[8], APPvar *app)
 callback function to clear the window content
void __CDECL stdWindClear (WINDOW *win, short buff[8])
 See mt_stdWindClear().
WINDOWWindFind (int mode,...)
 see mt_WindFind()

Detailed Description

Manipulate AES Windows in WinDom.


Define Documentation

#define mt_WindCalcGrect app,
mode,
win,
inrect,
outrect   ) 
 

Value:

mt_WindCalc( app, mode, win, \
                                       (inrect)->g_x, (inrect)->g_y, (inrect)->g_w, (inrect)->g_h, \
                                       &(outrect)->g_x, &(outrect)->g_y, &(outrect)->g_w, &(outrect)->g_h )

#define mt_WindGetGrect app,
win,
mode,
grect   )     mt_WindGet( app, win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
 

#define mt_WindSetGrect app,
win,
mode,
grect   )     mt_WindSet( app, win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
 

#define mt_WindXGetGrect app,
win,
mode,
clip,
grect   )     mt_WindXGet( app, win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
 

#define WindCalcGrect mode,
win,
inrect,
outrect   ) 
 

Value:

WindCalc( mode, win, \
                                       (inrect)->g_x, (inrect)->g_y, (inrect)->g_w, (inrect)->g_h, \
                                       &(outrect)->g_x, &(outrect)->g_y, &(outrect)->g_w, &(outrect)->g_h )

#define WindGetGrect win,
mode,
grect   )     WindGet( win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
 

#define WindSetGrect win,
mode,
grect   )     WindSet( win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
 

#define WindXGetGrect app,
win,
mode,
clip,
grect   )     WindXGet( win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
 


Typedef Documentation

typedef struct _window WINDOW
 


Function Documentation

void __CDECL mt_stdWindClear WINDOW win,
short  buff[8],
APPvar app
 

callback function to clear the window content

Parameters:
win window descriptor
buff content of the AES message received
app application descriptor
This callback function invoke mt_WindClear()

By default, mt_WindCreate() binds mt_stdWindClear() to WM_REDRAW event.

WINDOW* mt_WindAttach APPvar app,
int  handle
 

insert an alien window in the WinDom list of windows.

Parameters:
app application descriptor,
handle handle of the window to insert,
Returns:
the window descriptor associated to this window.
mt_WindAttach() allows you to integrate alien windows in the WinDom environnement. The alien window should be created and opened before call of WindAttach(). This function is mainly used to insert window created by an another application inside your application. For example, FselInput() uses it to integrate the MagiC file selector as a window in the application.

The window descriptor returned by mt_WindAttach() set the bit WS_FOREIGN to 1 in win->status field. To remove this window from WinDom environmment, mt_WindClose() then mt_WindDelete() should be called.

Todo:
bind the standard std_cls() and std_dst() events to FOREIGN windows

int mt_WindCalc APPvar app,
int  type,
WINDOW wind,
int  xin,
int  yin,
int  win,
int  hin,
INT16 *  xout,
INT16 *  yout,
INT16 *  wout,
INT16 *  hout
 

convert window workarea in real area and inversly

Parameters:
app application descriptor,
type currently, two values are possible :
  • WC_BORDER : convert work area coodinate in window real coordinates,
  • WC_WORK : inverse operation of WC_BORDER.
wind window descriptor,
xin,yin,win,hin coordinates to convert,
xout,yout,wout,hout converted coordinates,
Returns:
a null value if error.
mt_WindCalc() take into account optional window menu and toolbar. If you want compute the real AES workarea of a window, use mt_wind_calc().

See also:
mt_wind_calc()

void mt_WindClear APPvar app,
WINDOW win
 

clear a window workarea.

Parameters:
app application descriptor,
win window descriptor,
This function draws the window background i.e. a bar (typically with a white color) in the workarea of a window. Color, pattern and style can be parametrised via internal WinDom configuration (see mt_AppSet()).

This is the function invoked by the callback function mt_stdWindClear().

int mt_WindClose APPvar app,
WINDOW win
 

Close a window opened by mt_WindOpen().

Parameters:
app application descriptor,
win window descriptor,
Returns:
0 or a negative code error.
mt_WindClose() closes a window on the screen and replaces the AES wind_close function. As mt_WindOpen() a graphic effect is used if the window status (parameter win->status) WS_GROW bit is set to 1.

For similar raisons explained in the mt_WindOpen() manual, the wind_close() should never be used except in some special case. It is important to remove the window from the internal WinDom opened windows list with the remove_windowlist() function.

See also:
mt_WindOpen().

WINDOW* mt_WindCreate APPvar app,
int  GemAttrib,
int  x,
int  y,
int  w,
int  h
 

Create a window.

Parameters:
app application descriptor,
GemAttrib GEM widget of the window. It is a bitfield of the following values :
  • CLOSER : button to close the window,
  • MOVER : bar to move the window,
  • NAME : the window title (on the mover bar),
  • INFO : the window informative bar (under the mover bar),
  • SIZER : button to resize the window,
  • VSLIDE : vertical slider,
  • UPARROW : up arrow in vertical slider,
  • DNARROW : down arrow in vertical slider,
  • HSLIDE : horizontal slider,
  • RTARROW : right arrow in horizontal slider,
  • LFARROW : left arrow in horizontal slider,
  • FULLER : button to resize in fullscreen the window,
  • SMALLER : button to iconify the window. Available with AES 4.0 or newer. If AES does not support iconification, WinDom emulates it : if user clicks on the CLOSER widget when the shift key is depressed, a WM_ICONIFY event is sent,
  • MENUBAR (xaAES only) : As WinDom can handle its own menubar, this widget could be safely ignored. However, WinDom can leave to system to handle menu.
  • WAT_ALL (WinDom constant) : all widgets (except MENUBAR),
  • WAT_NOINFO (WinDom constant) : all widgets (except MENUBAR and INFO),
  • WAT_FORM (WinDom constant) : widget for a formular (no SIZER and sliders),
  • WAT_MFORM (WinDom constant) : widget for a modal formular (as WAT_FORM without CLOSER).
x,y,w,h maximal size of the window.
Returns:
a pointer to a window descriptor or NULL if an error occurs.
In WinDom, you have to create a window with mt_WindCreate() and not mt_wind_create() (unless you know what you do ...). mt_WindCreate() does not display window at screen. For that, use mt_WindOpen(). mt_WindCreate() performs the following actions :
  • a WINDOW structure is created and inserted in the internal WinDom list (see mt_AddWindows()),
  • the GEM window is created,
  • standard callback functions are bound to the window (using mt_EvntAttach()).

This last point is very important: when a window is created by mt_WindCreate(), this window is ready to live in the WinDom environnement because standard functions handle most of GEM events. Of course, these standard functions are very common and basic and the developper should need to change or remove some of them (for that purpose, see the Event Library).

A useless window should be deleted by calling mt_WindDelete(). However, you probably never use directly this function because standard event function make for you this work.

Event mesages handled by default

  • WM_REDRAW (window area should be refreshed) : handled by WindClear(),
  • WM_CLOSED (window should be closed) : handled by std_cls(),
  • WM_DESTROY (window and data related should be released) : handled by std_dstry(),
  • WM_TOPPED (window should be put in foreground) : handled by std_tpd(),
  • WM_BOTTOMED (window should be put in background) : handled by std_btm(),
  • WM_MOVED (window has moved) : handled by std_mvd(),
  • WM_SIZED (window has been resized) : handled by std_szd(),
  • WM_REPOSED (window has been moved and resized) : handled by std_szd(),
  • WM_FULLED (window resized in fullscreen) : handled by std_fld(),
  • WM_ICONIFY (window should be iconified ) : handled by std_icn(),
  • WM_UNICONIFY (iconified window should be restored) : handled by std_unicn(),
  • WM_ALLICONIFY (all opened windows should be iconified) : std_allicn(),
  • WM_HSLID (horizontal slider has be moved) : handled by std_hsld(),
  • WM_VSLID (vertical slider has be moved) : handled by std_vsld(),
  • WM_ARROWED (slider arrows has be selected) : handled by std_arw(),
  • WA_DNPAGE (one page down) : handled by std_dnpgd(),
  • WA_UPPAGE (one page up) : handled by std_uppgd(),
  • WA_LFPAGE (one page left) : handled by std_lfpgd(),
  • WA_RTPAGE (one page down) : handled by std_rtpgd(),
  • WA_DNLINE (one line down) : handled by std_dnlnd(),
  • WA_UPLINE (one line up) : handled by std_uplnd(),
  • WA_LFLINE (one line left) : handled by std_lflnd(),
  • WA_RTLINE (one line down) : handled by std_rtlnd(),

The WM_BOTTOMED is supported by WinDom for any TOS version. With TOS unsorpting this feature, a window can be 'bottomed', i.e. send to the background, by shift-clicking the mover widget.

See also:
mt_WindOpen(), mt_WindClose(), mt_WindDelete()
Todo:
The window chained list could be used instead of WINDOWLIST.

int mt_WindDelete APPvar app,
WINDOW win
 

Delete a window descriptor created by mt_WindCreate().

Parameters:
app application descriptor,
win window descriptor,
Returns:
0 or a negative code error.
mt_WindDelete() replaces mt_wind_delete(). The window descriptor is removed from the list of windows then deleted.

See also:
mt_WindCreate().

WINDOW* mt_WindFind APPvar app,
int  mode,
  ...
 

Find a window.

Parameters:
app application descriptor,
mode indicates how find the window. Possible values are :
  • WDF_NAME : find a window by name, a string parameter is attented,
  • WDF_INFO: find a window by info string, a string parameter is attented,
  • WDF_ID: find a window by GEM handle, an integer value is attented,
  • WDF_MENU: find a window by its OBJECT menu tree, a pointer is attented,
  • WDF_TOOL: find a window by its OBJECT toolbar tree, a pointer is attented,
  • WDF_DATA: find a window by data (using mt_DataSearch()), a pointer is attented,
... parameter type depend on previous values of mode
Returns:
window descriptor found or NULL otherwise.

int mt_WindGet APPvar app,
WINDOW win,
int  mode,
INT16 *  x,
INT16 *  y,
INT16 *  w,
INT16 *  h
 

Get window attributes.

Parameters:
app application descriptor,
win target window (or NULL in some case),
mode attribute to read,
x,y,w,h meanning depend on value of mode. For detail, read manual of mt_WindSet().
  • WF_FTOOLBAR : unless we use AES4 toolbar, this message is useless with WinDom toolbar system (see mt_WindSet(WF_TOOLBAR)). WinDom redraw itsel the toolbar area. However, for AES4 comptability, mt_WindGet() returns correct values for this mode,
  • WF_NTOOLBAR : same remark than for F_FTOOLBAR.
Returns:
0 or a negative code error.
Use this function instead of mt_wind_get().

See also:
mt_WindSet()

void* mt_WindGetPtr APPvar app,
WINDOW win,
int  mode
 

Get window pointer attribute.

Parameters:
app application descriptor,
win target window (or NULL in some case),
mode attribute to read,
Returns:
mode dependent pointer value (can be NULL).

WINDOW* mt_WindHandle APPvar app,
int  handle
 

Find a window descriptor by its AES handle.

Parameters:
app application descriptor,
handle AES window handle,
Returns:
pointer to the matching WINDOW descriptor or
NULL if descriptor not found.
This function converts a GEM window handle in a WinDom window descriptor. If the window is not found, mt_WindHandle() returns a NULL value (the window does not exist or belongs to an another application). This function is often used to analyse a GEM message or with the AES mt_wind_find() function.

See also:
mt_wind_find(), mt_WindFind()

void mt_WindNew APPvar app  ) 
 

replacement of wind_new() for all AESes

Parameters:
app application descriptor,
This function was never really tested and used.

int mt_WindOpen APPvar app,
WINDOW win,
int  x,
int  y,
int  w,
int  h
 

Open a window at screen.

Parameters:
app Application descriptor,
win window to open,
x,y,w,h position and size of the window on screen.
  • If x=-1, the window will be horizontally centered using GrectCenter().
  • If x=-1, the window will be vertically centered using GrectCenter().
Returns:
0 or a negative code error.
mt_WindOpen() opens a window at screen previously created by mt_WindCreate(). In WinDom environnement, the open_wind() should never be used (except some very special case).

An opened window has the WS_OPEN(!b) bit set to 1 in win->status. If the status WS_GROW(!b) bit is set to 1, a graphic effect should be used (via graf_growbox() function).

A window can have minimum and maximal size : just sets the following variables : win->min_w, win->min_h, win->max_w, win->max_h(!i).

Deprecated:
If a window has to be opened with open_wind() (for a special raison), the window should be registered in the internal WinDow list of opened windows with the add_windowlist() function. It is important for WinDom to have a correct list because the WM_BOTTOMED message is simuled with old TOS version.
See also:
GrectCenter()

int mt_WindSet APPvar app,
WINDOW win,
int  mode,
int  par1,
int  par2,
int  par3,
int  par4
 

set/change window attributes.

Parameters:
app application descriptor,
win window descriptor (or NULL in some case),
mode attribute to change,
par1 
par2 
par3 
par4 meanning of these 4 parameters depend on mode value as explained below. For each mode value listed, we describe meanning of these parameters :
  • WF_NAME, WF_INFO, WF_ICONTITLE : see mt_WindSetStr() function,
  • WF_TOOLBAR, WF_MENU, WF_HILIGHT, WF_COMPONENT : see mt_WindSetPtr() function.
  • WF_WORKXYWH : set the window workspace. Additionnal toolbar and menu are taken into account,
  • WF_TOP : Put the window win in foreground (par1, ..., par4 are not used). Internal WinDom list is updated (for WM_BOTTOM emulation),
  • WF_BOTTOM : Put the window win in background (par1, ..., par4 are not used). This mode is supported by all TOS.
  • WF_BEVENT : Set the window event behaviour. Parameter par1 is a bitfield with the following signification :
    • BEVENT_WORK : a mouse button event on a window workspace creates a MU_BUTTON event instead of a WF_TOP event.
    • BEVENT_MODAL : a window modal is the only window active. Mouse button addressed to other application windows are redirected to the modal window. This mode is a specific WinDom feature.
  • WF_ICONIFY : Iconify window win at position specified by par1, par2, par3, par4. Position is provided by the WM_ICONIFY event. This mode is supported by all TOS.
  • WF_UNICONIFY : Uniconify window win at position specified by par1, par2, par3, par4. Position is provided by the WM_UNICONIFY event. This mode is supported by all TOS.
  • WF_UNICONIFXYWH : Specify a position (par1, par2, par3, par4) for the next window that will be iconified. This mode is supported by all TOS.
  • WF_HSLIDE, WF_VSLIDE, WF_HSLSIZE, WF_VSLSIZE : these mode are deprecated in WinDom. mt_WindSlider() should be used instead of mt_WindSet().
  • WF_VWORK : open (or close) a virtual VDI workstation for this window. par1 = 1 is used to open a virtual workstation (if a virtual workstation was not already opened for this window), and par1 = 0 is used to close the virtual workstation. Other parameters and values are reserved.
  • other values of mode make direct use of mt_wind_set() and have not specific signification in WinDom.
Returns:
O or a negative error code.
This function is to be always used instead of mt_wind_set() as it is a way WinDom tracks window settings. Some mode needs non integer parameters (e.g. WF_NAME, WF_MENU, ...). In this case, you can use mt_WindSetStr() or mt_WindSetPtr() as specified in the previous list. Many modes don't need to be set in a WinDom program because standard callback functions do it for you.

See also:
mt_WindSetStr(), mt_WindSetPtr(), mt_WindGet(), mt_WindSlider().

int mt_WindSetPtr APPvar app,
WINDOW win,
int  mode,
void *  par1,
void *  par2
 

set/change window pointer attributes

Parameters:
app application descriptor,
win window descriptor,
mode attribute to change,
par1,par2 meanning depend on mode value as described below :
  • WF_TOOLBAR, add a toolbar in a window. This mode is supported by all TOS. Toolbar will be displayed horizontally if its width is longer than its height and vertically otherwise. par1 design the pointer to the toolbar object tree and par2 design the callback function handling user selection in toolbar (can be NULL).
  • WF_MENU, add a menu in a window. This mode is supported by all TOS. par1 designs the pointer to the menu object tree and par2 designs the callback function handling user selection in menu (can be NULL).
  • WF_HILIGHT, if the window (or the application desktop if parameter win is NULL), a callback function can be defined and call when a menu item is hilighted or unhilighted. par1 designs the callback function address. menu items. An hilight callback function have the following prototype :
    void (*hilight)( APPvar *app, WINDOW *win, int title, int item);
    // title is the menu title object index visited
    // item is the menu item object index visited.
    
  • WF_COMPONENT, attach a COMPONENT to a work area of the window. par1 pointer to the COMPONENT instance and par2 reserved (must be NULL).
Returns:
O or a negative error code.
This function is used when window attributes are pointers.

See also:
mt_WindSet()

int mt_WindSetStr APPvar app,
WINDOW win,
int  mode,
char *  str
 

set/change window string attributes

Parameters:
app application descriptor,
win window descriptor,
mode attribute to change,
str a pointer to a permanent string. Meanning of this parameter depend on mode value as explained below :
  • WF_NAME, set the window title.
  • WF_INFO, set the window informative string.
  • WF_ICONTITLE, set the iconfiued window title.
  • other mode : see mt_WindSet()
Returns:
O or a negative error code.
This function is used when window attribute is a string.

See also:
mt_WindSet()

void mt_WindSlider APPvar app,
WINDOW win,
int  mode
 

Adjust window sliders according to the internal WinDom slider system.

Parameters:
app Application descriptor,
win window descriptor,
mode slider to update :
  • HSLIDER : update horizontal slider,
  • VSLIDER : update vertical slider,
WindSlider() updates the size and position of horizontal and vertical sliders according on value of the following variables : win->xpos, win->ypos, win->xpos_max, win->ypos_max, win->h_u, win->w_u . We recall signification of these variables :
  • win->xpos : horizontal relative position of data in the window workaera,
  • win->ypos : vertical relative position of data in the window workaera,
  • win->xpos_max : maximal possible value for win->xpos (0 <= xpos < xpos_max)
  • win->ypos_max : maximal possible value for win->ypos (0 <= ypos < ypos_max)
  • win->w_u : horizontal scrolling unit (in pixel) when a horizontal line scroll occurs,
  • win->h_u : vertical scrolling unit (in pixel) when a vertical line scroll occurs,

Unlike WinDom, AES slider positions are between 0 and 1000. With WinDom, values are between 0 and sizeof(int)=2^32 with Gcc or 2^16 with Pure C.

Example

Let's give a typical example. We want display an ASCII text in a window. In this context, the variable win->ypos is exactly the index of the first line displayed in the window and the variable win->xpos is the first column displayed in the window (we suppose we use a non proportional font to display the text). So the variable win->ypos_max represents the number of lines of the text and the variable win->xpos_max should be the size of the largest line or a fixed number like 255, to have it easier. The variable win->h_u represents the height of a character cell and the variable win->w_u is the width of a character cell. When the window is opened, variables win->xpos and win->ypos should be zero. The following figure pictures this situation :

(0,0)                              xpos_max
     ----------------Text------------------
     |                                    | <- Top of the text.
     |       ======= Window =======       |
     |Hello g|uy. Nice to meet you|<-ypos |
     |       |       _            |       |
     |       |      |c| <- h_u    |       |
     |       |       ^---- w_h    |       |
     |       |                    |       |
     |       ----------------------       |
     | xpos---^                           |
     |                                    |
  .->|                                    | <- Botton of the text
  |  --------------------------------------
 ypos_max 

These variables are set then the window created. Then, the function mt_WindSlider() sets the size and position of the sliders according to the variables previously described. Usually, the function mt_WindSlider() is used when you change the value of a slider variable. In other cases, event standard functions update slider position and call mt_WindSlider().

Todo:
In order to mask information, one could access internal slider variables via WindSet()/WindGet(). One can use the SLIDER library functions too. Inversly WindSet(WF_(H|V)(SLSIZE|SLIDE)) should act on internal WinDom slider values.

void mt_WindTop APPvar app,
WINDOW win
 

Put a window in foreground.

Parameters:
app application descriptor,
win window descriptor
mt_WindTop() puts in foreground (tops) a window. If needed :
  • an iconified window will be uniconified,
  • a closed window will be opened (with its previous geometry and position).

int mt_WindXGet APPvar app,
WINDOW win,
int  mode,
GRECT *  clip,
INT16 *  x,
INT16 *  y,
INT16 *  w,
INT16 *  h
 

Get window attributes.

Parameters:
app application descriptor,
win target window (or NULL in some case),
mode attribute to read,
clip rectagle to optimize the result,
x,y,w,h meanning depend on value of mode. For detail, read manual of mt_WindSet().
  • WF_FTOOLBAR : unless we use AES4 toolbar, this message is useless with WinDom toolbar system (see mt_WindSet(WF_TOOLBAR)). WinDom redraw itsel the toolbar area. However, for AES4 comptability, mt_WindGet() returns correct values for this mode,
  • WF_NTOOLBAR : same remark than for F_FTOOLBAR.
Returns:
0 or a negative code error.
Use this function instead of mt_wind_get().

See also:
mt_WindSet()

void __CDECL stdWindClear WINDOW win,
short  buff[8]
 

See mt_stdWindClear().

WINDOW* WindFind int  mode,
  ...
 

see mt_WindFind()


Generated on Thu Jun 22 11:45:29 2006 for WinDom by  doxygen 1.4.6