package org.jabref.gui.entryeditor; import java.util.Optional; import java.util.Set; import javax.swing.JComponent; import org.jabref.gui.BasePanel; import org.jabref.gui.JabRefFrame; import org.jabref.gui.contentselector.FieldContentSelector; import org.jabref.gui.entryeditor.EntryEditor.StoreFieldAction; import org.jabref.gui.fieldeditors.FieldEditor; import org.jabref.model.entry.FieldProperty; import org.jabref.model.entry.InternalBibtexFields; public class FieldExtraComponents { private FieldExtraComponents() { } /** * Return a button opening a content selector for fields where one exists * * @param frame * @param panel * @param editor * @param contentSelectors * @param storeFieldAction * @return */ public static Optional<JComponent> getSelectorExtraComponent(JabRefFrame frame, BasePanel panel, FieldEditor editor, Set<FieldContentSelector> contentSelectors, StoreFieldAction storeFieldAction) { FieldContentSelector ws = new FieldContentSelector(frame, panel, frame, editor, storeFieldAction, false, InternalBibtexFields.getFieldProperties(editor.getFieldName()) .contains(FieldProperty.PERSON_NAMES) ? " and " : ", "); contentSelectors.add(ws); return Optional.of(ws); } }