/[classpath]/classpath/javax/swing/plaf/metal/MetalTreeUI.java
ViewVC logotype

Diff of /classpath/javax/swing/plaf/metal/MetalTreeUI.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.5 by gnu_andrew, Wed Nov 2 00:44:01 2005 UTC revision 1.1.2.6 by gnu_andrew, Sun Nov 27 21:00:41 2005 UTC
# Line 41  package javax.swing.plaf.metal; Line 41  package javax.swing.plaf.metal;
41  import java.awt.Graphics;  import java.awt.Graphics;
42  import java.awt.Insets;  import java.awt.Insets;
43  import java.awt.Rectangle;  import java.awt.Rectangle;
 import java.awt.event.ComponentListener;  
 import java.awt.event.FocusListener;  
 import java.awt.event.KeyListener;  
 import java.awt.event.MouseListener;  
 import java.beans.PropertyChangeListener;  
 import java.util.Hashtable;  
44    
45  import javax.swing.JComponent;  import javax.swing.JComponent;
46  import javax.swing.JTree;  import javax.swing.JTree;
 import javax.swing.UIDefaults;  
 import javax.swing.UIManager;  
 import javax.swing.tree.TreeCellEditor;  
 import javax.swing.tree.TreeModel;  
47  import javax.swing.tree.TreePath;  import javax.swing.tree.TreePath;
 import javax.swing.event.CellEditorListener;  
 import javax.swing.event.TreeExpansionListener;  
 import javax.swing.event.TreeModelListener;  
 import javax.swing.event.TreeSelectionListener;  
48  import javax.swing.plaf.ComponentUI;  import javax.swing.plaf.ComponentUI;
49  import javax.swing.plaf.basic.BasicTreeUI;  import javax.swing.plaf.basic.BasicTreeUI;
50    
# Line 67  import javax.swing.plaf.basic.BasicTreeU Line 53  import javax.swing.plaf.basic.BasicTreeU
53   */   */
54  public class MetalTreeUI extends BasicTreeUI  public class MetalTreeUI extends BasicTreeUI
55  {  {
   
   /** Listeners */  
   private PropertyChangeListener propertyChangeListener;  
   private FocusListener focusListener;  
   private TreeSelectionListener treeSelectionListener;  
   private MouseListener mouseListener;  
   private KeyListener keyListener;  
   private PropertyChangeListener selectionModelPropertyChangeListener;  
   private ComponentListener componentListener;  
   private CellEditorListener cellEditorListener;  
   private TreeExpansionListener treeExpansionListener;  
   private TreeModelListener treeModelListener;  
       
56    /**    /**
57     * Constructs a new instance of <code>MetalTreeUI</code>.     * Constructs a new instance of <code>MetalTreeUI</code>.
58     */     */
# Line 128  public class MetalTreeUI extends BasicTr Line 101  public class MetalTreeUI extends BasicTr
101     */     */
102    public void installUI(JComponent c)    public void installUI(JComponent c)
103    {    {
104      tree = (JTree) c;      // TODO: What to do here, if anything?
105      configureLayoutCache();      super.installUI(c);
       
     UIDefaults defaults = UIManager.getLookAndFeelDefaults();  
     tree.setFont(defaults.getFont("Tree.font"));  
     tree.setForeground(defaults.getColor("Tree.foreground"));  
     tree.setBackground(defaults.getColor("Tree.background"));  
     tree.setOpaque(true);  
     tree.setScrollsOnExpand(defaults.getBoolean("Tree.scrollsOnExpand"));  
     rightChildIndent = defaults.getInt("Tree.rightChildIndent");  
     leftChildIndent = defaults.getInt("Tree.leftChildIndent");  
     setRowHeight(defaults.getInt("Tree.rowHeight"));  
     tree.setRowHeight(defaults.getInt("Tree.rowHeight"));  
     tree.requestFocusInWindow(false);  
       
     setExpandedIcon(defaults.getIcon("Tree.expandedIcon"));  
     setCollapsedIcon(defaults.getIcon("Tree.collapsedIcon"));  
       
     currentCellRenderer = createDefaultCellRenderer();  
     rendererPane = createCellRendererPane();  
     createdRenderer = true;  
     setCellEditor(createDefaultCellEditor());  
     createdCellEditor = true;  
     TreeModel mod = tree.getModel();  
     setModel(mod);  
   
     treeSelectionModel = tree.getSelectionModel();  
     drawingCache = new Hashtable();  
     nodeDimensions = createNodeDimensions();  
       
     propertyChangeListener = createPropertyChangeListener();  
     focusListener = createFocusListener();  
     treeSelectionListener = createTreeSelectionListener();  
     mouseListener = createMouseListener();  
     keyListener = createKeyListener();  
     selectionModelPropertyChangeListener = createSelectionModelPropertyChangeListener();  
     componentListener = createComponentListener();  
     cellEditorListener = createCellEditorListener();  
     treeExpansionListener = createTreeExpansionListener();  
     treeModelListener = createTreeModelListener();  
   
     editingRow = -1;  
     lastSelectedRow = -1;  
       
     installKeyboardActions();  
       
     tree.addPropertyChangeListener(propertyChangeListener);  
     tree.addFocusListener(focusListener);  
     tree.addTreeSelectionListener(treeSelectionListener);  
     tree.addMouseListener(mouseListener);  
     tree.addKeyListener(keyListener);  
     tree.addPropertyChangeListener(selectionModelPropertyChangeListener);  
     tree.addComponentListener(componentListener);  
     tree.addTreeExpansionListener(treeExpansionListener);  
     if (treeModel != null)  
       treeModel.addTreeModelListener(treeModelListener);  
       
     if (mod != null)  
       {  
         TreePath path = new TreePath(mod.getRoot());  
         if (!tree.isExpanded(path))  
           toggleExpandState(path);  
       }  
       
     completeUIInstall();  
106    }    }
107        
108    /**    /**
# Line 212  public class MetalTreeUI extends BasicTr Line 122  public class MetalTreeUI extends BasicTr
122     */     */
123    public void uninstallUI(JComponent c)    public void uninstallUI(JComponent c)
124    {    {
125      tree.setFont(null);      // TODO: What to do here?
126      tree.setForeground(null);      super.uninstallUI(c);
     tree.setBackground(null);  
       
     uninstallKeyboardActions();  
       
     tree.removePropertyChangeListener(propertyChangeListener);  
     tree.removeFocusListener(focusListener);  
     tree.removeTreeSelectionListener(treeSelectionListener);  
     tree.removeMouseListener(mouseListener);  
     tree.removeKeyListener(keyListener);  
     tree.removePropertyChangeListener(selectionModelPropertyChangeListener);  
     tree.removeComponentListener(componentListener);  
     tree.removeTreeExpansionListener(treeExpansionListener);  
   
     TreeCellEditor tce = tree.getCellEditor();  
     if (tce != null)  
       tce.removeCellEditorListener(cellEditorListener);  
     TreeModel tm = tree.getModel();  
     if (tm != null)  
       tm.removeTreeModelListener(treeModelListener);  
       
     tree = null;  
     uninstallComponents();  
     completeUIUninstall();  
127    }    }
128        
129    /**    /**

Legend:
Removed from v.1.1.2.5  
changed lines
  Added in v.1.1.2.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26