Verified Owner
Top Description Fields Constructors Methods
org.jabref.gui.entryeditor

public Class EntryEditor

extends BorderPane
implements PreviewControls
Class Inheritance
All Implemented Interfaces
org.jabref.gui.preview.PreviewControls
Imports
java.io.File, java.nio.file.Path, java.util.List, .Optional, java.util.function.Supplier, javafx.application.Platform, javafx.beans.binding.Bindings, javafx.fxml.FXML, javafx.geometry.Side, javafx.scene.control.Button, .ContextMenu, .Label, .MenuItem, .Tab, .TabPane, javafx.scene.input.DataFormat, .KeyEvent, .TransferMode, javafx.scene.layout.BorderPane, javafx.stage.Modality, org.jabref.gui.DialogService, .LibraryTab, .StateManager, org.jabref.gui.externalfiles.ExternalFilesEntryLinker, org.jabref.gui.help.HelpAction, org.jabref.gui.keyboard.KeyBinding, .KeyBindingRepository, org.jabref.gui.menus.ChangeEntryTypeMenu, org.jabref.gui.preferences.GuiPreferences, org.jabref.gui.preview.PreviewControls, .PreviewPanel, org.jabref.gui.undo.RedoAction, .UndoAction, org.jabref.gui.util.BaseDialog, .DirectoryMonitor, .DragDrop, org.jabref.logic.ai.AiService, org.jabref.logic.citation.SearchCitationsRelationsService, org.jabref.logic.help.HelpFile, org.jabref.logic.importer.EntryBasedFetcher, org.jabref.logic.journals.JournalAbbreviationRepository, org.jabref.logic.util.BuildInfo, .TaskExecutor, org.jabref.model.entry.BibEntry, .BibEntryTypesManager, org.jabref.model.entry.field.Field, .FieldFactory, org.jabref.model.util.FileUpdateMonitor, com.airhacks.afterburner.views.ViewLoader, com.tobiasdiez.easybind.EasyBind, io.github.kusoroadeolu.veneer.BibTeXSyntaxHighlighter, jakarta.inject.Inject, org.jspecify.annotations.NonNull, .Nullable

GUI component that allows editing of the fields of a BibEntry (i.e. the one that shows up, when you double click on an entry in the table)

It hosts the tabs (Main, LaTeX citations, Source, …) and the buttons to the left.

EntryEditor also registers itself to the event bus, receiving events whenever a field of the entry changes, enabling the text fields to update themselves if the change is made from somewhere else.

The editors for fields are created via org.jabref.gui.fieldeditors.FieldEditors.

Field Summary

Modifier and TypeField and Description
private AiService
private BibEntryTypesManager
private BibTeXSyntaxHighlighter
private BuildInfo
private DialogService
private DirectoryMonitor
private Button
private final ExternalFilesEntryLinker
private FileUpdateMonitor
private final EntryEditorFocusUtils
private JournalAbbreviationRepository
private @Nullable JumpToFieldDialog
private KeyBindingRepository
private GuiPreferences
private final PreviewPanel
private SearchCitationsRelationsService
private StateManager
private TabPane
private final Supplier<LibraryTab>
private TaskExecutor
private Button
private Label
private final EntryEditorViewModel

Constructor Summary

AccessConstructor and Description
public
EntryEditor(Supplier<LibraryTab> tabSupplier, UndoAction undoAction, RedoAction redoAction)

Method Summary

Modifier and TypeMethod and Description
private void
private void
private void
private void
public @Nullable BibEntry
private @Nullable EntryEditorTab
private void
public void
private void
private void
public void
openJumpToFieldDialog()

Shows the jump-to-field dialog for the currently edited entry.

public void
public void
selectField(String fieldName)

public void
private void
private void
private void
private void
Inherited from javafx.scene.layout.BorderPane:
bottomPropertycenterPropertyclearConstraintscomputeMinHeightcomputeMinWidthcomputePrefHeightcomputePrefWidthgetAlignmentgetBottomgetCentergetContentBiasgetLeftgetMargingetRightgetToplayoutChildrenleftPropertyrightPropertysetAlignmentsetBottomsetCentersetLeftsetMarginsetRightsetToptopProperty

