author | wenzelm |
Thu, 13 Aug 2020 12:29:39 +0200 | |
changeset 72141 | 262d3c11a24d |
parent 72140 | ae6544cf1c8c |
child 72142 | 6e8b5cdd4ba0 |
permissions | -rw-r--r-- |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
1 |
/* Title: Tools/jEdit/src/ml_status.scala |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
2 |
Author: Makarius |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
3 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
4 |
ML status bar: heap and garbage collection. |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
5 |
*/ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
6 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
7 |
package isabelle.jedit |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
8 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
9 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
10 |
import isabelle._ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
11 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
12 |
import java.awt.{Color, Dimension, Graphics, Graphics2D, Insets, RenderingHints} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
13 |
import java.awt.font.FontRenderContext |
72141 | 14 |
import java.awt.event.{MouseAdapter, MouseEvent} |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
15 |
import javax.swing.{JComponent, JLabel} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
16 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
17 |
import org.gjt.sp.jedit.{View, jEdit} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
18 |
import org.gjt.sp.jedit.gui.statusbar.{StatusWidgetFactory, Widget} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
19 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
20 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
21 |
object ML_Status |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
22 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
23 |
private val template = "99999/99999MB" |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
24 |
|
72141 | 25 |
private class GUI(view: View) extends JComponent |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
26 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
27 |
/* component state -- owned by GUI thread */ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
28 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
29 |
private var status = ML_Statistics.memory_status(Nil) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
30 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
31 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
32 |
/* init */ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
33 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
34 |
setFont(new JLabel().getFont) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
35 |
setToolTipText("ML heap memory") |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
36 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
37 |
private val font_render_context = new FontRenderContext(null, true, false) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
38 |
private val line_metrics = getFont.getLineMetrics(template, font_render_context) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
39 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
40 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
41 |
val bounds = getFont.getStringBounds(template, font_render_context) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
42 |
val dim = new Dimension(bounds.getWidth.toInt, bounds.getHeight.toInt) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
43 |
setPreferredSize(dim) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
44 |
setMaximumSize(dim) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
45 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
46 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
47 |
setForeground(jEdit.getColorProperty("view.status.foreground")) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
48 |
setBackground(jEdit.getColorProperty("view.status.background")) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
49 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
50 |
def progress_foreground: Color = jEdit.getColorProperty("view.status.memory.foreground") |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
51 |
def progress_background: Color = jEdit.getColorProperty("view.status.memory.background") |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
52 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
53 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
54 |
/* paint */ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
55 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
56 |
private def update(new_status: ML_Statistics.Memory_Status) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
57 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
58 |
if (status != new_status) { |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
59 |
status = new_status |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
60 |
repaint() |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
61 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
62 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
63 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
64 |
override def paintComponent(gfx: Graphics) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
65 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
66 |
super.paintComponent(gfx) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
67 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
68 |
val insets = new Insets(0, 0, 0, 0) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
69 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
70 |
val width = getWidth - insets.left - insets.right |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
71 |
val height = getHeight - insets.top - insets.bottom - 1 |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
72 |
|
72140 | 73 |
val (text, fraction) = |
74 |
status.gc_progress match { |
|
75 |
case Some(p) => ("ML cleanup", 1.0 - p) |
|
76 |
case None => |
|
77 |
((status.heap_used / 1024 / 1024) + "/" + (status.heap_size / 1024 / 1024) + "MB", |
|
78 |
status.heap_used_fraction) |
|
79 |
} |
|
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
80 |
|
72140 | 81 |
val width_fraction = (width * fraction).toInt |
82 |
||
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
83 |
val text_bounds = gfx.getFont.getStringBounds(text, font_render_context) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
84 |
val text_x = insets.left + ((width - text_bounds.getWidth).toInt / 2) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
85 |
val text_y = (insets.top + line_metrics.getAscent).toInt |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
86 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
87 |
gfx.asInstanceOf[Graphics2D]. |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
88 |
setRenderingHint( |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
89 |
RenderingHints.KEY_TEXT_ANTIALIASING, |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
90 |
RenderingHints.VALUE_TEXT_ANTIALIAS_ON) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
91 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
92 |
gfx.setColor(progress_background) |
72140 | 93 |
gfx.fillRect(insets.left, insets.top, width_fraction, height) |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
94 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
95 |
gfx.setColor(progress_foreground) |
72140 | 96 |
gfx.setClip(insets.left, insets.top, width_fraction, height) |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
97 |
gfx.drawString(text, text_x, text_y) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
98 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
99 |
gfx.setColor(getForeground) |
72140 | 100 |
gfx.setClip(insets.left + width_fraction, insets.top, |
101 |
getWidth - insets.left - width_fraction, height) |
|
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
102 |
gfx.drawString(text, text_x, text_y) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
103 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
104 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
105 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
106 |
/* main */ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
107 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
108 |
private val main = |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
109 |
Session.Consumer[Session.Runtime_Statistics](getClass.getName) { |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
110 |
case stats => |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
111 |
val status = ML_Statistics.memory_status(stats.props) |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
112 |
GUI_Thread.later { update(status) } |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
113 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
114 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
115 |
override def addNotify() |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
116 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
117 |
super.addNotify() |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
118 |
PIDE.session.runtime_statistics += main |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
119 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
120 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
121 |
override def removeNotify() |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
122 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
123 |
super.removeNotify() |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
124 |
PIDE.session.runtime_statistics -= main |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
125 |
} |
72141 | 126 |
|
127 |
||
128 |
/* mouse listener */ |
|
129 |
||
130 |
addMouseListener(new MouseAdapter { |
|
131 |
override def mouseClicked(evt: MouseEvent) |
|
132 |
{ |
|
133 |
if (evt.getClickCount == 2) { |
|
134 |
view.getInputHandler.invokeAction("isabelle-monitor-float") |
|
135 |
} |
|
136 |
} |
|
137 |
}) |
|
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
138 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
139 |
|
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
140 |
class Widget_Factory extends StatusWidgetFactory |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
141 |
{ |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
142 |
override def getWidget(view: View): Widget = |
72141 | 143 |
new Widget { override def getComponent: JComponent = new GUI(view) } |
72139
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
144 |
} |
f5c085dfa02f
ML status widget similar to org.gjt.sp.jedit.gui.statusbar.MemoryStatusWidgetFactory;
wenzelm
parents:
diff
changeset
|
145 |
} |