src/Tools/jEdit/src/pretty_tooltip.scala
changeset 50501 6f41f1646617
parent 50206 6626bc5ed053
child 50538 48cb76b785da
equal deleted inserted replaced
50500:c94bba7906d2 50501:6f41f1646617
    23 
    23 
    24 class Pretty_Tooltip(
    24 class Pretty_Tooltip(
    25   view: View,
    25   view: View,
    26   parent: JComponent,
    26   parent: JComponent,
    27   rendering: Rendering,
    27   rendering: Rendering,
    28   mouse_x: Int, mouse_y: Int, body: XML.Body)
    28   mouse_x: Int, mouse_y: Int,
       
    29   results: Command.Results,
       
    30   body: XML.Body)
    29   extends JWindow(JEdit_Lib.parent_window(parent) getOrElse view)
    31   extends JWindow(JEdit_Lib.parent_window(parent) getOrElse view)
    30 {
    32 {
    31   window =>
    33   window =>
    32 
    34 
    33   Swing_Thread.require()
    35   Swing_Thread.require()
    68 
    70 
    69   val pretty_text_area = new Pretty_Text_Area(view)
    71   val pretty_text_area = new Pretty_Text_Area(view)
    70   pretty_text_area.getPainter.setBackground(rendering.tooltip_color)
    72   pretty_text_area.getPainter.setBackground(rendering.tooltip_color)
    71   pretty_text_area.resize(Rendering.font_family(),
    73   pretty_text_area.resize(Rendering.font_family(),
    72     Rendering.font_size("jedit_tooltip_font_scale").round)
    74     Rendering.font_size("jedit_tooltip_font_scale").round)
    73   pretty_text_area.update(rendering.snapshot, body)
    75   pretty_text_area.update(rendering.snapshot, results, body)
    74 
    76 
    75   pretty_text_area.registerKeyboardAction(action_listener, "close_all",
    77   pretty_text_area.registerKeyboardAction(action_listener, "close_all",
    76     KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED)
    78     KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_FOCUSED)
    77 
    79 
    78   window.add(pretty_text_area)
    80   window.add(pretty_text_area)
    90   private val detach = new Label {
    92   private val detach = new Label {
    91     icon = Rendering.tooltip_detach_icon
    93     icon = Rendering.tooltip_detach_icon
    92     tooltip = "Detach tooltip window"
    94     tooltip = "Detach tooltip window"
    93     listenTo(mouse.clicks)
    95     listenTo(mouse.clicks)
    94     reactions += {
    96     reactions += {
    95       case _: MouseClicked => Info_Dockable(view, rendering.snapshot, body); window.dispose()
    97       case _: MouseClicked =>
       
    98         Info_Dockable(view, rendering.snapshot, results, body)
       
    99         window.dispose()
    96     }
   100     }
    97   }
   101   }
    98 
   102 
    99   private val controls = new FlowPanel(FlowPanel.Alignment.Left)(close, detach) {
   103   private val controls = new FlowPanel(FlowPanel.Alignment.Left)(close, detach) {
   100     background = rendering.tooltip_color
   104     background = rendering.tooltip_color