src/main/java/ru/indvdum/mywork/vaadin/MyWorkApplication.java
author indvdum
Wed, 17 Aug 2011 17:03:37 +0300
changeset 8 56338d6d58c2
parent 7 aaae4f8055f4
child 9 6a02cfcc7460
permissions -rw-r--r--
Work-table JPA model
     1 package ru.indvdum.mywork.vaadin;
     2 
     3 import static ru.indvdum.mywork.MyWork.EM;
     4 
     5 import java.util.List;
     6 
     7 import javax.persistence.Query;
     8 
     9 import ru.indvdum.mywork.openjpa.model.Day;
    10 import ru.indvdum.mywork.openjpa.model.Task;
    11 import ru.indvdum.mywork.openjpa.model.Work;
    12 
    13 import com.vaadin.Application;
    14 import com.vaadin.addon.jpacontainer.JPAContainer;
    15 import com.vaadin.addon.jpacontainer.provider.LocalEntityProvider;
    16 import com.vaadin.ui.Alignment;
    17 import com.vaadin.ui.Button;
    18 import com.vaadin.ui.HorizontalLayout;
    19 import com.vaadin.ui.TabSheet;
    20 import com.vaadin.ui.Table;
    21 import com.vaadin.ui.VerticalLayout;
    22 import com.vaadin.ui.Window;
    23 import com.vaadin.ui.Button.ClickEvent;
    24 import com.vaadin.ui.Button.ClickListener;
    25 
    26 /**
    27  * @author indvdum
    28  * 12.08.2011 17:31:53
    29  *
    30  */
    31 public class MyWorkApplication extends Application {
    32 
    33 	@Override
    34 	public void init() {
    35 		Window window = new Window();
    36 		setMainWindow(window);
    37 		
    38 		TabSheet tabSheet = new TabSheet();
    39 		tabSheet.setSizeFull();
    40 		window.setContent(tabSheet);
    41 		
    42 		VerticalLayout vlMain = new VerticalLayout();
    43 		vlMain.setSizeFull();
    44 		vlMain.setMargin(true);
    45 		vlMain.setSpacing(true);
    46 		tabSheet.addTab(vlMain, "Main page", null);
    47 		
    48 		LocalEntityProvider dayProvider = new LocalEntityProvider(Day.class);
    49 		dayProvider.setEntityManager(EM);
    50 		JPAContainer<Day> dayContainer = new JPAContainer(Day.class);
    51 		dayContainer.setEntityProvider(dayProvider);
    52 		
    53 		Table dayTable = new Table();
    54 		dayTable.setSelectable(true);
    55 		dayTable.setEditable(false);
    56 		dayTable.setImmediate(true);
    57 		dayTable.setSizeFull();
    58 		dayTable.setContainerDataSource(dayContainer);
    59 		dayTable.setVisibleColumns(new String[]{
    60 				"day",
    61 				"startWork",
    62 				"endWork",
    63 				"hours",
    64 		});
    65 		vlMain.addComponent(dayTable);
    66 		vlMain.setExpandRatio(dayTable, 1f);
    67 		
    68 		LocalEntityProvider taskProvider = new LocalEntityProvider(Task.class);
    69 		taskProvider.setEntityManager(EM);
    70 		JPAContainer<Task> taskContainer = new JPAContainer(Task.class);
    71 		taskContainer.setEntityProvider(taskProvider);
    72 		
    73 		Table taskTable = new Table();
    74 		taskTable.setSelectable(true);
    75 		taskTable.setEditable(false);
    76 		taskTable.setImmediate(true);
    77 		taskTable.setSizeFull();
    78 		taskTable.setContainerDataSource(taskContainer);
    79 		taskTable.setVisibleColumns(new String[]{
    80 				"name",
    81 				"description",
    82 		});
    83 		taskTable.setColumnWidth("description", 300);
    84 		vlMain.addComponent(taskTable);
    85 		vlMain.setExpandRatio(taskTable, 1f);
    86 		
    87 		LocalEntityProvider workProvider = new LocalEntityProvider(Work.class);
    88 		workProvider.setEntityManager(EM);
    89 		JPAContainer<Task> workContainer = new JPAContainer(Work.class);
    90 		workContainer.setEntityProvider(workProvider);
    91 		
    92 		Table workTable = new Table();
    93 		workTable.setSelectable(true);
    94 		workTable.setEditable(false);
    95 		workTable.setImmediate(true);
    96 		workTable.setSizeFull();
    97 		workTable.setContainerDataSource(workContainer);
    98 		workTable.setVisibleColumns(new String[]{
    99 				"dayName",
   100 				"taskName",
   101 				"hours",
   102 				"result",
   103 		});
   104 		workTable.setColumnWidth("result", 200);
   105 		vlMain.addComponent(workTable);
   106 		vlMain.setExpandRatio(workTable, 1f);
   107 	}
   108 }