equal
deleted
inserted
replaced
154 |
154 |
155 def snapshot(): List[Text.Edit] = pending.toList |
155 def snapshot(): List[Text.Edit] = pending.toList |
156 |
156 |
157 def flushed_edits(): List[Document.Edit_Text] = |
157 def flushed_edits(): List[Document.Edit_Text] = |
158 { |
158 { |
159 Swing_Thread.require() |
|
160 |
|
161 val clear = pending_clear |
159 val clear = pending_clear |
162 val edits = snapshot() |
160 val edits = snapshot() |
163 val perspective = node_perspective() |
161 val perspective = node_perspective() |
164 if (clear || !edits.isEmpty || last_perspective != perspective) { |
162 if (clear || !edits.isEmpty || last_perspective != perspective) { |
165 pending_clear = false |
163 pending_clear = false |
170 else Nil |
168 else Nil |
171 } |
169 } |
172 |
170 |
173 def edit(clear: Boolean, e: Text.Edit) |
171 def edit(clear: Boolean, e: Text.Edit) |
174 { |
172 { |
175 Swing_Thread.require() |
|
176 |
|
177 if (clear) { |
173 if (clear) { |
178 pending_clear = true |
174 pending_clear = true |
179 pending.clear |
175 pending.clear |
180 } |
176 } |
181 pending += e |
177 pending += e |
182 PIDE.editor.invoke() |
178 PIDE.editor.invoke() |
183 } |
179 } |
184 } |
180 } |
185 |
181 |
186 def flushed_edits(): List[Document.Edit_Text] = pending_edits.flushed_edits() |
|
187 |
|
188 |
|
189 /* snapshot */ |
|
190 |
|
191 def snapshot(): Document.Snapshot = |
182 def snapshot(): Document.Snapshot = |
192 { |
183 Swing_Thread.require { session.snapshot(node_name, pending_edits.snapshot()) } |
193 Swing_Thread.require() |
184 |
194 session.snapshot(node_name, pending_edits.snapshot()) |
185 def flushed_edits(): List[Document.Edit_Text] = |
195 } |
186 Swing_Thread.require { pending_edits.flushed_edits() } |
196 |
187 |
197 |
188 |
198 /* buffer listener */ |
189 /* buffer listener */ |
199 |
190 |
200 private val buffer_listener: BufferListener = new BufferAdapter |
191 private val buffer_listener: BufferListener = new BufferAdapter |