/*
*
*/
package captor.windowsystem.formcomponent.ncp;
import java.awt.Dimension;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.tree.DefaultMutableTreeNode;
import org.w3c.dom.Node;
import captor.lib.def.Constant;
import captor.modelsystem.Model;
import captor.projectsystem.xmlgen.CCBuffer;
import captor.windowsystem.formcomponent.FormComponent;
/**
* @author Kicho
*
*/
public class VariantIdPanel extends FormComponent {
public static final long serialVersionUID = 109;
JTextField textId;
public VariantIdPanel(Model model, DefaultMutableTreeNode node) {
super(model, node);
create();
}
//-------------------------------------------------------------------------
public void create() {
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
JLabel textLabel = new JLabel("Id: ");
textLabel.setPreferredSize(new Dimension(Constant.LABEL_WIDTH,12));
textId = new JTextField();
Dimension d = new Dimension(210,20);
textId.setSize(d);
textId.setMaximumSize(d);
textId.setPreferredSize(d);
textLabel.setHorizontalAlignment(SwingConstants.RIGHT);
//panel.add(Box.createRigidArea(new Dimension(10,0)));
panel.add(textLabel);
panel.add(textId);
panel.add(Box.createHorizontalGlue());
String space = " ";
space = space + space;
panel.add(new JLabel(space));
textId.setEnabled(false);
this.add(panel);
setValue();
}
//-------------------------------------------------------------------------
public void parseParameters() {
}
//-------------------------------------------------------------------------
public void toXML(CCBuffer out) {
textId.setText(textId.getText().trim());
out.newLine();
out.ident();
out.append("<patternId>");
out.append(textId.getText(), true);
out.appendln("</patternId>", true);
out.dident();
}
//-------------------------------------------------------------------------
public boolean validateFields() {
return true;
}
//-------------------------------------------------------------------------
public void load(Node data) {
setValue();
}
//-------------------------------------------------------------------------
public boolean validateParameters() {
return true;
}
//-------------------------------------------------------------------------
public Vector getRequiredParameters() {
Vector v = new Vector();
return v;
}
//-------------------------------------------------------------------------
public void setId(String tf) {
textId.setText(tf);
}
//-------------------------------------------------------------------------
public void updateValues() {
setValue();
}
//-------------------------------------------------------------------------
public String getId() {
return textId.getText();
}
//-------------------------------------------------------------------------
private void setValue() {
if ( model.getGui().getTree() != null ) {
DefaultMutableTreeNode lastSelectedComponent = node;//= (DefaultMutableTreeNode) model.getGui().getTree().getLastSelectedPathComponent();
if ( lastSelectedComponent != null ) {
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) lastSelectedComponent.getParent();
if ( parent != null ) {
DefaultMutableTreeNode gparent = (DefaultMutableTreeNode) parent.getParent();
if ( gparent != null ) {
Integer parentDepth = new Integer(gparent.getIndex(parent) + 1);
Integer localDepth = new Integer(parent.getIndex(lastSelectedComponent) + 1);
textId.setText(parentDepth.toString() + "." + localDepth.toString());
}
}
}
}
}
//-------------------------------------------------------------------------
public String getValues() {return "";}
//-------------------------------------------------------------------------
}