Class TLcyModelCustomizerAddOn

java.lang.Object
com.luciad.lucy.addons.ALcyAddOn
com.luciad.lucy.addons.ALcyPreferencesAddOn
com.luciad.lucy.addons.modelcustomizer.TLcyModelCustomizerAddOn

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 the 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 TLcyModelContext that 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 for every 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 supported.

Since:
11.0