home *** CD-ROM | disk | FTP | other *** search
- package com.sfs.awt.treeview;
-
- import com.sfs.debug.Debug;
- import java.awt.FontMetrics;
- import java.awt.Scrollbar;
- import java.util.Vector;
-
- class PositionMap {
- Vector Rows = new Vector();
- // $FF: renamed from: fm java.awt.FontMetrics
- public FontMetrics field_0;
- public Scrollbar Ver;
- public Scrollbar Hor;
- int height;
-
- public void setVerticalScrollbar(int var1, int var2, int var3) {
- this.Ver.setMaximum(var1);
- this.Ver.setUnitIncrement(var2);
- this.Ver.setBlockIncrement(var3);
- Debug.Info("Ver = " + this.Ver.toString());
- }
-
- public String toString() {
- String var1 = "PositionMap ->\n";
-
- for(int var2 = 0; var2 < this.Rows.size(); ++var2) {
- Item var3 = (Item)this.Rows.elementAt(var2);
- String var4 = var3.getName();
- int var5 = var3.getSpaces();
-
- for(var1 = var1 + Integer.toString(var2) + "\t:"; var5-- > 0; var1 = var1 + " ") {
- }
-
- var1 = var1 + var4 + "\n";
- }
-
- return var1;
- }
-
- public Item getItemAt(int var1) {
- try {
- return (Item)this.Rows.elementAt(var1);
- } catch (ArrayIndexOutOfBoundsException var4) {
- Debug.Info("PositionMap.getItemAt(...) -> y invalid: " + ((Throwable)var4).getMessage());
- return null;
- }
- }
-
- public void removeItem(Item var1) {
- this.removeItemAt(this.indexOf(var1));
- }
-
- public void setHorizontalScrollbar(int var1, int var2, int var3) {
- this.Hor.setMaximum(var1);
- this.Hor.setUnitIncrement(var2);
- this.Hor.setBlockIncrement(var3);
- Debug.Info("Hor = " + this.Hor.toString());
- }
-
- public int indexOf(Item var1) {
- return this.Rows.indexOf(var1);
- }
-
- public void removeItemAt(int var1) {
- Item var2 = (Item)this.Rows.elementAt(var1);
- int var3 = var2.getSpaces();
-
- do {
- this.Rows.removeElementAt(var1);
- } while(this.Rows.size() < var1 && ((Item)this.Rows.elementAt(var1)).getSpaces() > var3);
-
- }
-
- protected void AdjustScrollbars() {
- if (this.field_0 != null && this.Ver != null && this.Hor != null) {
- int var1 = 0;
- int var2 = 0;
- Item var3 = this.getItemAt(0);
-
- for(int var4 = 0; var4 < this.Rows.size(); ++var1) {
- Item var5 = this.getItemAt(var4);
- int var6 = var5.getSpaces() * 17 + 16 + this.field_0.stringWidth(var5.getName());
- if (var6 > var2) {
- var2 = var6;
- var3 = var5;
- }
-
- Debug.Info("actWidth = " + Integer.toString(var6));
- if (var5 instanceof Folder && !var5.isOpen()) {
- int var7 = var5.getSpaces();
- Debug.Info("processing Folder " + var5.getName());
-
- while(var4 + 1 < this.Rows.size() && this.getItemAt(var4 + 1).getSpaces() > var7) {
- ++var4;
- Debug.Info("don't count" + this.getItemAt(var4).getName());
- }
- }
-
- Debug.Info("height = " + Integer.toString(var1));
- ++var4;
- }
-
- this.height = var1;
- this.setVerticalScrollbar(var1 * 17, var1 * 17 / 100, var1 * 17 / 10);
- this.setHorizontalScrollbar(var2, var2 / 100, var2 / 10);
- Debug.Info("endg├╝ltig height = " + Integer.toString(var1));
- Debug.Info("largest item= " + var3.getName() + "-> width = " + Integer.toString(var2));
- }
- }
-
- public int getHeight() {
- return this.height;
- }
-
- public void insertItem(Item var1) {
- Folder var2 = var1.getParent();
- int var3 = 0;
- if (var2 != null) {
- var3 = this.indexOf(var2) + var2.size() + 1;
- if (var2.size() > 0) {
- Debug.Info("adding" + var1.getName());
-
- for(int var4 = ((Item)var2).getSpaces(); var3 < this.Rows.size() && this.getItemAt(var3).getSpaces() >= var4; ++var3) {
- Debug.Info("fsdf");
- }
- }
- }
-
- Debug.Info("insert at pos: " + Integer.toString(var3));
- this.Rows.insertElementAt(var1, var3);
- this.AdjustScrollbars();
- }
- }
-