IMcProperties Interface
|
|
A dynamic collection of named properties associated to images and certain
operators.
Namespace:
MediaCy.IQL.Engine
Assembly:
MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
SyntaxPublic Interface IMcProperties
Inherits IEnumerable
The IMcProperties type exposes the following members.
Properties
Methods
RemarksMost objects, including images, have properties built into their
interface. Some also expose an McProperties interface that gives access to named
dynamic properties, or user-properties. User properties are kept in a collection
and can be queried, added, removed, by name or by ID. User properties can be
isolated from other properties of similar name through a NameSpace.
A property notification scheme is exposed to handle property additions and
changes, in a transparent way, whether they are backed by the object manager or
not and regardless of whether they are frame, image or anything else properties.
These notifications are sent using the object manager notification scheme, which
provides all the APIs necessary to handle this in an efficient and generic way.
The notifications can be turned off by setting the mcobjUserFlagDisableNotifies
UserFlag of any McObject. This scheme also provides a way to group notifications
together for a given object if desired.
3 special notify codes are provided in the
MediaCy.IQL.Engine.mcSpecialNotifyCodes enumeration:
mcSpecialNotifyCodes.SNC_NOTIFY_MCPROPERTY_ADDED,
mcSpecialNotifyCodes.SNC_NOTIFY_MCPROPERTY_REMOVED and
mcSpecialNotifyCodes.SNC_NOTIFY_MCPROPERTY_CHANGED. These notifications are sent
when properties are added, removed or modified together with some information
about the context of the event. This information is provided as an array of at
least 3 values in the pvarNotifyData parameter of the SpecialNotify function.
pvarNotifyData(0) is the object owning the property. It currently is either a
McImage or a McFrame. pvarNotifyData(1) is the property namespace, if any. The
"McProperty::" namespace is equivalent to no namespace. pvarNotifyData(3) is the
name of the first property being changed. If more than one property is involved,
the array is bigger and contains more property names.
Note that the Object Manager notification APIs, in addition to allowing
registration for individual objects also handle registration for multiple
notification sources at once using categories or types.
See Also