/[classpath]/classpath/javax/swing/plaf/basic/BasicTreeUI.java
ViewVC logotype

Diff of /classpath/javax/swing/plaf/basic/BasicTreeUI.java

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

revision 1.53 by langel, Fri Aug 5 19:52:11 2005 UTC revision 1.54 by langel, Mon Aug 8 14:05:35 2005 UTC
# Line 449  public class BasicTreeUI extends TreeUI Line 449  public class BasicTreeUI extends TreeUI
449    protected void setModel(TreeModel model)    protected void setModel(TreeModel model)
450    {    {
451      tree.setModel(model);      tree.setModel(model);
452      treeModel = model;      treeModel = tree.getModel();
453    }    }
454        
455    /**    /**
# Line 583  public class BasicTreeUI extends TreeUI Line 583  public class BasicTreeUI extends TreeUI
583        {        {
584          Object cell = path.getLastPathComponent();          Object cell = path.getLastPathComponent();
585          TreeModel mod = tree.getModel();          TreeModel mod = tree.getModel();
586          TreeNode root = (TreeNode) mod.getRoot();          if (mod != null)
587          if (!tree.isRootVisible()          {
588              && tree.isExpanded(new TreePath(root)))            TreeNode root = (TreeNode) mod.getRoot();
589            root = getNextNode(root);            if (!tree.isRootVisible()
590                          && tree.isExpanded(new TreePath(root)))
591          Point loc = getCellLocation(0, 0, tree, mod, cell, root);              root = getNextNode(root);
592          return getCellBounds(loc.x, loc.y, cell);            
593              Point loc = getCellLocation(0, 0, tree, mod, cell, root);
594              return getCellBounds(loc.x, loc.y, cell);
595            }
596        }        }
597      return null;      return null;
598    }    }
# Line 605  public class BasicTreeUI extends TreeUI Line 608  public class BasicTreeUI extends TreeUI
608     */     */
609    public TreePath getPathForRow(JTree tree, int row)    public TreePath getPathForRow(JTree tree, int row)
610    {    {
611      TreeNode node = ((TreeNode) (tree.getModel()).getRoot());      TreeModel mod = tree.getModel();
612      if (!tree.isRootVisible()      if (mod != null)
613          && tree.isExpanded(new TreePath(getPathToRoot(node, 0))))      {
614        node = getNextNode(node);        TreeNode node = ((TreeNode) mod.getRoot());
615              if (!tree.isRootVisible()
616      for (int i = 0; i < row; i++)            && tree.isExpanded(new TreePath(getPathToRoot(node, 0))))
617        node = getNextVisibleNode(node);          node = getNextNode(node);
618              
619      // in case nothing was found        for (int i = 0; i < row; i++)
620      if (node == null)          node = getNextVisibleNode(node);
621        return null;        
622              if (node == null)
623      // something was found          return null;
624      return new TreePath(getPathToRoot(node, 0));        
625          return new TreePath(getPathToRoot(node, 0));
626        }
627        return null;
628    }    }
629        
630    /**    /**
# Line 647  public class BasicTreeUI extends TreeUI Line 653  public class BasicTreeUI extends TreeUI
653     */     */
654    public int getRowCount(JTree tree)    public int getRowCount(JTree tree)
655    {    {
656      TreeNode node = ((TreeNode) (tree.getModel())      TreeModel mod = tree.getModel();
         .getRoot());  
     if (!tree.isRootVisible()  
         && tree.isExpanded(new TreePath((getPathToRoot(node, 0)))))  
       node = getNextNode(node);  
       
657      int count = 0;      int count = 0;
658            if (mod != null)
659      while (node != null)      {
660          TreeNode node = ((TreeNode) mod.getRoot());
661          if (!tree.isRootVisible()
662              && tree.isExpanded(new TreePath((getPathToRoot(node, 0)))))
663            node = getNextNode(node);
664    
665          while (node != null)
666        {        {
667          count++;          count++;
668          node = getNextVisibleNode(node);          node = getNextVisibleNode(node);
669        }        }
670            }
671      return count;      return count;
672    }    }
673        
# Line 1162  public class BasicTreeUI extends TreeUI Line 1169  public class BasicTreeUI extends TreeUI
1169      tree.addComponentListener(componentListener);      tree.addComponentListener(componentListener);
1170      cellEditor.addCellEditorListener(cellEditorListener);      cellEditor.addCellEditorListener(cellEditorListener);
1171      tree.addTreeExpansionListener(treeExpansionListener);      tree.addTreeExpansionListener(treeExpansionListener);
1172      treeModel.addTreeModelListener(treeModelListener);      if (treeModel != null)
1173          treeModel.addTreeModelListener(treeModelListener);
1174    }    }
1175        
1176    /**    /**
# Line 1175  public class BasicTreeUI extends TreeUI Line 1183  public class BasicTreeUI extends TreeUI
1183      super.installUI(c);      super.installUI(c);
1184      installDefaults((JTree) c);      installDefaults((JTree) c);
1185      tree = (JTree) c;      tree = (JTree) c;
1186      setModel(tree.getModel());      TreeModel mod = tree.getModel();
1187        setModel(mod);
1188      tree.setRootVisible(true);      tree.setRootVisible(true);
1189      tree.expandPath(new TreePath(tree.getModel().getRoot()));      if (mod != null)
1190          tree.expandPath(new TreePath(mod.getRoot()));
1191      treeSelectionModel = tree.getSelectionModel();      treeSelectionModel = tree.getSelectionModel();
1192      installListeners();      installListeners();
1193      installKeyboardActions();      installKeyboardActions();
# Line 1227  public class BasicTreeUI extends TreeUI Line 1237  public class BasicTreeUI extends TreeUI
1237    {    {
1238      JTree tree = (JTree) c;      JTree tree = (JTree) c;
1239      TreeModel mod = tree.getModel();      TreeModel mod = tree.getModel();
1240      Object root = mod.getRoot();      if (mod != null)
1241            {
1242      if (!tree.isRootVisible())        Object root = mod.getRoot();
1243        tree.expandPath(new TreePath(root));        
1244              if (!tree.isRootVisible())
1245      paintRecursive(g, 0, 0, 0, 0, tree, mod, root);          tree.expandPath(new TreePath(root));
1246              
1247      if (hasControlIcons())        paintRecursive(g, 0, 0, 0, 0, tree, mod, root);
1248        paintControlIcons(g, 0, 0, 0, 0, tree, mod, root);        
1249          if (hasControlIcons())
1250            paintControlIcons(g, 0, 0, 0, 0, tree, mod, root);
1251        }
1252    }    }
1253        
1254    /**    /**
# Line 1295  public class BasicTreeUI extends TreeUI Line 1308  public class BasicTreeUI extends TreeUI
1308    public Dimension getPreferredSize(JComponent c, boolean checkConsistancy)    public Dimension getPreferredSize(JComponent c, boolean checkConsistancy)
1309    {    {
1310      // FIXME: checkConsistancy not implemented, c not used      // FIXME: checkConsistancy not implemented, c not used
1311      TreeNode node = ((TreeNode) (tree.getModel())      TreeModel model = tree.getModel();
         .getRoot());  
1312      int maxWidth = 0;      int maxWidth = 0;
1313      int count = 0;      int count = 0;
1314      if (node != null)      if (model != null)
1315        {
1316          TreeNode node = (TreeNode) model.getRoot();
1317          if (node != null)
1318        {        {
1319          maxWidth = (int) (getCellBounds(0, 0, node).getWidth());          maxWidth = (int) (getCellBounds(0, 0, node).getWidth());
1320          while (node != null)          while (node != null)
1321            {          {
1322              count++;            count++;
1323              TreeNode nextNode = getNextVisibleNode(node);            TreeNode nextNode = getNextVisibleNode(node);
1324              if (nextNode != null)            if (nextNode != null)
1325                maxWidth = Math.max(maxWidth, (int) (getCellBounds(0, 0, nextNode)              maxWidth = Math.max(maxWidth, (int) (getCellBounds(0, 0, nextNode)
1326                    .getWidth()));                  .getWidth()));
1327              node = nextNode;            node = nextNode;
1328            }          }
1329        }        }
1330        }
1331      return new Dimension(maxWidth, (getRowHeight() * count));      return new Dimension(maxWidth, (getRowHeight() * count));
1332    }    }
1333        

Legend:
Removed from v.1.53  
changed lines
  Added in v.1.54

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