Search in sources :

Example 1 with Script

use of org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script in project freeplane by freeplane.

the class AddOnDetailsPanel method createDetails.

private JComponent createDetails(final AddOnProperties addOn) {
    final StringBuilder text = new StringBuilder(1024);
    text.append("<html><body>");
    text.append(toHtml(addOn.getDescription()));
    text.append("<p>");
    if (addOn instanceof ScriptAddOnProperties) {
        List<Script> scripts = ((ScriptAddOnProperties) addOn).getScripts();
        if (!scripts.isEmpty()) {
            text.append("<table border='1'>");
            text.append(row("th", getText("header.function"), getText("header.menu"), getText("header.shortcut")));
            for (ScriptAddOnProperties.Script script : scripts) {
                text.append(row("td", bold(TextUtils.getText(script.menuTitleKey)), formatMenuLocation(script), formatShortcut(script)));
            }
            text.append("</table>");
        }
    }
    text.append("</body></html>");
    final JLabel label = new JLabel(text.toString());
    label.setAutoscrolls(true);
    final ImageIcon icon = IconNotFound.createIconOrReturnNull(addOn.getName() + "-screenshot-1.png");
    if (icon != null)
        label.setIcon(icon);
    return label;
}
Also used : Script(org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script) Script(org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script) ImageIcon(javax.swing.ImageIcon) JLabel(javax.swing.JLabel)

Example 2 with Script

use of org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script in project freeplane by freeplane.

the class ScriptingConfiguration method createAddOnScriptMap.

private Map<File, Script> createAddOnScriptMap() {
    Map<File, Script> result = new LinkedHashMap<File, Script>();
    for (ScriptAddOnProperties scriptAddOnProperties : getInstalledScriptAddOns()) {
        final List<Script> scripts = scriptAddOnProperties.getScripts();
        for (Script script : scripts) {
            script.active = scriptAddOnProperties.isActive();
            result.put(findScriptFile(scriptAddOnProperties, script), script);
        }
    }
    return result;
}
Also used : Script(org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script) ScriptAddOnProperties(org.freeplane.plugin.script.addons.ScriptAddOnProperties) File(java.io.File) LinkedHashMap(java.util.LinkedHashMap)

Example 3 with Script

use of org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script in project freeplane by freeplane.

the class ScriptingConfiguration method addScript.

private void addScript(final File file, final Map<File, Script> addOnScriptMap) {
    final Script scriptConfig = addOnScriptMap.get(file);
    if (scriptConfig != null && !scriptConfig.active) {
        LogUtils.info("skipping deactivated " + scriptConfig);
        return;
    }
    final String menuTitle = disambiguateMenuTitle(getOrCreateMenuTitle(file, scriptConfig));
    try {
        menuTitleToPathMap.put(menuTitle, file.getAbsolutePath());
        final ScriptMetaData metaData = createMetaData(file, menuTitle, scriptConfig);
        menuTitleToMetaDataMap.put(menuTitle, metaData);
        final File parentFile = file.getParentFile();
        if (parentFile.equals(ScriptResources.getBuiltinScriptsDir())) {
            metaData.setPermissions(ScriptingPermissions.getPermissiveScriptingPermissions());
        }
    } catch (final IOException e) {
        LogUtils.warn("problems with script " + file.getAbsolutePath(), e);
        menuTitleToPathMap.remove(menuTitle);
        menuTitleToMetaDataMap.remove(menuTitle);
    }
}
Also used : Script(org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script) IOException(java.io.IOException) File(java.io.File)

Aggregations

Script (org.freeplane.plugin.script.addons.ScriptAddOnProperties.Script)3 File (java.io.File)2 IOException (java.io.IOException)1 LinkedHashMap (java.util.LinkedHashMap)1 ImageIcon (javax.swing.ImageIcon)1 JLabel (javax.swing.JLabel)1 ScriptAddOnProperties (org.freeplane.plugin.script.addons.ScriptAddOnProperties)1