[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.tools] What's the best way to access preferences from a preferences page?
|
There may be two classes of preferences, those that are just data that the
editor, view, or builder goes and gets when it needs it, and those that
effect an editor or view that is already running. In the first case, it
seems like the best approach is to use a FieldEditorPreferencePage to
display, input, validate, and store preferences. To get the values,
subclasses can provide convenience methods that get the preferences store
and query and return the value given its id.
For the second case, the opened editors and/or views need to be notified
of changes that happen so they can update their views accordingly. This
could be done by iterating over the effected editors and views in the
FieldEditorPreferencPage.performOk() method, but this seems like it would
create undesirable coupling. The preference page would have to know how to
update the corresponding viewers. Another possibility is to use the fact
that a FieldEditorPreferencePage is an IPropertyChangeListener so editors
could register interest in property changes that effect their views. The
disadvantage of this approach is that the interest has to be removed when
the editor or view is removed or exceptions will be raised if the
preference page is changed after the viewer is closed.
What is the preferred approach for handling preferences that effect open
viewers?