caseclass Identity() extends Graph_Filter( "Identity", "Does not change the graph.",
g => g)
caseclass Node_Expression(
regex: String,
reverse: Boolean,
parents: Boolean,
children: Boolean) extends Node_Family_Filter( "Filter by Name", "Only shows or hides all nodes with any family member's name matching a regex.",
reverse,
parents,
children,
(g, node) => (regex.r findFirstIn node.toString).isDefined)
caseclass Node_List(
list: List[Graph_Display.Node],
reverse: Boolean,
parents: Boolean,
children: Boolean) extends Node_Family_Filter( "Filter by Name List", "Only shows or hides all nodes with any family member's name matching any string in a comma separated list.",
reverse,
parents,
children,
(g, node) => list.contains(node))
caseclass Add_Node_Expression(regex: String) extends Graph_Mutator( "Add by name", "Adds every node whose name matches the regex. " + "Adds all relevant edges.",
(full_graph, graph) =>
add_node_group(full_graph, graph,
full_graph.keys.filter(node => (regex.r findFirstIn node.toString).isDefined).toList))
caseclass Add_Transitive_Closure(parents: Boolean, children: Boolean) extends Graph_Mutator( "Add transitive closure", "Adds all family members of all current nodes.",
{ (full_graph, graph) => val withparents = if (parents) add_node_group(full_graph, graph, full_graph.all_preds(graph.keys)) else graph if (children)
add_node_group(full_graph, withparents, full_graph.all_succs(graph.keys)) else withparents
})
}
trait Mutator { val name: String val description: String def mutate(full_graph: Graph_Display.Graph, graph: Graph_Display.Graph): Graph_Display.Graph
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.