Verified Owner
Top Fields Constructors Methods
org.jabref.gui.maintable

public Class MainTableColumnFactory

extends Object
Class Inheritance
Imports
java.util.ArrayList, .List, .Map, .Objects, .Optional, java.util.stream.Collectors, javafx.beans.property.ReadOnlyObjectWrapper, javafx.geometry.Insets, .Pos, javafx.scene.Node, javafx.scene.control.TableColumn, .Tooltip, javafx.scene.layout.HBox, .Pane, javafx.scene.paint.Color, javafx.scene.shape.Rectangle, javafx.scene.text.Text, org.jabref.gui.DialogService, .StateManager, org.jabref.gui.icon.IconTheme, .JabRefIcon, org.jabref.gui.maintable.columns.ContentSelectorColumn, .FieldColumn, .FileColumn, .LibraryColumn, .LinkedIdentifierColumn, .MainTableColumn, .SpecialFieldColumn, org.jabref.gui.preferences.GuiPreferences, org.jabref.gui.search.MatchCategory, org.jabref.gui.specialfields.SpecialFieldValueViewModel, org.jabref.gui.util.ValueTableCellFactory, org.jabref.logic.l10n.Localization, org.jabref.logic.util.TaskExecutor, org.jabref.model.database.BibDatabaseContext, org.jabref.model.entry.LinkedFile, org.jabref.model.entry.field.Field, .FieldFactory, .SpecialField, org.jabref.model.groups.AbstractGroup, org.jspecify.annotations.NonNull, .Nullable, org.slf4j.Logger, .LoggerFactory

Field Summary

Modifier and TypeField and Description
private final CellFactory
private final ColumnPreferences
private final BibDatabaseContext
private final DialogService
private static final Logger
private final GuiPreferences
private final StateManager
public static final String
private final TaskExecutor
private final MainTableTooltip

Constructor Summary

AccessConstructor and Description
public
MainTableColumnFactory(@NonNull BibDatabaseContext database, @NonNull GuiPreferences preferences, ColumnPreferences abstractColumnPrefs, DialogService dialogService, StateManager stateManager, TaskExecutor taskExecutor)

Method Summary

Modifier and TypeMethod and Description
public @Nullable TableColumn<BibEntryTableViewModel, ?>
public List<TableColumn<BibEntryTableViewModel, ?>>
private TableColumn<BibEntryTableViewModel, ?>
createContentSelectorColumn(MainTableColumnModel columnModel, List<String> values)

Creates a column for fields with content selectors.

private TableColumn<BibEntryTableViewModel, List<LinkedFile>>
createExtraFileColumn(MainTableColumnModel columnModel)

Creates a column for all the linked files of a single file type.

private TableColumn<BibEntryTableViewModel, ?>
createFieldColumn(MainTableColumnModel columnModel, MainTableTooltip tooltip)

Creates a text column to display any standard field.

private TableColumn<BibEntryTableViewModel, List<LinkedFile>>
createFilesColumn(MainTableColumnModel columnModel)

Creates a column for all the linked files.

private Node
private TableColumn<BibEntryTableViewModel, ?>
createGroupColumn(MainTableColumnModel columnModel)

Creates a column for group color bars.

private TableColumn<BibEntryTableViewModel, ?>
createGroupIconColumn(MainTableColumnModel columnModel)

Creates a column for group icons

private Node
private TableColumn<BibEntryTableViewModel, Map<Field, String>>
createIdentifierColumn(MainTableColumnModel columnModel)

Creates a clickable icons column for DOIs, URLs, URIs and EPrints.

private TableColumn<BibEntryTableViewModel, String>
createIndexColumn(MainTableColumnModel columnModel)

Creates a column with a continuous number

private TableColumn<BibEntryTableViewModel, String>
createLibraryColumn(MainTableColumnModel columnModel)

Create library column containing the Filename of the library's bib file

private TableColumn<BibEntryTableViewModel, MatchCategory>
createMatchCategoryColumn(MainTableColumnModel columnModel)

Creates a column for the match category.

private TableColumn<BibEntryTableViewModel, Optional<SpecialFieldValueViewModel>>
createSpecialFieldColumn(MainTableColumnModel columnModel)

