Class TLcyViewshedGUIFactory
Each GUI element can be replaced by overriding the respective create* method to return a custom
element for the respective GUI ID.
For example, to change the functionality of the layer update action, override the createAction(int, com.luciad.lucy.util.properties.ALcyProperties)
method
to return a custom action for the UPDATE_LAYER_ACTION
ID.
Similarly, one can override the createGUIContent method to produce a customized layout for the GUI elements.
- Since:
- 11.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The id for creating the action panel.static final int
Part ofACTION_PANEL
that shows the auto-update component.static final int
Part ofACTION_PANEL
that shows the create layer button.static final int
Part ofACTION_PANEL
that shows the update layer button.static final int
The id of the component that contains a list of area bounds used in the viewshed calculationsstatic final int
The id for the panel that contains the viewshed area list.static final int
The id for creating the action that creates a new layer.static final int
The id for the options panel.static final int
The id for creating the style panel.static final int
The id of the color map component used by the viewshed.static final int
The id of the component that displays a label for thestatic final int
The id of the component that represents a slider to adjust the terrain sampling quality.static final int
The id for creating the action the updates the active layer.static final int
The id of the component that is used to determine a fixed height offset to sample the viewshed raster on.static final int
The id of the component that contains a list of settings for the currently selected eyepoint, such as altitude type, start arc, arc length, location and so on...static final int
The id for creating the viewshed settings panel.static final int
The id of the component that contains a list of eyepoints used in the viewshed calculations. -
Constructor Summary
ConstructorDescriptionTLcyViewshedGUIFactory
(ILcyLucyEnv aLucyEnv) Default constructor that builds all actions, component and panels. -
Method Summary
Modifier and TypeMethodDescriptionprotected ILcdAction
createAction
(int aID, ALcyProperties aProperties) Creates anILcdAction
for the given ID.protected ILcyActiveSettable
createActiveSettable
(int aActiveSettableID, ALcyProperties aProperties) Creates anILcyActiveSettable
for the given ID.protected Component
createComponent
(int aID, ALcyProperties aProperties) Creates a widget for the given ID.protected Component
createGUIContent
(ALcyProperties aProperties) Retrieves all panels and lays them out in ajava.awt.Component
.protected Component
createPanel
(int aID, ALcyProperties aProperties) Creates a panel for the given ID.Methods inherited from class com.luciad.lucy.gui.ALcyGUIFactory
cleanup, createGUI, getAction, getActionContext, getActionIDs, getActiveSettable, getActiveSettableContext, getActiveSettableIDs, getComponent, getComponentIDs, getLucyEnv, getPanel, getPanelIDs, isActiveSettableDeactivatePossible, setup
-
Field Details
-
CREATE_LAYER_ACTION
public static final int CREATE_LAYER_ACTIONThe id for creating the action that creates a new layer.- See Also:
-
UPDATE_LAYER_ACTION
public static final int UPDATE_LAYER_ACTIONThe id for creating the action the updates the active layer.- See Also:
-
VIEWSHED_SETTINGS_PANEL
public static final int VIEWSHED_SETTINGS_PANELThe id for creating the viewshed settings panel. It allows to choose the viewshed settings.- See Also:
-
STYLE_PANEL
public static final int STYLE_PANELThe id for creating the style panel. It allows to choose the style settings.- See Also:
-
ACTION_PANEL
public static final int ACTION_PANELThe id for creating the action panel. It shows the action components.- See Also:
-
OPTIONS_PANEL
public static final int OPTIONS_PANELThe id for the options panel. It shows the terrain sampling quality slider and the target offset height.- See Also:
-
AREA_BOUNDS_LIST_PANEL
public static final int AREA_BOUNDS_LIST_PANELThe id for the panel that contains the viewshed area list.- See Also:
-
VIEWSHED_SETTINGS_PANEL_EYEPOINT_LIST_COMPONENT
public static final int VIEWSHED_SETTINGS_PANEL_EYEPOINT_LIST_COMPONENTThe id of the component that contains a list of eyepoints used in the viewshed calculations.- See Also:
-
AREA_BOUNDS_LIST_COMPONENT
public static final int AREA_BOUNDS_LIST_COMPONENTThe id of the component that contains a list of area bounds used in the viewshed calculations- See Also:
-
VIEWSHED_PANEL_SETTINGS_COMPONENT
public static final int VIEWSHED_PANEL_SETTINGS_COMPONENTThe id of the component that contains a list of settings for the currently selected eyepoint, such as altitude type, start arc, arc length, location and so on...- See Also:
-
STYLE_PANEL_COLOR_MAP_COMPONENT
public static final int STYLE_PANEL_COLOR_MAP_COMPONENTThe id of the color map component used by the viewshed.- See Also:
-
ACTION_PANEL_CREATE_LAYER_COMPONENT
public static final int ACTION_PANEL_CREATE_LAYER_COMPONENTPart ofACTION_PANEL
that shows the create layer button. It uses theCREATE_LAYER_ACTION
to create that button.- See Also:
-
ACTION_PANEL_UPDATE_LAYER_COMPONENT
public static final int ACTION_PANEL_UPDATE_LAYER_COMPONENTPart ofACTION_PANEL
that shows the update layer button. It uses theUPDATE_LAYER_ACTION
to create that button.- See Also:
-
ACTION_PANEL_AUTO_UPDATE_COMPONENT
public static final int ACTION_PANEL_AUTO_UPDATE_COMPONENTPart ofACTION_PANEL
that shows the auto-update component. It uses theUPDATE_LAYER_ACTION
to create that component.- See Also:
-
TERRAIN_CURRENT_QUALITY_COMPONENT
public static final int TERRAIN_CURRENT_QUALITY_COMPONENTThe id of the component that displays a label for the- See Also:
-
TERRAIN_QUALITY_COMPONENT
public static final int TERRAIN_QUALITY_COMPONENTThe id of the component that represents a slider to adjust the terrain sampling quality.- See Also:
-
VIEWSHED_FIXED_HEIGHT_OFFSET_COMPONENT
public static final int VIEWSHED_FIXED_HEIGHT_OFFSET_COMPONENTThe id of the component that is used to determine a fixed height offset to sample the viewshed raster on.- See Also:
-
-
Constructor Details
-
TLcyViewshedGUIFactory
Default constructor that builds all actions, component and panels.- Parameters:
aLucyEnv
- the Lucy environment in which the GUI will be built
-
-
Method Details
-
createGUIContent
Retrieves all panels and lays them out in a
java.awt.Component
. Therefore, this method usesALcyGUIFactory.getPanel(int)
with all ID's that end inPANEL
, and lays out those components in for example ajavax.swing.JPanel
.This function should be overridden when the global layout of the panel needs to be changed, for example when the main panels need to be rearranged, or when a new panel needs to be added.
An example implementation could be:
public Component createGUIContent( ALcyProperties aProperties ) { JPanel content = new JPanel( new BorderLayout() ); Component somePanel = getPanel( SOME_PANEL ); if ( somePanel != null ) content.add( somePanel, BorderLayout.NORTH ); Component otherPanel = getPanel( OTHER_PANEL ); if ( otherPanel != null ) content.add( otherPanel, BorderLayout.CENTER ); return content; }
- Specified by:
createGUIContent
in classALcyGUIFactory<Component>
- Parameters:
aProperties
- properties that define the default preferences and values of the GUI elements. The properties are also changed by the GUI elements, according to the property names defined inTLcyViewshedAddOn
.- Returns:
- the component containing all panels, layed out appropriately.
-
createAction
Description copied from class:ALcyGUIFactory
Creates an
ILcdAction
for the given ID.Note: if the action should be inserted in the configured action bars, the ID_KEY of the returned action must be set (see
TLcyActionBarUtil.ID_KEY
).- Specified by:
createAction
in classALcyGUIFactory<Component>
- Parameters:
aID
- the ID describing which action to create. This is normally a constant that ends withACTION
.aProperties
- a properties object that can be used to tune the behavior of this factory.- Returns:
- the newly created
ILcdAction
, ornull
. - See Also:
-
createActiveSettable
protected ILcyActiveSettable createActiveSettable(int aActiveSettableID, ALcyProperties aProperties) Description copied from class:ALcyGUIFactory
Creates an
ILcyActiveSettable
for the given ID.Note: if the active settable should be inserted in the configured action bars, the ID_KEY of the returned active settable must be set (see
TLcyActionBarUtil.ID_KEY
).- Specified by:
createActiveSettable
in classALcyGUIFactory<Component>
- Parameters:
aActiveSettableID
- the ID describing which active settable to create. This is normally a constant that ends withACTIVE_SETTABLE
.aProperties
- a properties object that can be used to tune the behavior of this factory.- Returns:
- the newly created
ILcyActiveSettable
, ornull
.
-
createComponent
Description copied from class:ALcyGUIFactory
Creates a widget for the given ID. It is safe to use the
ALcyGUIFactory.getAction(int)
andALcyGUIFactory.getActiveSettable(int)
methods in this method, to build widgets that use an action or active settable.These widgets might interact with the given properties object, to retrieve or store some state. Such a widget could for example be a check box whose 'selected' state is synchronized with some property.
- Specified by:
createComponent
in classALcyGUIFactory<Component>
- Parameters:
aID
- the ID describing which component to create. This is normally a constant that ends withCOMPONENT
.aProperties
- a properties object that can be used to tune the behavior of this factory. state.- Returns:
- the newly created
java.awt.Component
, or null.
-
createPanel
Description copied from class:ALcyGUIFactory
Creates a panel for the given ID. It is safe to use
ALcyGUIFactory.getComponent(int)
in this method, to build panels that are composed of components.An example implementation could be:
protected Component createPanel( int aPanelID, ALcyProperties aProperties ) { if ( aPanelID == SOME_PANEL ) { JPanel content = new JPanel( new BorderLayout() ); Component someComponent = getComponent( SOME_COMPONENT ); if ( someComponent != null ) content.add( someComponent, BorderLayout.NORTH ); Component otherComponent = getComponent( OTHER_COMPONENT ); if ( otherComponent != null ) content.add( otherComponent, BorderLayout.CENTER ); return content; } else if ( aPanelID == ... ) { ... } }
- Specified by:
createPanel
in classALcyGUIFactory<Component>
- Parameters:
aID
- the ID describing which panel to create. This is normally a constant that ends withPANEL
.aProperties
- a properties object that can be used to tune the behavior of this factory.- Returns:
- the newly created
java.awt.Component
, or null.
-