import org.argeo.cms.CmsStyles;
import org.argeo.cms.CmsUiProvider;
import org.argeo.cms.internal.ImageManagerImpl;
+import org.argeo.cms.ui.UxContext;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
public class SimpleErgonomics extends AbstractCmsEntryPoint {
private final static Log log = LogFactory.getLog(SimpleErgonomics.class);
+ private boolean uiInitialized = false;
private Composite headerArea;
private Composite bodyArea;
private final CmsUiProvider uiProvider;
private Integer headerHeight = 40;
private CmsImageManager imageManager = new ImageManagerImpl();
+ private UxContext uxContext = null;
public SimpleErgonomics(Repository repository, String workspace,
String defaultPath, CmsUiProvider uiProvider,
}
@Override
- protected void createUi(Composite parent) {
+ protected void initUi(Composite parent) {
parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
parent.setLayout(CmsUtils.noSpaceGridLayout());
+ // createAdminArea(parent);
headerArea = new Composite(parent, SWT.NONE);
headerArea.setLayout(new FillLayout());
GridData headerData = new GridData(SWT.FILL, SWT.FILL, false, false);
bodyArea.setData(RWT.CUSTOM_VARIANT, CmsStyles.CMS_BODY);
bodyArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
bodyArea.setLayout(CmsUtils.noSpaceGridLayout());
-
+ uxContext = new SimpleUxContext();
+ uiInitialized = true;
refresh();
}
@Override
protected void refresh() {
+ if (!uiInitialized)
+ return;
+ if (getState() == null)
+ setState("");
refreshHeader();
refreshBody();
if (log.isTraceEnabled())
log.trace("UI refreshed " + getNode());
}
+ protected void createAdminArea(Composite parent) {
+ }
+
protected void refreshHeader() {
- if (headerArea == null)
- return;
for (Control child : headerArea.getChildren())
child.dispose();
try {
}
protected void refreshBody() {
- if (bodyArea == null)
- return;
// Exception
Throwable exception = getException();
if (exception != null) {
child.dispose();
bodyArea.setLayout(CmsUtils.noSpaceGridLayout());
- String state = getState();
try {
- if (state == null)
- setState("");
- // throw new CmsException("State cannot be null");
uiProvider.createUi(bodyArea, getNode());
} catch (RepositoryException e) {
throw new CmsException("Cannot refresh body", e);
bodyArea.layout(true, true);
}
+ @Override
+ public UxContext getUxContext() {
+ return uxContext;
+ }
+
@Override
public CmsImageManager getImageManager() {
return imageManager;