package org.signalml.app.method.ep.view.tags;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.util.List;
import javax.swing.JTable;
import org.signalml.app.document.TagDocument;
import org.signalml.app.view.common.components.panels.AbstractSelectionPanel;
import org.signalml.domain.tag.StyledTagSet;
/**
* This panel can be used to select some tags from the list of tag styles.
*
* @author Piotr Szachewicz
*/
public class TagSelectionPanel extends AbstractSelectionPanel<TagSelectionTableModel> {
public TagSelectionPanel(String label) {
super(label);
}
public TagSelectionPanel() {
super(_("Tags"));
}
@Override
public JTable getTable() {
if (table == null)
table = new TagSelectionTable(getTableModel());
return table;
}
@Override
public TagSelectionTableModel getTableModel() {
if (tableModel == null) {
tableModel = new TagSelectionTableModel();
}
return tableModel;
}
public void setTagDocument(TagDocument tagDocument) {
StyledTagSet tagSet = new StyledTagSet();
if (tagDocument != null) {
tagSet = tagDocument.getTagSet();
((TagSelectionTable) getTable()).setStyledTagSet(tagSet);
}
getTableModel().setStyledTagSet(tagSet);
}
public List<TagStyleGroup> getSelectedTagStyles() {
return getTableModel().getSelectedElements();
}
}