home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / tree / AbstractLayoutCache.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  3.2 KB  |  172 lines

  1. package javax.swing.tree;
  2.  
  3. import java.awt.Rectangle;
  4. import java.util.Enumeration;
  5. import javax.swing.event.TreeModelEvent;
  6.  
  7. public abstract class AbstractLayoutCache implements RowMapper {
  8.    protected NodeDimensions nodeDimensions;
  9.    protected TreeModel treeModel;
  10.    protected TreeSelectionModel treeSelectionModel;
  11.    protected boolean rootVisible;
  12.    protected int rowHeight;
  13.  
  14.    public void setNodeDimensions(NodeDimensions var1) {
  15.       this.nodeDimensions = var1;
  16.    }
  17.  
  18.    public NodeDimensions getNodeDimensions() {
  19.       return this.nodeDimensions;
  20.    }
  21.  
  22.    public void setModel(TreeModel var1) {
  23.       this.treeModel = var1;
  24.    }
  25.  
  26.    public TreeModel getModel() {
  27.       return this.treeModel;
  28.    }
  29.  
  30.    public void setRootVisible(boolean var1) {
  31.       this.rootVisible = var1;
  32.    }
  33.  
  34.    public boolean isRootVisible() {
  35.       return this.rootVisible;
  36.    }
  37.  
  38.    public void setRowHeight(int var1) {
  39.       this.rowHeight = var1;
  40.    }
  41.  
  42.    public int getRowHeight() {
  43.       return this.rowHeight;
  44.    }
  45.  
  46.    public void setSelectionModel(TreeSelectionModel var1) {
  47.       if (this.treeSelectionModel != null) {
  48.          this.treeSelectionModel.setRowMapper((RowMapper)null);
  49.       }
  50.  
  51.       this.treeSelectionModel = var1;
  52.       if (this.treeSelectionModel != null) {
  53.          this.treeSelectionModel.setRowMapper(this);
  54.       }
  55.  
  56.    }
  57.  
  58.    public TreeSelectionModel getSelectionModel() {
  59.       return this.treeSelectionModel;
  60.    }
  61.  
  62.    public int getPreferredHeight() {
  63.       int var1 = this.getRowCount();
  64.       if (var1 > 0) {
  65.          Rectangle var2 = this.getBounds(this.getPathForRow(var1 - 1), (Rectangle)null);
  66.          if (var2 != null) {
  67.             return var2.y + var2.height;
  68.          }
  69.       }
  70.  
  71.       return 0;
  72.    }
  73.  
  74.    public int getPreferredWidth(Rectangle var1) {
  75.       int var2 = this.getRowCount();
  76.       if (var2 > 0) {
  77.          TreePath var3;
  78.          int var4;
  79.          if (var1 == null) {
  80.             var3 = this.getPathForRow(0);
  81.             var4 = Integer.MAX_VALUE;
  82.          } else {
  83.             var3 = this.getPathClosestTo(var1.x, var1.y);
  84.             var4 = var1.height + var1.y;
  85.          }
  86.  
  87.          Enumeration var5 = this.getVisiblePathsFrom(var3);
  88.          if (var5 != null && var5.hasMoreElements()) {
  89.             Rectangle var6 = this.getBounds((TreePath)var5.nextElement(), (Rectangle)null);
  90.             int var7;
  91.             if (var6 != null) {
  92.                var7 = var6.x + var6.width;
  93.                if (var6.y >= var4) {
  94.                   return var7;
  95.                }
  96.             } else {
  97.                var7 = 0;
  98.             }
  99.  
  100.             while(var6 != null && var5.hasMoreElements()) {
  101.                var6 = this.getBounds((TreePath)var5.nextElement(), var6);
  102.                if (var6 != null && var6.y < var4) {
  103.                   var7 = Math.max(var7, var6.x + var6.width);
  104.                } else {
  105.                   var6 = null;
  106.                }
  107.             }
  108.  
  109.             return var7;
  110.          }
  111.       }
  112.  
  113.       return 0;
  114.    }
  115.  
  116.    public abstract boolean isExpanded(TreePath var1);
  117.  
  118.    public abstract Rectangle getBounds(TreePath var1, Rectangle var2);
  119.  
  120.    public abstract TreePath getPathForRow(int var1);
  121.  
  122.    public abstract int getRowForPath(TreePath var1);
  123.  
  124.    public abstract TreePath getPathClosestTo(int var1, int var2);
  125.  
  126.    public abstract Enumeration getVisiblePathsFrom(TreePath var1);
  127.  
  128.    public abstract int getVisibleChildCount(TreePath var1);
  129.  
  130.    public abstract void setExpandedState(TreePath var1, boolean var2);
  131.  
  132.    public abstract boolean getExpandedState(TreePath var1);
  133.  
  134.    public abstract int getRowCount();
  135.  
  136.    public abstract void invalidateSizes();
  137.  
  138.    public abstract void invalidatePathBounds(TreePath var1);
  139.  
  140.    public abstract void treeNodesChanged(TreeModelEvent var1);
  141.  
  142.    public abstract void treeNodesInserted(TreeModelEvent var1);
  143.  
  144.    public abstract void treeNodesRemoved(TreeModelEvent var1);
  145.  
  146.    public abstract void treeStructureChanged(TreeModelEvent var1);
  147.  
  148.    public int[] getRowsForPaths(TreePath[] var1) {
  149.       if (var1 == null) {
  150.          return null;
  151.       } else {
  152.          int var2 = var1.length;
  153.          int[] var3 = new int[var2];
  154.  
  155.          for(int var4 = 0; var4 < var2; ++var4) {
  156.             var3[var4] = this.getRowForPath(var1[var4]);
  157.          }
  158.  
  159.          return var3;
  160.       }
  161.    }
  162.  
  163.    protected Rectangle getNodeDimensions(Object var1, int var2, int var3, boolean var4, Rectangle var5) {
  164.       NodeDimensions var6 = this.getNodeDimensions();
  165.       return var6 != null ? var6.getNodeDimensions(var1, var2, var3, var4, var5) : null;
  166.    }
  167.  
  168.    protected boolean isFixedRowHeight() {
  169.       return this.rowHeight > 0;
  170.    }
  171. }
  172.