1 package com.melloware.jukes.gui.tool.help;
2
3 import javax.swing.tree.DefaultMutableTreeNode;
4 import javax.swing.tree.TreeNode;
5
6 import com.melloware.jukes.db.orm.Artist;
7 import com.melloware.jukes.db.orm.Disc;
8 import com.melloware.jukes.db.orm.Track;
9 import com.melloware.jukes.gui.tool.DynamicHelpModule;
10 import com.melloware.jukes.gui.tool.Resources;
11
12
13
14
15
16
17
18
19
20 public final class HelpSets {
21
22 public static final TreeNode WELCOME_HELP_SET = createWelcomeHelpSet();
23 public static final TreeNode ARTIST_HELP_SET = createArtistHelpSet();
24 public static final TreeNode DISC_HELP_SET = createDiscHelpSet();
25 public static final TreeNode TRACK_HELP_SET = createTrackHelpSet();
26
27 private static final String URL_PREFIX = Resources.getString(Resources.HELP_URL_PREFIX);
28 private static final String HELP_TEXT = "Help";
29
30 private HelpSets() {
31
32 }
33
34
35
36
37
38
39 public static void registerHelpSets(DynamicHelpModule helpModule) {
40 helpModule.registerHelp(Artist.class, ARTIST_HELP_SET);
41 helpModule.registerHelp(Disc.class, DISC_HELP_SET);
42 helpModule.registerHelp(Track.class, TRACK_HELP_SET);
43 }
44
45
46
47
48 private static TreeNode createArtistHelpSet() {
49 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
50 DefaultMutableTreeNode chapter;
51
52 chapter = createChapter(HELP_TEXT);
53 chapter.add(createTopic("Artist", "artist/general"));
54 chapter.add(createTopic("Information", "artist/information"));
55 root.add(chapter);
56
57 chapter = createChapter("Samples");
58 chapter.add(createTopic("Sample1", "artist/sample1"));
59 chapter.add(createTopic("Sample2", "artist/sample2"));
60 root.add(chapter);
61
62 return root;
63 }
64
65
66
67
68 private static DefaultMutableTreeNode createChapter(String name) {
69 return new DefaultMutableTreeNode(HelpNode.createChapter(name));
70 }
71
72
73
74
75 private static TreeNode createDiscHelpSet() {
76 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
77 DefaultMutableTreeNode chapter;
78
79 chapter = createChapter(HELP_TEXT);
80 chapter.add(createTopic("Disc", "disc/general"));
81 chapter.add(createTopic("Information", "disc/information"));
82 chapter.add(createTopic("Audit data", "disc/audit"));
83 root.add(chapter);
84
85 chapter = createChapter("Samples");
86 chapter.add(createTopic("Sample1", "disc/sample1"));
87 root.add(chapter);
88
89 return root;
90 }
91
92
93
94
95 private static DefaultMutableTreeNode createTopic(String name, String path) {
96 String fullPath = URL_PREFIX + path + ".html";
97 return new DefaultMutableTreeNode(HelpNode.createTopic(name, fullPath));
98 }
99
100
101
102
103 private static TreeNode createTrackHelpSet() {
104 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
105 DefaultMutableTreeNode chapter;
106
107 chapter = createChapter(HELP_TEXT);
108 chapter.add(createTopic("Track", "track/general"));
109 chapter.add(createTopic("Information", "track/information"));
110 chapter.add(createTopic("Audit data", "track/audit"));
111 chapter.add(createTopic("Editing", "track/editing"));
112 root.add(chapter);
113
114 chapter = createChapter("Samples");
115 chapter.add(createTopic("Sample1", "track/sample1"));
116 chapter.add(createTopic("Sample2", "track/sample2"));
117 root.add(chapter);
118
119 return root;
120 }
121
122
123
124
125 private static TreeNode createWelcomeHelpSet() {
126 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
127 DefaultMutableTreeNode chapter;
128
129 chapter = createChapter(HELP_TEXT);
130 chapter.add(createTopic("Welcome", "welcome/welcome"));
131 chapter.add(createTopic("How to use dynamic help", "welcome/help"));
132 root.add(chapter);
133
134 chapter = createChapter("Getting Started");
135 chapter.add(createTopic("Add new album to catalog", "welcome/new"));
136 chapter.add(createTopic("Open existing project", "welcome/open"));
137 root.add(chapter);
138
139 return root;
140 }
141
142 }