Normand Briere
2018-07-07 e416acb9b012b17d1efe49ad2199ea7132d874d1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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!");
   }
}