renamed to message_panel
authorimmler@in.tum.de
Mon, 17 Nov 2008 16:39:39 +0100
changeset 34365 5691af1d34cd
parent 34364 8df6519599ef
child 34366 2f6e50fa7ac4
renamed to message_panel
src/Tools/jEdit/src/jedit/ScrollerDockable.scala
--- a/src/Tools/jEdit/src/jedit/ScrollerDockable.scala	Thu Nov 13 13:08:37 2008 +0100
+++ b/src/Tools/jEdit/src/jedit/ScrollerDockable.scala	Mon Nov 17 16:39:39 2008 +0100
@@ -31,14 +31,14 @@
   var message_offset = 0 //how many pixels of the lowest message are hidden
   var message_no = -1  //index of the lowest message
   // absolute positioning for messages
-  val message_view = new JPanel
-  message_view.setLayout(null)
+  val message_panel = new JPanel
+  message_panel.setLayout(null)
   // setting up view
   setLayout(new BorderLayout())
   val vscroll = new JScrollBar(Adjustable.VERTICAL, 0, 1, 0, 1)
   vscroll.addAdjustmentListener(this)
   add (vscroll, BorderLayout.EAST)
-  add (message_view, BorderLayout.CENTER)
+  add (message_panel, BorderLayout.CENTER)
   addComponentListener(this)
   //automated scrolling, new message ind
   val infopanel = new JPanel
@@ -51,7 +51,7 @@
 
   // DoubleBuffering for smoother updates
   this.setDoubleBuffered(true)
-  message_view.setDoubleBuffered(true)
+  message_panel.setDoubleBuffered(true)
 
   //Render a message to a Panel
   def render (message: Document): XHTMLPanel = {
@@ -75,12 +75,12 @@
   // panel has to be displayable in container message_view for doLayout to have
   // an effect, especially returning correct preferredSize
   def calculate_preferred_size(panel: XHTMLPanel){
-    message_view.add (panel)
-    panel.setBounds (0, 0, message_view.getWidth, 1) // document has to fit into width
+    message_panel.add (panel)
+    panel.setBounds (0, 0, message_panel.getWidth, 1) // document has to fit into width
     panel.doDocumentLayout (panel.getGraphics) //lay out, preferred size is set then
     // if there are thousands of empty panels, all have to be rendered -
     // but this takes time (even for empty panels); therefore minimum size
-    panel.setPreferredSize(new java.awt.Dimension(message_view.getWidth,Math.max(50, panel.getPreferredSize.getHeight.toInt)))
+    panel.setPreferredSize(new java.awt.Dimension(message_panel.getWidth,Math.max(50, panel.getPreferredSize.getHeight.toInt)))
   }
    
   //render and load a message into cache, place its bottom at y-coordinate;
@@ -92,13 +92,13 @@
     val result = message_cache.get(message_no) match {
       case Some(panel) => {
         // recalculate preferred size after resizing the message_view
-        if(panel.getPreferredSize.getWidth.toInt != message_view.getWidth)
+        if(panel.getPreferredSize.getWidth.toInt != message_panel.getWidth)
           calculate_preferred_size (panel)
         //place message on view
         val width = panel.getPreferredSize.getWidth.toInt
         val height = panel.getPreferredSize.getHeight.toInt
         panel.setBounds(0, y - height, width, height)
-        message_view.add(panel)
+        message_panel.add(panel)
         panel
       }
       case None => null
@@ -111,12 +111,12 @@
   // (no knowledge on height of messages)
   def move_view (y : Int) = {
     var update = false
-    if(message_view.getComponentCount >= 1){
+    if(message_panel.getComponentCount >= 1){
       message_offset += y
       //remove bottommost panels
-      while (message_offset >= message_view.getComponent(0).getHeight)
+      while (message_offset >= message_panel.getComponent(0).getHeight)
       {
-        message_offset -= message_view.getComponent(0).getHeight
+        message_offset -= message_panel.getComponent(0).getHeight
         message_no -= 1
         update_view
         update = true
@@ -130,13 +130,13 @@
         update = true
      }
       //insert panel at the top
-      if (message_view.getComponent(message_view.getComponentCount - 1).getY + y > 0){
+      if (message_panel.getComponent(message_panel.getComponentCount - 1).getY + y > 0){
         update_view
         update = true
       }
       //simply move panels
       if(!update){
-        message_view.getComponents map (c => {
+        message_panel.getComponents map (c => {
             val newrect = c.getBounds
             newrect.y = newrect.y + y
             c.setBounds(newrect)
@@ -149,9 +149,9 @@
   }
   
   def update_view = {
-    message_view.removeAll()
+    message_panel.removeAll()
     var n = message_no
-    var y:Int = message_view.getHeight + message_offset
+    var y:Int = message_panel.getHeight + message_offset
     while (y >= 0 && n >= 0){
       val panel = set_message (n, y)
       panel.setBorder(javax.swing.border.LineBorder.createBlackLineBorder)
@@ -161,8 +161,8 @@
     repaint()
   }
 
-  //indicate new messages in a maximum frequency of 1/300 ms
-  val message_ind_timer : Timer = new Timer(300, new ActionListener {
+  // do not show every new message, wait a certain amount of time
+  val message_ind_timer : Timer = new Timer(250, new ActionListener {
       // this method is called to indicate a new message
       override def actionPerformed(e:ActionEvent){
         //fire scroll-event if necessary and wanted
@@ -174,7 +174,6 @@
       }
     })
 
-
   def add_message (message: Document) = {
     message_buffer += message
     vscroll.setMaximum (Math.max(1, message_buffer.size))