src/Tools/jEdit/src/document_model.scala
changeset 54464 b0074321bf14
parent 54461 6c360a6ade0e
child 54509 1f77110c94ef
equal deleted inserted replaced
54463:faad28e65b48 54464:b0074321bf14
   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