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) { | |
b63e7e0b | 25 | data.clear(); |
3cdf3fd8 | 26 | try { |
32ed6089 NR |
27 | MetaResultList metas = Instance.getInstance().getLibrary() |
28 | .getList(); | |
e915ed77 NR |
29 | // TODO: getTagList, getAuthorList... ? |
30 | for (MetaData meta : metas.getMetas()) { | |
3cdf3fd8 NR |
31 | List<String> tags = meta.getTags(); |
32 | if (tags != null) { | |
33 | for (String tag : tags) { | |
34 | if (!data.contains(tag)) { | |
35 | data.add(tag); | |
36 | } | |
37 | } | |
38 | } | |
39 | } | |
40 | } catch (Exception e) { | |
41 | // TODO | |
42 | e.printStackTrace(); | |
43 | } | |
44 | } | |
45 | ||
46 | @Override | |
47 | protected String keyToElement(String key) { | |
48 | return key; | |
49 | } | |
50 | ||
51 | @Override | |
52 | protected String keyToDisplay(String key) { | |
e915ed77 NR |
53 | if (key.trim().isEmpty()) { |
54 | // TODO: new TAG_UNKNOWN needed | |
32ed6089 NR |
55 | key = Instance.getInstance().getTransGui() |
56 | .getString(StringIdGui.MENU_AUTHORS_UNKNOWN); | |
e915ed77 NR |
57 | } |
58 | ||
3cdf3fd8 NR |
59 | return key; |
60 | } | |
61 | ||
62 | @Override | |
32ed6089 NR |
63 | protected int loadData(DefaultMutableTreeNode root, List<String> tags, |
64 | String filter) { | |
3cdf3fd8 NR |
65 | for (String tag : tags) { |
66 | if (checkFilter(filter, tag)) { | |
32ed6089 NR |
67 | DefaultMutableTreeNode sourceNode = new DefaultMutableTreeNode( |
68 | tag); | |
3cdf3fd8 NR |
69 | root.add(sourceNode); |
70 | } | |
71 | } | |
72 | ||
73 | return tags.size(); | |
74 | } | |
75 | } |