Interface Proxy.Controller

    • Method Detail

      • getSelected

        Node getSelected()
        Description copied from interface: ControllerRO
        if multiple nodes are selected returns one (arbitrarily chosen) selected node or the selected node for a single node selection.
        Specified by:
        getSelected in interface ControllerRO
      • getSelecteds

        java.util.List<? extends Node> getSelecteds()
        Description copied from interface: ControllerRO
        A read-only list of selected nodes. That is you cannot select a node by adding it to the returned list.
        Specified by:
        getSelecteds in interface ControllerRO
      • getSortedSelection

        java.util.List<? extends Node> getSortedSelection​(boolean differentSubtrees)
        Description copied from interface: ControllerRO
        returns List<? extends Node> sorted by the node's vertical position.
        Specified by:
        getSortedSelection in interface ControllerRO
        Parameters:
        differentSubtrees - if true children/grandchildren/grandgrandchildren/... nodes of selected parent nodes are excluded from the result.
      • getFreeplaneVersion

        FreeplaneVersion getFreeplaneVersion()
        Description copied from interface: ControllerRO
        returns Freeplane version. Use it like this:
        
        
        
        
           def required = FreeplaneVersion.getVersion("1.1.2");
           if (c.freeplaneVersion < required)
               UITools.errorMessage("Freeplane version " + c.freeplaneVersion
                   + " not supported - update to at least " + required);
         
        Specified by:
        getFreeplaneVersion in interface ControllerRO
      • getUserDirectory

        java.io.File getUserDirectory()
        Description copied from interface: ControllerRO
        returns the directory where user settings, logfiles, templates etc. are stored.
        Specified by:
        getUserDirectory in interface ControllerRO
      • find

        java.util.List<? extends Node> find​(NodeCondition condition)
        Description copied from interface: ControllerRO
        Starting from the root node, recursively searches for nodes (in breadth-first sequence) for which closure.call(node) returns true.

        A find method that uses a lambda ("block") for simple custom searches. As this closure will be called with a node as an argument (to be referenced by it) the search can evaluate every node property, like attributes, icons, node text or notes.

        Examples:

            def nodesWithNotes = c.find{ it.noteText != null }
        
            def matchingNodes = c.find{ it.text.matches(".*\\d.*") }
            def texts = matchingNodes.collect{ it.text }
            print "node texts containing numbers:\n " + texts.join("\n ")
         
        See NodeRO.find(NodeCondition) for searches on subtrees.
        Specified by:
        find in interface ControllerRO
        Parameters:
        condition - a lambda that returns a boolean value. The closure will receive a NodeModel as an argument which can be tested for a match.
        Returns:
        all nodes for which closure.call(NodeModel) returns true.
      • find

        java.util.List<? extends Node> find​(boolean withAncestors,
                                            boolean withDescendants,
                                            NodeCondition condition)
        Description copied from interface: ControllerRO
        Starting from this node, recursively searches for nodes for which condition.check(node) returns true and adds their ancestor or descendant nodes if required.
        Specified by:
        find in interface ControllerRO
      • findAllDepthFirst

        java.util.List<? extends Node> findAllDepthFirst()
        Description copied from interface: ControllerRO
        Returns all nodes of the map in depth-first order, that is, for the following map,
          1
            1.1
              1.1.1
              1.1.2
            1.2
          2
         
        [1.1.1, 1.1.2, 1.1, 1.2, 1, 2] is returned. See NodeRO.findAllDepthFirst() for subtrees.
        Specified by:
        findAllDepthFirst in interface ControllerRO
      • getZoom

        float getZoom()
        Description copied from interface: ControllerRO
        returns the current zoom factor. A value of 1 means 100%.
        Specified by:
        getZoom in interface ControllerRO
      • isInteractive

        boolean isInteractive()
        Description copied from interface: ControllerRO
        returns false if the system 'nonInteractive' is set. This can be used in actions to not open dialogs etc.
        Specified by:
        isInteractive in interface ControllerRO
      • export

        void export​(MindMap map,
                    java.io.File destinationFile,
                    java.lang.String exportTypeDescription,
                    boolean overwriteExisting)
        Description copied from interface: ControllerRO
        exports map to destination file, example:
           println c.exportTypeDescriptions.join('\n')
           boolean overwriteExistingFile = true
           c.export(node.map, new File('/tmp/t.png'), 'Portable Network Graphic (PNG) (.png)', overwriteExistingFile)
         
        Specified by:
        export in interface ControllerRO
        exportTypeDescription - Use ControllerRO.getExportTypeDescriptions() to look up available exportTypes. Note that the file format does not suffice to specify a specific export since there may be more than one, as for HTML.