1.1 --- a/src/main/java/ru/indvdum/mywork/vaadin/EditTaskDialog.java Wed Nov 23 17:25:20 2011 +0300
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,116 +0,0 @@
1.4 -package ru.indvdum.mywork.vaadin;
1.5 -
1.6 -import static ru.indvdum.mywork.MyWork.EM;
1.7 -import ru.indvdum.mywork.openjpa.model.Task;
1.8 -
1.9 -import com.vaadin.ui.Alignment;
1.10 -import com.vaadin.ui.Button;
1.11 -import com.vaadin.ui.HorizontalLayout;
1.12 -import com.vaadin.ui.Label;
1.13 -import com.vaadin.ui.RichTextArea;
1.14 -import com.vaadin.ui.TextField;
1.15 -import com.vaadin.ui.VerticalLayout;
1.16 -import com.vaadin.ui.Window;
1.17 -import com.vaadin.ui.Button.ClickEvent;
1.18 -import com.vaadin.ui.Button.ClickListener;
1.19 -
1.20 -/**
1.21 - * @author indvdum
1.22 - * 23.08.2011 19:11:50
1.23 - *
1.24 - */
1.25 -public class EditTaskDialog extends Window implements ClickListener {
1.26 -
1.27 - private MyWorkApplication myApp = null;
1.28 - private EditState state = null;
1.29 - private Task task = null;
1.30 - private TextField taskName = null;
1.31 - private RichTextArea taskDescription = null;
1.32 -
1.33 - public EditTaskDialog(MyWorkApplication myApp, Task task) throws Exception {
1.34 - super();
1.35 - this.myApp = myApp;
1.36 - if(task == null)
1.37 - state = EditState.CREATE;
1.38 - else
1.39 - state = EditState.EDIT;
1.40 - switch(state){
1.41 - case CREATE:
1.42 - setCaption("Creating new task");
1.43 - task = new Task();
1.44 - task.setName("");
1.45 - task.setDescription("");
1.46 - this.task = task;
1.47 - break;
1.48 - case EDIT:
1.49 - setCaption("Editing task");
1.50 - this.task = task;
1.51 - break;
1.52 - }
1.53 - init();
1.54 - }
1.55 -
1.56 - private void init(){
1.57 - setModal(true);
1.58 - setWidth("640px");
1.59 - setHeight("480px");
1.60 - VerticalLayout vl = new VerticalLayout();
1.61 - vl.setSizeFull();
1.62 - vl.setSpacing(true);
1.63 - vl.setMargin(true);
1.64 - setContent(vl);
1.65 -
1.66 - HorizontalLayout hlName = new HorizontalLayout();
1.67 - hlName.setWidth("100%");
1.68 - Label lblName = new Label("Name:");
1.69 - lblName.setWidth("100%");
1.70 - hlName.addComponent(lblName);
1.71 - hlName.setExpandRatio(lblName, 1f);
1.72 - taskName = new TextField();
1.73 - taskName.setWidth("100%");
1.74 - taskName.setValue(task.getName());
1.75 - hlName.addComponent(taskName);
1.76 - hlName.setExpandRatio(taskName, 5f);
1.77 - vl.addComponent(hlName);
1.78 -
1.79 - taskDescription = new RichTextArea("Description");
1.80 - taskDescription.setValue(task.getDescription());
1.81 - taskDescription.setSizeFull();
1.82 - vl.addComponent(taskDescription);
1.83 - vl.setExpandRatio(taskDescription, 1f);
1.84 -
1.85 - HorizontalLayout hlOk = new HorizontalLayout();
1.86 - hlOk.setWidth("100%");
1.87 - Button okButton = new Button();
1.88 - switch(state){
1.89 - case CREATE:
1.90 - okButton.setCaption("Create");
1.91 - break;
1.92 - case EDIT:
1.93 - okButton.setCaption("Save");
1.94 - break;
1.95 - }
1.96 - okButton.addListener((ClickListener)this);
1.97 - hlOk.addComponent(okButton);
1.98 - hlOk.setComponentAlignment(okButton, Alignment.MIDDLE_RIGHT);
1.99 - vl.addComponent(hlOk);
1.100 - }
1.101 -
1.102 - @Override
1.103 - public void buttonClick(ClickEvent event) {
1.104 - task.setName(taskName.getValue().toString());
1.105 - task.setDescription(taskDescription.getValue().toString());
1.106 - try{
1.107 - EM.getTransaction().begin();
1.108 - EM.persist(task);
1.109 - EM.getTransaction().commit();
1.110 - EM.clear();
1.111 - } finally {
1.112 - if(EM.getTransaction().isActive())
1.113 - EM.getTransaction().rollback();
1.114 - }
1.115 - getParent().removeWindow(this);
1.116 - myApp.getTaskTable().requestRepaint();
1.117 - }
1.118 -
1.119 -}