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.ui.workbench.thumbnail;
35
36 import info.magnolia.event.EventBus;
37 import info.magnolia.objectfactory.ComponentProvider;
38 import info.magnolia.ui.imageprovider.ImageProvider;
39 import info.magnolia.ui.vaadin.integration.contentconnector.ContentConnector;
40 import info.magnolia.ui.vaadin.integration.contentconnector.JcrContentConnector;
41 import info.magnolia.ui.vaadin.integration.contentconnector.JcrContentConnectorDefinition;
42 import info.magnolia.ui.workbench.AbstractContentPresenter;
43 import info.magnolia.ui.workbench.ContentView;
44 import info.magnolia.ui.workbench.container.Refreshable;
45 import info.magnolia.ui.workbench.definition.WorkbenchDefinition;
46
47 import java.util.List;
48
49 import javax.inject.Inject;
50
51 import org.slf4j.Logger;
52 import org.slf4j.LoggerFactory;
53
54 import com.vaadin.data.Container;
55
56
57
58
59 public class ThumbnailPresenter extends AbstractContentPresenter implements ThumbnailView.Listener {
60
61 private static final Logger log = LoggerFactory.getLogger(ThumbnailPresenter.class);
62
63 private final ThumbnailView view;
64
65 private final ImageProvider imageProvider;
66
67 private Container container;
68
69 @Inject
70 public ThumbnailPresenter(ThumbnailView view, ImageProvider imageProvider, ComponentProvider componentProvider) {
71 super(componentProvider);
72 this.view = view;
73 this.imageProvider = imageProvider;
74 }
75
76 public ImageProvider getImageProvider() {
77 return imageProvider;
78 }
79
80 @Override
81 public ContentView start(WorkbenchDefinition workbench, EventBus eventBus, String viewTypeName, ContentConnector contentConnector) {
82 super.start(workbench, eventBus, viewTypeName, contentConnector);
83
84 container = initializeContainer();
85
86 view.setListener(this);
87 view.setContainer(container);
88 view.setThumbnailSize(73, 73);
89
90 return view;
91 }
92
93 @Override
94 public void refresh() {
95 if (container instanceof Refreshable) {
96 ((Refreshable)container).refresh();
97 }
98 view.refresh();
99 }
100
101 @Override
102 protected Container initializeContainer() {
103 JcrContentConnectorDefinition connectorDefinition = ((JcrContentConnector)contentConnector).getContentConnectorDefinition();
104 ThumbnailContainer c = new ThumbnailContainer(imageProvider, new JcrThumbnailItemIdProvider(connectorDefinition));
105 c.setThumbnailHeight(73);
106 c.setThumbnailWidth(73);
107 return c;
108 }
109
110 @Override
111 public void select(List<Object> itemIds) {
112 view.select(itemIds);
113 }
114 }