src/Tools/jEdit/src/prover/RelativeAsset.scala
author immler@in.tum.de
Sun, 30 Nov 2008 19:18:59 +0100
changeset 34393 f0e1608a774f
permissions -rw-r--r--
basic tree structure for sidekick
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34393
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     1
/*
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     2
 * RelativeAsset.scala
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     3
 *
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     4
 * To change this template, choose Tools | Template Manager
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     5
 * and open the template in the editor.
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     6
 */
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     7
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     8
package isabelle.prover
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
     9
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    10
import sidekick.enhanced.SourceAsset
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    11
import javax.swing._
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    12
import javax.swing.text.Position
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    13
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    14
class RelativeAsset(base : Command, var rel_start : Int, var rel_end : Int, cons_name : String, desc : String)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    15
      extends SourceAsset {
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    16
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    17
class MyPos(val o : Int) extends Position {
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    18
  override def getOffset = o
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    19
}
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    20
  {
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    21
    setStart(new MyPos(base.start + rel_start))
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    22
    setEnd(new MyPos(base.start + rel_end))
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    23
    setName(cons_name)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    24
    setShort(cons_name)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    25
    setLong(desc)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    26
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    27
  }
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    28
	/**
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    29
	 * Set the start position
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    30
	 */
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    31
	override def setStart(start : Position) { rel_start = start.getOffset - base.start }
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    32
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    33
	/**
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    34
	 * Returns the starting position.
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    35
	 */
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    36
	override def getStart : Position = new MyPos(base.start + rel_start)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    37
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    38
	/**
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    39
	 * Set the end position
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    40
	 */
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    41
	override def setEnd(end : Position) { rel_end = end.getOffset - base.start }
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    42
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    43
	/**
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    44
	 * Returns the end position.
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    45
	 */
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    46
	override def getEnd : Position = new MyPos(base.start + rel_end)
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    47
f0e1608a774f basic tree structure for sidekick
immler@in.tum.de
parents:
diff changeset
    48
}