Module is.codion.swing.framework.ui
Package is.codion.swing.framework.ui
Class EntityTablePanel.Config
java.lang.Object
is.codion.swing.framework.ui.EntityTablePanel.Config
- Enclosing class:
- EntityTablePanel
Contains configuration settings for a
EntityTablePanel which must be set before the panel is initialized.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final is.codion.common.property.PropertyValue<EntityTablePanel.ColumnSelection>Specifies how column selection is presented to the user.
Value type:EntityTablePanel.ColumnSelection
Default value:EntityTablePanel.ColumnSelection.DIALOGstatic final is.codion.common.property.PropertyValue<is.codion.swing.common.ui.component.table.ColumnConditionPanel.ConditionState>Specifies the default initial table condition panel state
Value type:ColumnConditionPanel.ConditionState
Default value:ColumnConditionPanel.ConditionState.HIDDENstatic final is.codion.common.property.PropertyValue<EntityTablePanel.EditAttributeSelection>Specifies how the edit an attribute action is presented to the user.
Value type:EntityTablePanel.EditAttributeSelection
Default value:EntityTablePanel.EditAttributeSelection.MENUstatic final is.codion.common.property.PropertyValue<is.codion.swing.common.ui.component.table.ColumnConditionPanel.ConditionState>Specifies the default initial table filter panel state
Value type:ColumnConditionPanel.ConditionState
Default value:ColumnConditionPanel.ConditionState.HIDDENstatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include a 'Clear' control in the popup menu.
Value type: Boolean
Default value: falsestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include a condition panel.
Value type: Boolean
Default value: truestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include aEntityPopupMenuon this table, triggered with CTRL-ALT-V.
Value type: Boolean
Default value: truestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include a filter panel.
Value type: Boolean
Default value: truestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include a popup menu for configuring the table model limit.
Value type: Boolean
Default value: falsestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include the default popup menu on entity tables
Value type: Boolean
Default value: truestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to include a summary panel.
Value type: Boolean
Default value: truestatic final is.codion.swing.common.ui.key.KeyboardShortcuts<EntityTablePanel.EntityTablePanelControl>The default keyboard shortcut keyStrokes.static final is.codion.common.property.PropertyValue<Boolean>Specifies whether the table model sort order is used as a basis for the query order by clause.static final is.codion.common.property.PropertyValue<Boolean>Specifies whether the values of hidden columns are included in the underlying query
Value type: Boolean
Default value: truestatic final is.codion.common.property.PropertyValue<EntityTablePanel.RefreshButtonVisible>Specifies whether the refresh button should always be visible or only when the condition panel is visible
Value type: Boolean
Default value:EntityTablePanel.RefreshButtonVisible.WHEN_CONDITION_PANEL_IS_VISIBLEstatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether to show an indeterminate progress bar while the model is refreshing.
Value type: Boolean
Default value: falsestatic final is.codion.common.property.PropertyValue<Boolean>Specifies whether table summary panel should be visible or not by default
Value type: Boolean
Default value: false -
Method Summary
Modifier and TypeMethodDescriptioncolumnSelection(EntityTablePanel.ColumnSelection columnSelection) conditionFieldFactory(is.codion.swing.common.ui.component.table.FilterColumnConditionPanel.FieldFactory<is.codion.framework.domain.entity.attribute.Attribute<?>> conditionFieldFactory) configureTable(Consumer<is.codion.swing.common.ui.component.table.FilterTable.Builder<is.codion.framework.domain.entity.Entity, is.codion.framework.domain.entity.attribute.Attribute<?>>> tableBuilder) Provides access to the builder for the underlyingFilterTabledeleteConfirmer(EntityEditPanel.Confirmer deleteConfirmer) editable(Consumer<is.codion.common.value.ValueSet<is.codion.framework.domain.entity.attribute.Attribute<?>>> attributes) editAttributeSelection(EntityTablePanel.EditAttributeSelection editAttributeSelection) <T,A extends is.codion.framework.domain.entity.attribute.Attribute<T>, C extends JComponent>
EntityTablePanel.ConfigeditComponentFactory(A attribute, EntityComponentFactory<T, A, C> componentFactory) Sets the component factory for the given attribute, used when editing entities viaEntityTablePanel.editSelected(Attribute).includeAddControl(boolean includeAddControl) includeClearControl(boolean includeClearControl) includeConditionPanel(boolean includeConditionPanel) includeEditAttributeControl(boolean includeEditAttributeControl) includeEditControl(boolean includeEditControl) includeEntityMenu(boolean includeEntityMenu) includeFilterPanel(boolean includeFilterPanel) includeLimitMenu(boolean includeLimitMenu) includePopupMenu(boolean includePopupMenu) includeSelectionModeControl(boolean includeSelectionModeControl) includeSouthPanel(boolean includeSouthPanel) includeSummaryPanel(boolean includeSummaryPanel) includeToolBar(boolean includeToolBar) keyStrokes(Consumer<is.codion.swing.common.ui.key.KeyboardShortcuts<EntityTablePanel.EntityTablePanelControl>> shortcuts) referentialIntegrityErrorHandling(ReferentialIntegrityErrorHandling referentialIntegrityErrorHandling) refreshButtonVisible(EntityTablePanel.RefreshButtonVisible refreshButtonVisible) showRefreshProgressBar(boolean showRefreshProgressBar) statusMessage(Function<is.codion.swing.framework.model.SwingEntityTableModel, String> statusMessage) <T,A extends is.codion.framework.domain.entity.attribute.Attribute<T>, C extends JComponent>
EntityTablePanel.ConfigtableCellEditorFactory(A attribute, EntityComponentFactory<T, A, C> componentFactory) Sets the table cell editor component factory for the given attribute.tableConditionPanelFactory(is.codion.swing.common.ui.component.table.TableConditionPanel.Factory<is.codion.framework.domain.entity.attribute.Attribute<?>> tableConditionPanelFactory)
-
Field Details
-
QUERY_HIDDEN_COLUMNS
Specifies whether the values of hidden columns are included in the underlying query
Value type: Boolean
Default value: true -
ORDER_QUERY_BY_SORT_ORDER
Specifies whether the table model sort order is used as a basis for the query order by clause. Note that this only applies to column attributes. Value type: Boolean
Default value: false -
CONDITION_STATE
public static final is.codion.common.property.PropertyValue<is.codion.swing.common.ui.component.table.ColumnConditionPanel.ConditionState> CONDITION_STATESpecifies the default initial table condition panel state
Value type:ColumnConditionPanel.ConditionState
Default value:ColumnConditionPanel.ConditionState.HIDDEN -
FILTER_STATE
public static final is.codion.common.property.PropertyValue<is.codion.swing.common.ui.component.table.ColumnConditionPanel.ConditionState> FILTER_STATESpecifies the default initial table filter panel state
Value type:ColumnConditionPanel.ConditionState
Default value:ColumnConditionPanel.ConditionState.HIDDEN -
SUMMARY_PANEL_VISIBLE
Specifies whether table summary panel should be visible or not by default
Value type: Boolean
Default value: false -
INCLUDE_POPUP_MENU
Specifies whether to include the default popup menu on entity tables
Value type: Boolean
Default value: true -
INCLUDE_ENTITY_MENU
Specifies whether to include aEntityPopupMenuon this table, triggered with CTRL-ALT-V.
Value type: Boolean
Default value: true -
INCLUDE_CLEAR_CONTROL
Specifies whether to include a 'Clear' control in the popup menu.
Value type: Boolean
Default value: false -
INCLUDE_CONDITION_PANEL
Specifies whether to include a condition panel.
Value type: Boolean
Default value: true -
INCLUDE_FILTER_PANEL
Specifies whether to include a filter panel.
Value type: Boolean
Default value: true -
INCLUDE_SUMMARY_PANEL
Specifies whether to include a summary panel.
Value type: Boolean
Default value: true -
INCLUDE_LIMIT_MENU
Specifies whether to include a popup menu for configuring the table model limit.
Value type: Boolean
Default value: false -
SHOW_REFRESH_PROGRESS_BAR
Specifies whether to show an indeterminate progress bar while the model is refreshing.
Value type: Boolean
Default value: false -
REFRESH_BUTTON_VISIBLE
public static final is.codion.common.property.PropertyValue<EntityTablePanel.RefreshButtonVisible> REFRESH_BUTTON_VISIBLESpecifies whether the refresh button should always be visible or only when the condition panel is visible
Value type: Boolean
Default value:EntityTablePanel.RefreshButtonVisible.WHEN_CONDITION_PANEL_IS_VISIBLE -
COLUMN_SELECTION
public static final is.codion.common.property.PropertyValue<EntityTablePanel.ColumnSelection> COLUMN_SELECTIONSpecifies how column selection is presented to the user.
Value type:EntityTablePanel.ColumnSelection
Default value:EntityTablePanel.ColumnSelection.DIALOG -
EDIT_ATTRIBUTE_SELECTION
public static final is.codion.common.property.PropertyValue<EntityTablePanel.EditAttributeSelection> EDIT_ATTRIBUTE_SELECTIONSpecifies how the edit an attribute action is presented to the user.
Value type:EntityTablePanel.EditAttributeSelection
Default value:EntityTablePanel.EditAttributeSelection.MENU -
KEYBOARD_SHORTCUTS
public static final is.codion.swing.common.ui.key.KeyboardShortcuts<EntityTablePanel.EntityTablePanelControl> KEYBOARD_SHORTCUTSThe default keyboard shortcut keyStrokes.
-
-
Method Details
-
tablePanel
- Returns:
- the table panel
-
configureTable
public EntityTablePanel.Config configureTable(Consumer<is.codion.swing.common.ui.component.table.FilterTable.Builder<is.codion.framework.domain.entity.Entity, is.codion.framework.domain.entity.attribute.Attribute<?>>> tableBuilder) Provides access to the builder for the underlyingFilterTable- Parameters:
tableBuilder- the table builder- Returns:
- this Config instance
-
tableConditionPanelFactory
public EntityTablePanel.Config tableConditionPanelFactory(is.codion.swing.common.ui.component.table.TableConditionPanel.Factory<is.codion.framework.domain.entity.attribute.Attribute<?>> tableConditionPanelFactory) - Parameters:
tableConditionPanelFactory- the table condition panel factory- Returns:
- this Config instance
-
conditionFieldFactory
public EntityTablePanel.Config conditionFieldFactory(is.codion.swing.common.ui.component.table.FilterColumnConditionPanel.FieldFactory<is.codion.framework.domain.entity.attribute.Attribute<?>> conditionFieldFactory) - Parameters:
conditionFieldFactory- the condition field factory- Returns:
- this Config instance
- See Also:
-
includeSouthPanel
- Parameters:
includeSouthPanel- true if the south panel should be included- Returns:
- this Config instance
-
includeConditionPanel
- Parameters:
includeConditionPanel- true if the condition panel should be included- Returns:
- this Config instance
-
includeFilterPanel
- Parameters:
includeFilterPanel- true if the filter panel should be included- Returns:
- this Config instance
-
includeSummaryPanel
- Parameters:
includeSummaryPanel- true if the summary panel should be included- Returns:
- this Config instance
-
includePopupMenu
- Parameters:
includePopupMenu- true if a popup menu should be included- Returns:
- this Config instance
-
includeClearControl
- Parameters:
includeClearControl- true if a 'Clear' control should be included in the popup menu- Returns:
- this Config instance
- Throws:
IllegalStateException- in case the panel has already been initialized
-
includeLimitMenu
- Parameters:
includeLimitMenu- true if a popup menu for configuring the table model limit should be included- Returns:
- this Config instance
-
includeEntityMenu
- Parameters:
includeEntityMenu- true if aEntityPopupMenushould be available in this table, triggered with CTRL-ALT-V.- Returns:
- this Config instance
-
includeSelectionModeControl
- Parameters:
includeSelectionModeControl- true if a 'Single Selection' control should be included in the popup menu- Returns:
- this Config instance
-
includeToolBar
- Parameters:
includeToolBar- true if a toolbar should be included on the south panel- Returns:
- this Config instance
-
includeAddControl
- Parameters:
includeAddControl- true if a Add control should be included if a edit panel is available- Returns:
- this Config instance
-
includeEditControl
- Parameters:
includeEditControl- true if a Edit control should be included if a edit panel is available- Returns:
- this Config instance
-
includeEditAttributeControl
- Parameters:
includeEditAttributeControl- true if a 'Edit' attribute control should be included- Returns:
- this Config instance
- See Also:
-
columnSelection
- Parameters:
columnSelection- specifies how columns are selected- Returns:
- this Config instance
-
editAttributeSelection
public EntityTablePanel.Config editAttributeSelection(EntityTablePanel.EditAttributeSelection editAttributeSelection) - Parameters:
editAttributeSelection- specifies attributes are selected when editing the selected records- Returns:
- this Config instance
-
keyStrokes
public EntityTablePanel.Config keyStrokes(Consumer<is.codion.swing.common.ui.key.KeyboardShortcuts<EntityTablePanel.EntityTablePanelControl>> shortcuts) - Parameters:
shortcuts- provides this tablesKeyboardShortcutsinstance.- Returns:
- this Config instance
-
editable
public EntityTablePanel.Config editable(Consumer<is.codion.common.value.ValueSet<is.codion.framework.domain.entity.attribute.Attribute<?>>> attributes) - Parameters:
attributes- provides this tables editable attribute value set- Returns:
- this Config instance
-
deleteConfirmer
- Parameters:
deleteConfirmer- the delete confirmer- Returns:
- this Config instance
-
editComponentFactory
public <T,A extends is.codion.framework.domain.entity.attribute.Attribute<T>, EntityTablePanel.Config editComponentFactoryC extends JComponent> (A attribute, EntityComponentFactory<T, A, C> componentFactory) Sets the component factory for the given attribute, used when editing entities viaEntityTablePanel.editSelected(Attribute).- Type Parameters:
T- the value typeA- the attribute typeC- the component type- Parameters:
attribute- the attributecomponentFactory- the component factory- Returns:
- this Config instance
-
tableCellEditorFactory
public <T,A extends is.codion.framework.domain.entity.attribute.Attribute<T>, EntityTablePanel.Config tableCellEditorFactoryC extends JComponent> (A attribute, EntityComponentFactory<T, A, C> componentFactory) Sets the table cell editor component factory for the given attribute.- Type Parameters:
T- the value typeA- the attribute typeC- the component type- Parameters:
attribute- the attributecomponentFactory- the component factory- Returns:
- this Config instance
-
referentialIntegrityErrorHandling
public EntityTablePanel.Config referentialIntegrityErrorHandling(ReferentialIntegrityErrorHandling referentialIntegrityErrorHandling) - Parameters:
referentialIntegrityErrorHandling- the action to take on a referential integrity error on delete- Returns:
- this Config instance
-
refreshButtonVisible
public EntityTablePanel.Config refreshButtonVisible(EntityTablePanel.RefreshButtonVisible refreshButtonVisible) - Parameters:
refreshButtonVisible- the refresh button visible setting- Returns:
- this Config instance
-
statusMessage
public EntityTablePanel.Config statusMessage(Function<is.codion.swing.framework.model.SwingEntityTableModel, String> statusMessage) - Parameters:
statusMessage- the function used for creating the table status message- Returns:
- this Config instance
-
showRefreshProgressBar
- Parameters:
showRefreshProgressBar- controls whether an indeterminate progress bar should be shown while the model is refreshing- Returns:
- this Config instance
- See Also:
-