1 | class HTMLResultView extends JPanel implements IResultListener {↵ | | 1 | class SearchResultView extends JPanel implements IResultListener {↵
|
|
2 | private IHTMLViewerPlugin viewerPlugin;↵ | | 2 | private IHTMLViewerPlugin viewerPlugin;↵
|
|
3 | private StringBuffer buf;↵ | | 3 | private StringBuffer buf;↵
|
|
4 | public HTMLResultView() {↵ | | 4 | public SearchResultView() {↵
|
5 | super();↵ | | 5 | super();↵
|
|
6 | viewerPlugin = HTMLViewerFactory.createHTMLViewer();↵ | | 6 | viewerPlugin = HTMLViewerFactory.createHTMLViewer();↵
|
|
7 | setLayout(new BorderLayout());↵ | | 7 | setLayout(new BorderLayout());↵
|
|
8 | add(viewerPlugin.getContainer(), BorderLayout.CENTER);↵ | | 8 | add(viewerPlugin.getContainer(), BorderLayout.CENTER);↵
|
9 | }↵ | | 9 | }↵
|
|
10 | public void resultArrived(IResultEvent event) {↵ | | 10 | public void resultArrived(IResultEvent event) {↵
|
11 | List<ISearchResult> result = event.getSearchResults();↵ | | 11 | List<ISearchResult> result = event.getSearchResults();↵
|
|
12 | buf.append("<p>" + createCriteria(event.getSearchCriteria())↵ | | 12 | buf.append("<p>" + createCriteria(event.getSearchCriteria())↵
|
13 | + "</p><br>");↵ | | 13 | + "</p><br>");↵
|
|
14 | Iterator<ISearchResult> it = result.iterator();↵ | | 14 | Iterator<ISearchResult> it = result.iterator();↵
|
15 | while (it.hasNext()) {↵ | | 15 | while (it.hasNext()) {↵
|
16 | ISearchResult r = it.next();↵ | | 16 | ISearchResult r = it.next();↵
|
17 | buf.append("<p>");↵ | | 17 | buf.append("<p>");↵
|
18 | buf.append(createTitle(r));↵ | | 18 | buf.append(createTitle(r));↵
|
19 | buf.append("</p><p>");↵ | | 19 | buf.append("</p><p>");↵
|
20 | buf.append(getDescription(r));↵ | | 20 | buf.append(getDescription(r));↵
|
21 | buf.append("</p><p><br></p>");↵ | | 21 | buf.append("</p><p><br></p>");↵
|
22 | }↵ | | 22 | }↵
|
|
23 | StringBuffer doc = new StringBuffer();↵ | | 23 | StringBuffer doc = new StringBuffer();↵
|
24 | startDocument(doc);↵ | | 24 | startDocument(doc);↵
|
25 | doc.append(buf.toString());↵ | | 25 | doc.append(buf.toString());↵
|
26 | endDocument(doc);↵ | | 26 | endDocument(doc);↵
|
|
27 | viewerPlugin.view(doc.toString());↵ | | 27 | viewerPlugin.view(doc.toString());↵
|
|
28 | }↵ | | 28 | }↵
|
|
29 | private String createCriteria(ISearchCriteria r) {↵ | | 29 | private String createCriteria(ISearchCriteria r) {↵
|
30 | return "Search Results for \"<font class=\"italic\">" + r.getTitle() + "</font>\":";↵ | | 30 | return "Search Results for \"<font class=\"italic\">" + r.getTitle() + "</font>\":";↵
|
31 | }↵ | | 31 | }↵
|
|
32 | private String createTitle(ISearchResult r) {↵ | | 32 | private String createTitle(ISearchResult r) {↵
|
33 | return "<a href=\"" + r.getLocation().toString() + "\">" + r.getTitle()↵ | | 33 | return "<a href=\"" + r.getLocation().toString() + "\">" + r.getTitle()↵
|
34 | + "</a>";↵ | | 34 | + "</a>";↵
|
35 | }↵ | | 35 | }↵
|
|
36 | private String getDescription(ISearchResult r) {↵ | | 36 | private String getDescription(ISearchResult r) {↵
|
37 | return "<font class=\"quoting\">" + r.getDescription() + "</font>";↵ | | 37 | return "<font class=\"quoting\">" + r.getDescription() + "</font>";↵
|
38 | }↵ | | 38 | }↵
|
|
39 | public void clearSearch(IResultEvent event) {↵ | | 39 | public void clearSearch(IResultEvent event) {↵
|
40 | buf = new StringBuffer();↵ | | 40 | buf = new StringBuffer();↵
|
41 | viewerPlugin.view("");↵ | | 41 | viewerPlugin.view("");↵
|
42 | }↵ | | 42 | }↵
|
|
43 | private void startDocument(StringBuffer b) {↵ | | 43 | private void startDocument(StringBuffer b) {↵
|
44 | String css = "<style type=\"text/css\">\n"↵ | | 44 | String css = "<style type=\"text/css\">\n"↵
|
45 | + "a { color: blue; text-decoration: underline }\n"↵ | | 45 | + "a { color: blue; text-decoration: underline }\n"↵
|
46 | + "font.quoting {color:#949494;} \n font.italic {font-style:italic;color:#000;} \n" + "</style>\n";↵ | | 46 | + "font.quoting {color:#949494;} \n font.italic {font-style:italic;color:#000;} \n" + "</style>\n";↵
|
|
47 | b.append("<HTML><HEAD>" + css + "</HEAD><BODY>");↵ | | 47 | b.append("<HTML><HEAD>" + css + "</HEAD><BODY>");↵
|
48 | }↵ | | 48 | }↵
|
|
49 | private void endDocument(StringBuffer b) {↵ | | 49 | private void endDocument(StringBuffer b) {↵
|
50 | b.append("</P></BODY></HTML>");↵ | | 50 | b.append("</P></BODY></HTML>");↵
|
51 | }↵ | | 51 | }↵
|
|
52 | public void reset(IResultEvent event) {↵ | | 52 | public void reset(IResultEvent event) {↵
|
53 | buf = new StringBuffer();↵ | | 53 | buf = new StringBuffer();↵
|
54 | viewerPlugin.view("");↵ | | 54 | viewerPlugin.view("");↵
|
55 | }↵ | | 55 | }↵
|
|
56 | public void finished(IResultEvent event) {↵ | | 56 | public void finished(IResultEvent event) {↵
|
57 | // TODO Auto-generated method stub↵ | | 57 | // TODO Auto-generated method stub↵
|
58 | ↵ | | 58 | ↵
|
59 | }↵ | | 59 | }↵
|
|
60 | } | | 60 | }
|