]> git.argeo.org Git - lgpl/argeo-commons.git/blob - SimpleSwtApp.java
169c2d0c1611aee0f1536dade07a113348f1101a
[lgpl/argeo-commons.git] / SimpleSwtApp.java
1 package org.argeo.cms.swt.app;
2
3 import java.util.HashSet;
4 import java.util.Set;
5
6 import org.argeo.api.cms.CmsApp;
7 import org.argeo.api.cms.ux.CmsUi;
8 import org.argeo.cms.AbstractCmsApp;
9 import org.argeo.cms.swt.CmsSwtUi;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.swt.widgets.Composite;
12
13 /** Simplifies creating a simple {@link CmsApp} based on SWT. */
14 public class SimpleSwtApp extends AbstractCmsApp {
15 protected final static String DEFAULT_UI_NAME = "app";
16
17 protected void createDefaultUi(Composite parent) {
18
19 }
20
21 protected void createUi(String uiName, Composite parent) {
22 if (DEFAULT_UI_NAME.equals(uiName)) {
23 createDefaultUi(parent);
24 }
25 }
26
27 @Override
28 public Set<String> getUiNames() {
29 Set<String> uiNames = new HashSet<>();
30 uiNames.add(DEFAULT_UI_NAME);
31 return uiNames;
32 }
33
34 @Override
35 public CmsUi initUi(Object uiParent) {
36 Composite parent = (Composite) uiParent;
37 String uiName = parent.getData(UI_NAME_PROPERTY) != null ? parent.getData(UI_NAME_PROPERTY).toString() : null;
38 CmsSwtUi cmsUi = new CmsSwtUi(parent, SWT.NONE);
39 if (uiName != null)
40 createUi(uiName, cmsUi);
41 return cmsUi;
42 }
43
44 @Override
45 public void refreshUi(CmsUi cmsUi, String state) {
46 }
47
48 @Override
49 public void setState(CmsUi cmsUi, String state) {
50 }
51
52 }