Please enable JavaScript to view this site.

ESL Documentation

Object inquiry functions are used to discover a specified object's attributes and position. These functions are:

 

ancestry of

priority of

background at

row delimiter

background of

row grid is visible

border of

row is selected

cell

row size

checked in group

selectability of

column delimiter of

selected columns

column grid is visible

selected line from

column is readonly

selected rows

column is resizeable

text of

column is selected

text size of column

column modifiability

textual

column size of

textual row of

edit key of

top of

edit mode of

type of

exists

bottom of

foreground at

left of

foreground of

right of

format of column

type of column

handle of

visibility of

heading of column

width of column

helpid of

window xposition of

is checked

window yposition of

is enabled

window xsize [of]

is maximized

window ysize [of]

is minimized

xcursor of

is readonly

ycursor of

is resizeable

xmiddle of

is restored

ymiddle of

is visible

xposition

line size of

yposition

name of column

xsize of

parameter of

ysize of

position of column

 

 

The functions that return integers can be used as operands in arithmetic expressions, or can be compared to integer values in relational expressions. The functions that return strings can be used anywhere a string value is expected.

 

Be sure to define an object's position (and ancestry, if there is any) before you apply any object inquiry function to that object. If you have a response that deletes a parent object, you cannot reference any of its children, because when a parent is deleted, so are its children. Therefore, if you try to reference any of the inquiry functions for those deleted children, you will receive an error message. (Chapter 2 describes the ancestry attribute.)

 

The object inquiry functions xsize, ysize, line size of, and column size of require internal calculations that are not made until runtime, and therefore cannot be included in object definitions. For example, the following statements would return incorrect results at compile time, because xsize and ysize, which calculate the coordinates of the region News, are in an object definition:

 

textual region News window size 10 columns 10 lines

    at position 100 200

 

green graphical region RegionA

    size (xsize of News) (ysize of News) ...# WRONG 

 

To include a function in the definition of an object, create the object in an add statement (executed at runtime), such as:

 

textual region News window size 10 columns 10 lines

    at position 100 200

 

response to start

    add region

        RegionA size (xsize of News) (ysize of News) ... 

 

For those object inquiry functions listed above that are followed by the optional keyword [of], you can omit the object name when the function is specified in a drawing statement. In this case, the object defaults to the current object. For example:

 

add to Logo

    move to top # equivalent to "top of Logo"

    ...

or:

add region Logo ...

    move to xmiddle    # equivalent to "xmiddle of Logo"

    ...

 

For clarity, always specify the object name for the function, even if the syntax allows you to omit it. For example:

 

add to Logo

    move to top of Logo

    ...