The IDLitComponent::EditUserDefProperty function method defines the interface that is displayed when a user selects the “Edit” button on a user-defined property in the property sheet interface. Typically, this method will display an interactive dialog that allows the user to change the value of the property.

Note: An iTool object class that includes a user-defined property must implement this method if the property is displayed in a property sheet, and if the property is registered and not hidden. If an iTool object class has no user-defined properties that are displayed in a property sheet, there is no need to supply an EditUserDefProperty method.

Result = Obj->[IDLitComponent::]EditUserDefProperty(iTool, PropertyIdentifier)

Return Value

Returns a 1 if the property value was changed, or a 0 if the property value was not changed.

Note: If the return value is 1, the property sheet interface automatically updates the displayed property value using the value of the property’s USERDEF attribute. If the return value is 0, no update takes place.



An object reference to the current iTool object.


A string containing the property identifier of the user-defined property.

Tip: Since there can only be one EditUserDefProperty method for each class, you can use the PropertyIdentifier argument to determine which user-defined property is being edited.




The following is the EditUserDefProperty method of the IDLitOpConvolution operation class. Selecting and editing the Kernel property of this operation displays a dialog that allows the user to edit a convolution kernel.

FUNCTION IDLitopConvolution::EditUserDefProperty, oTool, $
CASE identifier OF
   'KERNEL': RETURN, oTool->DoUIService('ConvolKernel', self)

This method checks the property identifier to determine whether it matches the string 'KERNEL'. If it does, it returns the value returned by the DoUIService method; otherwise it returns zero. In this case, the DoUIService method actually handles the modification of the property value.

Version History