Scripting: Freeplane Utility Classes

From Freeplane - free mind mapping and knowledge management software
Revision as of 00:06, 20 January 2010 by Boercher (talk | contribs)

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 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 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 text, String string, 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,
   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);
   public static String removeHtmlTagsFromString(String text);
   public static String toXMLEscapedText(String text);
   public static String toXMLEscapedTextExpandingWhitespace(String text);
   public static String toXMLUnescapedText(String text);
   public static String unescapeHTMLUnicodeEntity(String text);
   public static String unicodeToHTMLUnicodeEntity(String text);
   public static int endOfText(String html);
   // the remainder could/should be static as well:
   public int getMaximalOriginalPosition(int pI, ArrayList pListOfIndices);
   public int getMinimalOriginalPosition(int pI, ArrayList pListOfIndices);
   public String getReplaceResult(Pattern pattern, String replacement, String text);
   public boolean isWellformedXml(String xml);
   public String toHtml(String xhtmlText);
   public String toXhtml(String htmlText);

} </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>