Interface Proxy.Controller

All Superinterfaces:
Controller, ControllerRO, HeadlessMapCreator, Proxy.ControllerRO
Enclosing interface:
Proxy

public static interface Proxy.Controller extends Proxy.ControllerRO, Controller
  • Method Details

    • 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

      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

      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

      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

      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

      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
    • findAll

      List<? extends Node> findAll()
      Description copied from interface: ControllerRO
      Returns all nodes of the map in breadth-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.1, 1.1.2, 1.2, 2] is returned. See NodeRO.find(NodeCondition) for searches on subtrees.
      Specified by:
      findAll in interface ControllerRO
      See Also:
    • findAllDepthFirst

      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
    • getExportTypeDescriptions

      List<String> getExportTypeDescriptions()
      Description copied from interface: ControllerRO
      returns a list of export type descriptions that can be used to specify a specific export type in ControllerRO.export(MindMap, File, String, boolean). These descriptions are internationalized.
      Specified by:
      getExportTypeDescriptions in interface ControllerRO
    • export

      void export(MindMap map, File destinationFile, 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)
         c.export(node.map, new File('/tmp/t.png'), 'PNG', overwriteExistingFile)
         c.export(node.map, new File('/tmp/t.png'), '', overwriteExistingFile)
       
      Specified by:
      export in interface ControllerRO
      Parameters:
      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. You can use a substring or an empty string instead of full description, if exported destination file extension matches filter desription.
    • mapLoader

      Proxy.Loader mapLoader(File file)
      Description copied from interface: Controller
      Returns Loader for accessing or loading mind map from file.
      Specified by:
      mapLoader in interface Controller
      Specified by:
      mapLoader in interface HeadlessMapCreator
    • mapLoader

      Proxy.Loader mapLoader(URL file)
      Description copied from interface: Controller
      Returns Loader for accessing or loading mind map from URL.
      Specified by:
      mapLoader in interface Controller
      Specified by:
      mapLoader in interface HeadlessMapCreator
    • mapLoader

      Proxy.Loader mapLoader(String file)
      Description copied from interface: Controller
      Returns Loader for accessing or loading mind map from file.
      Specified by:
      mapLoader in interface Controller
      Specified by:
      mapLoader in interface HeadlessMapCreator