1 package org.argeo.cms.ui;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5
6 import org.argeo.api.MvcProvider;
7 import org.eclipse.swt.widgets.Composite;
8 import org.eclipse.swt.widgets.Control;
9
10
11 @FunctionalInterface
12 public interface CmsUiProvider extends MvcProvider<Composite, Node, Control> {
13
14
15
16
17
18
19 Control createUi(Composite parent, Node context) throws RepositoryException;
20
21 @Override
22 default Control createUiPart(Composite parent, Node context) {
23 try {
24 return createUi(parent, context);
25 } catch (RepositoryException e) {
26 throw new IllegalStateException("Cannot create UI for context " + context, e);
27 }
28 }
29
30 }