package edu.harvard.wcfia.yoshikoder.ui;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import edu.harvard.wcfia.yoshikoder.Yoshikoder;
import edu.harvard.wcfia.yoshikoder.dictionary.CategoryNode;
import edu.harvard.wcfia.yoshikoder.dictionary.CategoryNodeImpl;
import edu.harvard.wcfia.yoshikoder.util.Messages;
public class NewCategoryPanel extends NewPatternPanel {
protected JTextArea description;
// just adds a description field to super and overrides the action
public NewCategoryPanel(Yoshikoder yk, CategoryNode parentnode) {
super(yk, parentnode);
}
public void commit() throws CommitException {
// wrap all exceptions
try {
if (name.getText() == null ||
name.getText().length()==0){
throw new Exception(Messages.getString("noEntryName")); //$NON-NLS-1$
}
Double d = getScore();
String desc = description.getText();
CategoryNode node =
new CategoryNodeImpl(name.getText(), d, desc);
yoshikoder.addCategory(node, parent);
yoshikoder.setSelectedNode(node);
yoshikoder.setUnsavedChanges(true);
} catch (Exception ex){
throw new CommitException(ex);
}
}
protected void makeGUI(){
name = new JTextField(15);
name.setFont(yoshikoder.getDisplayFont());
name.addKeyListener(keyListener);
addField(Messages.getString("nameLabel"), name);
description = new JTextArea(3,15);
description.addKeyListener(keyListener);
addWidgetFixedDepth(Messages.getString("descriptionLabel"),
new JScrollPane(description));
//score = new JTextField(5);
//score.addKeyListener(keyListener);
//addWidgetInlineFixedWidth(Messages.getString("scoreLabel"), score);
}
}