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 package info.magnolia.about.app.licenses;
35
36 import info.magnolia.i18nsystem.SimpleTranslator;
37 import info.magnolia.init.MagnoliaConfigurationProperties;
38 import info.magnolia.ui.vaadin.layout.SmallAppLayout;
39
40 import javax.inject.Inject;
41
42 import com.vaadin.annotations.StyleSheet;
43 import com.vaadin.ui.Component;
44 import com.vaadin.ui.Grid;
45
46
47
48
49
50 @StyleSheet("vaadin://about-app.css")
51 public class LicensesInfoViewImpl extends SmallAppLayout implements LicensesInfoView {
52 private final SimpleTranslator i18n;
53 private final LicensesDataProvider licenseListDataProvider;
54
55 @Inject
56 public LicensesInfoViewImpl(SimpleTranslator i18n, MagnoliaConfigurationProperties magnoliaConfigurationProperties) {
57 this.i18n = i18n;
58 licenseListDataProvider = new LicensesDataProvider(magnoliaConfigurationProperties, i18n);
59 addSection(setUpLayout(), i18n.translate("about.app.licenses.licenseinfo.title"));
60 }
61
62 private com.vaadin.ui.VerticalLayout setUpLayout() {
63 com.vaadin.ui.VerticalLayout layout = new com.vaadin.ui.VerticalLayout();
64 layout.setSpacing(true);
65
66 com.vaadin.ui.Label systemDataTitle = new com.vaadin.ui.Label(i18n.translate("about.app.licenses.licensesinfo.subtitle"));
67 systemDataTitle.addStyleName("fieldset-title");
68 layout.addComponent(systemDataTitle);
69
70 Grid<LicensesInfoBean> systemDataGrid = new LicensesSystemDataGrid(licenseListDataProvider, i18n).setUpSystemDataGrid();
71 layout.addComponent(systemDataGrid);
72 layout.setExpandRatio(systemDataGrid, 1f);
73
74 layout.setSizeFull();
75 return layout;
76 }
77
78 @Override
79 public Component asVaadinComponent() {
80 return this;
81 }
82
83 }