--- a/src/Tools/Graphview/popups.scala Wed Dec 31 21:45:30 2014 +0100
+++ b/src/Tools/Graphview/popups.scala Thu Jan 01 11:37:09 2015 +0100
@@ -16,131 +16,113 @@
object Popups
{
- def apply(panel: Graph_Panel, under_mouse: Option[String], selected: List[String])
- : JPopupMenu =
+ def apply(panel: Graph_Panel, under_mouse: Option[String], selected: List[String]): JPopupMenu =
{
val visualizer = panel.visualizer
val add_mutator = visualizer.model.Mutators.add _
val curr = visualizer.model.current
- def filter_context(ls: List[String], reverse: Boolean,
- caption: String, edges: Boolean) =
+ def filter_context(ls: List[String], reverse: Boolean, caption: String, edges: Boolean) =
new Menu(caption) {
- contents += new MenuItem(new Action("This") {
+ contents +=
+ new MenuItem(new Action("This") {
def apply =
- add_mutator(
- Mutators.create(visualizer,
- Node_List(ls, reverse, false, false)
- )
- )
+ add_mutator(Mutators.create(visualizer, Node_List(ls, reverse, false, false)))
})
- contents += new MenuItem(new Action("Family") {
+ contents +=
+ new MenuItem(new Action("Family") {
def apply =
- add_mutator(
- Mutators.create(visualizer,
- Node_List(ls, reverse, true, true)
- )
- )
+ add_mutator(Mutators.create(visualizer, Node_List(ls, reverse, true, true)))
})
- contents += new MenuItem(new Action("Parents") {
+ contents +=
+ new MenuItem(new Action("Parents") {
def apply =
- add_mutator(
- Mutators.create(visualizer,
- Node_List(ls, reverse, false, true)
- )
- )
+ add_mutator(Mutators.create(visualizer, Node_List(ls, reverse, false, true)))
})
- contents += new MenuItem(new Action("Children") {
+ contents +=
+ new MenuItem(new Action("Children") {
def apply =
- add_mutator(
- Mutators.create(visualizer,
- Node_List(ls, reverse, true, false)
- )
- )
+ add_mutator(Mutators.create(visualizer, Node_List(ls, reverse, true, false)))
})
-
if (edges) {
- val outs = ls.map(l => (l, curr.imm_succs(l))) // FIXME iterator
- .filter(_._2.size > 0).sortBy(_._1)
- val ins = ls.map(l => (l, curr.imm_preds(l))) // FIXME iterator
- .filter(_._2.size > 0).sortBy(_._1)
+ val outs =
+ ls.map(l => (l, curr.imm_succs(l))) // FIXME iterator
+ .filter(_._2.size > 0).sortBy(_._1)
+ val ins =
+ ls.map(l => (l, curr.imm_preds(l))) // FIXME iterator
+ .filter(_._2.size > 0).sortBy(_._1)
if (outs.nonEmpty || ins.nonEmpty) {
contents += new Separator()
- contents += new Menu("Edge") {
- if (outs.nonEmpty) {
- contents += new MenuItem("From...") {
- enabled = false
- }
+ contents +=
+ new Menu("Edge") {
+ if (outs.nonEmpty) {
+ contents += new MenuItem("From...") { enabled = false }
- outs.map( e => {
- val (from, tos) = e
- contents += new Menu(from) {
- contents += new MenuItem("To..."){
- enabled = false
- }
+ outs.map(e => {
+ val (from, tos) = e
+ contents +=
+ new Menu(from) {
+ contents += new MenuItem("To...") { enabled = false }
+
+ tos.toList.sorted.distinct.map(to => {
+ contents +=
+ new MenuItem(
+ new Action(to) {
+ def apply =
+ add_mutator(
+ Mutators.create(visualizer, Edge_Endpoints(from, to))
+ )
+ })
+ })
+ }
+ })
+ }
+ if (outs.nonEmpty && ins.nonEmpty) { contents += new Separator() }
+ if (ins.nonEmpty) {
+ contents += new MenuItem("To...") { enabled = false }
- tos.toList.sorted.distinct.map( to => {
- contents += new MenuItem(new Action(to) {
- def apply =
- add_mutator(
- Mutators.create(visualizer, Edge_Endpoints(from, to))
- )
- })
- })
- }
- })
+ ins.map(e => {
+ val (to, froms) = e
+ contents +=
+ new Menu(to) {
+ contents += new MenuItem("From...") { enabled = false }
+
+ froms.toList.sorted.distinct.map(from => {
+ contents +=
+ new MenuItem(
+ new Action(from) {
+ def apply =
+ add_mutator(Mutators.create(visualizer, Edge_Endpoints(from, to)))
+ })
+ })
+ }
+ })
+ }
}
- if (outs.nonEmpty && ins.nonEmpty) {
- contents += new Separator()
- }
- if (ins.nonEmpty) {
- contents += new MenuItem("To...") {
- enabled = false
- }
-
- ins.map( e => {
- val (to, froms) = e
- contents += new Menu(to) {
- contents += new MenuItem("From..."){
- enabled = false
- }
-
- froms.toList.sorted.distinct.map( from => {
- contents += new MenuItem(new Action(from) {
- def apply =
- add_mutator(
- Mutators.create(visualizer, Edge_Endpoints(from, to))
- )
- })
- })
- }
- })
- }
- }
}
}
}
val popup = new JPopupMenu()
- popup.add(new MenuItem(new Action("Remove all filters") {
+ popup.add(
+ new MenuItem(
+ new Action("Remove all filters") {
def apply = visualizer.model.Mutators(Nil)
- }).peer
- )
+ }).peer)
popup.add(new JPopupMenu.Separator)
if (under_mouse.isDefined) {
val v = under_mouse.get
- popup.add(new MenuItem("Mouseover: %s".format(visualizer.Caption(v))) {
- enabled = false
- }.peer)
+ popup.add(
+ new MenuItem("Mouseover: %s".format(visualizer.Caption(v))) { enabled = false }.peer)
popup.add(filter_context(List(v), true, "Hide", true).peer)
popup.add(filter_context(List(v), false, "Show only", false).peer)
@@ -148,28 +130,19 @@
popup.add(new JPopupMenu.Separator)
}
if (!selected.isEmpty) {
- val text = {
- if (selected.length > 1) {
- "Multiple"
- } else {
- visualizer.Caption(selected.head)
- }
- }
+ val text =
+ if (selected.length > 1) "Multiple"
+ else visualizer.Caption(selected.head)
- popup.add(new MenuItem("Selected: %s".format(text)) {
- enabled = false
- }.peer)
+ popup.add(new MenuItem("Selected: %s".format(text)) { enabled = false }.peer)
popup.add(filter_context(selected, true, "Hide", true).peer)
popup.add(filter_context(selected, false, "Show only", false).peer)
popup.add(new JPopupMenu.Separator)
}
-
- popup.add(new MenuItem(new Action("Fit to Window") {
- def apply = panel.fit_to_window()
- }).peer
- )
+ popup.add(
+ new MenuItem(new Action("Fit to Window") { def apply = panel.fit_to_window() }).peer)
popup
}