1 package ru.indvdum.mywork.vaadin;
3 import static ru.indvdum.mywork.MyWork.EM;
7 import javax.persistence.Query;
9 import ru.indvdum.mywork.openjpa.model.Day;
10 import ru.indvdum.mywork.openjpa.model.Task;
11 import ru.indvdum.mywork.openjpa.model.Work;
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;
31 public class MyWorkApplication extends Application {
35 Window window = new Window();
36 setMainWindow(window);
38 TabSheet tabSheet = new TabSheet();
39 tabSheet.setSizeFull();
40 window.setContent(tabSheet);
42 VerticalLayout vlMain = new VerticalLayout();
44 vlMain.setMargin(true);
45 vlMain.setSpacing(true);
46 tabSheet.addTab(vlMain, "Main page", null);
48 LocalEntityProvider dayProvider = new LocalEntityProvider(Day.class);
49 dayProvider.setEntityManager(EM);
50 JPAContainer<Day> dayContainer = new JPAContainer(Day.class);
51 dayContainer.setEntityProvider(dayProvider);
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[]{
65 vlMain.addComponent(dayTable);
66 vlMain.setExpandRatio(dayTable, 1f);
68 LocalEntityProvider taskProvider = new LocalEntityProvider(Task.class);
69 taskProvider.setEntityManager(EM);
70 JPAContainer<Task> taskContainer = new JPAContainer(Task.class);
71 taskContainer.setEntityProvider(taskProvider);
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[]{
83 taskTable.setColumnWidth("description", 300);
84 vlMain.addComponent(taskTable);
85 vlMain.setExpandRatio(taskTable, 1f);
87 LocalEntityProvider workProvider = new LocalEntityProvider(Work.class);
88 workProvider.setEntityManager(EM);
89 JPAContainer<Task> workContainer = new JPAContainer(Work.class);
90 workContainer.setEntityProvider(workProvider);
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[]{
104 workTable.setColumnWidth("result", 200);
105 vlMain.addComponent(workTable);
106 vlMain.setExpandRatio(workTable, 1f);