Index: doc/Object.man =================================================================== diff -u -r28458dc55de6b9134e16623722f3fd5f2c109caf -r98bfbbfaad78cab360b8db446ad40613c6d421aa --- doc/Object.man (.../Object.man) (revision 28458dc55de6b9134e16623722f3fd5f2c109caf) +++ doc/Object.man (.../Object.man) (revision 98bfbbfaad78cab360b8db446ad40613c6d421aa) @@ -333,7 +333,14 @@ [list_end] +[cmd_def filter] +[list_begin definitions] + +[include filter.man.inc] + +[list_end] + [cmd_def forward] [list_begin definitions] @@ -400,112 +407,99 @@ [call [arg obj] [method {info info}]] Lists the available [term "submethod"]s of the [method info] [term "method ensemble"]. -[call [arg obj] [method {info lookup configure parameters}] ...] -[para] Description of [method {info lookup configure parameters}] ... +[call [arg obj] [method "info lookup"] [arg submethod] [opt "[arg arg] ..."]] +A collection of submethods to retrieve structural features (e.g., +configuration options, [term "slot object"]s) and behavioral +features (e.g., methods, [term "filter"]s) available for [arg obj] from the perspective of a client to [arg obj]. Features provided by [arg obj] itself and by the classes in its current linearisation list are considered. -[call [arg obj] [method {info lookup configure syntax}] ...] -[para] Description of [method {info lookup configure syntax}] ... +[list_begin definitions] +[def "[arg obj] [method {info lookup configure parameters}] [opt [arg namePattern]]"] +Returns all configuration options available for [arg obj] as a list of +method-parameter definitions. They can be used, for example, to +define a custom method refinement for [method configure]. The returned +configuration options can be limited to those whose names match [arg pattern] +(see [cmd "string match"]). -[call [arg obj] [method {info lookup filter}] ...] -[para] Description of [method {info lookup filter}] ... +[def "[arg obj] [method {info lookup configure syntax}]"] -[call [arg obj] [method {info lookup method}] ...] -[para] Description of [method {info lookup method}] ... +Returns all configuration options available for [arg obj] as a +concrete-syntax description to be used in human-understandable +messages (e.g., errors or warnings, documentation strings). -[call [arg obj] [method {info lookup methods}] ...] -[para] Description of [method {info lookup methods}] ... +[def "[arg obj] [method "info lookup filter"] [arg name]"] -[call [arg obj] [method {info lookup slots}] ...] -[para] Description of [method {info lookup slots}] ... +Returns the [term "method handle"] for the [term "filter"] method [arg name], if +currently registered. If there is no filter [arg name] registered, an +empty string is returned. -[call [arg obj] [method {info lookup variables}] ...] -[para] Description of [method {info lookup variables}] ... +[def "[arg obj] [method "info lookup filters"] [option -guards] [opt [arg namePattern]]"] -[call [arg obj] [method {info name}]] +Returns the [term "method handle"]s of all filters which are active on [arg obj]. By +turning on the [term switch] [option -guards], the corresponding guard +expressions, if any, are also reported for each filter as a three-element list: [arg methodHandle] -guard [arg guardExpr]. The returned filters can be limited to +those whose names match [arg namePattern] (see [cmd "string match"]). -Returns the unqualified name of an object, i.e., the object name -without any namespace qualifiers. +[def "[arg obj] [method "info lookup method"] [arg name]"] -[call [arg obj] [method {info object filter guard}] ...] -[para] Description of [method {info object filter guard}] ... +Returns the [term "method handle"] for a method [arg name] if a +so-named method can be invoked on [arg obj]. If there is no method +[arg name], an empty string is returned. -[call [arg obj] [method {info object filter methods}] ...] -[para] Description of [method {info object filter methods}] ... +[def "[arg obj] [method "info lookup methods"] [opt [arg namePattern]]"] -[call [arg obj] [method {info object method args}] ...] -[para] Description of [method {info object method args}] ... +Returns the names of all methods (including aliases and forwarders) +which can be invoked on [arg obj]. The returned methods can be limited +to those whose names match [arg namePattern] (see [cmd "string match"]). -[call [arg obj] [method {info object method body}] ...] -[para] Description of [method {info object method body}] ... +[def "[arg obj] [method "info lookup mixins"] [option -guards] [opt [arg namePattern]]"] -[call [arg obj] [method {info object method definition}] ...] -[para] Description of [method {info object method definition}] ... +Returns the object names of all [term "mixin class"]es which are +currently active on [arg obj]. By turning on the [term switch] [option -guards], the corresponding guard expressions, if any, are also reported as a +three-element list for each [term "mixin class"]: [arg className] +-guard [arg guardExpr]. The returned [term "mixin class"]es can be +limited to those whose names match [arg namePattern] (see [cmd "string match"]). -[call [arg obj] [method {info object method definitionhandle}] ...] -[para] Description of [method {info object method definitionhandle}] ... +[def "[arg obj] [method "info lookup slots"] [opt "[option "-type"] [arg className]"] [opt "[option "-source"] all | application | system"] [opt [arg namePattern]]"] -[call [arg obj] [method {info object method exists}] ...] -[para] Description of [method {info object method exists}] ... +Returns the command names of all [term "slot object"]s responsible for +managing properties, variables, and relations of [arg obj]. The +returned [term "slot object"]s can be limited according to any or a +combination of the following criteria: First, [term "slot object"]s +can be filtered based on their command names matching [arg namePattern] (see [cmd "string +match"]). Second, [option "-type"] allows to select +[term "slot object"]s which are instantiated from a subclass [arg className] of [cmd nx::Slot] (default: [cmd nx::Slot]) . Third, [option -source] restricts [term "slot object"]s returned according to their provenance in either the NX [emph system] classes or the [emph application] classes present in the linearisation list of [arg obj] (default: [emph all]). -[call [arg obj] [method {info object method handle}] ...] -[para] Description of [method {info object method handle}] ... +[para] -[call [arg obj] [method {info object method origin}] ...] -[para] Description of [method {info object method origin}] ... +To extract details of each [term "slot object"], use the [method info] +submethods available for each [term "slot object"]. -[call [arg obj] [method {info object method parameters}] ...] -[para] Description of [method {info object method parameters}] ... +[def "[arg obj] [method "info lookup variables"]"] -[call [arg obj] [method {info object method postcondition}] ...] -[para] Description of [method {info object method postcondition}] ... +Returns the command names of all [term "slot object"]s responsible for +managing properties and variables of [arg obj], if provided by [arg obj] or the classes in the linearisation list of [arg obj]. -[call [arg obj] [method {info object method precondition}] ...] -[para] Description of [method {info object method precondition}] ... +[para] -[call [arg obj] [method {info object method registrationhandle}] ...] -[para] Description of [method {info object method registrationhandle}] ... +This is equivalent to calling: [arg obj] [method "info lookup slots"] -type ::nx::VariableSlot -source all [opt [arg namePattern]]. -[call [arg obj] [method {info object method returns}] ...] -[para] Description of [method {info object method returns}] ... +[para] -[call [arg obj] [method {info object method submethods}] ...] -[para] Description of [method {info object method submethods}] ... +To extract details of each [term "slot object"], use the [method info] +submethods available for each [term "slot object"]. -[call [arg obj] [method {info object method syntax}] ...] -[para] Description of [method {info object method syntax}] ... -[call [arg obj] [method {info object method type}] ...] -[para] Description of [method {info object method type}] ... +[list_end] -[call [arg obj] [method {info object methods}] ...] -[para] Description of [method {info object methods}] ... +[call [arg obj] [method {info name}]] -[call [arg obj] [method {info object mixin classes}] ...] -[para] Description of [method {info object mixin classes}] ... +Returns the unqualified name of an object, i.e., the object name +without any namespace qualifiers. -[call [arg obj] [method {info object mixin guard}] ...] -[para] Description of [method {info object mixin guard}] ... +[include info.man.inc] -[call [arg obj] [method {info object slots}] ...] -[para] Description of [method {info object slots}] ... - -[call [arg obj] [method {info object variables}] ...] -[para] Description of [method {info object variables}] ... - -[call [arg obj] [method {info parameter default}] ...] -[para] Description of [method {info parameter default}] ... - -[call [arg obj] [method {info parameter name}] ...] -[para] Description of [method {info parameter name}] ... - -[call [arg obj] [method {info parameter syntax}] ...] -[para] Description of [method {info parameter syntax}] ... - -[call [arg obj] [method {info parameter type}] ...] -[para] Description of [method {info parameter type}] ... - [call [arg obj] [method {info parent}]] Returns the fully qualified name of the parent object of [arg obj], if @@ -519,23 +513,28 @@ order of the [term linearisation] scheme in [term NX]. By setting the [term switch] [option -intrinsic], only classes which participate in superclass/subclass relationships (i.e., intrinsic classes) are -returned. If a [arg pattern] is provided, only nested classes whose +returned. If a [arg pattern] is provided only classes whose names match [arg pattern] are returned. The [arg pattern] string can contain special matching characters (see [cmd "string match"]). -[call [arg obj] [method {info variable definition}] ...] -[para] Description of [method {info variable definition}] ... +[call [arg obj] [method {info variable}] [arg option] [arg handle]] -[call [arg obj] [method {info variable name}] ...] -[para] Description of [method {info variable name}] ... +Retrieves selected details about a variable represented by the given +[arg handle]. A [arg handle] can be obtained by querying [arg obj] using +[method "info [vset SCOPE] variables"] and [method "info lookup variables"]. -[call [arg obj] [method {info variable parameter}] ...] -[para] Description of [method {info variable parameter}] ... +Valid values for [arg option] are: +[list_begin itemized] +[item] [const name] returns the variable name. +[item] [const parameter] returns a canonical parameter specification +eligible to (re-)define the given variable (e.g., using [method "[vset SCOPE] variable"]) in a new context. +[item] [const definition] returns a canonical representation of the definition command used to create the variable in its current configuration. +[list_end] [call [arg obj] [method {info vars}] [opt [arg pattern]]] -Yields a list of variable names created and defined for the scope of -[arg obj]. The list can be limited to object variables whose names +Yields a list of Tcl variable names created and defined for the scope of +[arg obj], i.e., object variables. The list can be limited to object variables whose names match [arg pattern]. The [arg pattern] string can contain special matching characters (see [cmd "string match"]). @@ -563,15 +562,6 @@ [list_end] -[cmd_def filter] - -[list_begin definitions] - -[call [arg obj] [method {object filter}] ...] -[para] Description of [method {object filter}] ... -[list_end] - - [cmd_def mixin] [list_begin definitions]