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
11
12
13
14
15
16
17
18 public final class HelpSets {
19
20 public static final TreeNode WELCOME_HELP_SET = createWelcomeHelpSet();
21 public static final TreeNode ARTIST_HELP_SET = createArtistHelpSet();
22 public static final TreeNode DISC_HELP_SET = createDiscHelpSet();
23 public static final TreeNode TRACK_HELP_SET = createTrackHelpSet();
24
25 private static final String URL_PREFIX = "docs/help/dynamic/";
26 private static final String HELP_TEXT = "Help";
27
28 private HelpSets() {
29
30 }
31
32
33
34
35
36
37 public static void registerHelpSets(DynamicHelpModule helpModule) {
38 helpModule.registerHelp(Artist.class, ARTIST_HELP_SET);
39 helpModule.registerHelp(Disc.class, DISC_HELP_SET);
40 helpModule.registerHelp(Track.class, TRACK_HELP_SET);
41 }
42
43
44
45
46 private static TreeNode createArtistHelpSet() {
47 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
48 DefaultMutableTreeNode chapter;
49
50 chapter = createChapter(HELP_TEXT);
51 chapter.add(createTopic("Shaft", "shaft/general"));
52 chapter.add(createTopic("Comments", "shaft/comments"));
53 root.add(chapter);
54
55 chapter = createChapter("Samples");
56 chapter.add(createTopic("Sample1", "shaft/sample1"));
57 chapter.add(createTopic("Sample2", "shaft/sample2"));
58 root.add(chapter);
59
60 return root;
61 }
62
63
64
65
66 private static DefaultMutableTreeNode createChapter(String name) {
67 return new DefaultMutableTreeNode(HelpNode.createChapter(name));
68 }
69
70
71
72
73 private static TreeNode createDiscHelpSet() {
74 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
75 DefaultMutableTreeNode chapter;
76
77 chapter = createChapter(HELP_TEXT);
78 chapter.add(createTopic("Segment", "segment/general"));
79 chapter.add(createTopic("Diameters", "segment/diameters"));
80 chapter.add(createTopic("Criteria", "segment/criteria"));
81 root.add(chapter);
82
83 chapter = createChapter("Samples");
84 chapter.add(createTopic("Sample1", "segment/sample1"));
85 root.add(chapter);
86
87 return root;
88 }
89
90
91
92
93 private static DefaultMutableTreeNode createTopic(String name, String path) {
94 String fullPath = URL_PREFIX + path + ".html";
95 return new DefaultMutableTreeNode(HelpNode.createTopic(name, fullPath));
96 }
97
98
99
100
101 private static TreeNode createTrackHelpSet() {
102 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
103 DefaultMutableTreeNode chapter;
104
105 chapter = createChapter(HELP_TEXT);
106 chapter.add(createTopic("Flange", "flange/general"));
107 chapter.add(createTopic("Diameters", "flange/diameters"));
108 chapter.add(createTopic("Criteria", "flange/criteria"));
109 chapter.add(createTopic("Bolts", "flange/bolts"));
110 root.add(chapter);
111
112 chapter = createChapter("Samples");
113 chapter.add(createTopic("Sample1", "flange/sample1"));
114 chapter.add(createTopic("Sample2", "flange/sample2"));
115 root.add(chapter);
116
117 return root;
118 }
119
120
121
122
123 private static TreeNode createWelcomeHelpSet() {
124 DefaultMutableTreeNode root = new DefaultMutableTreeNode();
125 DefaultMutableTreeNode chapter;
126
127 chapter = createChapter(HELP_TEXT);
128 chapter.add(createTopic("Welcome", "welcome/welcome"));
129 chapter.add(createTopic("How to use dynamic help", "welcome/help"));
130 root.add(chapter);
131
132 chapter = createChapter("Getting Started");
133 chapter.add(createTopic("Create a new project", "welcome/new"));
134 chapter.add(createTopic("Open existing project", "welcome/open"));
135 root.add(chapter);
136
137 return root;
138 }
139
140 }