src/Tools/jEdit/src/debugger_dockable.scala
changeset 60905 eba3acb72b55
parent 60901 ce8abd005c5d
child 60906 6032429da70d
equal deleted inserted replaced
60904:e0fab97c989f 60905:eba3acb72b55
   164       case _ => None
   164       case _ => None
   165     }
   165     }
   166 
   166 
   167   private def update_tree(thread_entries: List[Debugger_Dockable.Thread_Entry])
   167   private def update_tree(thread_entries: List[Debugger_Dockable.Thread_Entry])
   168   {
   168   {
   169     val old_thread_selection =
   169     val old_thread_selection: Option[String] =
   170       thread_selection() orElse
   170       thread_selection() orElse thread_entries.headOption.map(_.thread_name)
   171       thread_entries.collectFirst { case t if t.debug_states.nonEmpty => t.thread_name }
       
   172 
   171 
   173     tree.clearSelection
   172     tree.clearSelection
   174     root.removeAllChildren
   173     root.removeAllChildren
   175 
   174 
   176     for (thread_entry <- thread_entries) {
   175     for (thread_entry <- thread_entries) {
   183       root.add(thread_node)
   182       root.add(thread_node)
   184     }
   183     }
   185 
   184 
   186     tree.getModel.asInstanceOf[DefaultTreeModel].reload(root)
   185     tree.getModel.asInstanceOf[DefaultTreeModel].reload(root)
   187 
   186 
       
   187     tree.expandRow(0)
       
   188     for (i <- Range.inclusive(tree.getRowCount - 1, 1, -1)) tree.expandRow(i)
       
   189 
   188     old_thread_selection match {
   190     old_thread_selection match {
   189       case Some(thread_name) if thread_entries.exists(t => t.thread_name == thread_name) =>
   191       case Some(thread_name) if thread_entries.exists(t => t.thread_name == thread_name) =>
   190         val i =
   192         val i =
   191           (for (t <- thread_entries.iterator.takeWhile(t => t.thread_name != thread_name))
   193           (for (t <- thread_entries.iterator.takeWhile(t => t.thread_name != thread_name))
   192             yield 1 + t.debug_states.length).sum
   194             yield 1 + t.debug_states.length).sum
   193         tree.addSelectionRow(i + 1)
   195         tree.addSelectionRow(i + 1)
   194       case _ =>
   196       case _ =>
   195     }
   197     }
   196     for (i <- 0 until tree.getRowCount) tree.expandRow(i)
       
   197 
   198 
   198     tree.revalidate()
   199     tree.revalidate()
   199   }
   200   }
   200 
   201 
   201   def update_vals()
   202   def update_vals()