src/Tools/jEdit/src/prover/MarkupNode.scala
changeset 34676 9e725d34df7b
parent 34659 e888d0cdda9c
child 34701 80b0add08eef
equal deleted inserted replaced
34675:5427df0f6bcb 34676:9e725d34df7b
    13 import javax.swing.text.Position
    13 import javax.swing.text.Position
    14 import javax.swing.tree._
    14 import javax.swing.tree._
    15 
    15 
    16 abstract class MarkupInfo
    16 abstract class MarkupInfo
    17 case class RootInfo() extends MarkupInfo
    17 case class RootInfo() extends MarkupInfo
    18 case class OuterInfo(highlight: String) extends
       
    19   MarkupInfo { override def toString = highlight }
       
    20 case class HighlightInfo(highlight: String) extends
    18 case class HighlightInfo(highlight: String) extends
    21   MarkupInfo { override def toString = highlight }
    19   MarkupInfo { override def toString = highlight }
    22 case class TypeInfo(type_kind: String) extends
    20 case class TypeInfo(type_kind: String) extends
    23   MarkupInfo { override def toString = type_kind }
    21   MarkupInfo { override def toString = type_kind }
    24 case class RefInfo(file: Option[String], line: Option[Int],
    22 case class RefInfo(file: Option[String], line: Option[Int],
    53 
    51 
    54 class MarkupNode(val base: Command, val start: Int, val stop: Int,
    52 class MarkupNode(val base: Command, val start: Int, val stop: Int,
    55   val children: List[MarkupNode],
    53   val children: List[MarkupNode],
    56   val id: String, val content: String, val info: MarkupInfo)
    54   val id: String, val content: String, val info: MarkupInfo)
    57 {
    55 {
    58 
       
    59   def transform(f: Int => Int): MarkupNode = new MarkupNode(base,
       
    60     f(start), f(stop), children map (_ transform f), id, content, info)
       
    61 
    56 
    62   def swing_node(doc: ProofDocument): DefaultMutableTreeNode = {
    57   def swing_node(doc: ProofDocument): DefaultMutableTreeNode = {
    63     val node = MarkupNode.markup2default_node (this, base, doc)
    58     val node = MarkupNode.markup2default_node (this, base, doc)
    64     children.map(node add _.swing_node(doc))
    59     children.map(node add _.swing_node(doc))
    65     node
    60     node