]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/cms/ui/CmsApp.java
1 package org
.argeo
.cms
.ui
;
5 import org
.eclipse
.swt
.widgets
.Composite
;
7 /** An extensible user interface base on the CMS backend. */
8 public interface CmsApp
{
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()}.
16 final static String UI_NAME_PROPERTY
= CmsApp
.class.getName() + ".ui.name";
18 Set
<String
> getUiNames();
20 Composite
initUi(Composite parent
);
22 void refreshUi(Composite parent
, String state
);
24 void setState(Composite parent
, String state
);
26 CmsTheme
getTheme(String uiName
);
28 void addCmsAppListener(CmsAppListener listener
);
30 void removeCmsAppListener(CmsAppListener listener
);