src/Tools/Graphview/src/mutator_dialog.scala
changeset 50472 bad1a1ca61e1
parent 50467 4b0e69dc9db8
child 50475 8cc351df4a23
equal deleted inserted replaced
50471:a5930c929b1e 50472:bad1a1ca61e1
    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