| Modifier and Type | Field and Description |
|---|---|
| private final List | allPossibleTabs
Every tab that can possibly be shown for the current entry, in display order. |
| private final ObjectProperty | currentEntryType
The current entry's type, updated by the single |
| private final ObjectProperty | |
| private final DialogService | |
| private final JournalAbbreviationRepository | |
| private final GuiPreferences | |
| private final List | shouldShowSubscriptions
One subscription per tab, observing its |
| private @Nullable SourceTab | |
| private final StateManager | |
| private final EntryEditorTabFactory | |
| private final Supplier | |
| private final TaskExecutor | |
| private final SimpleStringProperty | typeLabelText
Display name of the current entry's type — the single source for the entry editor's type label. |
| private @Nullable com. | typeSubscription
Single subscription to the current entry's |
| private final ObservableList | unmodifiableVisibleTabs
Read-only view handed to the editor for |
| private final ObservableList | visibleTabs
The subset of |
| Access | Constructor and Description |
|---|---|
| public | EntryEditorViewModel(StateManager stateManager, GuiPreferences preferences, TaskExecutor taskExecutor, DialogService dialogService, JournalAbbreviationRepository journalAbbreviationRepository, Supplier<LibraryTab> tabSupplier, EntryEditorTabFactory tabFactory)
|
| Modifier and Type | Method and Description |
|---|---|
| private BibDatabaseContext | |
| public void | |
| public void | clearTabs()
Tears down the tab state when no entry is being edited (e.g. the last library was closed). |
| public ObservableValue | currentEntryTypeProperty()
The current entry's type, exposed so the editor can rebuild its toolbar when the type changes. |
| public ObjectProperty | |
| public void | |
| private void | disposeTabs()
Unsubscribes the visibility listeners and unbinds each tab's entry property before the old tab
instances are dropped, so discarded tabs are not kept alive by the binding to |
| public void | fetchAndMerge(EntryBasedFetcher fetcher)
Fetches and merges bibliographic data for the current entry from the given fetcher. |
| public void | |
| public List | getAllPossibleTabs()
All tabs that can possibly be shown for the current entry (regardless of visibility), in display order. |
| public @Nullable BibEntry | |
| public SortedSet | getEntryBasedFetchers()
Entry-based fetchers available for the active library; used to populate the "fetch and merge" menu. |
| public Optional | preferredInitialTab()
The tab the editor should select when it (re)binds to an entry: the Source tab when the user opted into "show source by default", otherwise empty (the editor keeps the current selection). |
| private void | rebindToEntryType(@Nullable BibEntry entry)
(Re)subscribes the single listener on the current entry's type, driving both the type label and the
|
| public void | |
| private void | refreshVisibleTabs()
Adds/removes incrementally instead of replacing the whole list, to preserve order without triggering the TabPane's shift-in animation on a full replace. |
| public ReadOnlyStringProperty | |
| private void | |
| public ObservableList |
| allPossibleTabs | back to summary |
|---|---|
| private final List<EntryEditorTab> allPossibleTabs Every tab that can possibly be shown for the current entry, in display order. | |
| currentEntryType | back to summary |
|---|---|
| private final ObjectProperty<@Nullable EntryType> currentEntryType The current entry's type, updated by the single | |
| currentlyEditedEntry | back to summary |
|---|---|
| private final ObjectProperty<@Nullable BibEntry> currentlyEditedEntry | |
| dialogService | back to summary |
|---|---|
| private final DialogService dialogService | |
| journalAbbreviationRepository | back to summary |
|---|---|
| private final JournalAbbreviationRepository journalAbbreviationRepository | |
| preferences | back to summary |
|---|---|
| private final GuiPreferences preferences | |
| shouldShowSubscriptions | back to summary |
|---|---|
| private final List<com. One subscription per tab, observing its | |
| sourceTab | back to summary |
|---|---|
| private @Nullable SourceTab sourceTab | |
| stateManager | back to summary |
|---|---|
| private final StateManager stateManager | |
| tabFactory | back to summary |
|---|---|
| private final EntryEditorTabFactory tabFactory | |
| tabSupplier | back to summary |
|---|---|
| private final Supplier<LibraryTab> tabSupplier | |
| taskExecutor | back to summary |
|---|---|
| private final TaskExecutor taskExecutor | |
| typeLabelText | back to summary |
|---|---|
| private final SimpleStringProperty typeLabelText Display name of the current entry's type — the single source for the entry editor's type label. | |
| typeSubscription | back to summary |
|---|---|
| private @Nullable com. Single subscription to the current entry's | |
| unmodifiableVisibleTabs | back to summary |
|---|---|
| private final ObservableList<Tab> unmodifiableVisibleTabs Read-only view handed to the editor for | |
| visibleTabs | back to summary |
|---|---|
| private final ObservableList<Tab> visibleTabs The subset of | |
| EntryEditorViewModel | back to summary |
|---|---|
| public EntryEditorViewModel(StateManager stateManager, GuiPreferences preferences, TaskExecutor taskExecutor, DialogService dialogService, JournalAbbreviationRepository journalAbbreviationRepository, Supplier<LibraryTab> tabSupplier, EntryEditorTabFactory tabFactory) | |
| activeDatabaseContext | back to summary |
|---|---|
| private BibDatabaseContext activeDatabaseContext() | |
| cleanup | back to summary |
|---|---|
| public void cleanup() | |
| clearTabs | back to summary |
|---|---|
| public void clearTabs() Tears down the tab state when no entry is being edited (e.g. the last library was closed). | |
| currentEntryTypeProperty | back to summary |
|---|---|
| public ObservableValue The current entry's type, exposed so the editor can rebuild its toolbar when the type changes. Backed by
the single | |
| currentlyEditedEntryProperty | back to summary |
|---|---|
| public ObjectProperty | |
| deleteEntry | back to summary |
|---|---|
| public void deleteEntry() | |
| disposeTabs | back to summary |
|---|---|
| private void disposeTabs() Unsubscribes the visibility listeners and unbinds each tab's entry property before the old tab
instances are dropped, so discarded tabs are not kept alive by the binding to | |
| fetchAndMerge | back to summary |
|---|---|
| public void fetchAndMerge(EntryBasedFetcher fetcher) Fetches and merges bibliographic data for the current entry from the given fetcher. The PDF-metadata fetcher first resolves the Grobid opt-in with the user — that policy lives here, not in the editor. | |
| generateCiteKey | back to summary |
|---|---|
| public void generateCiteKey() | |
| getAllPossibleTabs | back to summary |
|---|---|
| public List All tabs that can possibly be shown for the current entry (regardless of visibility), in display order. | |
| getCurrentlyEditedEntry | back to summary |
|---|---|
| public @Nullable BibEntry getCurrentlyEditedEntry() | |
| getEntryBasedFetchers | back to summary |
|---|---|
| public SortedSet Entry-based fetchers available for the active library; used to populate the "fetch and merge" menu. | |
| preferredInitialTab | back to summary |
|---|---|
| public Optional The tab the editor should select when it (re)binds to an entry: the Source tab when the user opted into "show source by default", otherwise empty (the editor keeps the current selection). The policy lives here, not in the view. | |
| rebindToEntryType | back to summary |
|---|---|
| private void rebindToEntryType(@Nullable BibEntry entry) (Re)subscribes the single listener on the current entry's type, driving both the type label and the
| |
| rebuildTabs | back to summary |
|---|---|
| public void rebuildTabs() Recreates every possible tab and re-renders the visible set. Called by the View when the active library tab changes, and internally when the configured tab models change. | |
| refreshVisibleTabs | back to summary |
|---|---|
| private void refreshVisibleTabs() Adds/removes incrementally instead of replacing the whole list, to preserve order without triggering the TabPane's shift-in animation on a full replace. | |
| typeLabelTextProperty | back to summary |
|---|---|
| public ReadOnlyStringProperty typeLabelTextProperty() | |
| updateTypeLabelText | back to summary |
|---|---|
| private void updateTypeLabelText() | |
| visibleTabs | back to summary |
|---|---|
| public ObservableList Live, ordered list of the tabs that should currently be shown for the edited entry. The
| |