]>
git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java
1 package org
.argeo
.app
.ui
;
4 import javax
.jcr
.RepositoryException
;
6 import org
.argeo
.api
.cms
.CmsContext
;
7 import org
.argeo
.api
.cms
.CmsView
;
8 import org
.argeo
.cms
.auth
.CurrentUser
;
9 import org
.argeo
.cms
.swt
.CmsSwtUtils
;
10 import org
.argeo
.cms
.swt
.auth
.CmsLogin
;
11 import org
.argeo
.cms
.ui
.CmsUiProvider
;
12 import org
.eclipse
.swt
.SWT
;
13 import org
.eclipse
.swt
.layout
.GridData
;
14 import org
.eclipse
.swt
.layout
.GridLayout
;
15 import org
.eclipse
.swt
.widgets
.Composite
;
16 import org
.eclipse
.swt
.widgets
.Control
;
18 /** Provides a login screen. */
19 public class DefaultLoginScreen
implements CmsUiProvider
{
20 private CmsContext cmsContext
;
23 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
{
24 CmsView cmsView
= CmsSwtUtils
.getCmsView(parent
);
25 if (!cmsView
.isAnonymous())
26 throw new IllegalStateException(CurrentUser
.getUsername() + " is already logged in");
28 parent
.setLayout(new GridLayout());
29 Composite loginArea
= new Composite(parent
, SWT
.NONE
);
30 loginArea
.setLayoutData(new GridData(SWT
.CENTER
, SWT
.CENTER
, true, true));
32 CmsLogin cmsLogin
= new CmsLogin(cmsView
, cmsContext
);
33 cmsLogin
.createUi(loginArea
);
34 return cmsLogin
.getCredentialsBlock();
37 public void setCmsContext(CmsContext cmsContext
) {
38 this.cmsContext
= cmsContext
;