diff --git a/src/main/java/help/HelpEntry.java b/src/main/java/help/HelpEntry.java index 2be0de448ee0967eafd099e59620360b2733e254..59f7fe3a2560de7b30f596012f87e12db15d21b1 100644 --- a/src/main/java/help/HelpEntry.java +++ b/src/main/java/help/HelpEntry.java @@ -189,6 +189,10 @@ public class HelpEntry implements GenericTree { return htmlContent; } + public void setHTMLContent(String HTMLContent) { + htmlContentLowerCase = HTMLContent; + } + private String filterHTMLContent(String input) { diff --git a/src/main/java/ui/window/JFrameHelp.java b/src/main/java/ui/window/JFrameHelp.java index 4bdf299d7034fa3064123899a10167ba51f2bf4b..446c62f886d72c5928402ea978c4d4c949e86e33 100644 --- a/src/main/java/ui/window/JFrameHelp.java +++ b/src/main/java/ui/window/JFrameHelp.java @@ -186,7 +186,11 @@ public class JFrameHelp extends JFrame implements ActionListener { jp01.setBorder(new javax.swing.border.TitledBorder("Help of: " + he.getMasterKeyword())); - pane.setText(he.getHTMLContent()); + String content = handleImages(he.getHTMLContent()); + he.setHTMLContent(content); + //String content = he.getHTMLContent(); + //TraceManager.addDev("HTML content is:" + content); + pane.setText(content); setVisible(true); } @@ -270,6 +274,43 @@ public class JFrameHelp extends JFrame implements ActionListener { setHelpEntry(srhe); } + private String handleImages(String initialContent) { + int index; + int cpt = 0; + + while ((index = initialContent.indexOf("<img src=\"file:")) != -1) { + + String tmpContent = initialContent.substring(index + 15, initialContent.length()); + int index2 = tmpContent.indexOf("\""); + if (index2 == -1) return initialContent; + + String infoFile = tmpContent.substring(0, index2); + + if (infoFile.startsWith("../ui/util/")) { + infoFile = infoFile.substring(11, infoFile.length()); + } + + URL url = IconManager.class.getResource(infoFile); + if (url != null) { + String imgsrc = url.toString(); + TraceManager.addDev("Infofile:" + infoFile + " imgsrc=" + imgsrc); + String tmp1 = initialContent.substring(0, index + 10); + String tmp2 = initialContent.substring(index + 15 + index2, initialContent.length()); + initialContent = tmp1 + imgsrc + tmp2; + TraceManager.addDev("New initial content:" + initialContent); + } else { + return initialContent; + } + cpt ++; + if (cpt == 1000) { + return initialContent; + } + } + + return initialContent; + + } + } // Class