Field Detail

aiServiceback to summary
private AiService aiService
Annotations
@Inject
bibEntryTypesManagerback to summary
private BibEntryTypesManager bibEntryTypesManager
Annotations
@Inject
bibTeXSyntaxHighlighterback to summary
private BibTeXSyntaxHighlighter bibTeXSyntaxHighlighter
Annotations
@Inject
buildInfoback to summary
private BuildInfo buildInfo
Annotations
@Inject
dialogServiceback to summary
private DialogService dialogService
Annotations
@Inject
directoryMonitorback to summary
private DirectoryMonitor directoryMonitor
Annotations
@Inject
fetcherButtonback to summary
private Button fetcherButton
Annotations
@FXML
fileLinkerback to summary
private final ExternalFilesEntryLinker fileLinker
fileMonitorback to summary
private FileUpdateMonitor fileMonitor
Annotations
@Inject
focusUtilsback to summary
private final EntryEditorFocusUtils focusUtils
journalAbbreviationRepositoryback to summary
private JournalAbbreviationRepository journalAbbreviationRepository
Annotations
@Inject
jumpToFieldDialogback to summary
private @Nullable JumpToFieldDialog jumpToFieldDialog
keyBindingRepositoryback to summary
private KeyBindingRepository keyBindingRepository
Annotations
@Inject
preferencesback to summary
private GuiPreferences preferences
Annotations
@Inject
previewPanelback to summary
private final PreviewPanel previewPanel
searchCitationsRelationsServiceback to summary
private SearchCitationsRelationsService searchCitationsRelationsService
Annotations
@Inject
stateManagerback to summary
private StateManager stateManager
Annotations
@Inject
tabbedback to summary
private TabPane tabbed
Annotations
@FXML
tabSupplierback to summary
private final Supplier<LibraryTab> tabSupplier
taskExecutorback to summary
private TaskExecutor taskExecutor
Annotations
@Inject
typeChangeButtonback to summary
private Button typeChangeButton
Annotations
@FXML
typeLabelback to summary
private Label typeLabel
Annotations
@FXML
viewModelback to summary
private final EntryEditorViewModel viewModel

Constructor Detail

EntryEditorback to summary
public EntryEditor(Supplier<LibraryTab> tabSupplier, UndoAction undoAction, RedoAction redoAction)

Method Detail

closeback to summary
private void close()
Annotations
@FXML
deleteEntryback to summary
private void deleteEntry()
Annotations
@FXML
generateCiteKeyButtonback to summary
private void generateCiteKeyButton()
Annotations
@FXML
generateCleanupButtonback to summary
private void generateCleanupButton()
Annotations
@FXML
getCurrentlyEditedEntryback to summary
public @Nullable BibEntry getCurrentlyEditedEntry()
getSelectedTabback to summary
private @Nullable EntryEditorTab getSelectedTab()
jumpToFieldButtonback to summary
private void jumpToFieldButton()
Annotations
@FXML
nextPreviewStyleback to summary
public void nextPreviewStyle()

Implements org.jabref.gui.preview.PreviewControls.nextPreviewStyle.

Annotations
@Override
onEntryChangedback to summary
private void onEntryChanged(@NonNull BibEntry entry)
onEntryTypeChangedback to summary
private void onEntryTypeChanged()
openJumpToFieldDialogback to summary
public void openJumpToFieldDialog()

Shows the jump-to-field dialog for the currently edited entry. Handled globally in org.jabref.gui.frame.JabRefFrame so that it works regardless of where the keyboard focus lies.

previousPreviewStyleback to summary
public void previousPreviewStyle()

Implements org.jabref.gui.preview.PreviewControls.previousPreviewStyle.

Annotations
@Override
selectFieldback to summary
public void selectField(String fieldName)
setFocusToFieldback to summary
public void setFocusToField(Field field)
setupDragAndDropback to summary
private void setupDragAndDrop()
setupKeyBindingsback to summary
private void setupKeyBindings()
setupSubscriptionsback to summary
private void setupSubscriptions()
setupToolBarback to summary
private void setupToolBar()