public class TLcyModelCustomizerAddOn extends ALcyPreferencesAddOn
This add-on brings up a UI panel to inspect and edit the properties of a selected model. Typically, this is a tabular representation of the properties of the domain objects in the model. It can be activated by clicking the "File | New | Table View" menu-item. A model is selected if its layer is selected.
This add-on provides an
ILcyApplicationPane (the UI panel) and the logic to decide for which
ILcdModel a user interface should be shown. The actual content that is shown for a certain model is an
ILcyCustomizerPanel, created by its respective factory.
Those factories are not provided by this add-on. They might be provided by the various data format add-ons, but
usually they don't do it either. Instead, most data formats rely on
TLcyToteAddOn which provides a generic UI that can deal with many models with vector data.
It tries to create such an
ILcyCustomizerPanel by iterating over all registered
ILcyCustomizerPanelFactory objects with a
contains the model, layer and view in which the model is contained. In case of multiple
selection, an array of
TLcyModelContext instances is used. When no customizer can be
found for the
TLcyModelContext, the add-on will try to create customizer panels
TLcyModelContext instance. This add-on caches the created
ILcyCustomizerPanel instances so they can be reused when the layer selection
changes. This cache uses
SoftReference to prevent memory issues.
The menu-items and the location of the
ILcyApplicationPane can be configured in
the configuration file of this add-on.
Next to that, this add-on allows to drag a layer from the layer control to an (empty) area in order to show the table. It does so by registering a DropTargetListener. Finally, this ad-don also adds workspace support for the application panes it creates.
Note: The deprecated
ILcyModelCustomizerFactory instances are still
|Constructor and Description|
|Modifier and Type||Method and Description|
Creates and plugs in the add-on's preferences tool.
Unplugs the add-on's preferences tool.
createPreferencesTool, getLongPrefix, getLucyEnv, getPreferences, getPreferencesTool, getShortPrefix
getConfigSourceName, getDisplayName, setConfigSourceName, setDisplayName
public void plugInto(ILcyLucyEnv aLucyEnv)
public void unplugFrom(ILcyLucyEnv aLucyEnv)