X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FSimpleErgonomics.java;h=505d482f3befd2e9de8a9ee35c3ce210c0d42661;hb=23362de6ff41f86c923dc9fa0034c97427bda99b;hp=620bc5302ae65f5224cacece398f840b394bf74b;hpb=c5fa035468228d1f87ab5431a3fad17403eee1c3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java b/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java index 620bc5302..505d482f3 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java @@ -2,6 +2,7 @@ package org.argeo.cms.util; import java.util.Map; +import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; @@ -23,6 +24,8 @@ import org.eclipse.swt.widgets.Control; /** Simple header/body ergonomics. */ public class SimpleErgonomics extends AbstractCmsEntryPoint { + private static final long serialVersionUID = 8743413921359548523L; + private final static Log log = LogFactory.getLog(SimpleErgonomics.class); private boolean uiInitialized = false; @@ -36,8 +39,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { private CmsImageManager imageManager = new ImageManagerImpl(); private UxContext uxContext = null; - public SimpleErgonomics(Repository repository, String workspace, - String defaultPath, CmsUiProvider uiProvider, + public SimpleErgonomics(Repository repository, String workspace, String defaultPath, CmsUiProvider uiProvider, Map factoryProperties) { super(repository, workspace, defaultPath, factoryProperties); this.uiProvider = uiProvider; @@ -48,7 +50,9 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); parent.setLayout(CmsUtils.noSpaceGridLayout()); - // createAdminArea(parent); + uxContext = new SimpleUxContext(); + if (!getUxContext().isMasterData()) + createAdminArea(parent); headerArea = new Composite(parent, SWT.NONE); headerArea.setLayout(new FillLayout()); GridData headerData = new GridData(SWT.FILL, SWT.FILL, false, false); @@ -59,7 +63,6 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { 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(); } @@ -94,8 +97,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { // Exception Throwable exception = getException(); if (exception != null) { - SystemNotifications systemNotifications = new SystemNotifications( - bodyArea); + SystemNotifications systemNotifications = new SystemNotifications(bodyArea); systemNotifications.notifyException(exception); resetException(); return; @@ -108,7 +110,11 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { bodyArea.setLayout(CmsUtils.noSpaceGridLayout()); try { - uiProvider.createUi(bodyArea, getNode()); + Node node = getNode(); + if (node == null) + log.error("Context cannot be null"); + else + uiProvider.createUi(bodyArea, node); } catch (RepositoryException e) { throw new CmsException("Cannot refresh body", e); }