All Manuals > CLIM 2.0 User Guide > 6 Presentation Types

6.6 Functions That Operate on CLIM Presentation Types

These are some general-purpose functions that operate on CLIM presentation types.

describe-presentation-type Function

describe-presentation-type type &optional stream plural-count

Summary: Describes the presentation type type on the stream, which defaults to *standard-output*. If stream is nil, a string containing the description is returned. plural-count is either nil (that is, the description should be the singular form of the name), t (meaning that the description should the plural form of the name), or an integer greater than zero (the number of items to be described). The default is 1.

type can be a presentation type abbreviation.

presentation-type-name Function

presentation-type-name type

Summary: Returns the presentation type name of the presentation type specifier type. This function is provided as a convenience. It could be implemented as follows:

(defun presentation-type-name (type) 
  (with-presentation-type-decoded (name) type name)) 

presentation-type-parameters Function

presentation-type-parameters type-name &optional env

Summary: Returns a lambda-list of the parameters specified when the presentation type or presentation type abbreviation whose name is type-name was defined. type-name is a symbol or a class. env is a macro-expansion environment, as in find-class.

presentation-type-options Function

presentation-type-options type-name &optional env

Summary: Returns the list of options specified when the presentation type or presentation type abbreviation whose name is type-name was defined. This does not include the standard options unless the presentation-type definition mentioned them explicitly. type-name is a symbol or a class. env is a macro-expansion environment, as in find-class.

presentation-typep Function

presentation-typep object type

Summary: Returns t if object is of the type specified by type, otherwise returns nil. type may not be a presentation type abbreviation. This is analogous to the Common Lisp typep function.

with-presentation-type-decoded Macro

with-presentation-type-decoded (name-var &optional parameters-var options-var) type &body body

Summary: The specified variables are bound to the components of the presentation type specifier, the forms in body are executed, and the values of the last form are returned. name-var, if non-nil, is bound to the presentation type name. parameters-var, if non-nil, is bound to a list of the parameters. options-var, if non-nil, is bound to a list of the options. When supplied, name-var, parameters-var, and options-var must be symbols.

The name-var, parameters-var, and options-var arguments are not evaluated. body may have zero or more declarations as its first forms.

with-presentation-type-options Macro

with-presentation-type-options (type-name type) &body body

Summary: Variables with the same name as each option in the definition of the presentation type are bound to the option values in type, if present, or else to the defaults specified in the definition of the presentation type. The forms in body are executed in the scope of these variables and the values of the last form are returned.

The value of the form type must be a presentation type specifier whose name is type-name. The type-name and type arguments are not evaluated. body may have zero or more declarations as its first forms.

with-presentation-type-parameters Macro

with-presentation-type-parameters (type-name type) &body body

Summary: Variables with the same name as each parameter in the definition of the presentation type are bound to the parameter values in type, if present, or else to the defaults specified in the definition of the presentation type. The forms in body are executed in the scope of these variables and the values of the last form are returned.

The value of the form type must be a presentation type specifier whose name is type-name. The type-name and type arguments are not evaluated. body may have zero or more declarations as its first forms.

presentation-type-specifier-p Function

presentation-type-specifier-p object

Summary: Returns t if object is a valid presentation type specifier; otherwise, it returns nil.

presentation-type-of Function

presentation-type-of object

Summary: Returns a presentation type of which object is a member, in particular the most specific presentation type that can be conveniently computed and is likely to be useful to the programmer. This is often the class name of the class of the object.

presentation-type-of returns an expression when possible and t otherwise.

This is analogous to the Common Lisp type-of function.

presentation-subtypep Function

presentation-subtypep type putative-supertype

Summary: Answers the question "is the type specified by the presentation type specifier type a subtype of the type specified by the presentation type specifier putative-supertype?" presentation-subtypep returns two values, subtypep and known-p. When known-p is t, subtypep can be either t (meaning that type is definitely a subtype of putative-supertype) or nil (meaning that type is definitely not a subtype of putative-supertype). When known-p is nil, then subtypep must also be nil; this means that the answer cannot reliably be determined.

type may not be a presentation type abbreviation.

This is analogous to the Common Lisp subtypep function.

map-over-presentation-type-supertypes Function

map-over-presentation-type-supertypes function type

Summary: Calls the function function on the presentation type specifier type and each of its supertypes. function is called with two arguments, the name of a type and a presentation type specifier for that type with the parameters and options filled in. function has dynamic extent; its two arguments are permitted to have dynamic extent. The traversal of the type lattice is done in the order specified by the CLOS class precedence rules, and visits each type in the lattice exactly once.

presentation-type-direct-supertypes Function

presentation-type-direct-supertypes type

Summary: Returns a sequence of the names of all the presentation types that are direct supertypes of the presentation type specifier type, or nil if type has no supertypes. The consequences of modifying the returned sequence are unspecified.

find-presentation-type-class Function

find-presentation-type-class name &optional (errorp t) environment

Summary: Returns the class corresponding to the presentation type named name, which must be a symbol or a class object. errorp and environment are as for find-class.

class-presentation-type-name Function

class-presentation-type-name class &optional environment

Summary: Returns the presentation type name corresponding to the class class. This is the inverse of find-presentation-type-class. environment is as for find-class.

default-describe-presentation-type Function

default-describe-presentation-type description stream plural-count

Summary: Performs the default actions for describe-presentation-type, notably pluralization and prepending an indefinite article if appropriate. description is a string or a symbol, typically the :description presentation type option or the :description option to define-presentation-type. plural-count is as for describe-presentation-type.

make-presentation-type-specifier Function

make-presentation-type-specifier type-name-and-parameters &rest options

Summary: A convenient way to assemble a presentation type specifier with only non-default options included. For a full description of this function, see the end of 7.2.1 Presentation Methods in CLIM.


CLIM 2.0 User Guide - 01 Dec 2021 19:38:57