equal
deleted
inserted
replaced
69 for { |
69 for { |
70 text_area <- JEdit_Lib.jedit_text_areas(buffer).toList |
70 text_area <- JEdit_Lib.jedit_text_areas(buffer).toList |
71 doc_view <- document_view(text_area) |
71 doc_view <- document_view(text_area) |
72 } yield doc_view |
72 } yield doc_view |
73 |
73 |
74 def document_models(): List[Document_Model] = |
|
75 for { |
|
76 buffer <- JEdit_Lib.jedit_buffers().toList |
|
77 model <- Document_Model.get(buffer) |
|
78 } yield model |
|
79 |
|
80 def document_blobs(): Document.Blobs = |
|
81 Document.Blobs( |
|
82 (for { |
|
83 buffer <- JEdit_Lib.jedit_buffers() |
|
84 model <- Document_Model.get(buffer) |
|
85 blob <- model.get_blob |
|
86 } yield (model.node_name -> blob)).toMap) |
|
87 |
|
88 def exit_models(buffers: List[Buffer]) |
74 def exit_models(buffers: List[Buffer]) |
89 { |
75 { |
90 GUI_Thread.now { |
76 GUI_Thread.now { |
91 PIDE.editor.flush() |
77 PIDE.editor.flush() |
92 buffers.foreach(buffer => |
78 buffers.foreach(buffer => |
107 if buffer != null && !buffer.getBooleanProperty(Buffer.GZIPPED) |
93 if buffer != null && !buffer.getBooleanProperty(Buffer.GZIPPED) |
108 } { |
94 } { |
109 if (buffer.isLoaded) { |
95 if (buffer.isLoaded) { |
110 JEdit_Lib.buffer_lock(buffer) { |
96 JEdit_Lib.buffer_lock(buffer) { |
111 val node_name = resources.node_name(buffer) |
97 val node_name = resources.node_name(buffer) |
112 val model = Document_Model.init(session, buffer, node_name) |
98 val model = Document_Model.init(session, node_name, buffer) |
113 for { |
99 for { |
114 text_area <- JEdit_Lib.jedit_text_areas(buffer) |
100 text_area <- JEdit_Lib.jedit_text_areas(buffer) |
115 if document_view(text_area).map(_.model) != Some(model) |
101 if document_view(text_area).map(_.model) != Some(model) |
116 } Document_View.init(model, text_area) |
102 } Document_View.init(model, text_area) |
117 } |
103 } |
338 case msg: BufferUpdate |
324 case msg: BufferUpdate |
339 if msg.getWhat == BufferUpdate.LOADED || |
325 if msg.getWhat == BufferUpdate.LOADED || |
340 msg.getWhat == BufferUpdate.PROPERTIES_CHANGED || |
326 msg.getWhat == BufferUpdate.PROPERTIES_CHANGED || |
341 msg.getWhat == BufferUpdate.CLOSING => |
327 msg.getWhat == BufferUpdate.CLOSING => |
342 |
328 |
343 if (msg.getWhat == BufferUpdate.CLOSING) { |
329 if (msg.getWhat == BufferUpdate.CLOSING && msg.getBuffer != null) |
344 val buffer = msg.getBuffer |
330 PIDE.exit_models(List(msg.getBuffer)) |
345 if (buffer != null) PIDE.editor.remove_node(PIDE.resources.node_name(msg.getBuffer)) |
331 |
346 } |
|
347 if (PIDE.session.is_ready) { |
332 if (PIDE.session.is_ready) { |
348 delay_init.invoke() |
333 delay_init.invoke() |
349 delay_load.invoke() |
334 delay_load.invoke() |
350 } |
335 } |
351 |
336 |