Difference between revisions of "Scripting: Freeplane Utility Classes"

From Freeplane - free mind mapping and knowledge management software
m (Text replacement - "freeplane.sourceforge.net" to "www.freeplane.org")
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
There are a few utility classes in Freeplane that are of special use for scripting. (For details look up the code.) For example:
+
[[Scripting|Back to Scripting overview]]
 +
 
 +
__TOC__
 +
 
 +
There are a few utility classes in Freeplane that are of special use for scripting. Look up their API in the Freeplane scripting API docs, for example coming from the menu - ''Help -> Scripting API''. Here are the direct links:
  
 
== UITools ==
 
== UITools ==
 +
Available via the shortcut ''ui'', e.h. ''ui.frame'' instead of ''UITools.getFrame()''. See it's [http://www.freeplane.org/doc/api/org/freeplane/core/ui/components/UITools.html API].
  
[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]
+
== TextUtils ==
<groovy>
+
Mainly gives acces to available translations. Use the shortcut ''textUtils'', e.h. ''textUtils.getText('invalid_url', 'The URL is invalid')''. See it's [http://www.freeplane.org/doc/api/org/freeplane/core/util/TextUtils.html API].
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 ==
+
Available via the shortcut ''htmlUtils'', e.h. ''htmlUtils.toHtml("bla\nbla")''. See it's [http://www.freeplane.org/doc/api/org/freeplane/core/util/HtmlUtils.html API].
 +
 
 +
== LogUtils ==
  
[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]
+
Gives access to Freeplane's standard logging facility, see it's [http://www.freeplane.org/doc/api/org/freeplane/core/util/LogUtils.html API].
<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 ==
+
== FreeplaneVersion ==
  
Gives access to Freeplane's standard logging facility:
+
''FreeplaneVersion.version'' is the full current version (like "1.2.20") but FreeplaneVersion has also accessors for major, minor versions etc. See it's [http://www.freeplane.org/doc/api/org/freeplane/core/util/FreeplaneVersion.html API].
  
[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]
+
[[Category:Script]]
<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>
 

Latest revision as of 19:02, 18 November 2018

Back to Scripting overview

There are a few utility classes in Freeplane that are of special use for scripting. Look up their API in the Freeplane scripting API docs, for example coming from the menu - Help -> Scripting API. Here are the direct links:

UITools

Available via the shortcut ui, e.h. ui.frame instead of UITools.getFrame(). See it's API.

TextUtils

Mainly gives acces to available translations. Use the shortcut textUtils, e.h. textUtils.getText('invalid_url', 'The URL is invalid'). See it's API.

HtmlTools

Available via the shortcut htmlUtils, e.h. htmlUtils.toHtml("bla\nbla"). See it's API.

LogUtils

Gives access to Freeplane's standard logging facility, see it's API.

FreeplaneVersion

FreeplaneVersion.version is the full current version (like "1.2.20") but FreeplaneVersion has also accessors for major, minor versions etc. See it's API.