Commit | Line | Data |
---|---|---|
3cdf3fd8 NR |
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; | |
e915ed77 | 9 | import be.nikiroo.fanfix.bundles.StringIdGui; |
3cdf3fd8 | 10 | import be.nikiroo.fanfix.data.MetaData; |
e915ed77 | 11 | import be.nikiroo.fanfix.library.MetaResultList; |
3cdf3fd8 NR |
12 | |
13 | public class TagsTab extends BasicTab<List<String>> { | |
14 | public TagsTab(int index, String listenerCommand) { | |
15 | super(index, listenerCommand); | |
16 | } | |
17 | ||
18 | @Override | |
19 | protected List<String> createEmptyData() { | |
20 | return new ArrayList<String>(); | |
21 | } | |
22 | ||
23 | @Override | |
24 | protected void fillData(List<String> data) { | |
25 | try { | |
e915ed77 NR |
26 | MetaResultList metas = Instance.getInstance().getLibrary().getList(); |
27 | // TODO: getTagList, getAuthorList... ? | |
28 | for (MetaData meta : metas.getMetas()) { | |
3cdf3fd8 NR |
29 | List<String> tags = meta.getTags(); |
30 | if (tags != null) { | |
31 | for (String tag : tags) { | |
32 | if (!data.contains(tag)) { | |
33 | data.add(tag); | |
34 | } | |
35 | } | |
36 | } | |
37 | } | |
38 | } catch (Exception e) { | |
39 | // TODO | |
40 | e.printStackTrace(); | |
41 | } | |
42 | } | |
43 | ||
44 | @Override | |
45 | protected String keyToElement(String key) { | |
46 | return key; | |
47 | } | |
48 | ||
49 | @Override | |
50 | protected String keyToDisplay(String key) { | |
e915ed77 NR |
51 | if (key.trim().isEmpty()) { |
52 | // TODO: new TAG_UNKNOWN needed | |
53 | key = Instance.getInstance().getTransGui().getString(StringIdGui.MENU_AUTHORS_UNKNOWN); | |
54 | } | |
55 | ||
3cdf3fd8 NR |
56 | return key; |
57 | } | |
58 | ||
59 | @Override | |
60 | protected int loadData(DefaultMutableTreeNode root, List<String> tags, String filter) { | |
61 | for (String tag : tags) { | |
62 | if (checkFilter(filter, tag)) { | |
63 | DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode(tag); | |
64 | root.add(sourceNode); | |
65 | } | |
66 | } | |
67 | ||
68 | return tags.size(); | |
69 | } | |
70 | } |