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