]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/cms/ui/CmsApp.java
Merge remote-tracking branch 'origin/master' into v2.x
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / CmsApp.java
1 package org.argeo.cms.ui;
2
3 import java.util.Set;
4
5 import org.eclipse.swt.widgets.Composite;
6
7 /** An extensible user interface base on the CMS backend. */
8 public interface CmsApp {
9 /**
10 * If {@link Composite#setData(String, Object)} is set with this property, it
11 * indicates a different UI (typically with another theming. The {@link CmsApp}
12 * can use this information, but it doesn't have to be set, in which case a
13 * default UI must be provided. The provided value must belong to the values
14 * returned by {@link CmsApp#getUiNames()}.
15 */
16 final static String UI_NAME_PROPERTY = CmsApp.class.getName() + ".ui.name";
17
18 Set<String> getUiNames();
19
20 Composite initUi(Composite parent);
21
22 void refreshUi(Composite parent, String state);
23
24 void setState(Composite parent, String state);
25
26 CmsTheme getTheme(String uiName);
27
28 void addCmsAppListener(CmsAppListener listener);
29
30 void removeCmsAppListener(CmsAppListener listener);
31 }