standard grid properties

The following abbreviations appear thoughout this document:
  p property - grid attribute like border, color, textString, etc
  m message - message : often to get or set a property
  s subroutine - message processing subroutine
  f function - message processing function

For example:
  p align - align property
  m GetAlign - GetAlign message - in code it's #GetAlign
  m SetAlign - SetAlign message - in code it's #SetAlign
  s GetAlign - message processing subroutine: SUB GetAlign
  s SetAlign - message processing subroutine: SUB SetAlign
  f XuiGetAlign() - message processing function: XuiGetAlign()
  f XuiSetAlign() - message processing function: XuiSetAlign()

As this example illustrates, property, message, subroutine, and function names are closely related.

To get / set the align property of a grid, programs send the grid GetAlign / SetAlign messages with XuiSendMessage() .

When the grid function responsible for the grid receives the message, it either ignores the message, calls a message processing function like XuiGetAlign() / XuiSetAlign() , calls a message processing subroutine like SUB GetAlign or SUB SetAlign , or both.

grid property
A grid property is a number, string or array with a name like align , textArray , textString , etc.

standard grid property
A large set of standard grid properties are defined for all grid types. Standard message processing functions of the form XuiGet Property () and XuiSet Property () are built into GuiDesigner to fully or partly process most standard properties.

For example, XuiGetBorder() and XuiSetBorder() get and set the grid border properties. They are the default message processing functions for GetBorder and SetBorder.

custom grid property
Additional grid properties can be defined for accessory grid types. But any grid type that defines a new grid property has to manage the storing and access of the values assigned to these new properties.

There is rarely need for new grid properties, however, since several general purpose grid properties are predefined and can hold strings and arrays for any purpose.