src/Pure/GUI/gui.scala
changeset 81323 33fbf90fbc1d
parent 81322 0521e65af41e
child 81333 cb31fd7c4bce
equal deleted inserted replaced
81322:0521e65af41e 81323:33fbf90fbc1d
    10 import java.awt.{Component, Container, Font, Image, Insets, KeyboardFocusManager, Window, Point,
    10 import java.awt.{Component, Container, Font, Image, Insets, KeyboardFocusManager, Window, Point,
    11   Rectangle, Dimension, GraphicsEnvironment, MouseInfo, Toolkit}
    11   Rectangle, Dimension, GraphicsEnvironment, MouseInfo, Toolkit}
    12 import java.awt.event.{KeyAdapter, KeyEvent, ItemListener, ItemEvent}
    12 import java.awt.event.{KeyAdapter, KeyEvent, ItemListener, ItemEvent}
    13 import java.awt.font.{FontRenderContext, LineMetrics, TextAttribute, TransformAttribute}
    13 import java.awt.font.{FontRenderContext, LineMetrics, TextAttribute, TransformAttribute}
    14 import java.awt.geom.AffineTransform
    14 import java.awt.geom.AffineTransform
    15 import javax.swing.{ImageIcon, JButton, JDialog, JFrame, JLabel, JLayeredPane, JOptionPane, JTree,
    15 import javax.swing.{ImageIcon, JButton, JDialog, JFrame, JLabel, JLayeredPane, JOptionPane,
    16   RootPaneContainer, JTextField, JWindow, JComboBox, LookAndFeel, UIManager, SwingUtilities}
    16   RootPaneContainer, JTextField, JWindow, JComboBox, LookAndFeel, UIManager, SwingUtilities}
    17 import javax.swing.tree.{MutableTreeNode, TreeSelectionModel}
       
    18 
    17 
    19 import scala.swing.{CheckBox, ComboBox, ScrollPane, TextArea, ListView, Label, Separator,
    18 import scala.swing.{CheckBox, ComboBox, ScrollPane, TextArea, ListView, Label, Separator,
    20   Orientation}
    19   Orientation}
    21 import scala.swing.event.{ButtonClicked, SelectionChanged}
    20 import scala.swing.event.{ButtonClicked, SelectionChanged}
    22 
    21 
   255       case text: JTextField => text.setColumns(4)
   254       case text: JTextField => text.setColumns(4)
   256       case _ =>
   255       case _ =>
   257     }
   256     }
   258 
   257 
   259     selection.index = 3
   258     selection.index = 3
   260   }
       
   261 
       
   262 
       
   263   /* tree view */
       
   264 
       
   265   def init_tree(root: MutableTreeNode, single_selection_mode: Boolean = false): JTree = {
       
   266     val tree = new JTree(root)
       
   267     tree.setRowHeight(0)
       
   268 
       
   269     if (single_selection_mode) {
       
   270       tree.getSelectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION)
       
   271     }
       
   272 
       
   273     // follow jEdit
       
   274     if (!GUI.is_macos_laf) {
       
   275       tree.putClientProperty("JTree.lineStyle", "Angled")
       
   276     }
       
   277 
       
   278     tree
       
   279   }
   259   }
   280 
   260 
   281 
   261 
   282   /* tooltip with multi-line support */
   262   /* tooltip with multi-line support */
   283 
   263