public interface FormEnvironment
The form environment gives access to form components in a form panel as well as to other design time or runtime services related to form components.
It provides access to the ComponentTuple of a form component as well as to the IDs that the framework assigns to form components. Furthermore, the form environment contains utility methods that can be used at design time. This class is passed to the containing screen as well as to every form component.
FormPanelContainer.setFormPanel(javax.swing.JPanel, FormEnvironment)
,
FormComponent.setFormEnvironment(FormEnvironment)
Method Summary | |
---|---|
void |
addDesignTimeChangeListener(javax.swing.event.ChangeListener changeListener)
If your form component would like to be notified when the list of form components changes at design time, you can add a change listener here. |
ComponentTuple |
getComponentTuple(FormComponent formComponent)
Get the ComponentTuple associated with a form component. |
java.lang.String |
getDesignTimeName(FormComponent formComponent)
At design time, the install4j GUI allows the user to name instances of form components in a form. |
java.lang.String |
getDesignTimeName(LayoutGroup layoutGroup)
At design time, the install4j GUI allows the user to name instances of layout groups in a form. |
FormComponent |
getFormComponentById(java.lang.String id)
Get the form component of a certain ID. |
FormComponent[] |
getFormComponents()
Returns all form components that are contained in the same form. |
java.util.List |
getFormComponentTree()
Returns the top level of the tree of form components. |
java.lang.String |
getId(FormComponent formComponent)
Get the ID that the framework associates with a form component. |
LayoutGroup |
getLayoutGroupById(java.lang.String id)
Get the layout group of a certain ID. |
Screen |
getScreen()
Get the form screen associated with this form environment. |
boolean |
handleConsole(Console console)
Handle console mode for all form components in a form. |
boolean |
isDesignTime()
Returns whether the form component has been instantiated at design time. |
void |
makeParentGroupVisible(FormComponent formComponent)
Makes the parent group of a form component visible. |
void |
reinitializeFormComponents()
All form components including those that do not have their "Reset initialization on previous" property selected are initialized again. |
void |
removeDesignTimeChangeListener(javax.swing.event.ChangeListener changeListener)
Remove a change listener added with addDesignTimeChangeListener. |
void |
resetFormComponents()
All form components whose "Reset initialization on previous" property is selected, will be initialized again when the screen is shown the next time. |
boolean |
saveFormComponents()
All form components will be validated and their variables will be saved. |
Method Detail |
---|
FormComponent[] getFormComponents()
If you need to access layout groups, please see
getFormComponentTree()
instead.
FormComponent.setFormEnvironment(FormEnvironment)
java.util.List getFormComponentTree()
FormComponent
and LayoutGroup
.
Deeper levels can be accessed with LayoutGroup.getChildren()
on the LayoutGroup
objects.
java.lang.String getId(FormComponent formComponent)
The ID can be transformed back to the form component with the getFormComponentById method.
formComponent
- the form component whose ID should be returned
getFormComponentById(String)
FormComponent getFormComponentById(java.lang.String id)
getId(FormComponent)
method for more details.
id
- the ID of the form component
LayoutGroup getLayoutGroupById(java.lang.String id)
LayoutGroup.getId()
for more details.
id
- the ID of the layout group
ComponentTuple getComponentTuple(FormComponent formComponent)
formComponent
- the form component whose ComponentTuple should be returned
boolean handleConsole(Console console) throws UserCanceledException
console
- the Console object as passed to the handleConsole method of the containing screen.
UserCanceledException
- if the user cancels a question or notice. This exception can be passed on to the framework.FormComponent.handleConsole(com.install4j.api.screens.Console)
,
Screen.handleConsole(com.install4j.api.screens.Console)
boolean isDesignTime()
void addDesignTimeChangeListener(javax.swing.event.ChangeListener changeListener)
This method has no effect at runtime.
changeListener
- the listenervoid removeDesignTimeChangeListener(javax.swing.event.ChangeListener changeListener)
This method has no effect at runtime.
changeListener
- the listenerjava.lang.String getDesignTimeName(FormComponent formComponent)
formComponent
- the form component whose name should be returned.
java.lang.String getDesignTimeName(LayoutGroup layoutGroup)
layoutGroup
- the layout group whose name should be returned.
Screen getScreen()
void resetFormComponents()
String screenId = ... // must be a form screen for the cast to work FormPanelContainer formPanelContainer = (FormPanelContainer)context.getScreenById(id); formPanelContainer.getFormEnvironment().resetFormComponents()
void reinitializeFormComponents()
boolean saveFormComponents()
void makeParentGroupVisible(FormComponent formComponent)
formComponent
- the form component whose parent group should be made visible.