home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Button;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Label;
- import java.awt.MediaTracker;
- import java.awt.Panel;
- import java.awt.TextArea;
- import java.awt.TextField;
- import java.net.URL;
-
- public class DataControl extends Frame {
- TreeEdit treeEdit;
- TextArea textArea;
- TextField tf_level;
- TextField tf_name;
- TextField tf_url;
- TextField tf_image;
- String level = "";
- String name = "";
- String url = "";
- String image = "";
- String output = "";
- Button b_addNext;
- Button b_addSame;
- Button b_addRoot;
- Button b_del;
- String s_addSame = "Add Item at Same Level";
- String s_addNext = "Add Item at Next Level";
- String s_addRoot = "Add Root";
- String s_del = "Delete Item";
- TreeNode markNode;
-
- public DataControl(TreeEdit var1) {
- this.treeEdit = var1;
- GridBagLayout var2 = new GridBagLayout();
- GridBagConstraints var3 = new GridBagConstraints();
- ((Component)this).setFont(new Font("Helvetica", 0, 12));
- ((Container)this).setLayout(var2);
- Panel var4 = new Panel();
- GridBagLayout var5 = new GridBagLayout();
- ((Container)var4).setLayout(var5);
- var3.weightx = (double)1.0F;
- var3.fill = 2;
- var3.gridwidth = 0;
- ((Container)var4).add(new Label("Level:", 2));
- this.tf_level = new TextField(this.level);
- this.tf_level.setEditable(false);
- var5.setConstraints(this.tf_level, var3);
- ((Container)var4).add(this.tf_level);
- ((Container)var4).add(new Label("Name:", 2));
- this.tf_name = new TextField(this.name);
- var5.setConstraints(this.tf_name, var3);
- ((Container)var4).add(this.tf_name);
- ((Container)var4).add(new Label("URL:", 2));
- this.tf_url = new TextField(this.url);
- var5.setConstraints(this.tf_url, var3);
- ((Container)var4).add(this.tf_url);
- ((Container)var4).add(new Label("Image:", 2));
- this.tf_image = new TextField(this.image);
- var5.setConstraints(this.tf_image, var3);
- ((Container)var4).add(this.tf_image);
- var2.setConstraints(var4, var3);
- ((Container)this).add(var4);
- var3.gridwidth = 1;
- this.b_addSame = new Button(this.s_addSame);
- var2.setConstraints(this.b_addSame, var3);
- ((Container)this).add(this.b_addSame);
- var3.gridwidth = 0;
- this.b_addNext = new Button(this.s_addNext);
- var2.setConstraints(this.b_addNext, var3);
- ((Container)this).add(this.b_addNext);
- this.b_addRoot = new Button(this.s_addRoot);
- var2.setConstraints(this.b_addRoot, var3);
- ((Container)this).add(this.b_addRoot);
- this.b_del = new Button(this.s_del);
- var2.setConstraints(this.b_del, var3);
- ((Container)this).add(this.b_del);
- this.textArea = new TextArea(this.output, 8, 48);
- this.textArea.setEditable(false);
- var3.fill = 1;
- var3.weighty = (double)1.0F;
- var2.setConstraints(this.textArea, var3);
- ((Container)this).add(this.textArea);
- }
-
- public void updateInfo(TreeNode var1) {
- if (this.treeEdit.tree.rootItem()) {
- this.b_addRoot.disable();
- } else {
- this.b_addRoot.enable();
- }
-
- if (var1 != null) {
- this.markNode = var1;
- TreeNodeData var2 = var1.data;
- this.b_addNext.enable();
- TreeNode var3 = this.treeEdit.tree.getRoot();
- if (this.markNode == var3.nextNode) {
- this.b_addSame.disable();
- } else {
- this.b_addSame.enable();
- }
-
- if (this.markNode != var3.nextNode && this.markNode != var3.subNode) {
- this.b_del.enable();
- } else if (var3.nextNode != null) {
- if (var3.nextNode.nextNode == null && var3.nextNode.subNode == null) {
- this.b_del.disable();
- } else {
- this.b_del.enable();
- }
- } else if (var3.subNode.nextNode != null) {
- this.b_del.enable();
- } else {
- this.b_del.disable();
- }
-
- this.tf_level.enable();
- this.tf_name.enable();
- this.tf_url.enable();
- this.tf_image.enable();
- this.tf_level.setText(String.valueOf(var2.level));
- this.tf_name.setText(var2.name);
- if (var2.url != null) {
- this.tf_url.setText(var2.url.toString());
- } else {
- this.tf_url.setText("");
- }
-
- if (var2.sImage != null) {
- this.tf_image.setText(var2.sImage.toString());
- } else if (var2.image == this.treeEdit.itemImage) {
- this.tf_image.setText(this.treeEdit.sImage);
- } else {
- this.tf_image.setText("");
- }
- } else {
- this.markNode = null;
- this.b_addNext.disable();
- this.b_addSame.disable();
- this.b_del.disable();
- this.tf_level.setText("");
- this.tf_name.setText("");
- this.tf_url.setText("");
- this.tf_image.setText("");
- this.tf_level.disable();
- this.tf_name.disable();
- this.tf_url.disable();
- this.tf_image.disable();
- }
- }
-
- public void outData(Tree var1) {
- this.textArea.setText("");
- this.outDataLoop(var1.getRoot());
- }
-
- public void outDataLoop(TreeNode var1) {
- if (var1 != null && var1.data != null) {
- TreeNodeData var2 = var1.data;
- if (var2.name != null) {
- this.textArea.appendText(var2.level + " \"" + var2.name + "\" \"");
- if (var2.url != null) {
- this.textArea.appendText(var2.url.toString() + "\" ");
- } else {
- this.textArea.appendText("\" ");
- }
-
- this.textArea.appendText((var2.open ? 1 : 0) + "");
- if (var2.image != this.treeEdit.itemImage) {
- this.textArea.appendText(" \"" + var2.sImage + "\"");
- }
-
- this.textArea.appendText("\n");
- }
-
- this.outDataLoop(var1.subNode);
- this.outDataLoop(var1.nextNode);
- }
- }
-
- public boolean action(Event var1, Object var2) {
- if (var1.target == this.b_addSame) {
- this.treeEdit.addSame();
- this.updateInfo(this.markNode);
- } else if (var1.target == this.b_addNext) {
- this.treeEdit.addNext();
- this.updateInfo(this.markNode);
- } else if (var1.target == this.b_addRoot) {
- this.treeEdit.addRoot();
- this.updateInfo(this.markNode);
- } else if (var1.target == this.b_del) {
- this.treeEdit.del();
- this.updateInfo(this.markNode);
- } else if (this.markNode != null) {
- MediaTracker var3 = new MediaTracker(this);
- TreeNodeData var4 = this.markNode.data;
- var4.name = this.tf_name.getText();
- if (!this.tf_url.getText().equals("")) {
- var4.url = this.tf_url.getText();
- } else {
- var4.url = null;
- }
-
- try {
- if (!this.tf_image.getText().equals("")) {
- var4.sImage = this.tf_image.getText();
- var4.image = this.treeEdit.getImage(new URL(this.treeEdit.imageSource, var4.sImage));
- if (var4.image == this.treeEdit.itemImage) {
- var4.sImage = null;
- }
- } else {
- var4.sImage = null;
- var4.image = this.treeEdit.itemImage;
- }
-
- var3.addImage(var4.image, 1);
- var3.waitForID(1);
- if (var3.isErrorID(1)) {
- var4.image = this.treeEdit.getImage(new URL(this.treeEdit.getCodeBase(), "defItem.gif"));
- var3.addImage(var4.image, 2);
- var3.waitForID(2);
- if (var3.isErrorID(2)) {
- this.treeEdit.showError("Load default image error");
- }
- }
- } catch (Exception var6) {
- }
-
- FontMetrics var5 = ((Component)this).getFontMetrics(this.treeEdit.font);
- var4.sWidth = var5.stringWidth(var4.name);
- }
-
- this.treeEdit.update(this.treeEdit.getGraphics());
- this.outData(this.treeEdit.tree);
- this.treeEdit.showStatus("Updating, please wait.");
- return true;
- }
-
- public synchronized boolean handleEvent(Event var1) {
- if (var1.id == 201) {
- ((Frame)this).dispose();
- }
-
- return super.handleEvent(var1);
- }
- }
-