Skip to content

Commit f247c7c

Browse files
committed
Make activeTab observable
1 parent 5bac391 commit f247c7c

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

src/main/java/org/jabref/gui/LibraryTabContainer.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.util.List;
44

5+
import javafx.collections.ObservableList;
6+
57
import org.jabref.model.database.BibDatabaseContext;
68

79
import org.jspecify.annotations.NonNull;
@@ -10,7 +12,7 @@
1012

1113
@NullMarked
1214
public interface LibraryTabContainer {
13-
List<LibraryTab> getLibraryTabs();
15+
ObservableList<LibraryTab> getLibraryTabs();
1416

1517
@Nullable
1618
LibraryTab getCurrentLibraryTab();

src/main/java/org/jabref/gui/frame/JabRefFrame.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import javafx.beans.InvalidationListener;
1313
import javafx.beans.binding.Bindings;
1414
import javafx.beans.binding.StringBinding;
15+
import javafx.collections.ObservableList;
1516
import javafx.collections.transformation.FilteredList;
1617
import javafx.event.Event;
1718
import javafx.geometry.Orientation;
@@ -454,11 +455,8 @@ private void initBindings() {
454455
/**
455456
* Returns a list of all LibraryTabs in this frame.
456457
*/
457-
public @NonNull List<LibraryTab> getLibraryTabs() {
458-
return tabbedPane.getTabs().stream()
459-
.filter(LibraryTab.class::isInstance)
460-
.map(LibraryTab.class::cast)
461-
.toList();
458+
public @NonNull ObservableList<LibraryTab> getLibraryTabs() {
459+
return EasyBind.map(tabbedPane.getTabs().filtered(LibraryTab.class::isInstance), LibraryTab.class::cast);
462460
}
463461

464462
/**

src/test/java/org/jabref/gui/importer/NewEntryActionTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.jabref.gui.importer;
22

3-
import java.util.List;
3+
import javafx.collections.FXCollections;
44

55
import org.jabref.gui.DialogService;
66
import org.jabref.gui.LibraryTab;
@@ -40,7 +40,7 @@ void setUp() {
4040
void executeOnSuccessWithFixedType() {
4141
EntryType type = StandardEntryType.Article;
4242
newEntryAction = new NewEntryAction(() -> libraryTab, type, dialogService, preferences, stateManager);
43-
when(tabContainer.getLibraryTabs()).thenReturn(List.of(libraryTab));
43+
when(tabContainer.getLibraryTabs()).thenReturn(FXCollections.observableArrayList(libraryTab));
4444

4545
newEntryAction.execute();
4646
verify(libraryTab, times(1)).insertEntry(new BibEntry(type));

0 commit comments

Comments
 (0)