Class EntityEditComponentPanel

    • Field Detail

      • TRANSFER_FOCUS_ON_ENTER

        public static final PropertyValue<Boolean> TRANSFER_FOCUS_ON_ENTER
        Specifies whether focus should be transferred from components on enter, this does not apply to text areas
        Value type: Boolean
        Default value: true
    • Constructor Detail

      • EntityEditComponentPanel

        protected EntityEditComponentPanel​(SwingEntityEditModel editModel)
        Instantiates a new EntityEditComponentPanel
        Parameters:
        editModel - the edit model
    • Method Detail

      • getEditModel

        public final SwingEntityEditModel getEditModel()
        Returns:
        the edit model this panel is based on
      • getComponentPropertyIds

        public final List<String> getComponentPropertyIds()
        Returns:
        the propertyIds that have been associated with components.
      • getComponent

        public final JComponent getComponent​(String propertyId)
        Parameters:
        propertyId - the propertyId
        Returns:
        the component associated with the given propertyId, null if no component has been associated with the given propertyId
      • getComponentPropertyId

        public final String getComponentPropertyId​(JComponent component)
        Parameters:
        component - the component
        Returns:
        the propertyId the given component is associated with, null if the component has not been associated with a propertyId
      • setInitialFocusComponent

        public final JComponent setInitialFocusComponent​(JComponent initialFocusComponent)
        Sets the component that should receive the focus when the UI is cleared or activated. Overrides the value set via setInitialFocusProperty(String)
        Parameters:
        initialFocusComponent - the component
        Returns:
        the component
      • setInitialFocusProperty

        public final void setInitialFocusProperty​(String propertyId)
        Sets the component associated with the given propertyId as the component that should receive the initial focus in this edit panel. This is overridden by setInitialFocusComponent().
        Parameters:
        propertyId - the component propertyId
        See Also:
        setInitialFocusComponent(javax.swing.JComponent)
      • setAfterInsertFocusComponent

        public final JComponent setAfterInsertFocusComponent​(JComponent afterInsertFocusComponent)
        Sets the component that should receive the focus after an insert has been performed.. Overrides the value set via setAfterInsertFocusProperty(String)
        Parameters:
        afterInsertFocusComponent - the component
        Returns:
        the component
      • setAfterInsertFocusProperty

        public final void setAfterInsertFocusProperty​(String propertyId)
        Sets the component associated with the given propertyId as the component that should receive the focus after an insert is performed in this edit panel. This is overridden by setAfterInsertFocusComponent().
        Parameters:
        propertyId - the component propertyId
        See Also:
        setAfterInsertFocusComponent(JComponent)
      • requestComponentFocus

        public final void requestComponentFocus​(String propertyId)
        Request focus for the component associated with the given propertyId
        Parameters:
        propertyId - the propertyId of the component to select
      • selectInputComponent

        public void selectInputComponent()
        Displays a dialog allowing the user the select a input component which should receive the keyboard focus, if only one input component is available then that component is selected automatically.
        See Also:
        excludeComponentFromSelection(String), requestComponentFocus(String)
      • excludeComponentFromSelection

        public final void excludeComponentFromSelection​(String propertyId)
        Specifies that the given property should be excluded when presenting a component selection list.
        Parameters:
        propertyId - the id of the property to exclude from selection
      • setComponent

        protected final void setComponent​(String propertyId,
                                          JComponent component)
        Associates the given input component with the given propertyId.
        Parameters:
        propertyId - the propertyId
        component - the input component
      • addPropertyPanel

        protected final void addPropertyPanel​(String propertyId)
        Adds a property panel for the given property to this panel
        Parameters:
        propertyId - the ID of the property
        See Also:
        createPropertyPanel(String)
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(String propertyId)
        Creates a panel containing a label and the component associated with the given property. The label text is the caption of the property identified by propertyId. The default layout of the resulting panel is with the label on top and inputComponent below.
        Parameters:
        propertyId - the id of the property from which to retrieve the label caption
        Returns:
        a panel containing a label and a component
        Throws:
        IllegalArgumentException - in case no component has been associated with the given property
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(String propertyId,
                                                   JComponent inputComponent)
        Creates a panel containing a label and the given component. The label text is the caption of the property identified by propertyId. The default layout of the resulting panel is with the label on top and inputComponent below.
        Parameters:
        propertyId - the id of the property from which to retrieve the label caption
        inputComponent - a component bound to the property with id propertyId
        Returns:
        a panel containing a label and a component
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(String propertyId,
                                                   JComponent inputComponent,
                                                   String labelBorderLayoutConstraints)
        Creates a panel containing a label and the given component. The label text is the caption of the property identified by propertyId.
        Parameters:
        propertyId - the id of the property from which to retrieve the label caption
        inputComponent - a component bound to the property with id propertyId
        labelBorderLayoutConstraints - BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST
        Returns:
        a panel containing a label and a component
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(String propertyId,
                                                   JComponent inputComponent,
                                                   String labelBorderLayoutConstraints,
                                                   int labelAlignment)
        Creates a panel containing a label and the given component. The label text is the caption of the property identified by propertyId.
        Parameters:
        propertyId - the id of the property from which to retrieve the label caption
        inputComponent - a component bound to the property with id propertyId
        labelBorderLayoutConstraints - BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST
        labelAlignment - the label alignment
        Returns:
        a panel containing a label and a component
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(JComponent labelComponent,
                                                   JComponent inputComponent)
        Creates a panel containing a label component and the inputComponent with the label component positioned above the input component.
        Parameters:
        labelComponent - the label component
        inputComponent - a input component
        Returns:
        a panel containing a label and a component
      • createPropertyPanel

        protected final JPanel createPropertyPanel​(JComponent labelComponent,
                                                   JComponent inputComponent,
                                                   String labelBorderLayoutConstraints)
        Creates a panel with a BorderLayout, with the inputComponent at BorderLayout.CENTER and the labelComponent at a specified location.
        Parameters:
        labelComponent - the label component
        inputComponent - a input component
        labelBorderLayoutConstraints - BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST or BorderLayout.WEST
        Returns:
        a panel containing a label and a component
      • createTextArea

        protected final JTextArea createTextArea​(String propertyId)
        Creates a JTextArea component bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a JTextArea bound to the property
      • createTextArea

        protected final JTextArea createTextArea​(String propertyId,
                                                 int rows,
                                                 int columns)
        Creates a JTextArea component bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        rows - the number of rows in the text area
        columns - the number of columns in the text area
        Returns:
        a JTextArea bound to the property
      • createTextArea

        protected final JTextArea createTextArea​(String propertyId,
                                                 int rows,
                                                 int columns,
                                                 UpdateOn updateOn)
        Creates a JTextArea component bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        rows - the number of rows in the text area
        columns - the number of columns in the text area
        updateOn - specifies when the underlying value should be updated
        Returns:
        a JTextArea bound to the property
      • createTextArea

        protected final JTextArea createTextArea​(String propertyId,
                                                 int rows,
                                                 int columns,
                                                 UpdateOn updateOn,
                                                 StateObserver enabledState)
        Creates a JTextArea component bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        rows - the number of rows in the text area
        columns - the number of columns in the text area
        updateOn - specifies when the underlying value should be updated
        enabledState - a state indicating when this text area should be enabled
        Returns:
        a JTextArea bound to the property
      • createTextInputPanel

        protected final TextInputPanel createTextInputPanel​(String propertyId)
        Creates a TextInputPanel bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a TextInputPanel bound to the property
      • createTextInputPanel

        protected final TextInputPanel createTextInputPanel​(String propertyId,
                                                            UpdateOn updateOn,
                                                            boolean buttonFocusable)
        Creates a TextInputPanel bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property to bind
        updateOn - specifies when the underlying value should be updated
        buttonFocusable - specifies whether the edit button should be focusable.
        Returns:
        a TextInputPanel bound to the property
      • createTextInputPanel

        protected final TextInputPanel createTextInputPanel​(Property property,
                                                            UpdateOn updateOn)
        Creates a TextInputPanel bound to the property identified by propertyId.
        Parameters:
        property - the property to bind
        updateOn - specifies when the underlying value should be updated
        Returns:
        a TextInputPanel bound to the property
      • createTextInputPanel

        protected final TextInputPanel createTextInputPanel​(Property property,
                                                            UpdateOn updateOn,
                                                            boolean buttonFocusable)
        Creates a TextInputPanel bound to the property identified by propertyId.
        Parameters:
        property - the property to bind
        updateOn - specifies when the underlying value should be updated
        buttonFocusable - specifies whether the edit button should be focusable.
        Returns:
        a TextInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(String propertyId)
        Creates a new TemporalInputPanel using the default short date format, bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property for which to create the panel
        Returns:
        a TemporalInputPanel using the default short date format
        See Also:
        Property.DATE_FORMAT
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(String propertyId,
                                                                    boolean includeButton)
        Creates a new TemporalInputPanel bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        Returns:
        a TemporalInputPanel using the default short date format
        See Also:
        Property.DATE_FORMAT
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(String propertyId,
                                                                    boolean includeButton,
                                                                    StateObserver enabledState)
        Creates a new TemporalInputPanel bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        enabledState - a state for controlling the enabled state of the input component
        Returns:
        a TemporalInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(String propertyId,
                                                                    boolean includeButton,
                                                                    StateObserver enabledState,
                                                                    UpdateOn updateOn)
        Creates a new TemporalInputPanel bound to the property identified by propertyId.
        Parameters:
        propertyId - the ID of the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        enabledState - a state for controlling the enabled state of the input component
        updateOn - specifies when the underlying value should be updated
        Returns:
        a TemporalInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(Property property)
        Creates a new TemporalInputPanel bound to the property identified by propertyId.
        Parameters:
        property - the property for which to create the panel
        Returns:
        a TemporalInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(Property property,
                                                                    boolean includeButton)
        Creates a new TemporalInputPanel bound to the given property.
        Parameters:
        property - the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        Returns:
        a TemporalInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(Property property,
                                                                    boolean includeButton,
                                                                    StateObserver enabledState)
        Creates a new TemporalInputPanel bound to the given property.
        Parameters:
        property - the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        enabledState - a state for controlling the enabled state of the input component
        Returns:
        a TemporalInputPanel bound to the property
      • createTemporalInputPanel

        protected final TemporalInputPanel createTemporalInputPanel​(Property property,
                                                                    boolean includeButton,
                                                                    StateObserver enabledState,
                                                                    UpdateOn updateOn)
        Creates a new TemporalInputPanel bound to the given property.
        Parameters:
        property - the property for which to create the panel
        includeButton - if true a button for visually editing the date is included
        enabledState - a state for controlling the enabled state of the input component
        updateOn - specifies when the underlying value should be updated
        Returns:
        a TemporalInputPanel bound to the property
      • createTextField

        protected final JTextField createTextField​(String propertyId)
        Creates a JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(String propertyId,
                                                   UpdateOn updateOn)
        Creates a JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        updateOn - specifies when the underlying value should be updated
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(String propertyId,
                                                   UpdateOn updateOn,
                                                   String maskString)
        Creates a JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        updateOn - specifies when the underlying value should be updated
        maskString - if specified then a JFormattedTextField with the given mask is returned
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(String propertyId,
                                                   UpdateOn updateOn,
                                                   String maskString,
                                                   StateObserver enabledState)
        Creates a JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        updateOn - specifies when the underlying value should be updated
        maskString - if specified then a JFormattedTextField with the given mask is returned
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(String propertyId,
                                                   UpdateOn updateOn,
                                                   String maskString,
                                                   StateObserver enabledState,
                                                   boolean valueIncludesLiteralCharacters)
        Creates a JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        updateOn - specifies when the underlying value should be updated
        maskString - if specified then a JFormattedTextField with the given mask is returned
        enabledState - a state for controlling the enabled state of the component
        valueIncludesLiteralCharacters - only applicable if maskString is specified
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(Property property)
        Creates a JTextField bound to the given property
        Parameters:
        property - the property to bind
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(Property property,
                                                   UpdateOn updateOn)
        Creates a JTextField bound to the given property
        Parameters:
        property - the property to bind
        updateOn - specifies when the underlying value should be updated
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(Property property,
                                                   String maskString,
                                                   UpdateOn updateOn)
        Creates a JTextField bound to the given property
        Parameters:
        property - the property to bind
        maskString - if specified then a JFormattedTextField with the given mask is returned
        updateOn - specifies when the underlying value should be updated
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(Property property,
                                                   String maskString,
                                                   UpdateOn updateOn,
                                                   StateObserver enabledState)
        Creates a JTextField bound to the given property
        Parameters:
        property - the ID of the property to bind
        maskString - if specified then a JFormattedTextField with the given mask is returned
        updateOn - specifies when the underlying value should be updated
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a text field bound to the property
      • createTextField

        protected final JTextField createTextField​(Property property,
                                                   UpdateOn updateOn,
                                                   String maskString,
                                                   StateObserver enabledState,
                                                   boolean valueIncludesLiteralCharacters)
        Creates a JTextField bound to the given property
        Parameters:
        property - the property to bind
        updateOn - specifies when the underlying value should be updated
        maskString - if specified then a JFormattedTextField with the given mask is returned
        enabledState - a state for controlling the enabled state of the component
        valueIncludesLiteralCharacters - only applicable if maskString is specified
        Returns:
        a text field bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(String propertyId)
        Creates a JCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a JCheckBox bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(String propertyId,
                                                 StateObserver enabledState)
        Creates a JCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a JCheckBox bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(String propertyId,
                                                 StateObserver enabledState,
                                                 boolean includeCaption)
        Creates a JCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        includeCaption - specifies whether or not the caption should be included
        Returns:
        a JCheckBox bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(Property property)
        Creates a JCheckBox bound to the given property
        Parameters:
        property - the property to bind
        Returns:
        a JCheckBox bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(Property property,
                                                 StateObserver enabledState)
        Creates a JCheckBox bound to the given property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a JCheckBox bound to the property
      • createCheckBox

        protected final JCheckBox createCheckBox​(Property property,
                                                 StateObserver enabledState,
                                                 boolean includeCaption)
        Creates a JCheckBox bound to the given property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        includeCaption - specifies whether or not the caption should be included
        Returns:
        a JCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(String propertyId)
        Creates a NullableCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a NullableCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(String propertyId,
                                                                StateObserver enabledState)
        Creates a NullableCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a NullableCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(String propertyId,
                                                                StateObserver enabledState,
                                                                boolean includeCaption)
        Creates a NullableCheckBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        includeCaption - specifies whether or not the caption should be included
        Returns:
        a NullableCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(Property property)
        Creates a NullableCheckBox bound to the given property
        Parameters:
        property - the property to bind
        Returns:
        a NullableCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(Property property,
                                                                StateObserver enabledState)
        Creates a NullableCheckBox bound to the given property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a NullableCheckBox bound to the property
      • createNullableCheckBox

        protected final NullableCheckBox createNullableCheckBox​(Property property,
                                                                StateObserver enabledState,
                                                                boolean includeCaption)
        Creates a NullableCheckBox bound to the given property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        includeCaption - specifies whether or not the caption should be included
        Returns:
        a NullableCheckBox bound to the property
      • createBooleanComboBox

        protected final JComboBox createBooleanComboBox​(String propertyId)
        Create a JComboBox for the property identified by propertyId, containing values for the boolean values: true, false, null
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        JComboBox for the given property
      • createBooleanComboBox

        protected final JComboBox createBooleanComboBox​(String propertyId,
                                                        StateObserver enabledState)
        Create a JComboBox for the property identified by propertyId, containing values for the boolean values: true, false, null
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        JComboBox for the given property
      • createBooleanComboBox

        protected final JComboBox createBooleanComboBox​(Property property)
        Create a JComboBox for the given property, containing values for the boolean values: true, false, null
        Parameters:
        property - the property to bind
        Returns:
        JComboBox for the given property
      • createBooleanComboBox

        protected final JComboBox createBooleanComboBox​(Property property,
                                                        StateObserver enabledState)
        Create a JComboBox for the given property, containing values for the boolean values: true, false, null
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        JComboBox for the given property
      • createComboBox

        protected final SteppedComboBox createComboBox​(String propertyId,
                                                       ComboBoxModel comboBoxModel,
                                                       boolean maximumMatch)
        Creates a SteppedComboBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        comboBoxModel - the ComboBoxModel
        maximumMatch - true if maximum match should be used
        Returns:
        a SteppedComboBox bound the the property
        See Also:
        MaximumMatch
      • createComboBox

        protected final SteppedComboBox createComboBox​(String propertyId,
                                                       ComboBoxModel comboBoxModel,
                                                       boolean maximumMatch,
                                                       StateObserver enabledState)
        Creates a SteppedComboBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        comboBoxModel - the ComboBoxModel
        maximumMatch - true if maximum match should be used
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound the the property
        See Also:
        MaximumMatch
      • createComboBox

        protected final SteppedComboBox createComboBox​(Property property,
                                                       ComboBoxModel comboBoxModel,
                                                       boolean maximumMatch)
        Creates a SteppedComboBox bound to the given property
        Parameters:
        property - the property to bind
        comboBoxModel - the ComboBoxModel
        maximumMatch - true if maximum match should be used
        Returns:
        a SteppedComboBox bound the the property
        See Also:
        MaximumMatch
      • createComboBox

        protected final SteppedComboBox createComboBox​(Property property,
                                                       ComboBoxModel comboBoxModel,
                                                       boolean maximumMatch,
                                                       StateObserver enabledState)
        Creates a SteppedComboBox bound to the given property
        Parameters:
        property - the property to bind
        comboBoxModel - the ComboBoxModel
        maximumMatch - true if maximum match should be used
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound the the property
        See Also:
        MaximumMatch
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(String propertyId)
        Creates a SteppedComboBox containing the values defined by the given value list property, bound to the given property.
        Parameters:
        propertyId - the propertyId
        Returns:
        a SteppedComboBox bound to the property
        Throws:
        IllegalArgumentException - in case the property is not a value list property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(String propertyId,
                                                                boolean sortItems)
        Creates a SteppedComboBox containing the values defined by the given value list property, bound to the given property.
        Parameters:
        propertyId - the propertyId
        sortItems - if true the items are sorted, otherwise the original ordering is preserved
        Returns:
        a SteppedComboBox bound to the property
        Throws:
        IllegalArgumentException - in case the property is not a value list property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(String propertyId,
                                                                StateObserver enabledState)
        Creates a SteppedComboBox containing the values defined by the given value list property, bound to the given property.
        Parameters:
        propertyId - the propertyId
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
        Throws:
        IllegalArgumentException - in case the property is not a value list property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(String propertyId,
                                                                boolean sortItems,
                                                                StateObserver enabledState)
        Creates a SteppedComboBox containing the values defined by the given value list property, bound to the given property.
        Parameters:
        propertyId - the propertyId
        sortItems - if true the items are sorted, otherwise the original ordering is preserved
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
        Throws:
        IllegalArgumentException - in case the property is not a value list property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(ValueListProperty property)
        Creates a SteppedComboBox containing the values defined in the given value list property, bound to the given property.
        Parameters:
        property - the property
        Returns:
        a SteppedComboBox bound to the property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(ValueListProperty property,
                                                                boolean sortItems)
        Creates a SteppedComboBox containing the values defined in the given value list property, bound to the given property.
        Parameters:
        property - the property
        sortItems - if true the items are sorted, otherwise the original ordering is preserved
        Returns:
        a SteppedComboBox bound to the property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(ValueListProperty property,
                                                                StateObserver enabledState)
        Creates a SteppedComboBox containing the values defined in the given value list property, bound to the given property.
        Parameters:
        property - the property
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
      • createValueListComboBox

        protected final SteppedComboBox createValueListComboBox​(ValueListProperty property,
                                                                boolean sortItems,
                                                                StateObserver enabledState)
        Creates a SteppedComboBox containing the values defined in the given value list property, bound to the given property.
        Parameters:
        property - the property
        sortItems - if true the items are sorted, otherwise the original ordering is preserved
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
      • createEditableComboBox

        protected final SteppedComboBox createEditableComboBox​(String propertyId,
                                                               ComboBoxModel comboBoxModel)
        Creates an editable SteppedComboBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        comboBoxModel - the ComboBoxModel
        Returns:
        an editable SteppedComboBox bound the the property
      • createEditableComboBox

        protected final SteppedComboBox createEditableComboBox​(String propertyId,
                                                               ComboBoxModel comboBoxModel,
                                                               StateObserver enabledState)
        Creates an editable SteppedComboBox bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        comboBoxModel - the ComboBoxModel
        enabledState - a state for controlling the enabled state of the component
        Returns:
        an editable SteppedComboBox bound the the property
      • createEditableComboBox

        protected final SteppedComboBox createEditableComboBox​(Property property,
                                                               ComboBoxModel comboBoxModel,
                                                               StateObserver enabledState)
        Creates an editable SteppedComboBox bound to the given property
        Parameters:
        property - the property to bind
        comboBoxModel - the ComboBoxModel
        enabledState - a state for controlling the enabled state of the component
        Returns:
        an editable SteppedComboBox bound the the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(String propertyId)
        Creates a SteppedComboBox bound to the property identified by propertyId, the combo box contains the underlying values of the property
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        a SteppedComboBox bound to the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(String propertyId,
                                                               StateObserver enabledState)
        Creates a SteppedComboBox bound to the property identified by propertyId, the combo box contains the underlying values of the property
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(String propertyId,
                                                               StateObserver enabledState,
                                                               boolean editable)
        Creates a SteppedComboBox bound to the property identified by propertyId, the combo box contains the underlying values of the property
        Parameters:
        propertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        editable - true if the combo box should be editable, only works with combo boxes based on String.class properties
        Returns:
        a SteppedComboBox bound to the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(ColumnProperty property)
        Creates a SteppedComboBox bound to the given property, the combo box contains the underlying values of the property
        Parameters:
        property - the property to bind
        Returns:
        a SteppedComboBox bound to the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(ColumnProperty property,
                                                               StateObserver enabledState)
        Creates a SteppedComboBox bound to the given property, the combo box contains the underlying values of the property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a SteppedComboBox bound to the property
      • createPropertyComboBox

        protected final SteppedComboBox createPropertyComboBox​(ColumnProperty property,
                                                               StateObserver enabledState,
                                                               boolean editable)
        Creates a SteppedComboBox bound to the given property, the combo box contains the underlying values of the property
        Parameters:
        property - the property to bind
        enabledState - a state for controlling the enabled state of the component
        editable - true if the combo box should be editable, only works with combo boxes based on String.class properties
        Returns:
        a SteppedComboBox bound to the property
      • createForeignKeyComboBox

        protected final EntityComboBox createForeignKeyComboBox​(String foreignKeyPropertyId,
                                                                StateObserver enabledState)
        Creates a EntityComboBox bound to the foreign key property identified by foreignKeyPropertyId
        Parameters:
        foreignKeyPropertyId - the ID of the property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        a EntityComboBox bound to the property
      • createForeignKeyComboBox

        protected final EntityComboBox createForeignKeyComboBox​(String foreignKeyPropertyId)
        Creates an EntityComboBox bound to the foreign key property identified by foreignKeyPropertyId
        Parameters:
        foreignKeyPropertyId - the ID of the foreign key property to bind combination used to create new instances of the entity this EntityComboBox is based on EntityComboBox is focusable
        Returns:
        an EntityComboBox bound to the property
      • createForeignKeyComboBox

        protected final EntityComboBox createForeignKeyComboBox​(ForeignKeyProperty foreignKeyProperty)
        Creates an EntityComboBox bound to the given foreign key property
        Parameters:
        foreignKeyProperty - the foreign key property to bind
        Returns:
        an EntityComboBox bound to the property
      • createForeignKeyComboBox

        protected final EntityComboBox createForeignKeyComboBox​(ForeignKeyProperty foreignKeyProperty,
                                                                StateObserver enabledState)
        Creates an EntityComboBox bound to the given foreign key property
        Parameters:
        foreignKeyProperty - the foreign key property to bind combination used to create new instances of the entity this EntityComboBox is based on EntityComboBox is focusable
        enabledState - a state for controlling the enabled state of the component
        Returns:
        an EntityComboBox bound to the property
      • createForeignKeyLookupField

        protected final EntityLookupField createForeignKeyLookupField​(String foreignKeyPropertyId)
        Creates an EntityLookupField bound to the property identified by foreignKeypropertyId, the property must be an Property.ForeignKeyProperty
        Parameters:
        foreignKeyPropertyId - the ID of the foreign key property to bind
        Returns:
        an EntityLookupField bound the property
      • createForeignKeyLookupField

        protected final EntityLookupField createForeignKeyLookupField​(String foreignKeyPropertyId,
                                                                      StateObserver enabledState)
        Creates an EntityLookupField bound to the property identified by foreignKeypropertyId, the property must be an Property.ForeignKeyProperty
        Parameters:
        foreignKeyPropertyId - the ID of the foreign key property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        an EntityLookupField bound the property
      • createForeignKeyLookupField

        protected final EntityLookupField createForeignKeyLookupField​(ForeignKeyProperty foreignKeyProperty)
        Creates an EntityLookupField bound to the given foreign key property
        Parameters:
        foreignKeyProperty - the foreign key property to bind
        Returns:
        an EntityLookupField bound the property
      • createForeignKeyLookupField

        protected final EntityLookupField createForeignKeyLookupField​(ForeignKeyProperty foreignKeyProperty,
                                                                      StateObserver enabledState)
        Creates an EntityLookupField bound to the given foreign key property
        Parameters:
        foreignKeyProperty - the foreign key property to bind
        enabledState - a state for controlling the enabled state of the component
        Returns:
        an EntityLookupField bound the property
      • createForeignKeyField

        protected final JTextField createForeignKeyField​(String propertyId)
        Creates an uneditable JTextField bound to the property identified by propertyId
        Parameters:
        propertyId - the ID of the property to bind
        Returns:
        an uneditable JTextField bound to the property
      • createForeignKeyField

        protected final JTextField createForeignKeyField​(ForeignKeyProperty foreignKeyProperty)
        Creates an uneditable JTextField bound to the given property
        Parameters:
        foreignKeyProperty - the foreign key property to bind
        Returns:
        an uneditable JTextField bound to the property
      • createLabel

        protected final JLabel createLabel​(String propertyId)
        Creates a JLabel with a caption from the property identified by propertyId, if a input component exists for the given property this label is associated with it via JLabel.setLabelFor(Component).
        Parameters:
        propertyId - the ID of the property from which to retrieve the caption
        Returns:
        a JLabel for the given property
      • createLabel

        protected final JLabel createLabel​(String propertyId,
                                           int horizontalAlignment)
        Creates a JLabel with a caption from the property identified by propertyId, if an input component exists for the given property this label is associated with it via JLabel.setLabelFor(Component).
        Parameters:
        propertyId - the ID of the property from which to retrieve the caption
        horizontalAlignment - the horizontal text alignment
        Returns:
        a JLabel for the given property
      • getInitialFocusComponent

        protected JComponent getInitialFocusComponent()
        Returns:
        the component that should get the initial focus when the UI is cleared
      • getAfterInsertFocusComponent

        protected JComponent getAfterInsertFocusComponent()
        Returns:
        the component that should get the focus when the UI is prepared after insert
      • requestAfterInsertFocus

        protected final void requestAfterInsertFocus()