Difference between revisions of "Scripting: Freeplane Utility Classes"
From Freeplane - free mind mapping and knowledge management software
Line 11: | Line 11: | ||
public class UITools { | public class UITools { | ||
public static String MAIN_FREEPLANE_FRAME = "mainFreeplaneFrame"; | public static String MAIN_FREEPLANE_FRAME = "mainFreeplaneFrame"; | ||
+ | |||
public static void addEscapeActionToDialog(JDialog dialog); | public static void addEscapeActionToDialog(JDialog dialog); | ||
+ | /** | ||
+ | * | ||
+ | */ | ||
+ | public void actionPerformed(ActionEvent e); | ||
public static void addEscapeActionToDialog(JDialog dialog, Action action); | public static void addEscapeActionToDialog(JDialog dialog, Action action); | ||
− | public static void addKeyActionToDialog(JDialog dialog, Action action, String keyStroke, String actionId); | + | public static void addKeyActionToDialog(JDialog dialog, Action action, |
− | public static void convertPointFromAncestor(Component source, Point p, Component c); | + | String keyStroke, String actionId); |
− | public static void convertPointToAncestor(Component source, Point point, Class ancestorClass); | + | public static void convertPointFromAncestor(Component source, Point p, |
− | public static void convertPointToAncestor(Component c, Point p, Component destination); | + | Component c); |
+ | public static void convertPointToAncestor(Component source, Point point, | ||
+ | Class ancestorClass); | ||
+ | public static void convertPointToAncestor(Component c, Point p, | ||
+ | Component destination); | ||
public static void errorMessage(Object message); | public static void errorMessage(Object message); | ||
+ | public void run(); | ||
public static Frame getFrame(); | public static Frame getFrame(); | ||
public static KeyStroke getKeyStroke(String keyStrokeDescription); | public static KeyStroke getKeyStroke(String keyStrokeDescription); | ||
public static void informationMessage(Frame frame, String message); | public static void informationMessage(Frame frame, String message); | ||
public static void informationMessage(Frame frame, String message, String title); | public static void informationMessage(Frame frame, String message, String title); | ||
− | public static void informationMessage(Frame frame, String | + | public static void informationMessage(Frame frame, String message, String title, |
− | public static void setBounds(Component frame, int win_x, int win_y, int win_width, int win_height); | + | int type); |
+ | public static void setBounds(Component frame, int win_x, int win_y, | ||
+ | int win_width, int win_height); | ||
public static void setDialogLocationRelativeTo(JDialog dialog, Component c); | public static void setDialogLocationRelativeTo(JDialog dialog, Component c); | ||
− | public static void setDialogLocationRelativeTo(JDialog dialog, Controller controller, | + | public static void setDialogLocationRelativeTo(JDialog dialog, |
− | public static void setDialogLocationUnder(JDialog dialog, Controller controller, NodeModel node); | + | Controller controller, NodeModel node); |
− | public static int showConfirmDialog(Controller controller, NodeModel node, Object message, String title, int optionType); | + | public static void setDialogLocationUnder(JDialog dialog, Controller controller, |
− | public static String showInputDialog(Controller controller, NodeModel node, String text, String string); | + | NodeModel node); |
− | public static String showInputDialog(Controller controller, NodeModel node, String text, String title, int type); | + | public static int showConfirmDialog(Controller controller, NodeModel node, |
+ | Object message, String title, int optionType); | ||
+ | public static String showInputDialog(Controller controller, NodeModel node, | ||
+ | String text, String string); | ||
+ | public static String showInputDialog(Controller controller, NodeModel node, | ||
+ | String text, String title, int type); | ||
} | } | ||
</groovy> | </groovy> | ||
Line 45: | Line 62: | ||
public static String plainToHTML(String text); | public static String plainToHTML(String text); | ||
public static String removeAllTagsFromString(String text); | public static String removeAllTagsFromString(String text); | ||
+ | /** | ||
+ | * Removes all tags (<..>) from a string if it starts with "<html>..." to | ||
+ | * make it compareable. | ||
+ | */ | ||
public static String removeHtmlTagsFromString(String text); | public static String removeHtmlTagsFromString(String text); | ||
public static String toXMLEscapedText(String text); | public static String toXMLEscapedText(String text); | ||
public static String toXMLEscapedTextExpandingWhitespace(String text); | public static String toXMLEscapedTextExpandingWhitespace(String text); | ||
public static String toXMLUnescapedText(String text); | public static String toXMLUnescapedText(String text); | ||
+ | /** | ||
+ | * warning: only decodes unicode entities like ä. Use | ||
+ | * toXMLUnescapedText(unescapeHTMLUnicodeEntity(text)) to decode & | ||
+ | * etc. too. | ||
+ | */ | ||
public static String unescapeHTMLUnicodeEntity(String text); | public static String unescapeHTMLUnicodeEntity(String text); | ||
public static String unicodeToHTMLUnicodeEntity(String text); | public static String unicodeToHTMLUnicodeEntity(String text); | ||
− | + | ||
− | // the remainder could/should be static as well | + | // the remainder could/should be static as well (use getInstance() to get the singleton |
+ | |||
+ | /** | ||
+ | * @return the maximal index i such that pI is mapped to i by removing all | ||
+ | * tags from the original input. | ||
+ | */ | ||
public int getMaximalOriginalPosition(int pI, ArrayList pListOfIndices); | public int getMaximalOriginalPosition(int pI, ArrayList pListOfIndices); | ||
public int getMinimalOriginalPosition(int pI, ArrayList pListOfIndices); | public int getMinimalOriginalPosition(int pI, ArrayList pListOfIndices); | ||
+ | /** | ||
+ | * Replaces text in node content without replacing tags. fc, 19.12.06: This | ||
+ | * method is very difficult. If you have a simplier method, please supply | ||
+ | * it. But look that it complies with FindTextTests!!! | ||
+ | */ | ||
public String getReplaceResult(Pattern pattern, String replacement, String text); | public String getReplaceResult(Pattern pattern, String replacement, String text); | ||
+ | /** | ||
+ | * @return true, if well formed XML. | ||
+ | */ | ||
public boolean isWellformedXml(String xml); | public boolean isWellformedXml(String xml); | ||
public String toHtml(String xhtmlText); | public String toHtml(String xhtmlText); | ||
public String toXhtml(String htmlText); | public String toXhtml(String htmlText); | ||
+ | static public int endOfText(String html); | ||
} | } | ||
</groovy> | </groovy> | ||
Line 79: | Line 119: | ||
public static void warn(Throwable e); | public static void warn(Throwable e); | ||
} | } | ||
+ | </groovy> | ||
+ | |||
+ | == FreeplaneVersion == | ||
+ | |||
+ | [http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/controller/FreeplaneVersion.java FreeplaneVersion.java] | ||
+ | <groovy> | ||
</groovy> | </groovy> |
Revision as of 18:45, 22 January 2010
Contents
There are a few utility classes in Freeplane that are of special use for scripting. (For details look up the code.) For example:
UITools
UITools.java <groovy> public class UITools {
public static String MAIN_FREEPLANE_FRAME = "mainFreeplaneFrame";
public static void addEscapeActionToDialog(JDialog dialog); /** * */ public void actionPerformed(ActionEvent e); public static void addEscapeActionToDialog(JDialog dialog, Action action); public static void addKeyActionToDialog(JDialog dialog, Action action, String keyStroke, String actionId); public static void convertPointFromAncestor(Component source, Point p, Component c); public static void convertPointToAncestor(Component source, Point point, Class ancestorClass); public static void convertPointToAncestor(Component c, Point p, Component destination); public static void errorMessage(Object message); public void run(); public static Frame getFrame(); public static KeyStroke getKeyStroke(String keyStrokeDescription); public static void informationMessage(Frame frame, String message); public static void informationMessage(Frame frame, String message, String title); public static void informationMessage(Frame frame, String message, String title, int type); public static void setBounds(Component frame, int win_x, int win_y, int win_width, int win_height); public static void setDialogLocationRelativeTo(JDialog dialog, Component c); public static void setDialogLocationRelativeTo(JDialog dialog, Controller controller, NodeModel node); public static void setDialogLocationUnder(JDialog dialog, Controller controller, NodeModel node); public static int showConfirmDialog(Controller controller, NodeModel node, Object message, String title, int optionType); public static String showInputDialog(Controller controller, NodeModel node, String text, String string); public static String showInputDialog(Controller controller, NodeModel node, String text, String title, int type);
} </groovy>
HtmlTools
HtmlTools.java <groovy> public class HtmlTools {
public static HtmlTools getInstance(); public static String htmlToPlain(String text); public static String htmlToPlain(String text, boolean strictHTMLOnly); public static boolean isHtmlNode(String text); public static String plainToHTML(String text); public static String removeAllTagsFromString(String text); /** * Removes all tags (<..>) from a string if it starts with "<html>..." to * make it compareable. */ public static String removeHtmlTagsFromString(String text); public static String toXMLEscapedText(String text); public static String toXMLEscapedTextExpandingWhitespace(String text); public static String toXMLUnescapedText(String text); /** * warning: only decodes unicode entities like ä. Use * toXMLUnescapedText(unescapeHTMLUnicodeEntity(text)) to decode & * etc. too. */ public static String unescapeHTMLUnicodeEntity(String text); public static String unicodeToHTMLUnicodeEntity(String text);
// the remainder could/should be static as well (use getInstance() to get the singleton
/** * @return the maximal index i such that pI is mapped to i by removing all * tags from the original input. */ public int getMaximalOriginalPosition(int pI, ArrayList pListOfIndices); public int getMinimalOriginalPosition(int pI, ArrayList pListOfIndices); /** * Replaces text in node content without replacing tags. fc, 19.12.06: This * method is very difficult. If you have a simplier method, please supply * it. But look that it complies with FindTextTests!!! */ public String getReplaceResult(Pattern pattern, String replacement, String text); /** * @return true, if well formed XML. */ public boolean isWellformedXml(String xml); public String toHtml(String xhtmlText); public String toXhtml(String htmlText); static public int endOfText(String html);
} </groovy>
LogTool
Gives access to Freeplane's standard logging facility:
LogTool.java <groovy> public class LogTool {
public static void createLogger(); public static void info(String string); public static void info(Transferable t); public static void severe(String message); public static void severe(String comment, Throwable e); public static void severe(Throwable e); public static void warn(String msg); public static void warn(String comment, Throwable e); public static void warn(Throwable e);
} </groovy>
FreeplaneVersion
FreeplaneVersion.java <groovy> </groovy>