equal
deleted
inserted
replaced
109 last_perspective = new_perspective |
109 last_perspective = new_perspective |
110 session.edit_node(name, node_header(), new_perspective, edits) |
110 session.edit_node(name, node_header(), new_perspective, edits) |
111 } |
111 } |
112 } |
112 } |
113 |
113 |
|
114 private val delay_flush = |
|
115 Swing_Thread.delay_last(session.input_delay) { flush() } |
|
116 |
|
117 def +=(edit: Text.Edit) |
|
118 { |
|
119 Swing_Thread.require() |
|
120 pending += edit |
|
121 delay_flush(true) |
|
122 } |
|
123 |
|
124 def update_perspective() |
|
125 { |
|
126 pending_perspective = true |
|
127 delay_flush(true) |
|
128 } |
|
129 |
114 def init() |
130 def init() |
115 { |
131 { |
116 flush() |
132 flush() |
117 session.init_node(name, node_header(), perspective(), Isabelle.buffer_text(buffer)) |
133 session.init_node(name, node_header(), perspective(), Isabelle.buffer_text(buffer)) |
118 } |
134 } |
119 |
135 |
120 private val delay_flush = |
136 def exit() |
121 Swing_Thread.delay_last(session.input_delay) { flush() } |
137 { |
122 |
138 delay_flush(false) |
123 def +=(edit: Text.Edit) |
139 flush() |
124 { |
|
125 Swing_Thread.require() |
|
126 pending += edit |
|
127 delay_flush() |
|
128 } |
|
129 |
|
130 def update_perspective() |
|
131 { |
|
132 pending_perspective = true |
|
133 delay_flush() |
|
134 } |
140 } |
135 } |
141 } |
136 |
142 |
137 def update_perspective() |
143 def update_perspective() |
138 { |
144 { |
190 Token_Markup.refresh_buffer(buffer) |
196 Token_Markup.refresh_buffer(buffer) |
191 } |
197 } |
192 |
198 |
193 private def deactivate() |
199 private def deactivate() |
194 { |
200 { |
195 pending_edits.flush() |
201 pending_edits.exit() |
196 buffer.removeBufferListener(buffer_listener) |
202 buffer.removeBufferListener(buffer_listener) |
197 Token_Markup.refresh_buffer(buffer) |
203 Token_Markup.refresh_buffer(buffer) |
198 } |
204 } |
199 } |
205 } |