import java.applet.*;
import java.awt.*;
import com.sun.java.swing.tree.DefaultMutableTreeNode;
import com.sun.java.swing.tree.DefaultTreeModel;
 /**
 * This type was created in VisualAge.
 */
public class FishEyeSampleApplet extends Applet implements java.awt.event.AdjustmentListener, java.awt.event.ItemListener {
	private Button ivjButton1 = null;
	private tom.fishEye.FishEye ivjFishEye1 = null;
	private Scrollbar ivjscEyeFactor = null;
	private CheckboxGroup ivjCheckboxGroup1 = null;
	private Checkbox ivjcbNormalRenderer = null;
	private Checkbox ivjcbSelectMyRenderer = null;
	private Label ivjLabel1 = null;
/**
 * Method to handle events for the AdjustmentListener interface.
 * @param e java.awt.event.AdjustmentEvent
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e) {
	// user code begin {1}
	// user code end
	if ((e.getSource() == getscEyeFactor()) ) {
		connEtoC1();
	}
	// user code begin {2}
	// user code end
}
/**
 * Comment
 */
public void cbNormalRenderer_ComponentEvents() {
	getFishEye1().setFishNodeRender(null);
	return;
}
/**
 * Comment
 */
public void checkbox1_ItemStateChanged(java.awt.event.ItemEvent itemEvent) {
	boolean state=true;
	if(itemEvent.getStateChange()==java.awt.event.ItemEvent.DESELECTED) {
		state=false;
	}
	getFishEye1().setFishNodeRender(new MyRenderer());
	return;
}
/**
 * connEtoC1:  (scEyeFactor.adjustment. --> FishEyeSampleApplet.scEyeFactor_AdjustmentEvents()F)
 * @return float
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private float connEtoC1() {
	float connEtoC1Result = 0;
	try {
		// user code begin {1}
		// user code end
		connEtoC1Result = this.scEyeFactor_AdjustmentEvents();
		connEtoM1(connEtoC1Result);
		// user code begin {2}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
	return connEtoC1Result;
}
/**
 * connEtoC2:  (Checkbox1.item.itemStateChanged(java.awt.event.ItemEvent) --> FishEyeSampleApplet.checkbox1_ItemStateChanged(Ljava.awt.event.ItemEvent;)V)
 * @param arg1 java.awt.event.ItemEvent
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC2(java.awt.event.ItemEvent arg1) {
	try {
		// user code begin {1}
		// user code end
		this.checkbox1_ItemStateChanged(arg1);
		// user code begin {2}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * connEtoC3:  (cbNormalRenderer.item.itemStateChanged(java.awt.event.ItemEvent) --> FishEyeSampleApplet.cbNormalRenderer_ComponentEvents()V)
 * @param arg1 java.awt.event.ItemEvent
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoC3(java.awt.event.ItemEvent arg1) {
	try {
		// user code begin {1}
		// user code end
		this.cbNormalRenderer_ComponentEvents();
		// user code begin {2}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * connEtoM1:  ( (scEyeFactor,adjustment. --> FishEyeSampleApplet,scEyeFactor_AdjustmentEvents()F).normalResult --> FishEye1.eyeFactor)
 * @param result float
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connEtoM1(float result) {
	try {
		// user code begin {1}
		// user code end
		getFishEye1().setEyeFactor(result);
		// user code begin {2}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * connPtoP1SetTarget:  (CheckboxGroup1.this <--> Checkbox1.checkboxGroup)
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connPtoP1SetTarget() {
	/* Set the target from the source */
	try {
		getcbSelectMyRenderer().setCheckboxGroup(getCheckboxGroup1());
		// user code begin {1}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * connPtoP2SetTarget:  (CheckboxGroup1.this <--> Checkbox2.checkboxGroup)
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void connPtoP2SetTarget() {
	/* Set the target from the source */
	try {
		getcbNormalRenderer().setCheckboxGroup(getCheckboxGroup1());
		// user code begin {1}
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {3}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * Gets the applet information.
 * @return java.lang.String
 */
public String getAppletInfo() {
	return "FishEyeSampleApplet created using VisualAge for Java.";
}
/**
 * Return the Button1 property value.
 * @return java.awt.Button
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Button getButton1() {
	if (ivjButton1 == null) {
		try {
			ivjButton1 = new java.awt.Button();
			ivjButton1.setName("Button1");
			ivjButton1.setBounds(386, 18, 72, 23);
			ivjButton1.setLabel("Button1");
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjButton1;
}
/**
 * Return the Checkbox2 property value.
 * @return java.awt.Checkbox
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Checkbox getcbNormalRenderer() {
	if (ivjcbNormalRenderer == null) {
		try {
			ivjcbNormalRenderer = new java.awt.Checkbox();
			ivjcbNormalRenderer.setName("cbNormalRenderer");
			ivjcbNormalRenderer.setBounds(394, 79, 124, 23);
			ivjcbNormalRenderer.setLabel("Normal");
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjcbNormalRenderer;
}
/**
 * Return the Checkbox1 property value.
 * @return java.awt.Checkbox
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Checkbox getcbSelectMyRenderer() {
	if (ivjcbSelectMyRenderer == null) {
		try {
			ivjcbSelectMyRenderer = new java.awt.Checkbox();
			ivjcbSelectMyRenderer.setName("cbSelectMyRenderer");
			ivjcbSelectMyRenderer.setBounds(393, 54, 126, 23);
			ivjcbSelectMyRenderer.setLabel("CustomRenderer");
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjcbSelectMyRenderer;
}
/**
 * Return the CheckboxGroup1 property value.
 * @return java.awt.CheckboxGroup
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private CheckboxGroup getCheckboxGroup1() {
	if (ivjCheckboxGroup1 == null) {
		try {
			ivjCheckboxGroup1 = new java.awt.CheckboxGroup();
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjCheckboxGroup1;
}
/**
 * Return the FishEye1 property value.
 * @return tom.fishEye.FishEye
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private tom.fishEye.FishEye getFishEye1() {
	if (ivjFishEye1 == null) {
		try {
			ivjFishEye1 = new tom.fishEye.FishEye();
			ivjFishEye1.setName("FishEye1");
			ivjFishEye1.setBounds(14, 14, 358, 327);
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjFishEye1;
}
/**
 * Return the Label1 property value.
 * @return java.awt.Label
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Label getLabel1() {
	if (ivjLabel1 == null) {
		try {
			ivjLabel1 = new java.awt.Label();
			ivjLabel1.setName("Label1");
			ivjLabel1.setText("Change the FishEyeFactor");
			ivjLabel1.setBounds(378, 280, 147, 28);
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjLabel1;
}
/**
 * Return the scEyeFactor property value.
 * @return java.awt.Scrollbar
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private Scrollbar getscEyeFactor() {
	if (ivjscEyeFactor == null) {
		try {
			ivjscEyeFactor = new java.awt.Scrollbar();
			ivjscEyeFactor.setName("scEyeFactor");
			ivjscEyeFactor.setMaximum(50);
			ivjscEyeFactor.setMinimum(10);
			ivjscEyeFactor.setBounds(384, 318, 144, 16);
			ivjscEyeFactor.setOrientation(java.awt.Scrollbar.HORIZONTAL);
			// user code begin {1}
			// user code end
		} catch (java.lang.Throwable ivjExc) {
			// user code begin {2}
			// user code end
			handleException(ivjExc);
		}
	};
	return ivjscEyeFactor;
}
/**
 * Called whenever the part throws an exception.
 * @param exception java.lang.Throwable
 */
private void handleException(Throwable exception) {

	/* Uncomment the following lines to print uncaught exceptions to stdout */
	 System.out.println("--------- UNCAUGHT EXCEPTION ---------");
	 exception.printStackTrace(System.out);
}
/**
 * Handle the Applet init method.
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public void init() {
	super.init();
	try {
		setName("FishEyeSampleApplet");
		setLayout(null);
		setBackground(java.awt.Color.lightGray);
		setSize(547, 357);
		add(getFishEye1(), getFishEye1().getName());
		add(getscEyeFactor(), getscEyeFactor().getName());
		add(getButton1(), getButton1().getName());
		add(getcbSelectMyRenderer(), getcbSelectMyRenderer().getName());
		add(getcbNormalRenderer(), getcbNormalRenderer().getName());
		add(getLabel1(), getLabel1().getName());
		initConnections();
		// user code begin {1}
 		 com.sun.java.swing.tree.DefaultMutableTreeNode root=new DefaultMutableTreeNode("theRoot");
	 	 for(int i=0;i<5;i++){
		  DefaultMutableTreeNode n=new DefaultMutableTreeNode("theChild"+i);
		  root.add(n);
		  for(int j=0;j<5;j++){
			  DefaultMutableTreeNode n2=new DefaultMutableTreeNode("theChild2"+j);
			  n.add(n2);
			  for(int k=0;k<5;k++){
				 DefaultMutableTreeNode n3=new DefaultMutableTreeNode("theChild"+k);
				  n2.add(n3);
				  if(k==1){
					  for(int l=0;l<5;l++){
//							  n3.add(new DefaultMutableTreeNode("theChild"+l));
	 				  }
				  }
	 		  }
	 	  }
	 	 }
	 	 DefaultTreeModel model=new DefaultTreeModel(root);
	 	 
	 	 getFishEye1().setTreeModel(model);
		// user code end
	} catch (java.lang.Throwable ivjExc) {
		// user code begin {2}
		// user code end
		handleException(ivjExc);
	}
}
/**
 * Initializes connections
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
private void initConnections() {
	// user code begin {1}
	// user code end
	getscEyeFactor().addAdjustmentListener(this);
	getcbSelectMyRenderer().addItemListener(this);
	getcbNormalRenderer().addItemListener(this);
	connPtoP1SetTarget();
	connPtoP2SetTarget();
}
/**
 * Method to handle events for the ItemListener interface.
 * @param e java.awt.event.ItemEvent
 */
/* WARNING: THIS METHOD WILL BE REGENERATED. */
public void itemStateChanged(java.awt.event.ItemEvent e) {
	// user code begin {1}
	// user code end
	if ((e.getSource() == getcbSelectMyRenderer()) ) {
		connEtoC2(e);
	}
	if ((e.getSource() == getcbNormalRenderer()) ) {
		connEtoC3(e);
	}
	// user code begin {2}
	// user code end
}
	 
/**
 * main entrypoint - starts the part when it is run as an application
 * @param args java.lang.String[]
 */
public static void main(java.lang.String[] args) {
	try {
		Frame frame;
		try {
			Class aFrameClass = Class.forName("com.ibm.uvm.abt.edit.TestFrame");
			frame = (Frame)aFrameClass.newInstance();
		} catch (java.lang.Throwable ivjExc) {
			frame = new Frame();
		}
		FishEyeSampleApplet aFishEyeSampleApplet;
		Class iiCls = Class.forName("FishEyeSampleApplet");
		ClassLoader iiClsLoader = iiCls.getClassLoader();
		aFishEyeSampleApplet = (FishEyeSampleApplet)java.beans.Beans.instantiate(iiClsLoader,"FishEyeSampleApplet");
		frame.add("Center", aFishEyeSampleApplet);
		frame.setSize(aFishEyeSampleApplet.getSize());
		frame.setVisible(true);
	} catch (Throwable exception) {
		System.err.println("Exception occurred in main() of java.applet.Applet");
		exception.printStackTrace(System.out);
	}
}
/**
 * Comment
 */
public float scEyeFactor_AdjustmentEvents() {
	float val= getscEyeFactor().getValue();
	
	return val/50;
}
/**
 * Comment
 */
public float scEyeFactor_AdjustmentValueChanged(java.awt.event.AdjustmentEvent adjustmentEvent) {
	float val=getscEyeFactor().getValue();
	return val/50;
}
/**
 * Comment
 */
public float scEyeFactor_MouseDragged() {
	float val=getscEyeFactor().getValue();
	
	return val/50;
}
/**
 * Comment
 */
public float scEyeFactor_MouseDragged(java.awt.event.MouseEvent mouseEvent) {
	float val=getscEyeFactor().getValue();
	
	return val/50;
}
}