Creates a column that displays a SpecialField

public static void
setExactWidth(TableColumn<?, ?> column, double width)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cellFactoryback to summary
private final CellFactory cellFactory
columnPreferencesback to summary
private final ColumnPreferences columnPreferences
databaseback to summary
private final BibDatabaseContext database
dialogServiceback to summary
private final DialogService dialogService
LOGGERback to summary
private static final Logger LOGGER
preferencesback to summary
private final GuiPreferences preferences
stateManagerback to summary
private final StateManager stateManager
STYLE_ICON_COLUMNback to summary
public static final String STYLE_ICON_COLUMN
taskExecutorback to summary
private final TaskExecutor taskExecutor
tooltipback to summary
private final MainTableTooltip tooltip

Constructor Detail

MainTableColumnFactoryback to summary
public MainTableColumnFactory(@NonNull BibDatabaseContext database, @NonNull GuiPreferences preferences, ColumnPreferences abstractColumnPrefs, DialogService dialogService, StateManager stateManager, TaskExecutor taskExecutor)

Method Detail

createColumnback to summary
public @Nullable TableColumn<BibEntryTableViewModel, ?> createColumn(MainTableColumnModel column)
createColumnsback to summary
public List<TableColumn<BibEntryTableViewModel, ?>> createColumns()
createContentSelectorColumnback to summary
private TableColumn<BibEntryTableViewModel, ?> createContentSelectorColumn(MainTableColumnModel columnModel, List<String> values)

Creates a column for fields with content selectors.

createExtraFileColumnback to summary
private TableColumn<BibEntryTableViewModel, List<LinkedFile>> createExtraFileColumn(MainTableColumnModel columnModel)

Creates a column for all the linked files of a single file type.

createFieldColumnback to summary
private TableColumn<BibEntryTableViewModel, ?> createFieldColumn(MainTableColumnModel columnModel, MainTableTooltip tooltip)

Creates a text column to display any standard field.

createFilesColumnback to summary
private TableColumn<BibEntryTableViewModel, List<LinkedFile>> createFilesColumn(MainTableColumnModel columnModel)

Creates a column for all the linked files. Instead of creating a column for a single file type, like createExtraFileColumn does, this creates one single column collecting all file links.

createGroupColorRegionback to summary
private Node createGroupColorRegion(BibEntryTableViewModel entry, List<AbstractGroup> matchedGroups)
createGroupColumnback to summary
private TableColumn<BibEntryTableViewModel, ?> createGroupColumn(MainTableColumnModel columnModel)

Creates a column for group color bars.

createGroupIconColumnback to summary
private TableColumn<BibEntryTableViewModel, ?> createGroupIconColumn(MainTableColumnModel columnModel)

Creates a column for group icons

createGroupIconRegionback to summary
private Node createGroupIconRegion(BibEntryTableViewModel entry, List<AbstractGroup> matchedGroups)
createIdentifierColumnback to summary
private TableColumn<BibEntryTableViewModel, Map<Field, String>> createIdentifierColumn(MainTableColumnModel columnModel)

Creates a clickable icons column for DOIs, URLs, URIs and EPrints.

createIndexColumnback to summary
private TableColumn<BibEntryTableViewModel, String> createIndexColumn(MainTableColumnModel columnModel)

Creates a column with a continuous number

createLibraryColumnback to summary
private TableColumn<BibEntryTableViewModel, String> createLibraryColumn(MainTableColumnModel columnModel)

Create library column containing the Filename of the library's bib file

createMatchCategoryColumnback to summary
private TableColumn<BibEntryTableViewModel, MatchCategory> createMatchCategoryColumn(MainTableColumnModel columnModel)

Creates a column for the match category. This column is always hidden but is used for sorting the table in the floating mode. The order of the MatchCategory enum constants determines the sorting order.

createSpecialFieldColumnback to summary
private TableColumn<BibEntryTableViewModel, Optional<SpecialFieldValueViewModel>> createSpecialFieldColumn(MainTableColumnModel columnModel)

Creates a column that displays a SpecialField

setExactWidthback to summary
public static void setExactWidth(TableColumn<?, ?> column, double width)