0323b770ab56ffa3c1407a3eb240d89b42cbd827
[fanfix.git] / src / be / nikiroo / fanfix_swing / gui / browser / AuthorTab.java
1 package be.nikiroo.fanfix_swing.gui.browser;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import javax.swing.tree.DefaultMutableTreeNode;
7
8 import be.nikiroo.fanfix.Instance;
9 import be.nikiroo.fanfix.bundles.StringIdGui;
10
11 public 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) {
23 try {
24 List<String> authors = Instance.getInstance().getLibrary()
25 .getAuthors();
26 for (String author : authors) {
27 data.add(author);
28 }
29 } catch (Exception e) {
30 // TODO
31 e.printStackTrace();
32 }
33 }
34
35 @Override
36 protected String keyToElement(String key) {
37 return key;
38 }
39
40 @Override
41 protected String keyToDisplay(String key) {
42 if (key.trim().isEmpty()) {
43 key = Instance.getInstance().getTransGui()
44 .getString(StringIdGui.MENU_AUTHORS_UNKNOWN);
45 }
46
47 return key;
48 }
49
50 @Override
51 protected int loadData(DefaultMutableTreeNode root, List<String> authors,
52 String filter) {
53 for (String author : authors) {
54 if (checkFilter(filter, author)) {
55 DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(
56 author);
57 root.add(sourceNode);
58 }
59 }
60
61 return authors.size();
62 }
63 }