projects
/
gpl
/
argeo-suite.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Major refactoring of Argeo CMS UI
[gpl/argeo-suite.git]
/
org.argeo.suite.ui
/
src
/
org
/
argeo
/
suite
/
ui
/
SuiteApp.java
diff --git
a/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java
b/org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java
index d766a9a6a91a0a3a55de2601686619d9cabdbcc9..8eb9ef4ebfa71aa4f80f5749b744afb408f6e508 100644
(file)
--- a/
org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java
+++ b/
org.argeo.suite.ui/src/org/argeo/suite/ui/SuiteApp.java
@@
-1,6
+1,6
@@
package org.argeo.suite.ui;
package org.argeo.suite.ui;
-import static org.argeo.
cms.ui
.CmsView.CMS_VIEW_UID_PROPERTY;
+import static org.argeo.
api.cms
.CmsView.CMS_VIEW_UID_PROPERTY;
import java.util.Collections;
import java.util.HashMap;
import java.util.Collections;
import java.util.HashMap;
@@
-14,6
+14,7
@@
import java.util.TreeMap;
import java.util.TreeSet;
import javax.jcr.Node;
import java.util.TreeSet;
import javax.jcr.Node;
+import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.nodetype.NodeType;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.nodetype.NodeType;
@@
-22,17
+23,18
@@
import javax.naming.ldap.LdapName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.api.cms.CmsSession;
+import org.argeo.api.cms.CmsTheme;
+import org.argeo.api.cms.CmsUi;
+import org.argeo.api.cms.CmsView;
+import org.argeo.cms.AbstractCmsApp;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.LocaleUtils;
import org.argeo.cms.Localized;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.LocaleUtils;
import org.argeo.cms.Localized;
-import org.argeo.cms.auth.CmsSession;
import org.argeo.cms.jcr.CmsJcrUtils;
import org.argeo.cms.jcr.CmsJcrUtils;
-import org.argeo.cms.
ui.AbstractCmsApp
;
-import org.argeo.cms.
ui.CmsTheme
;
+import org.argeo.cms.
swt.CmsSwtUtils
;
+import org.argeo.cms.
swt.dialogs.CmsFeedback
;
import org.argeo.cms.ui.CmsUiProvider;
import org.argeo.cms.ui.CmsUiProvider;
-import org.argeo.cms.ui.CmsView;
-import org.argeo.cms.ui.dialogs.CmsFeedback;
-import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.eclipse.ui.specific.UiContext;
import org.argeo.entity.EntityConstants;
import org.argeo.entity.EntityNames;
import org.argeo.eclipse.ui.specific.UiContext;
import org.argeo.entity.EntityConstants;
import org.argeo.entity.EntityNames;
@@
-85,6
+87,9
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
// TODO make more optimal or via CmsSession/CmsView
private Map<String, SuiteUi> managedUis = new HashMap<>();
// TODO make more optimal or via CmsSession/CmsView
private Map<String, SuiteUi> managedUis = new HashMap<>();
+ private Repository repository;
+
+
public void init(Map<String, Object> properties) {
if (log.isDebugEnabled())
log.info("Argeo Suite App started");
public void init(Map<String, Object> properties) {
if (log.isDebugEnabled())
log.info("Argeo Suite App started");
@@
-132,15
+137,16
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
}
@Override
}
@Override
- public Composite initUi(Composite parent) {
- String uiName = parent.getData(UI_NAME_PROPERTY) != null ? parent.getData(UI_NAME_PROPERTY).toString() : null;
- CmsView cmsView = CmsView.getCmsView(parent);
+ public CmsUi initUi(Object parent) {
+ Composite uiParent =(Composite) parent;
+ String uiName = uiParent.getData(UI_NAME_PROPERTY) != null ? uiParent.getData(UI_NAME_PROPERTY).toString() : null;
+ CmsView cmsView = CmsSwtUtils.getCmsView(uiParent);
if (cmsView == null)
throw new IllegalStateException("No CMS view is registered.");
CmsTheme theme = getTheme(uiName);
if (theme != null)
if (cmsView == null)
throw new IllegalStateException("No CMS view is registered.");
CmsTheme theme = getTheme(uiName);
if (theme != null)
- Cms
Theme.registerCmsTheme(p
arent.getShell(), theme);
- SuiteUi argeoSuiteUi = new SuiteUi(
p
arent, SWT.INHERIT_DEFAULT);
+ Cms
SwtUtils.registerCmsTheme(uiP
arent.getShell(), theme);
+ SuiteUi argeoSuiteUi = new SuiteUi(
uiP
arent, SWT.INHERIT_DEFAULT);
String uid = cmsView.getUid();
managedUis.put(uid, argeoSuiteUi);
argeoSuiteUi.addDisposeListener((e) -> {
String uid = cmsView.getUid();
managedUis.put(uid, argeoSuiteUi);
argeoSuiteUi.addDisposeListener((e) -> {
@@
-157,15
+163,15
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
}
@Override
}
@Override
- public void refreshUi(C
omposite parent
, String state) {
+ public void refreshUi(C
msUi cmsUi
, String state) {
try {
Node context = null;
try {
Node context = null;
- SuiteUi ui = (SuiteUi)
parent
;
+ SuiteUi ui = (SuiteUi)
cmsUi
;
String uiName = Objects.toString(ui.getParent().getData(UI_NAME_PROPERTY), null);
if (uiName == null)
throw new IllegalStateException("UI name should not be null");
String uiName = Objects.toString(ui.getParent().getData(UI_NAME_PROPERTY), null);
if (uiName == null)
throw new IllegalStateException("UI name should not be null");
- CmsView cmsView = Cms
View.getCmsView(parent
);
+ CmsView cmsView = Cms
SwtUtils.getCmsView(ui
);
CmsUiProvider headerUiProvider = findUiProvider(headerPid);
CmsUiProvider footerUiProvider = findUiProvider(footerPid);
CmsUiProvider leadPaneUiProvider;
CmsUiProvider headerUiProvider = findUiProvider(headerPid);
CmsUiProvider footerUiProvider = findUiProvider(footerPid);
CmsUiProvider leadPaneUiProvider;
@@
-229,7
+235,7
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
if (footerUiProvider != null)
refreshPart(footerUiProvider, ui.getFooter(), context);
ui.layout(true, true);
if (footerUiProvider != null)
refreshPart(footerUiProvider, ui.getFooter(), context);
ui.layout(true, true);
- setState(
parent
, state != null ? state : defaultLayerPid);
+ setState(
ui
, state != null ? state : defaultLayerPid);
}
} catch (Exception e) {
CmsFeedback.show("Unexpected exception", e);
}
} catch (Exception e) {
CmsFeedback.show("Unexpected exception", e);
@@
-246,7
+252,7
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
}
private void refreshPart(CmsUiProvider uiProvider, Composite part, Node context) {
}
private void refreshPart(CmsUiProvider uiProvider, Composite part, Node context) {
- Cms
Ui
Utils.clear(part);
+ Cms
Swt
Utils.clear(part);
uiProvider.createUiPart(part, context);
}
uiProvider.createUiPart(part, context);
}
@@
-344,12
+350,12
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
}
@Override
}
@Override
- public void setState(C
omposite parent
, String state) {
+ public void setState(C
msUi cmsUi
, String state) {
if (state == null)
return;
if (!state.startsWith("/")) {
if (state == null)
return;
if (!state.startsWith("/")) {
- if (
parent
instanceof SuiteUi) {
- SuiteUi ui = (SuiteUi)
parent
;
+ if (
cmsUi
instanceof SuiteUi) {
+ SuiteUi ui = (SuiteUi)
cmsUi
;
if (LOGIN.equals(state)) {
String appTitle = "";
if (ui.getTitle() != null)
if (LOGIN.equals(state)) {
String appTitle = "";
if (ui.getTitle() != null)
@@
-365,7
+371,7
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
}
return;
}
}
return;
}
- SuiteUi suiteUi = (SuiteUi)
parent
;
+ SuiteUi suiteUi = (SuiteUi)
cmsUi
;
Node node = stateToNode(suiteUi, state);
if (node == null) {
suiteUi.getCmsView().navigateTo(HOME_STATE);
Node node = stateToNode(suiteUi, state);
if (node == null) {
suiteUi.getCmsView().navigateTo(HOME_STATE);
@@
-620,4
+626,13
@@
public class SuiteApp extends AbstractCmsApp implements EventHandler {
this.cmsUserManager = cmsUserManager;
}
this.cmsUserManager = cmsUserManager;
}
+ public Repository getRepository() {
+ return repository;
+ }
+
+ public void setRepository(Repository repository) {
+ this.repository = repository;
+ }
+
+
}
}