package com.jsonde.gui.action;
import com.jsonde.gui.ApplicationUserInterface;
import com.jsonde.gui.Main;
import com.jsonde.gui.sdedit.SdEditUIAdapter;
import net.sf.sdedit.icons.Icons;
import javax.swing.*;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.net.URL;
public class HelpAction extends AbstractAction {
private ApplicationUserInterface applicationUserInterface;
public HelpAction(SdEditUIAdapter sdEditUIAdapter) {
this.applicationUserInterface = sdEditUIAdapter;
}
{
putValue(Action.SMALL_ICON,
new ImageIcon(
Icons.class.getResource("help.png")
));
putValue(Action.NAME, "Help");
putValue(Action.SHORT_DESCRIPTION, "Open jSonde Help");
}
public void actionPerformed(ActionEvent e) {
JComponent helpPane = createHTMLPane();
applicationUserInterface.addTab(helpPane, "Help");
}
private JScrollPane createHTMLPane() {
HTMLEditorKit htmlEditorKit = new HTMLEditorKit();
HTMLDocument htmlDocument =
(HTMLDocument) htmlEditorKit.createDefaultDocument();
URL baseURL = getClass().getClassLoader().getResource(("help/help.html"));
htmlDocument.setBase(baseURL);
JEditorPane editor = new JEditorPane();
editor.setEditable(false);
editor.setEditorKit(htmlEditorKit);
try {
String resPath = "help/help.html";
editor.read(getClass().getClassLoader().getResourceAsStream(resPath), htmlDocument);
}
catch (IOException e) {
Main.getInstance().processException(e);
}
return new JScrollPane(editor);
}
}