equal
deleted
inserted
replaced
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 |