home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
-
- public class TreeEdit extends TreeBrowse {
- static final String sVersion = "TreeEdit 1.3";
- static final String sError = "TreeEdit error: ";
- String sImage = "item.gif";
- // $FF: renamed from: ac AppletControl
- AppletControl field_0;
- // $FF: renamed from: dc DataControl
- DataControl field_1;
- int markLine;
-
- public void init() {
- super.init();
- this.field_0 = new AppletControl(this);
- this.field_0.setTitle("TreeEdit 1.3 - Applet Control");
- this.field_0.pack();
- this.field_1 = new DataControl(this);
- this.field_1.setTitle("TreeEdit 1.3 - Data Control");
- this.field_1.pack();
- this.updateDC();
- }
-
- public void updateDC() {
- this.field_1.updateInfo(super.display.getLine(this.markLine));
- this.field_1.outData(super.tree);
- }
-
- public void update(Graphics var1) {
- super.update(var1);
- var1.setXORMode(super.color.base);
- var1.setColor(super.color.highLight);
- ((TreeBrowse)this).myDrawRect(var1, 0, this.markLine * super.dy, super.dim.width, super.dy);
- }
-
- public void paint(Graphics var1) {
- super.paint(var1);
- var1.setXORMode(super.color.base);
- var1.setColor(super.color.highLight);
- ((TreeBrowse)this).myDrawRect(var1, 0, this.markLine * super.dy, super.dim.width, super.dy);
- }
-
- public synchronized boolean mouseDown(Event var1, int var2, int var3) {
- if (super.lastType == 1) {
- TreeNode var4 = super.display.getLine(super.lastLine);
- var4.data.open = !var4.data.open;
- super.display.updateDisplay(super.tree);
- this.update(((Component)this).getGraphics());
- this.field_1.updateInfo(super.display.getLine(this.markLine));
- this.field_1.outData(super.tree);
- } else if (super.lastType == 2) {
- TreeNode var6 = super.open;
- this.updateURL(super.display.getLine(super.lastLine));
- if (super.control != null && var6 != super.open) {
- super.control.addItem(super.open);
- }
- } else {
- int var7 = (var3 - 4) / super.dy;
- if (var7 != this.markLine) {
- Graphics var5 = ((Component)this).getGraphics();
- var5.setXORMode(super.color.base);
- var5.setColor(super.color.highLight);
- ((TreeBrowse)this).myDrawRect(var5, 0, this.markLine * super.dy, super.dim.width, super.dy);
- ((TreeBrowse)this).myDrawRect(var5, 0, var7 * super.dy, super.dim.width, super.dy);
- this.field_1.updateInfo(super.display.getLine(var7));
- this.markLine = var7;
- }
- }
-
- return true;
- }
-
- public void addSame() {
- TreeNode var1 = super.display.getLine(this.markLine);
- TreeNode var2 = var1.nextNode;
- TreeNode var3 = new TreeNode();
- TreeNodeData var4 = new TreeNodeData();
- var4.level = var1.data.level;
- var4.name = "";
- var4.open = false;
- var4.sWidth = 0;
- var4.image = super.itemImage;
- var3.data = var4;
- var1.nextNode = var3;
- var3.lastNode = var1;
- if (var2 != null) {
- var3.nextNode = var2;
- var2.lastNode = var3;
- }
-
- ++super.num;
- super.display = new TreeDisplay(super.num);
- super.display.updateDisplay(super.tree);
- }
-
- public void addNext() {
- TreeNode var1 = super.display.getLine(this.markLine);
- TreeNode var2 = new TreeNode();
- TreeNodeData var3 = new TreeNodeData();
- var3.level = var1.data.level + 1;
- var3.name = "";
- var3.open = false;
- var3.sWidth = 0;
- var3.image = super.itemImage;
- var2.data = var3;
- var1.data.open = true;
- if (var1.subNode != null) {
- TreeNode var4 = var1.subNode;
- var2.nextNode = var4;
- var4.lastNode = var2;
- }
-
- var1.subNode = var2;
- var2.lastNode = var1;
- super.maxLevel = var3.level > super.maxLevel ? var3.level : super.maxLevel;
- ++super.num;
- super.display = new TreeDisplay(super.num);
- super.display.updateDisplay(super.tree);
- }
-
- public void addRoot() {
- TreeNode var1 = super.tree.getRoot();
- TreeNode var2 = new TreeNode();
- TreeNode var3 = var1.subNode;
- TreeNodeData var4 = new TreeNodeData();
- var4.level = 0;
- var4.name = "";
- var4.open = true;
- var4.sWidth = 0;
- var4.image = super.itemImage;
- var2.data = var4;
- var1.nextNode = var2;
- var1.subNode = null;
- var2.subNode = var3;
- var3.lastNode = var2;
- var2.lastNode = var1;
- ++super.num;
- super.display = new TreeDisplay(super.num);
- super.display.updateDisplay(super.tree);
- this.field_1.markNode = super.display.getLine(this.markLine);
- }
-
- public void del() {
- if (this.markLine == 0) {
- TreeNode var1 = super.tree.getRoot();
- if (super.tree.rootItem()) {
- var1.subNode = var1.nextNode.subNode;
- var1.nextNode = null;
- } else {
- var1.subNode = var1.subNode.nextNode;
- }
- } else {
- TreeNode var4 = super.display.getLine(this.markLine);
- TreeNode var2 = var4.lastNode;
- TreeNode var3 = var4.nextNode;
- if (var2.subNode == var4) {
- var2.subNode = var3;
- } else {
- var2.nextNode = var3;
- }
-
- if (var3 != null) {
- var3.lastNode = var2;
- }
- }
-
- --super.num;
- super.display = new TreeDisplay(super.num);
- super.display.updateDisplay(super.tree);
- this.field_1.markNode = super.display.getLine(this.markLine);
- }
-
- public void updateTree(TreeNode var1, FontMetrics var2) {
- if (var1 != null && var1.data != null) {
- if (var1.data.name != null) {
- var1.data.sWidth = var2.stringWidth(var1.data.name);
- if (var1.data.sImage == null) {
- var1.data.image = super.itemImage;
- }
- }
-
- this.updateTree(var1.subNode, var2);
- this.updateTree(var1.nextNode, var2);
- }
- }
-
- public void updateURL(TreeNode var1) {
- super.tree.updateNodes(super.open, var1);
- super.open = var1;
- ((Component)this).repaint();
- }
-
- public void start() {
- super.start();
- this.field_0.show();
- this.field_1.show();
- }
-
- public void stop() {
- super.stop();
- this.field_0.hide();
- this.field_1.hide();
- }
-
- public String getAppletInfo() {
- return "TreeEdit 1.3 by Stanley Poon - 12 April 1996";
- }
- }
-