]> git.argeo.org Git - lgpl/argeo-commons.git/blob - acr/ContentComposite.java
Prepare next development cycle
[lgpl/argeo-commons.git] / acr / ContentComposite.java
1 package org.argeo.cms.swt.acr;
2
3 import org.argeo.api.acr.Content;
4 import org.argeo.api.acr.spi.ProvidedContent;
5 import org.argeo.cms.ux.acr.ContentPart;
6 import org.eclipse.swt.widgets.Composite;
7
8 /** A composite which can (optionally) manage a content. */
9 public class ContentComposite extends Composite implements ContentPart {
10 private static final long serialVersionUID = -1447009015451153367L;
11
12 public ContentComposite(Composite parent, int style, Content item) {
13 super(parent, style);
14 if (item != null)
15 setData(item);
16 }
17
18 public boolean hasContent() {
19 if (getData() == null)
20 return false;
21 return getData() instanceof Content;
22 }
23
24 @Override
25 public Content getContent() {
26 return (Content) getData();
27 }
28
29 @Deprecated
30 public Content getNode() {
31 return getContent();
32 }
33
34 protected ProvidedContent getProvidedContent() {
35 return (ProvidedContent) getContent();
36 }
37
38 public String getSessionLocalId() {
39 return getProvidedContent().getSessionLocalId();
40 }
41
42 protected void itemUpdated() {
43 layout();
44 }
45
46 public void setContent(Content content) {
47 setData(content);
48 itemUpdated();
49 }
50 }