package timeflow.app.actions;
|
|
import timeflow.model.*;
|
import timeflow.app.TimeflowApp;
|
import timeflow.app.ui.*;
|
import timeflow.data.db.*;
|
import timeflow.format.field.FieldFormatCatalog;
|
|
import java.awt.event.*;
|
import javax.swing.*;
|
import java.util.*;
|
|
public class AddFieldAction extends TimeflowAction {
|
|
public AddFieldAction(TimeflowApp app)
|
{
|
super(app, "Add Field...", null, "Add a field to this database");
|
}
|
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
AddFieldPanel p=new AddFieldPanel();
|
Object[] options = {"Cancel", "Add Field"};
|
int n = JOptionPane.showOptionDialog(app,
|
p,
|
"Add New Field To Database",
|
JOptionPane.YES_NO_CANCEL_OPTION,
|
JOptionPane.QUESTION_MESSAGE,
|
null,
|
options,
|
"Add Field");
|
if (n==1)
|
{
|
String fieldName=p.name.getText();
|
TFModel model=getModel();
|
if (fieldName.trim().length()==0)
|
app.showUserError("Field names can't be all spaces!");
|
else if (model.getDB().getField(fieldName)!=null)
|
app.showUserError("That name is already taken!");
|
else
|
{
|
model.getDB().addField(fieldName, FieldFormatCatalog.javaClass((String)p.typeChoices.getSelectedItem()));
|
model.noteAddField(this);
|
}
|
}
|
else
|
System.out.println("Canceled!");
|
}
|
}
|