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 text, String string, int type);
+
     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 &#xe4;. Use
 +
    * toXMLUnescapedText(unescapeHTMLUnicodeEntity(text)) to decode &amp;
 +
    * 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);
    public static int endOfText(String html);
+
 
     // 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

Back to Scripting overview

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>