# Terminology used in PyGUI

## Properties

The term property has a special meaning in the PyGUI documentation. It refers to an attribute having the following special characteristics:

- Access to the property is mediated by a pair of accessor methods. Reading a property called `foo` is implemented by a method called `get_foo`, and assigning to it is implemented by a method called `set_foo`. These methods may be overridden in subclasses.

- An initial value for the property may be supplied in the form of a keyword argument to the class's constructor. These keyword arguments will not normally be listed explicitly in the documentation for the constructor, but you can assume that the names of all the (non-readonly) properties of the class and its superclasses are also acceptable as keyword arguments to its constructor.

- Classes which support properties have a `set()` method which accepts property names as keyword arguments. This can provide a convenient way of setting the values of multiple properties at once.

Some properties are read-only, meaning that they cannot be assigned to or given initial values in the constructor. Some are initialize-only, meaning that they can be given initial values in the constructor but not changed after that. The documentation for each property will make it clear when either of these conditions applies.