Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## widget-value-equal

Arguments: value1 value2

This function is used as the initial value for the on-change-test property of a dialog-item. When the two values are both strings, then the result of calling string= on the two values is returned; otherwise the result of calling eql on the values is returned. This special function is provided in order to match string values properly (so strings with identical characters will be considered the same), but without inefficiently recursing into deep trees or other complex widget values needlessly, as equal (which does consider strings with identical characters the same) might do.

This is a generic function, and could be extended with additional methods. For example, if an application often uses RGB color objects as widget values (see make-rgb), then the following method could be added to cause equivalent RGB widget values to always match, without changing the on-change-test property of every widget that might hold RGB's. (eql will always return `nil` for two RGB objects.)

    (defmethod widget-value-equal ((value1 rgb)(value2 rgb))
      (rgb-equal value1 value2))

Since the on-change-test property is designed to use basic functions like equal that take only two arguments to be compared, there is no dialog-item argument to specialize on and, as a result, this generic function cannot be specialized on particular dialog-item subclasses.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version