Skip to content

Commit 74db19a

Browse files
committed
first part for factory
1 parent 23be3e3 commit 74db19a

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

src/main/java/org/jabref/gui/metadata/BibtexStringEditorAction.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,4 @@ public void execute() {
1717
BibDatabase database = frame.getCurrentBasePanel().getDatabase();
1818
new BibtexStringEditorDialogView(database).showAndWait();
1919
}
20-
2120
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.jabref.gui.util;
2+
3+
import java.util.function.Function;
4+
5+
import javafx.scene.control.TableColumn;
6+
import javafx.scene.control.cell.TextFieldTableCell;
7+
import javafx.util.Callback;
8+
9+
import de.saxsys.mvvmfx.utils.validation.ValidationStatus;
10+
import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer;
11+
12+
public class ViewModelTextFieldTableCellVisualizationFactory<S, T> implements Callback<TableColumn<S, T>, TextFieldTableCell<S, T>> {
13+
14+
private ControlsFxVisualizer visualizer;
15+
private Function<S, ValidationStatus> val;
16+
17+
@Override
18+
public TextFieldTableCell<S, T> call(TableColumn<S, T> param) {
19+
return new TextFieldTableCell<S, T>() {
20+
21+
@Override
22+
public void updateItem(T item, boolean empty) {
23+
super.updateItem(item, empty);
24+
25+
if (!empty && (getTableRow() != null)) {
26+
Object rowItem = getTableRow().getItem();
27+
28+
if (rowItem != null) {
29+
S vm = (S) rowItem;
30+
visualizer.initVisualization(val.apply(vm), this);
31+
}
32+
}
33+
}
34+
};
35+
36+
}
37+
38+
}

0 commit comments

Comments
 (0)