equal
deleted
inserted
replaced
17 import isabelle.graphview.Mutators._ |
17 import isabelle.graphview.Mutators._ |
18 import scala.swing.event.ValueChanged |
18 import scala.swing.event.ValueChanged |
19 |
19 |
20 |
20 |
21 class Mutator_Dialog( |
21 class Mutator_Dialog( |
22 container: Mutator_Container, caption: String, |
22 parameters: Parameters, |
|
23 container: Mutator_Container, |
|
24 caption: String, |
23 reverse_caption: String = "Inverse", |
25 reverse_caption: String = "Inverse", |
24 show_color_chooser: Boolean = true) |
26 show_color_chooser: Boolean = true) |
25 extends Dialog |
27 extends Dialog |
26 { |
28 { |
27 type Mutator_Markup = (Boolean, Color, Mutator) |
29 type Mutator_Markup = (Boolean, Color, Mutator) |
106 private val mutatorBox = new ComboBox[Mutator](container.available) |
108 private val mutatorBox = new ComboBox[Mutator](container.available) |
107 |
109 |
108 private val addButton: Button = new Button{ |
110 private val addButton: Button = new Button{ |
109 action = Action("Add") { |
111 action = Action("Add") { |
110 addPanel( |
112 addPanel( |
111 new Mutator_Panel((true, Parameters.Colors.next, |
113 new Mutator_Panel((true, parameters.Colors.next, |
112 mutatorBox.selection.item)) |
114 mutatorBox.selection.item)) |
113 ) |
115 ) |
114 } |
116 } |
115 } |
117 } |
116 |
118 |
157 add(new ScrollPane(filterPanel), BorderPanel.Position.Center) |
159 add(new ScrollPane(filterPanel), BorderPanel.Position.Center) |
158 add(botPanel, BorderPanel.Position.South) |
160 add(botPanel, BorderPanel.Position.South) |
159 } |
161 } |
160 |
162 |
161 private class Mutator_Panel(initials: Mutator_Markup) |
163 private class Mutator_Panel(initials: Mutator_Markup) |
162 extends BoxPanel(Orientation.Horizontal) |
164 extends BoxPanel(Orientation.Horizontal) |
163 { |
165 { |
164 private val (_enabled, _color, _mutator) = initials |
166 private val (_enabled, _color, _mutator) = initials |
165 |
167 |
166 private val inputs: List[(String, Mutator_Input_Value)] = get_Inputs() |
168 private val inputs: List[(String, Mutator_Input_Value)] = get_Inputs() |
167 var focusList = List.empty[java.awt.Component] |
169 var focusList = List.empty[java.awt.Component] |
368 def getString = "" |
370 def getString = "" |
369 def getBool = selected |
371 def getBool = selected |
370 } |
372 } |
371 |
373 |
372 private object focusTraversal |
374 private object focusTraversal |
373 extends FocusTraversalPolicy |
375 extends FocusTraversalPolicy |
374 { |
376 { |
375 private var items = Vector[java.awt.Component]() |
377 private var items = Vector[java.awt.Component]() |
376 |
378 |
377 def add(c: java.awt.Component) { |
379 def add(c: java.awt.Component) { |
378 items = items :+ c |
380 items = items :+ c |