|
import java.awt.*;
|
import java.awt.event.*;
|
import javax.swing.*;
|
import javax.swing.event.*;
|
|
import grafeme.ui.*;
|
|
class MorphEditor extends ObjEditor implements //ItemListener,
|
ChangeListener, ObjectUI, ActionListener
|
{
|
MorphEditor(MorphNode inBP, GroupEditor callee)
|
{
|
super(inBP,callee);
|
|
objEditor = callee.GetEditor(); // new ObjEditor(inBP, this, callee);
|
|
morphnode = (MorphNode) inBP;
|
// parent = p;
|
|
//SetupUI2(callee.objEditor);
|
SetupUI2(objEditor);
|
}
|
|
// TEMP
|
MorphEditor(MorphNode inClient, Object3D localCopy, GroupEditor callee)
|
{
|
this(inClient, localCopy, null, callee);
|
}
|
|
MorphEditor(MorphNode inBP, ObjectUI p, GroupEditor callee)
|
{
|
super(inBP,callee);
|
|
objEditor = callee.GetEditor(); // new ObjEditor(inBP, this, callee);
|
|
morphnode = (MorphNode) inBP;
|
parent = p;
|
|
SetupUI2(callee.objEditor);
|
}
|
|
MorphEditor(MorphNode 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;
|
morphnode = (MorphNode) copy;
|
parent = p;
|
|
//objEditor.SetupUI(false); // ?
|
//objEditor.SetupViews(); // ?
|
SetupUI2(objEditor);
|
}
|
|
void SetupUI2(ObjEditor oe)
|
{
|
super.SetupUI2(oe);
|
|
// frameField = AddSlider(oe.ctrlPanel, "Child: ", 0, frameselect.getNumFrames()-1, frameselect.child);
|
// Return();
|
//
|
// speedField = AddSlider(oe.ctrlPanel, "Damp: ", 0, 500, frameselect.speed);
|
// Return();
|
|
morphField = new cNumberSlider[morphnode.morphobject.Size()];
|
|
for (int i=0; i<morphnode.morphobject.Size(); i++)
|
{
|
morphField[i] = (cNumberSlider)AddSlider(oe.ctrlPanel, morphnode.morphobject.get(i).name, 0, 2.0, morphnode.morphweights[i], 1).getComponent(1);
|
oe.ctrlPanel.Return();
|
}
|
}
|
|
void Clear()
|
{
|
objEditor.Clear();
|
|
morphnode = null;
|
}
|
|
|
// public void itemStateChanged(ItemEvent e)
|
// {
|
// if (//e.getSource() == nameField ||
|
// e.getSource() == endcaps)
|
// {
|
// //System.out.println(e);
|
// frameselect.endcaps = (e.getStateChange() == ItemEvent.SELECTED);
|
// //Refresh();
|
// frameselect.retile();
|
// applySelf();
|
// //super.applySelf();
|
// objEditor.refreshContents();
|
// }
|
// else
|
// {
|
// super.itemStateChanged(e);
|
// }
|
// }
|
|
// public void actionPerformed(ActionEvent e)
|
// {
|
// if (//e.getSource() == nameField ||
|
// e.getSource() == endcaps)
|
// {
|
// //System.out.println(e);
|
// applySelf();
|
// //super.applySelf();
|
// refreshContents();
|
// //Refresh();
|
// }
|
// else
|
// {
|
// super.actionPerformed(e);
|
// }
|
// }
|
|
public void stateChanged(ChangeEvent e)
|
{
|
//System.out.println("Biparam :: stateChanged");
|
if (true) // e.getSource() == morphField)
|
{
|
//System.out.println("#U = " + biparam.uDivs);
|
//System.out.println("#V = " + biparam.vDivs);
|
//new Exception().printStackTrace();
|
//System.out.println(e);
|
applySelf();
|
//super.applySelf();
|
objEditor.refreshContents();
|
//Refresh();
|
}
|
else
|
super.stateChanged(e);
|
}
|
|
void Refresh()
|
{
|
// System.out.println("Biparam :: Refresh");
|
// frameselect.child = frameField.getInteger(); // biparam.minUDivs, 99);
|
|
refreshContents();
|
}
|
|
/*
|
public void doLayout()
|
{
|
super.doLayout();
|
labelAndField(uDivsLabel, uDivsField);
|
labelAndField(vDivsLabel, vDivsField);
|
if (endcaps != null)
|
{
|
int h = endcaps.getPreferredSize().height;
|
int w = endcaps.getPreferredSize().width;
|
endcaps.setBounds(5, widgetPos, w, h);
|
widgetPos += h;
|
}
|
widgetPos += 5;
|
}
|
*/
|
|
/**/
|
public void applySelf()
|
{
|
// frameselect.child = frameField.getInteger(); // biparam.minUDivs, 99);
|
for (int i=morphField.length; --i>=0;)
|
{
|
morphnode.morphweights[i] = morphField[i].getFloat();
|
}
|
}
|
/**/
|
|
public void closeUI()
|
{
|
for (int i=morphField.length; --i>=0;)
|
Remove(morphField[i]);
|
|
super.closeUI();
|
}
|
|
public ObjEditor GetEditor()
|
{
|
return objEditor;
|
}
|
|
void refreshContents2()
|
{
|
objEditor.refreshContents();
|
}
|
|
MorphNode morphnode;
|
|
//JLabel[] morphLabel;
|
cNumberSlider[] morphField;
|
|
ObjectUI parent;
|
|
//ObjEditor objEditor;
|
}
|