fix filter re-add data problem
[fanfix.git] / src / be / nikiroo / fanfix_swing / gui / browser / AuthorTab.java
CommitLineData
3cdf3fd8
NR
1package be.nikiroo.fanfix_swing.gui.browser;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import javax.swing.tree.DefaultMutableTreeNode;
7
8import be.nikiroo.fanfix.Instance;
e915ed77 9import be.nikiroo.fanfix.bundles.StringIdGui;
3cdf3fd8
NR
10
11public class AuthorTab extends BasicTab<List<String>> {
12 public AuthorTab(int index, String listenerCommand) {
13 super(index, listenerCommand);
14 }
15
16 @Override
17 protected List<String> createEmptyData() {
18 return new ArrayList<String>();
19 }
20
21 @Override
22 protected void fillData(List<String> data) {
b63e7e0b 23 data.clear();
3cdf3fd8 24 try {
32ed6089
NR
25 List<String> authors = Instance.getInstance().getLibrary()
26 .getAuthors();
3cdf3fd8
NR
27 for (String author : authors) {
28 data.add(author);
29 }
30 } catch (Exception e) {
31 // TODO
32 e.printStackTrace();
33 }
34 }
35
36 @Override
37 protected String keyToElement(String key) {
38 return key;
39 }
40
41 @Override
42 protected String keyToDisplay(String key) {
e915ed77 43 if (key.trim().isEmpty()) {
32ed6089
NR
44 key = Instance.getInstance().getTransGui()
45 .getString(StringIdGui.MENU_AUTHORS_UNKNOWN);
e915ed77 46 }
32ed6089 47
3cdf3fd8
NR
48 return key;
49 }
50
51 @Override
32ed6089
NR
52 protected int loadData(DefaultMutableTreeNode root, List<String> authors,
53 String filter) {
3cdf3fd8
NR
54 for (String author : authors) {
55 if (checkFilter(filter, author)) {
32ed6089
NR
56 DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(
57 author);
3cdf3fd8
NR
58 root.add(sourceNode);
59 }
60 }
61
62 return authors.size();
63 }
64}