Community
Participate
Working Groups
There is a need for dynamic property descriptors. Right now, property descriptor is asked to provide a cell editor. This editor is cached and reused (method 'getCellEditor' is called only once). This is appropriate for static cases. However, some properties may change nature depending on other properties' values. Example: PDE XML Schema editor exposes attribute properties through the property sheet. Attribute 'type' is a set of choices (string, boolean, etc.). There can also be a restriction on a base type (for example, base type 'string' can be restricted with a list of choices - an enumeration). Depending on values of properties 'type' and 'restriction', property 'value' needs to use different cell editors. For a 'boolean' type, default value can only be 'true' or 'false'. For a 'string' type, it should be a text cell editor. However, if there is an enumeration restriction on the 'string' type, 'value' cell editor should be a combo box containing only the list of choices defined on the restriction. Right now, I am using text cell editor and trying to catch restriction violation using cell validator. However, this is against the good UI design practice to dissalow users to enter invalid input in the first place, rather than punish them later. This would be easy to implement if 'getCellEditor' on the property descriptor would be called each time. The implementation of the desciptor can choose to cache the editor, or create a new widget every time. The key is to provide an API on IPropertyDescriptor interface to indicate that cell editor should not be cached by the property sheet entry (IPropertyDescriptor.setDynamic(boolean)/isDynamic() seem like a sensible choice). If the returned value is true, cell editor would not be cached. The default return value would be 'false', indicating behaviour as today. NOTES:
Deferring until development resources become available to consider this enhancement.
Reopened for investigation
We will not complain if you defer this to 2.2
is this still of interest?
Reassigning bugs in component areas that are changing ownership.
Cleaning up defect lists by setting ones without recent traffic to 'REMIND'.
As of now 'LATER' and 'REMIND' resolutions are no longer supported. Please reopen this bug if it is still valid for you.