Difference between revisions of "Scripting: Freeplane Utility Classes"
From Freeplane - free mind mapping and knowledge management software
Irajawapys (talk | contribs) |
(Undo vandalism) |
||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Scripting|Back to Scripting overview]] | [[Scripting|Back to Scripting overview]] | ||
Line 16: | Line 8: | ||
[http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/ui/components/UITools.java UITools.java] | [http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/ui/components/UITools.java UITools.java] | ||
− | + | <groovy> | |
public class UITools { | public class UITools { | ||
− | public static String MAIN_FREEPLANE_FRAME = | + | public static String MAIN_FREEPLANE_FRAME = "mainFreeplaneFrame"; |
public static void addEscapeActionToDialog(JDialog dialog); | public static void addEscapeActionToDialog(JDialog dialog); | ||
Line 53: | Line 45: | ||
String text, String title, int type); | String text, String title, int type); | ||
} | } | ||
− | + | </groovy> | |
Line 59: | Line 51: | ||
[http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/util/HtmlTools.java HtmlTools.java] | [http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/util/HtmlTools.java HtmlTools.java] | ||
− | + | <groovy> | |
public class HtmlTools { | public class HtmlTools { | ||
public static HtmlTools getInstance(); | public static HtmlTools getInstance(); | ||
Line 68: | Line 60: | ||
public static String removeAllTagsFromString(String text); | public static String removeAllTagsFromString(String text); | ||
/** | /** | ||
− | * Removes all tags ( | + | * Removes all tags (<..>) from a string if it starts with "<html>..." to |
* make it compareable. | * make it compareable. | ||
*/ | */ | ||
Line 76: | Line 68: | ||
public static String toXMLUnescapedText(String text); | public static String toXMLUnescapedText(String text); | ||
/** | /** | ||
− | * warning: only decodes unicode entities like & | + | * warning: only decodes unicode entities like ä. Use |
− | * toXMLUnescapedText(unescapeHTMLUnicodeEntity(text)) to decode & | + | * toXMLUnescapedText(unescapeHTMLUnicodeEntity(text)) to decode & |
* etc. too. | * etc. too. | ||
*/ | */ | ||
Line 103: | Line 95: | ||
static public int endOfText(String html); | static public int endOfText(String html); | ||
} | } | ||
− | + | </groovy> | |
== LogTool == | == LogTool == | ||
Line 110: | Line 102: | ||
[http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/util/LogTool.java LogTool.java] | [http://freeplane.bzr.sf.net/bzr/freeplane/freeplane_program/release_branches/1_0_x/annotate/head%3A/freeplane/src/org/freeplane/core/util/LogTool.java LogTool.java] | ||
− | + | <groovy> | |
public class LogTool { | public class LogTool { | ||
public static void createLogger(); | public static void createLogger(); | ||
Line 122: | Line 114: | ||
public static void warn(Throwable e); | public static void warn(Throwable e); | ||
} | } | ||
− | + | </groovy> | |
== FreeplaneVersion == | == 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] | [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> | |
− | public class FreeplaneVersion implements Comparable | + | public class FreeplaneVersion implements Comparable<FreeplaneVersion> { |
− | public static String XML_VERSION = | + | public static String XML_VERSION = "0.9.0"; |
/** returns a initialized version. */ | /** returns a initialized version. */ | ||
public static FreeplaneVersion getVersion(); | public static FreeplaneVersion getVersion(); | ||
− | /** major version, the 1 in | + | /** major version, the 1 in "1.0.38 rc" */ |
public int getMaj(); | public int getMaj(); | ||
− | /** mid version, the 0 in | + | /** mid version, the 0 in "1.0.38 rc" */ |
public int getMid(); | public int getMid(); | ||
− | /** minor version, the 38 in | + | /** minor version, the 38 in "1.0.38 rc" */ |
public int getMin(); | public int getMin(); | ||
/** optional patch level (testversion only). */ | /** optional patch level (testversion only). */ | ||
public int getNum(); | public int getNum(); | ||
− | /** release type e.g. | + | /** release type e.g. "", "rc", "beta", "alpha" or "nightly_build". */ |
public String getType(); | public String getType(); | ||
/** Use it like this: | /** Use it like this: | ||
− | * | + | * <pre> |
− | * FreeplaneVersion required = FreeplaneVersion.getVersion( | + | * FreeplaneVersion required = FreeplaneVersion.getVersion("1.0.38"); |
− | * if (FreeplaneVersion.getVersion().compareTo(required) | + | * if (FreeplaneVersion.getVersion().compareTo(required) < 0) |
− | * UITools.errorMessage( | + | * UITools.errorMessage("Freeplane version not supported" |
− | * + | + | * + " - update to at least " + required); |
− | * | + | * </pre> |
*/ | */ | ||
public int compareTo(FreeplaneVersion o); | public int compareTo(FreeplaneVersion o); | ||
− | /** returns the full version number, e.g. | + | /** returns the full version number, e.g. "1.0.38 rc". */ |
public String toString(); | public String toString(); | ||
− | /** returns the version number only, e.g. | + | /** returns the version number only, e.g. "1.0.38". */ |
public String numberToString(); | public String numberToString(); | ||
} | } | ||
− | + | </groovy> | |
[[Category:Scripting]] | [[Category:Scripting]] |
Revision as of 10:15, 24 November 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. */ 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> public class FreeplaneVersion implements Comparable<FreeplaneVersion> {
public static String XML_VERSION = "0.9.0"; /** returns a initialized version. */ public static FreeplaneVersion getVersion(); /** major version, the 1 in "1.0.38 rc" */ public int getMaj(); /** mid version, the 0 in "1.0.38 rc" */ public int getMid(); /** minor version, the 38 in "1.0.38 rc" */ public int getMin(); /** optional patch level (testversion only). */ public int getNum(); /** release type e.g. "", "rc", "beta", "alpha" or "nightly_build". */ public String getType(); /** Use it like this:
*
* FreeplaneVersion required = FreeplaneVersion.getVersion("1.0.38"); * if (FreeplaneVersion.getVersion().compareTo(required) < 0) * UITools.errorMessage("Freeplane version not supported" * + " - update to at least " + required); *
*/ public int compareTo(FreeplaneVersion o); /** returns the full version number, e.g. "1.0.38 rc". */ public String toString(); /** returns the version number only, e.g. "1.0.38". */ public String numberToString();
} </groovy>