All Manuals > CAPI User Guide and Reference Manual > 21 CAPI Reference Entries

top-level-interface-geometry-key Generic Function


Determines where the geometry of an interface is saved.




top-level-interface-geometry-key interface => key, product-name

A top level interface.
A symbol.
A symbol, a string or a list of strings.

The generic function top-level-interface-geometry-key returns as multiple values a key and a product name, which determine where the geometry of interface is saved. The saved geometry is used when displaying a future instance.

The supplied method on interface returns the class name of interface as key, and nil as product-name. You can define methods for your interfaces and products.

key must be a symbol.

product-name is used to derive the product-registry-path.

product-name can be a symbol which was previously defined to have a registry path by (setf sys:product-registry-path).

product-name can alternatively be a string, which is taken directly as product-registry-path.

product-name can alternatively be a list of strings, denoting multiple path components. These are concatenated together with the appropriate separator for the platform to give product-registry-path.

The geometry of interface is saved at the path which is constructed by concatenating (with appropriate separators) these values:

(symbol-package #KEY)
(symbol-name #KEY)

where user-path is the registry branch HKEY_CURRENT_USER on Microsoft Windows and the home directory on other platforms.

Note: for your interface classes for which you want the geometry to be saved, define a method on top-level-interface-save-geometry-p.

Note: in an image delivered at delivery level 5, symbol names are removed by default. This breaks the saved geometry mechanism as the registry path is constructed using symbol-name. To make this work in a level 5 delivered image, explicitly keep the symbol key. See the Delivery User Guide for details.

See also

11.6 Querying and modifying interface geometry

CAPI User Guide and Reference Manual (Macintosh version) - 01 Dec 2021 19:31:27