src/Tools/jEdit/src/pretty_text_area.scala
changeset 61570 f26a4d5e82b5
parent 61561 f35786faee6c
child 62214 451bd09b8277
equal deleted inserted replaced
61569:947ce60a06e1 61570:f26a4d5e82b5
    16 import javax.swing.event.{DocumentListener, DocumentEvent}
    16 import javax.swing.event.{DocumentListener, DocumentEvent}
    17 
    17 
    18 import scala.swing.{Label, Component}
    18 import scala.swing.{Label, Component}
    19 import scala.util.matching.Regex
    19 import scala.util.matching.Regex
    20 
    20 
    21 import org.gjt.sp.jedit.{jEdit, View, Registers}
    21 import org.gjt.sp.jedit.{jEdit, View, Registers, JEditBeanShellAction}
       
    22 import org.gjt.sp.jedit.input.{DefaultInputHandlerProvider, TextAreaInputHandler}
    22 import org.gjt.sp.jedit.textarea.{AntiAlias, JEditEmbeddedTextArea}
    23 import org.gjt.sp.jedit.textarea.{AntiAlias, JEditEmbeddedTextArea}
    23 import org.gjt.sp.jedit.syntax.SyntaxStyle
    24 import org.gjt.sp.jedit.syntax.SyntaxStyle
       
    25 import org.gjt.sp.jedit.gui.KeyEventTranslator
    24 import org.gjt.sp.util.{SyntaxUtilities, Log}
    26 import org.gjt.sp.util.{SyntaxUtilities, Log}
    25 
    27 
    26 
    28 
    27 object Pretty_Text_Area
    29 object Pretty_Text_Area
    28 {
    30 {
   137 
   139 
   138           GUI_Thread.later {
   140           GUI_Thread.later {
   139             current_rendering = rendering
   141             current_rendering = rendering
   140             JEdit_Lib.buffer_edit(getBuffer) {
   142             JEdit_Lib.buffer_edit(getBuffer) {
   141               rich_text_area.active_reset()
   143               rich_text_area.active_reset()
   142               getBuffer.setReadOnly(false)
       
   143               getBuffer.setFoldHandler(new Fold_Handling.Document_Fold_Handler(rendering))
   144               getBuffer.setFoldHandler(new Fold_Handling.Document_Fold_Handler(rendering))
   144               setText(text)
   145               setText(text)
   145               setCaretPosition(0)
   146               setCaretPosition(0)
   146               getBuffer.setReadOnly(true)
       
   147             }
   147             }
   148           }
   148           }
   149         })
   149         })
   150     }
   150     }
   151   }
   151   }
   222   }
   222   }
   223 
   223 
   224 
   224 
   225   /* key handling */
   225   /* key handling */
   226 
   226 
       
   227   inputHandlerProvider =
       
   228     new DefaultInputHandlerProvider(new TextAreaInputHandler(text_area) {
       
   229       override def getAction(action: String): JEditBeanShellAction =
       
   230         text_area.getActionContext.getAction(action)
       
   231       override def processKeyEvent(evt: KeyEvent, from: Int, global: Boolean) {}
       
   232       override def handleKey(key: KeyEventTranslator.Key, dry_run: Boolean): Boolean = false
       
   233     })
       
   234 
   227   addKeyListener(JEdit_Lib.key_listener(
   235   addKeyListener(JEdit_Lib.key_listener(
   228     key_pressed = (evt: KeyEvent) =>
   236     key_pressed = (evt: KeyEvent) =>
   229       {
   237       {
   230         evt.getKeyCode match {
   238         evt.getKeyCode match {
   231           case KeyEvent.VK_C | KeyEvent.VK_INSERT
   239           case KeyEvent.VK_C | KeyEvent.VK_INSERT
   258 
   266 
   259   getPainter.setStructureHighlightEnabled(false)
   267   getPainter.setStructureHighlightEnabled(false)
   260   getPainter.setLineHighlightEnabled(false)
   268   getPainter.setLineHighlightEnabled(false)
   261 
   269 
   262   getBuffer.setTokenMarker(Isabelle.mode_token_marker("isabelle-output").get)
   270   getBuffer.setTokenMarker(Isabelle.mode_token_marker("isabelle-output").get)
   263   getBuffer.setReadOnly(true)
       
   264   getBuffer.setStringProperty("noWordSep", "_'.?")
   271   getBuffer.setStringProperty("noWordSep", "_'.?")
   265 
   272 
   266   rich_text_area.activate()
   273   rich_text_area.activate()
   267 }
   274 }
   268