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
FieldsModifier and TypeFieldDescriptionstatic final intThe id for creating the action panel.static final intPart ofACTION_PANELthat shows the auto-update component.static final intPart ofACTION_PANELthat shows the create layer button.static final intPart ofACTION_PANELthat shows the update layer button.static final intThe id of the component that contains a list of area bounds used in the viewshed calculationsstatic final intThe id for the panel that contains the viewshed area list.static final intThe id for creating the action that creates a new layer.static final intThe id for the options panel.static final intThe id for creating the style panel.static final intThe id of the color map component used by the viewshed.static final intThe id of the component that displays a label for thestatic final intThe id of the component that represents a slider to adjust the terrain sampling quality.static final intThe id for creating the action the updates the active layer.static final intThe id of the component that is used to determine a fixed height offset to sample the viewshed raster on.static final intThe 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 intThe id for creating the viewshed settings panel.static final intThe id of the component that contains a list of eyepoints used in the viewshed calculations. -
Constructor Summary
ConstructorsConstructorDescriptionTLcyViewshedGUIFactory(ILcyLucyEnv aLucyEnv) Default constructor that builds all actions, component and panels. -
Method Summary
Modifier and TypeMethodDescriptionprotected ILcdActioncreateAction(int aID, ALcyProperties aProperties) Creates anILcdActionfor the given ID.protected ILcyActiveSettablecreateActiveSettable(int aActiveSettableID, ALcyProperties aProperties) Creates anILcyActiveSettablefor the given ID.protected ComponentcreateComponent(int aID, ALcyProperties aProperties) Creates a widget for the given ID.protected ComponentcreateGUIContent(ALcyProperties aProperties) Retrieves all panels and lays them out in ajava.awt.Component.protected ComponentcreatePanel(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_PANELthat shows the create layer button. It uses theCREATE_LAYER_ACTIONto create that button.- See Also:
-
ACTION_PANEL_UPDATE_LAYER_COMPONENT
public static final int ACTION_PANEL_UPDATE_LAYER_COMPONENTPart ofACTION_PANELthat shows the update layer button. It uses theUPDATE_LAYER_ACTIONto create that button.- See Also:
-
ACTION_PANEL_AUTO_UPDATE_COMPONENT
public static final int ACTION_PANEL_AUTO_UPDATE_COMPONENTPart ofACTION_PANELthat shows the auto-update component. It uses theUPDATE_LAYER_ACTIONto 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:
createGUIContentin 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:ALcyGUIFactoryCreates an
ILcdActionfor 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:
createActionin 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:ALcyGUIFactoryCreates an
ILcyActiveSettablefor 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:
createActiveSettablein 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:ALcyGUIFactoryCreates 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:
createComponentin 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:ALcyGUIFactoryCreates 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:
createPanelin 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.
-