--- a/src/Tools/jEdit/src/jedit/BrowseVersionDockable.scala Thu Aug 27 16:41:33 2009 +0200
+++ b/src/Tools/jEdit/src/jedit/BrowseVersionDockable.scala Thu Aug 27 16:41:36 2009 +0200
@@ -16,24 +16,21 @@
import org.gjt.sp.jedit.gui.DockableWindowManager
-class BrowseVersionDockable(view : View, position : String) extends FlowPanel {
+class BrowseVersionDockable(view : View, position : String) extends FlowPanel
+{
+
+ def get_versions() =
+ Isabelle.prover_setup(view.getBuffer).map(_.theory_view.changes).getOrElse(Nil)
if (position == DockableWindowManager.FLOATING)
preferredSize = new Dimension(500, 250)
val list = new ListView[Change]
list.fixedCellWidth = 500
+ list.listData = get_versions()
+ contents += list
- new javax.swing.Timer(1000, new java.awt.event.ActionListener {
- override def actionPerformed(evt: java.awt.event.ActionEvent) {
- list.listData = Isabelle.prover_setup(view.getBuffer).map(_.
- theory_view.changes).getOrElse(Nil)
- }
- }).start()
-
- contents += list
listenTo(list.selection)
-
reactions += {
case ListSelectionChanged(source, range, false) =>
Swing_Thread.now {
@@ -41,4 +38,10 @@
theory_view.set_version(list.listData(range.start)))
}
}
+
+ private var num_changes = 0
+ Isabelle.plugin.document_change += {_ =>
+ list.listData = get_versions()
+ }
+
}