1 package org.argeo.people.web.parts;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5
6 import org.argeo.cms.ui.CmsUiProvider;
7 import org.argeo.connect.resources.ResourcesService;
8 import org.argeo.eclipse.ui.EclipseUiUtils;
9 import org.argeo.people.ui.PeopleUiSnippets;
10 import org.eclipse.rap.rwt.RWT;
11 import org.eclipse.swt.SWT;
12 import org.eclipse.swt.layout.GridLayout;
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.swt.widgets.Control;
15 import org.eclipse.swt.widgets.Label;
16
17
18
19
20
21 public class SingleContactPart implements CmsUiProvider {
22
23 private ResourcesService resourcesService;
24 private ContactButtonsPart contactButtonsPart;
25
26 @Override
27 public Control createUi(Composite parent, Node context) throws RepositoryException {
28 parent.setLayout(new GridLayout(2, false));
29 Composite left = new Composite(parent, SWT.NO_FOCUS);
30 contactButtonsPart.createUi(left, context);
31 Composite right = new Composite(parent, SWT.NO_FOCUS);
32 populateReadOnlyPanel(right, context);
33 parent.layout();
34
35 return parent;
36 }
37
38 protected void populateReadOnlyPanel(final Composite readOnlyPanel, Node context) {
39 readOnlyPanel.setLayout(EclipseUiUtils.noSpaceGridLayout());
40 Label label = new Label(readOnlyPanel, SWT.WRAP);
41 label.setData(RWT.MARKUP_ENABLED, Boolean.TRUE);
42 String addressHtml = PeopleUiSnippets.getContactDisplaySnippet(resourcesService, context);
43 label.setText(addressHtml);
44 }
45
46
47 public void setResourcesService(ResourcesService resourcesService) {
48 this.resourcesService = resourcesService;
49 }
50
51 public void setContactButtonsPart(ContactButtonsPart contactButtonsPart) {
52 this.contactButtonsPart = contactButtonsPart;
53 }
54 }