import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import grafeme.ui.*; class RandomEditor extends ObjEditor implements //ItemListener, ChangeListener, ObjectUI, ActionListener { cGridBag itemPanel; private cGridBag dampPanel; RandomEditor(RandomNode inBP, GroupEditor callee) { super(inBP,callee); objEditor = callee.GetEditor(); // new ObjEditor(inBP, this, callee); randomnode = (RandomNode) inBP; // parent = p; //SetupUI2(callee.objEditor); SetupUI2(objEditor); } // TEMP RandomEditor(RandomNode inClient, Object3D localCopy, GroupEditor callee) { this(inClient, localCopy, null, callee); } RandomEditor(RandomNode inBP, ObjectUI p, GroupEditor callee) { super(inBP,callee); objEditor = callee.GetEditor(); // new ObjEditor(inBP, this, callee); randomnode = (RandomNode) inBP; parent = p; SetupUI2(callee.objEditor); } RandomEditor(RandomNode inBP, Object3D copy, ObjectUI p, GroupEditor callee) // boolean ends) { //super(inBP, copy, callee); super(inBP, copy, p, callee); objEditor = this; //objEditor = new ObjEditor(inBP, copy, this, callee); // ?? super.parent = p; randomnode = (RandomNode) copy; parent = p; //objEditor.SetupUI(false); // ? //objEditor.SetupViews(); // ? SetupUI2(objEditor); } String GetSupportText() { return "Show all"; } void SetupUI2(ObjEditor oe) { super.SetupUI2(oe); itemPanel = AddSlider(oe.ctrlPanel, "Item: ", 0, randomnode.Size()-1, randomnode.rndIndex); itemField = (cNumberSlider)itemPanel.getComponent(1); itemPanel.getComponent(0).setEnabled(!randomnode.random); oe.ctrlPanel.Return(); oe.ctrlPanel.Return(); dampPanel = AddSlider(oe.ctrlPanel, "Damp: ", 0, 300, randomnode.damp); dampField = (cNumberSlider)dampPanel.getComponent(1); oe.ctrlPanel.Return(); } void Clear() { objEditor.Clear(); randomnode = null; } public void stateChanged(ChangeEvent e) { //System.out.println("Biparam :: stateChanged"); if (e.getSource() == itemField || e.getSource() == dampField) { //System.out.println("#U = " + biparam.uDivs); //System.out.println("#V = " + biparam.vDivs); //new Exception().printStackTrace(); //System.out.println(e); applySelf(); //super.applySelf(); Globals.lighttouched = true; objEditor.refreshContents(); //Refresh(); } else super.stateChanged(e); } void Refresh() { randomnode.rndIndex = itemField.getInteger(); refreshContents(); } /**/ public void applySelf() { randomnode.rndIndex = itemField.getInteger(); randomnode.damp = dampField.getInteger(); // biparam.minUDivs, 99); } /**/ public void closeUI() { ObjEditor oe = objEditor; //Remove(childField); oe.ctrlPanel.remove(this.itemPanel); oe.ctrlPanel.remove(this.dampPanel); super.closeUI(); } public ObjEditor GetEditor() { return objEditor; } void refreshContents() { itemField.setMinimum(0); itemField.setMaximum(randomnode.Size() - 1); itemField.setInteger(randomnode.rndIndex); // objEditor.refreshContents(); } RandomNode randomnode; cNumberSlider itemField; cNumberSlider dampField; ObjectUI parent; //ObjEditor objEditor; }