From e007028c81cf85df3c23b761856779427f86a633 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 12 Jun 2023 09:55:27 +0200 Subject: [PATCH] Refactor UX --- .../OSGI-INF/l10n/bundle.properties | 123 +++++++++++++++++ .../OSGI-INF/l10n/bundle_de.properties | 0 .../OSGI-INF/l10n/bundle_fr.properties | 0 .../org/argeo/app/ux/AbstractArgeoApp.java | 7 + .../src/org/argeo/app/ux}/SuiteIcon.java | 2 +- .../src/org/argeo/app/ux}/SuiteMsg.java | 2 +- .../src/org/argeo/app/ux}/SuiteStyle.java | 2 +- .../src/org/argeo/app/ux}/SuiteUxEvent.java | 24 +--- .../app/swt/ux}/DefaultEditionLayer.java | 10 +- .../org/argeo/app/swt/ux/SwtAppLayer.java} | 4 +- .../src/org/argeo/app/swt/ux/SwtAppUi.java} | 43 +++--- .../src/org/argeo/app/swt/ux/SwtArgeoApp.java | 34 +++++ .../OSGI-INF/adminLeadPane.xml | 2 +- swt/org.argeo.app.ui/OSGI-INF/cmsApp.xml | 2 +- .../OSGI-INF/contentLayer.xml | 4 +- .../OSGI-INF/dashboardLayer.xml | 4 +- .../OSGI-INF/l10n/bundle.properties | 124 +----------------- swt/org.argeo.app.ui/OSGI-INF/leadPane.xml | 2 +- swt/org.argeo.app.ui/OSGI-INF/mapLayer.xml | 4 +- swt/org.argeo.app.ui/OSGI-INF/peopleLayer.xml | 4 +- swt/org.argeo.app.ui/OSGI-INF/termsLayer.xml | 4 +- swt/org.argeo.app.ui/OSGI-INF/wwwLayer.xml | 4 +- .../src/org/argeo/app/ui/DefaultHeader.java | 2 + .../src/org/argeo/app/ui/DefaultLeadPane.java | 17 ++- .../src/org/argeo/app/ui/RecentItems.java | 6 +- .../src/org/argeo/app/ui/SuiteApp.java | 49 +++---- .../src/org/argeo/app/ui/SuiteUiUtils.java | 12 ++ .../argeo/app/ui/dialogs/NewPersonPage.java | 2 +- .../argeo/app/ui/dialogs/NewPersonWizard.java | 2 +- .../app/ui/library/ContentEntryArea.java | 2 +- .../ui/library/DocumentsFolderUiProvider.java | 5 +- .../ui/library/DocumentsTreeUiProvider.java | 7 +- .../app/ui/library/JcrContentEntryArea.java | 9 +- .../app/ui/openlayers/OpenLayersMap.java | 2 +- .../argeo/app/ui/people/GroupUiProvider.java | 4 +- .../app/ui/people/HierarchyUnitPart.java | 2 +- .../org/argeo/app/ui/people/NewOrgForm.java | 2 +- .../org/argeo/app/ui/people/NewUserForm.java | 2 +- .../argeo/app/ui/people/PeopleEntryArea.java | 6 +- .../argeo/app/ui/people/PersonUiProvider.java | 4 +- .../org/argeo/app/ui/people/UserColumn.java | 2 +- 41 files changed, 300 insertions(+), 242 deletions(-) create mode 100644 org.argeo.app.core/OSGI-INF/l10n/bundle.properties rename {swt/org.argeo.app.ui => org.argeo.app.core}/OSGI-INF/l10n/bundle_de.properties (100%) rename {swt/org.argeo.app.ui => org.argeo.app.core}/OSGI-INF/l10n/bundle_fr.properties (100%) create mode 100644 org.argeo.app.core/src/org/argeo/app/ux/AbstractArgeoApp.java rename {swt/org.argeo.app.ui/src/org/argeo/app/ui => org.argeo.app.core/src/org/argeo/app/ux}/SuiteIcon.java (94%) rename {swt/org.argeo.app.ui/src/org/argeo/app/ui => org.argeo.app.core/src/org/argeo/app/ux}/SuiteMsg.java (98%) rename {swt/org.argeo.app.ui/src/org/argeo/app/ui => org.argeo.app.core/src/org/argeo/app/ux}/SuiteStyle.java (96%) rename {swt/org.argeo.app.ui/src/org/argeo/app/ui => org.argeo.app.core/src/org/argeo/app/ux}/SuiteUxEvent.java (54%) rename swt/{org.argeo.app.ui/src/org/argeo/app/ui => org.argeo.app.swt/src/org/argeo/app/swt/ux}/DefaultEditionLayer.java (96%) rename swt/{org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java => org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppLayer.java} (88%) rename swt/{org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java => org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppUi.java} (83%) create mode 100644 swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtArgeoApp.java diff --git a/org.argeo.app.core/OSGI-INF/l10n/bundle.properties b/org.argeo.app.core/OSGI-INF/l10n/bundle.properties new file mode 100644 index 0000000..d4bf08a --- /dev/null +++ b/org.argeo.app.core/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,123 @@ +dashboard=dashboard +#people=contacts +documents=documents +locations=locations +recentItems=recent items + +appTitle=Argeo Suite + +# +# PEOPLE +# org.argeo.people.ui.PeopleMsg +# +person=person +user=user +org=organisation +group=group + +# NewPersonWizard +firstName=First Name +lastName=Last Name +salutation=Salutation +email=Email +personWizardWindowTitle=New person +personWizardPageTitle=Create a contact +personWizardFeedback=Contact was created + +# NewOrgWizard +legalName=Legal name +legalForm=Legal form +vatId=VAT ID +orgWizardWindowTitle=New organisation +orgWizardPageTitle=Create an organisation +orgWizardFeedback=Organisation was created + +# Roles +userAdminRole=Can create users and modify them +groupAdminRole=Can create groups and organisations and modify them +publisherRole=Can validate and publish content +coworkerRole=Is an active user of the organisation + +# Group +chooseAMember=Choose a member + +# ContextAddressComposite +chooseAnOrganisation=Choose an organisation +street=Street +streetComplement=Street complement +zipCode=Zip code +city=City +state=State +country=Country +geopoint=Geopoint + +# FilteredOrderableEntityTable +filterHelp=Type filter criterion separated by a space + +# BankAccountComposite +accountHolder=Account holder +bankName=Bank name +currency=Currency +accountNumber=Account number +bankNumber=Bank number +BIC=BIC +IBAN=IBAN + +# EditJobDialog +position=Role +chosenItem=Chose item +department=Department +isPrimary=Is primary +searchAndChooseEntity=Search and choose a corresponding entity + +# ContactListCTab (e4) +notes=Notes +addAContact=Add a contact +contactValue=Contact value +linkedCompany=Linked company + +# OrgAdminInfoCTab (e4) +paymentAccount=Payment account + +# OrgEditor (e4) +orgDetails=Details +orgActivityLog=Activity log +team=Team +orgAdmin=Admin. + +# PersonEditor (e4) +personDetails=Contact details +personActivityLog=Activity log +personOrgs=Organisations +personSecurity=Security + +# PersonSecurityCTab (e4) +resetPassword=Reset password + +# Generic +label=Label +aCustomLabel=A custom label +description=Description +value=Value +name=Name +primary=Primary +add=Add +save=Save +pickUp=Pick up + +# Tags +confirmNewTag=Tag #{0} is not yet registered. Are you sure you want to create it? +cannotCreateTag=Tag #{0} is not yet registered and you don't have enough rights to create it. + +# People +people=people + +# Library +content=content + +# Geo +map=map + +# Feedback messages +allFieldsMustBeSet=All fields must be set + diff --git a/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle_de.properties b/org.argeo.app.core/OSGI-INF/l10n/bundle_de.properties similarity index 100% rename from swt/org.argeo.app.ui/OSGI-INF/l10n/bundle_de.properties rename to org.argeo.app.core/OSGI-INF/l10n/bundle_de.properties diff --git a/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle_fr.properties b/org.argeo.app.core/OSGI-INF/l10n/bundle_fr.properties similarity index 100% rename from swt/org.argeo.app.ui/OSGI-INF/l10n/bundle_fr.properties rename to org.argeo.app.core/OSGI-INF/l10n/bundle_fr.properties diff --git a/org.argeo.app.core/src/org/argeo/app/ux/AbstractArgeoApp.java b/org.argeo.app.core/src/org/argeo/app/ux/AbstractArgeoApp.java new file mode 100644 index 0000000..2bb9c6a --- /dev/null +++ b/org.argeo.app.core/src/org/argeo/app/ux/AbstractArgeoApp.java @@ -0,0 +1,7 @@ +package org.argeo.app.ux; + +import org.argeo.cms.AbstractCmsApp; + +public abstract class AbstractArgeoApp extends AbstractCmsApp { + +} diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java b/org.argeo.app.core/src/org/argeo/app/ux/SuiteIcon.java similarity index 94% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java rename to org.argeo.app.core/src/org/argeo/app/ux/SuiteIcon.java index fae2852..7ae9360 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java +++ b/org.argeo.app.core/src/org/argeo/app/ux/SuiteIcon.java @@ -1,4 +1,4 @@ -package org.argeo.app.ui; +package org.argeo.app.ux; import org.argeo.api.cms.ux.CmsIcon; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteMsg.java b/org.argeo.app.core/src/org/argeo/app/ux/SuiteMsg.java similarity index 98% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteMsg.java rename to org.argeo.app.core/src/org/argeo/app/ux/SuiteMsg.java index 4d515d7..d244bd3 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteMsg.java +++ b/org.argeo.app.core/src/org/argeo/app/ux/SuiteMsg.java @@ -1,4 +1,4 @@ -package org.argeo.app.ui; +package org.argeo.app.ux; import org.argeo.cms.Localized; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java b/org.argeo.app.core/src/org/argeo/app/ux/SuiteStyle.java similarity index 96% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java rename to org.argeo.app.core/src/org/argeo/app/ux/SuiteStyle.java index 1afff73..a115210 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java +++ b/org.argeo.app.core/src/org/argeo/app/ux/SuiteStyle.java @@ -1,4 +1,4 @@ -package org.argeo.app.ui; +package org.argeo.app.ux; import org.argeo.api.cms.ux.CmsStyle; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java b/org.argeo.app.core/src/org/argeo/app/ux/SuiteUxEvent.java similarity index 54% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java rename to org.argeo.app.core/src/org/argeo/app/ux/SuiteUxEvent.java index 00aaddc..4d690fd 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUxEvent.java +++ b/org.argeo.app.core/src/org/argeo/app/ux/SuiteUxEvent.java @@ -1,14 +1,10 @@ -package org.argeo.app.ui; +package org.argeo.app.ux; import java.util.HashMap; import java.util.Map; -import javax.jcr.Node; - import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsEvent; -import org.argeo.jcr.Jcr; -import org.osgi.service.useradmin.User; /** Events specific to Argeo Suite UX. */ public enum SuiteUxEvent implements CmsEvent { @@ -30,17 +26,9 @@ public enum SuiteUxEvent implements CmsEvent { return properties; } - @Deprecated - public static Map eventProperties(Node node) { - Map properties = new HashMap<>(); - String contentPath = '/' + Jcr.getWorkspaceName(node) + Jcr.getPath(node); - properties.put(CONTENT_PATH, contentPath); - return properties; - } - - public static Map eventProperties(User user) { - Map properties = new HashMap<>(); - properties.put(USERNAME, user.getName()); - return properties; - } +// public static Map eventProperties(User user) { +// Map properties = new HashMap<>(); +// properties.put(USERNAME, user.getName()); +// return properties; +// } } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/DefaultEditionLayer.java similarity index 96% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java rename to swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/DefaultEditionLayer.java index dfccbe2..fd5dca7 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java +++ b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/DefaultEditionLayer.java @@ -1,10 +1,12 @@ -package org.argeo.app.ui; +package org.argeo.app.swt.ux; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.argeo.api.acr.Content; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteStyle; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; @@ -21,7 +23,7 @@ import org.osgi.framework.Constants; import org.osgi.framework.wiring.BundleWiring; /** An app layer based on an entry area and an editor area. */ -public class DefaultEditionLayer implements SuiteLayer { +public class DefaultEditionLayer implements SwtAppLayer { private String id; private SwtUiProvider entryArea; private SwtUiProvider defaultView; @@ -141,7 +143,7 @@ public class DefaultEditionLayer implements SuiteLayer { singleTab = properties.containsKey(Property.singleTab.name()) && "true".equals(properties.get(Property.singleTab.name())); - String titleStr = (String) properties.get(SuiteLayer.Property.title.name()); + String titleStr = (String) properties.get(SwtAppLayer.Property.title.name()); if (titleStr != null) { if (titleStr.startsWith("%")) { title = new Localized() { @@ -163,7 +165,7 @@ public class DefaultEditionLayer implements SuiteLayer { } } - String singleTabTitleStr = (String) properties.get(SuiteLayer.Property.singleTabTitle.name()); + String singleTabTitleStr = (String) properties.get(SwtAppLayer.Property.singleTabTitle.name()); if (singleTabTitleStr != null) { if (singleTabTitleStr.startsWith("%")) { singleTabTitle = new Localized() { diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppLayer.java similarity index 88% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java rename to swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppLayer.java index 6ee8ca0..e99d165 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java +++ b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppLayer.java @@ -1,4 +1,4 @@ -package org.argeo.app.ui; +package org.argeo.app.swt.ux; import org.argeo.api.acr.Content; import org.argeo.cms.Localized; @@ -6,7 +6,7 @@ import org.argeo.cms.swt.acr.SwtUiProvider; import org.eclipse.swt.widgets.Composite; /** An UI layer for the main work area. */ -public interface SuiteLayer extends SwtUiProvider { +public interface SwtAppLayer extends SwtUiProvider { static enum Property { title, icon, weights, startMaximized, singleTab, singleTabTitle, fixedEntryArea; } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppUi.java similarity index 83% rename from swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java rename to swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppUi.java index c332929..a604fc0 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java +++ b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtAppUi.java @@ -1,10 +1,11 @@ -package org.argeo.app.ui; +package org.argeo.app.swt.ux; import java.util.HashMap; import java.util.Map; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsLog; +import org.argeo.app.ux.SuiteStyle; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtUi; import org.argeo.cms.swt.CmsSwtUtils; @@ -13,9 +14,9 @@ import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.widgets.Composite; /** The view for the default UX of Argeo Suite. */ -class SuiteUi extends CmsSwtUi { +public class SwtAppUi extends CmsSwtUi { private static final long serialVersionUID = 6207018859086689108L; - private final static CmsLog log = CmsLog.getLog(SuiteUi.class); + private final static CmsLog log = CmsLog.getLog(SwtAppUi.class); private Localized title; private Composite header; @@ -27,13 +28,13 @@ class SuiteUi extends CmsSwtUi { private Content userDir; - private Map layers = new HashMap<>(); + private Map layers = new HashMap<>(); private Map workAreas = new HashMap<>(); private String currentLayerId = null; private boolean loginScreen = false; - public SuiteUi(Composite parent, int style) { + public SwtAppUi(Composite parent, int style) { super(parent, style); this.setLayout(CmsSwtUtils.noSpaceGridLayout()); @@ -86,13 +87,13 @@ class SuiteUi extends CmsSwtUi { * LAYERS */ - Composite getCurrentWorkArea() { + public Composite getCurrentWorkArea() { if (currentLayerId == null) throw new IllegalStateException("No current layer"); return workAreas.get(currentLayerId); } - String getCurrentLayerId() { + public String getCurrentLayerId() { return currentLayerId; } @@ -104,7 +105,7 @@ class SuiteUi extends CmsSwtUi { return workAreas.get(id); } - Composite switchToLayer(String layerId, Content context) { + public Composite switchToLayer(String layerId, Content context) { Composite current = null; if (currentLayerId != null) { current = getCurrentWorkArea(); @@ -134,10 +135,10 @@ class SuiteUi extends CmsSwtUi { } } - void switchToLayer(SuiteLayer layer, Content context) { + public void switchToLayer(SwtAppLayer layer, Content context) { // TODO make it more robust for (String layerId : layers.keySet()) { - SuiteLayer l = layers.get(layerId); + SwtAppLayer l = layers.get(layerId); if (layer.getId().equals(l.getId())) { switchToLayer(layerId, context); return; @@ -146,11 +147,11 @@ class SuiteUi extends CmsSwtUi { throw new IllegalArgumentException("Layer is not registered."); } - void addLayer(String id, SuiteLayer layer) { + public void addLayer(String id, SwtAppLayer layer) { layers.put(id, layer); } - void removeLayer(String id) { + public void removeLayer(String id) { layers.remove(id); if (workAreas.containsKey(id)) { Composite workArea = workAreas.remove(id); @@ -159,7 +160,7 @@ class SuiteUi extends CmsSwtUi { } } - protected Composite initLayer(String id, SuiteLayer layer, Content context) { + protected Composite initLayer(String id, SwtAppLayer layer, Content context) { Composite workArea = getCmsView().doAs(() -> (Composite) layer.createUiPart(dynamicArea, context)); CmsSwtUtils.style(workArea, SuiteStyle.workArea); workArea.setLayoutData(CmsSwtUtils.coverAll()); @@ -167,7 +168,7 @@ class SuiteUi extends CmsSwtUi { return workArea; } - synchronized void logout() { + public synchronized void logout() { userDir = null; currentLayerId = null; workAreas.clear(); @@ -177,31 +178,31 @@ class SuiteUi extends CmsSwtUi { * GETTERS / SETTERS */ - Composite getHeader() { + public Composite getHeader() { return header; } - Composite getFooter() { + public Composite getFooter() { return footer; } - Composite getLeadPane() { + public Composite getLeadPane() { return leadPane; } - Composite getSidePane() { + public Composite getSidePane() { return sidePane; } - Composite getBelowHeader() { + public Composite getBelowHeader() { return belowHeader; } - Content getUserDir() { + public Content getUserDir() { return userDir; } - void setUserDir(Content userDir) { + public void setUserDir(Content userDir) { this.userDir = userDir; } diff --git a/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtArgeoApp.java b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtArgeoApp.java new file mode 100644 index 0000000..733c0db --- /dev/null +++ b/swt/org.argeo.app.swt/src/org/argeo/app/swt/ux/SwtArgeoApp.java @@ -0,0 +1,34 @@ +package org.argeo.app.swt.ux; + +import java.util.Set; + +import org.argeo.api.cms.ux.CmsUi; +import org.argeo.app.ux.AbstractArgeoApp; + +public class SwtArgeoApp extends AbstractArgeoApp { + @Override + public Set getUiNames() { + // TODO Auto-generated method stub + return null; + } + + @Override + public CmsUi initUi(Object uiParent) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void refreshUi(CmsUi cmsUi, String state) { + // TODO Auto-generated method stub + + } + + @Override + public void setState(CmsUi cmsUi, String state) { + // TODO Auto-generated method stub + + } + + +} diff --git a/swt/org.argeo.app.ui/OSGI-INF/adminLeadPane.xml b/swt/org.argeo.app.ui/OSGI-INF/adminLeadPane.xml index 8d69ead..306ad94 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/adminLeadPane.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/adminLeadPane.xml @@ -8,5 +8,5 @@ argeo.suite.ui.termsLayer - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/cmsApp.xml b/swt/org.argeo.app.ui/OSGI-INF/cmsApp.xml index f9de1dd..a82f9af 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/cmsApp.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/cmsApp.xml @@ -7,7 +7,7 @@ - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/contentLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/contentLayer.xml index 7e56e47..9a550f4 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/contentLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/contentLayer.xml @@ -1,8 +1,8 @@ - + - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/dashboardLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/dashboardLayer.xml index c8c6ac9..a62d6e5 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/dashboardLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/dashboardLayer.xml @@ -1,8 +1,8 @@ - + - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle.properties b/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle.properties index d4bf08a..8a9cc95 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle.properties +++ b/swt/org.argeo.app.ui/OSGI-INF/l10n/bundle.properties @@ -1,123 +1 @@ -dashboard=dashboard -#people=contacts -documents=documents -locations=locations -recentItems=recent items - -appTitle=Argeo Suite - -# -# PEOPLE -# org.argeo.people.ui.PeopleMsg -# -person=person -user=user -org=organisation -group=group - -# NewPersonWizard -firstName=First Name -lastName=Last Name -salutation=Salutation -email=Email -personWizardWindowTitle=New person -personWizardPageTitle=Create a contact -personWizardFeedback=Contact was created - -# NewOrgWizard -legalName=Legal name -legalForm=Legal form -vatId=VAT ID -orgWizardWindowTitle=New organisation -orgWizardPageTitle=Create an organisation -orgWizardFeedback=Organisation was created - -# Roles -userAdminRole=Can create users and modify them -groupAdminRole=Can create groups and organisations and modify them -publisherRole=Can validate and publish content -coworkerRole=Is an active user of the organisation - -# Group -chooseAMember=Choose a member - -# ContextAddressComposite -chooseAnOrganisation=Choose an organisation -street=Street -streetComplement=Street complement -zipCode=Zip code -city=City -state=State -country=Country -geopoint=Geopoint - -# FilteredOrderableEntityTable -filterHelp=Type filter criterion separated by a space - -# BankAccountComposite -accountHolder=Account holder -bankName=Bank name -currency=Currency -accountNumber=Account number -bankNumber=Bank number -BIC=BIC -IBAN=IBAN - -# EditJobDialog -position=Role -chosenItem=Chose item -department=Department -isPrimary=Is primary -searchAndChooseEntity=Search and choose a corresponding entity - -# ContactListCTab (e4) -notes=Notes -addAContact=Add a contact -contactValue=Contact value -linkedCompany=Linked company - -# OrgAdminInfoCTab (e4) -paymentAccount=Payment account - -# OrgEditor (e4) -orgDetails=Details -orgActivityLog=Activity log -team=Team -orgAdmin=Admin. - -# PersonEditor (e4) -personDetails=Contact details -personActivityLog=Activity log -personOrgs=Organisations -personSecurity=Security - -# PersonSecurityCTab (e4) -resetPassword=Reset password - -# Generic -label=Label -aCustomLabel=A custom label -description=Description -value=Value -name=Name -primary=Primary -add=Add -save=Save -pickUp=Pick up - -# Tags -confirmNewTag=Tag #{0} is not yet registered. Are you sure you want to create it? -cannotCreateTag=Tag #{0} is not yet registered and you don't have enough rights to create it. - -# People -people=people - -# Library -content=content - -# Geo -map=map - -# Feedback messages -allFieldsMustBeSet=All fields must be set - +people=People diff --git a/swt/org.argeo.app.ui/OSGI-INF/leadPane.xml b/swt/org.argeo.app.ui/OSGI-INF/leadPane.xml index 7583aa1..a620438 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/leadPane.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/leadPane.xml @@ -11,5 +11,5 @@ argeo.library.ui.contentLayer argeo.people.ui.peopleLayer argeo.geo.ui.mapLayer - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/mapLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/mapLayer.xml index 1e72041..44f7a0e 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/mapLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/mapLayer.xml @@ -1,9 +1,9 @@ - + - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/peopleLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/peopleLayer.xml index 95bc27d..a81391f 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/peopleLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/peopleLayer.xml @@ -1,9 +1,9 @@ - + - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/termsLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/termsLayer.xml index a3ffef3..ecfea87 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/termsLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/termsLayer.xml @@ -1,8 +1,8 @@ - + - + diff --git a/swt/org.argeo.app.ui/OSGI-INF/wwwLayer.xml b/swt/org.argeo.app.ui/OSGI-INF/wwwLayer.xml index dc316bd..7a419ca 100644 --- a/swt/org.argeo.app.ui/OSGI-INF/wwwLayer.xml +++ b/swt/org.argeo.app.ui/OSGI-INF/wwwLayer.xml @@ -1,9 +1,9 @@ - + - + diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java index 9231f4a..ede28d1 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java @@ -4,6 +4,8 @@ import java.util.Map; import org.argeo.api.acr.Content; import org.argeo.api.cms.ux.CmsView; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteStyle; import org.argeo.cms.CurrentUser; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtTheme; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java index 0f3fb2e..9a2faf5 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java @@ -13,6 +13,9 @@ import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.RankedObject; import org.argeo.app.core.SuiteUtils; +import org.argeo.app.swt.ux.SwtAppLayer; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteStyle; import org.argeo.cms.CurrentUser; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtUtils; @@ -35,7 +38,7 @@ public class DefaultLeadPane implements CmsUiProvider { defaultLayers, adminLayers; } - private Map> layers = Collections.synchronizedSortedMap(new TreeMap<>()); + private Map> layers = Collections.synchronizedSortedMap(new TreeMap<>()); private List defaultLayers; private List adminLayers = new ArrayList<>(); @@ -98,11 +101,11 @@ public class DefaultLeadPane implements CmsUiProvider { // if (intersection.isEmpty()) // continue layers;// skip unauthorized layer } - RankedObject layerObj = layers.get(layerId); + RankedObject layerObj = layers.get(layerId); Localized title = null; if (!adminLayers.contains(layerId)) { - String titleStr = (String) layerObj.getProperties().get(SuiteLayer.Property.title.name()); + String titleStr = (String) layerObj.getProperties().get(SwtAppLayer.Property.title.name()); if (titleStr != null) { if (titleStr.startsWith("%")) { // LocaleUtils.local(titleStr, getClass().getClassLoader()); @@ -113,7 +116,7 @@ public class DefaultLeadPane implements CmsUiProvider { } } - String iconName = (String) layerObj.getProperties().get(SuiteLayer.Property.icon.name()); + String iconName = (String) layerObj.getProperties().get(SwtAppLayer.Property.icon.name()); SuiteIcon icon = null; if (iconName != null) icon = SuiteIcon.valueOf(iconName); @@ -153,18 +156,18 @@ public class DefaultLeadPane implements CmsUiProvider { } - public void addLayer(SuiteLayer layer, Map properties) { + public void addLayer(SwtAppLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); RankedObject.putIfHigherRank(layers, pid, layer, properties); } } - public void removeLayer(SuiteLayer layer, Map properties) { + public void removeLayer(SwtAppLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); if (layers.containsKey(pid)) { - if (layers.get(pid).equals(new RankedObject(layer, properties))) { + if (layers.get(pid).equals(new RankedObject(layer, properties))) { layers.remove(pid); } } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java index 03927d4..e16b7d6 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java @@ -18,6 +18,8 @@ import javax.jcr.query.QueryResult; import org.argeo.app.api.EntityType; import org.argeo.app.core.XPathUtils; import org.argeo.app.ui.widgets.DelayedText; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; @@ -106,7 +108,7 @@ public class RecentItems implements CmsUiProvider { Node node = (Node) entityViewer.getViewer().getStructuredSelection().getFirstElement(); if (node != null) CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.openNewPart.topic(), - SuiteUxEvent.eventProperties(node)); + SuiteUiUtils.eventProperties(node)); } }); @@ -115,7 +117,7 @@ public class RecentItems implements CmsUiProvider { Node node = (Node) entityViewer.getViewer().getStructuredSelection().getFirstElement(); if (node != null) { CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.refreshPart.topic(), - SuiteUxEvent.eventProperties(node)); + SuiteUiUtils.eventProperties(node)); deleteItem.setEnabled(true); } else { deleteItem.setEnabled(false); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java index 3dc5007..854268c 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java @@ -34,6 +34,9 @@ import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; import org.argeo.app.api.RankedObject; import org.argeo.app.core.SuiteUtils; +import org.argeo.app.swt.ux.SwtAppUi; +import org.argeo.app.ux.SuiteUxEvent; +import org.argeo.app.swt.ux.SwtAppLayer; import org.argeo.cms.AbstractCmsApp; import org.argeo.cms.LocaleUtils; import org.argeo.cms.Localized; @@ -85,13 +88,13 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { // TODO use QName as key for byType private Map> uiProvidersByPid = Collections.synchronizedMap(new HashMap<>()); private Map> uiProvidersByType = Collections.synchronizedMap(new HashMap<>()); - private Map> layersByPid = Collections.synchronizedSortedMap(new TreeMap<>()); - private Map> layersByType = Collections.synchronizedSortedMap(new TreeMap<>()); + private Map> layersByPid = Collections.synchronizedSortedMap(new TreeMap<>()); + private Map> layersByType = Collections.synchronizedSortedMap(new TreeMap<>()); private CmsUserManager cmsUserManager; // TODO make more optimal or via CmsSession/CmsView - private Map managedUis = new HashMap<>(); + private Map managedUis = new HashMap<>(); // ACR private ContentRepository contentRepository; @@ -134,7 +137,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } public void destroy(Map properties) { - for (SuiteUi ui : managedUis.values()) + for (SwtAppUi ui : managedUis.values()) if (!ui.isDisposed()) { ui.getDisplay().syncExec(() -> ui.dispose()); } @@ -162,7 +165,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { CmsTheme theme = getTheme(uiName); if (theme != null) CmsSwtUtils.registerCmsTheme(uiParent.getShell(), theme); - SuiteUi argeoSuiteUi = new SuiteUi(uiParent, SWT.INHERIT_DEFAULT); + SwtAppUi argeoSuiteUi = new SwtAppUi(uiParent, SWT.INHERIT_DEFAULT); String uid = cmsView.getUid(); managedUis.put(uid, argeoSuiteUi); argeoSuiteUi.addDisposeListener((e) -> { @@ -185,7 +188,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { public void refreshUi(CmsUi cmsUi, String state) { try { Content context = null; - SuiteUi ui = (SuiteUi) cmsUi; + SwtAppUi ui = (SwtAppUi) cmsUi; String uiName = Objects.toString(ui.getParent().getData(UI_NAME_PROPERTY), null); if (uiName == null) @@ -255,7 +258,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { refreshPart(headerUiProvider, ui.getHeader(), context); ui.refreshBelowHeader(true); for (String key : layersByPid.keySet()) { - SuiteLayer layer = layersByPid.get(key).get(); + SwtAppLayer layer = layersByPid.get(key).get(); ui.addLayer(key, layer); } @@ -291,7 +294,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { return uiProvidersByPid.get(pid).get(); } - private SuiteLayer findLayer(String pid) { + private SwtAppLayer findLayer(String pid) { if (!layersByPid.containsKey(pid)) return null; return layersByPid.get(pid).get(); @@ -401,8 +404,8 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (state == null) return; if (!state.startsWith("/")) { - if (cmsUi instanceof SuiteUi) { - SuiteUi ui = (SuiteUi) cmsUi; + if (cmsUi instanceof SwtAppUi) { + SwtAppUi ui = (SwtAppUi) cmsUi; if (LOGIN.equals(state)) { String appTitle = ""; if (ui.getTitle() != null) @@ -418,7 +421,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } return; } - SuiteUi suiteUi = (SuiteUi) cmsUi; + SwtAppUi suiteUi = (SwtAppUi) cmsUi; if (suiteUi.isLoginScreen()) { return; } @@ -437,7 +440,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { return node.getPath(); } - private Content stateToNode(SuiteUi suiteUi, String state) { + private Content stateToNode(SwtAppUi suiteUi, String state) { if (suiteUi == null) return null; if (state == null || !state.startsWith("/")) @@ -458,7 +461,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { public void onEvent(String topic, Map event) { // Specific UI related events - SuiteUi ui = getRelatedUi(event); + SwtAppUi ui = getRelatedUi(event); if (ui == null) return; ui.getCmsView().runAs(() -> { @@ -472,7 +475,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (node == null) return; SwtUiProvider uiProvider = findByType(uiProvidersByType, node); - SuiteLayer layer = findByType(layersByType, node); + SwtAppLayer layer = findByType(layersByType, node); ui.switchToLayer(layer, node); layer.view(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), appTitle + CmsUxUtils.getTitle(node)); @@ -481,14 +484,14 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { if (node == null) return; SwtUiProvider uiProvider = findByType(uiProvidersByType, node); - SuiteLayer layer = findByType(layersByType, node); + SwtAppLayer layer = findByType(layersByType, node); ui.switchToLayer(layer, node); layer.open(uiProvider, ui.getCurrentWorkArea(), node); ui.getCmsView().stateChanged(nodeToState(node), appTitle + CmsUxUtils.getTitle(node)); } else if (SuiteUiUtils.isTopic(topic, SuiteUxEvent.switchLayer)) { String layerId = get(event, SuiteUxEvent.LAYER); if (layerId != null) { - SuiteLayer suiteLayer = findLayer(layerId); + SwtAppLayer suiteLayer = findLayer(layerId); if (suiteLayer == null) throw new IllegalArgumentException("No layer '" + layerId + "' available."); Localized layerTitle = suiteLayer.getTitle(); @@ -517,7 +520,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } else { Content node = getContentFromEvent(ui, event); if (node != null) { - SuiteLayer layer = findByType(layersByType, node); + SwtAppLayer layer = findByType(layersByType, node); ui.switchToLayer(layer, node); } } @@ -529,7 +532,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { }); } - protected Content getContentFromEvent(SuiteUi ui, Map event) { + protected Content getContentFromEvent(SwtAppUi ui, Map event) { ProvidedSession contentSession = (ProvidedSession) CmsUxUtils.getContentSession(contentRepository, ui.getCmsView()); @@ -553,7 +556,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { return node; } - private SuiteUi getRelatedUi(Map eventProperties) { + private SwtAppUi getRelatedUi(Map eventProperties) { return managedUis.get(get(eventProperties, CMS_VIEW_UID_PROPERTY)); } @@ -603,7 +606,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } } - public void addLayer(SuiteLayer layer, Map properties) { + public void addLayer(SwtAppLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); RankedObject.putIfHigherRank(layersByPid, pid, layer, properties); @@ -615,11 +618,11 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { } } - public void removeLayer(SuiteLayer layer, Map properties) { + public void removeLayer(SwtAppLayer layer, Map properties) { if (properties.containsKey(Constants.SERVICE_PID)) { String pid = (String) properties.get(Constants.SERVICE_PID); if (layersByPid.containsKey(pid)) { - if (layersByPid.get(pid).equals(new RankedObject(layer, properties))) { + if (layersByPid.get(pid).equals(new RankedObject(layer, properties))) { layersByPid.remove(pid); } } @@ -628,7 +631,7 @@ public class SuiteApp extends AbstractCmsApp implements CmsEventSubscriber { List types = LangUtils.toStringList(properties.get(EntityConstants.TYPE)); for (String type : types) { if (layersByType.containsKey(type)) { - if (layersByType.get(type).equals(new RankedObject(layer, properties))) { + if (layersByType.get(type).equals(new RankedObject(layer, properties))) { layersByType.remove(type); } } diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java index 504e8ed..c98847a 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java @@ -5,6 +5,8 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; import java.util.Objects; import javax.jcr.Node; @@ -19,6 +21,8 @@ import org.argeo.api.cms.ux.CmsIcon; import org.argeo.api.cms.ux.CmsStyle; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; +import org.argeo.app.ux.SuiteStyle; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.LocaleUtils; import org.argeo.cms.Localized; import org.argeo.cms.jcr.acr.JcrContent; @@ -428,6 +432,14 @@ public class SuiteUiUtils { return button; } + @Deprecated + public static Map eventProperties(Node node) { + Map properties = new HashMap<>(); + String contentPath = '/' + Jcr.getWorkspaceName(node) + Jcr.getPath(node); + properties.put(SuiteUxEvent.CONTENT_PATH, contentPath); + return properties; + } + // public static String createAndConfigureEntity(Shell shell, Session referenceSession, String mainMixin, // String... additionnalProps) { // diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonPage.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonPage.java index 380330f..54c94f8 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonPage.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonPage.java @@ -1,7 +1,7 @@ package org.argeo.app.ui.dialogs; -import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteMsg; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonWizard.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonWizard.java index ee9f5b9..2206c55 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonWizard.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/dialogs/NewPersonWizard.java @@ -4,8 +4,8 @@ import static org.argeo.eclipse.ui.EclipseUiUtils.isEmpty; import javax.jcr.Node; -import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteMsg; import org.argeo.eclipse.ui.EclipseUiUtils; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.wizard.Wizard; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java index 5047151..4664758 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java @@ -6,7 +6,7 @@ import org.argeo.api.acr.spi.ProvidedContent; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.acr.SwtUiProvider; import org.argeo.cms.swt.widgets.SwtTreeView; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java index 657a851..0ae0ad7 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java @@ -7,7 +7,8 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import org.argeo.api.cms.ux.CmsView; -import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.fs.CmsFsUtils; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; @@ -29,7 +30,7 @@ public class DocumentsFolderUiProvider implements CmsUiProvider { protected void externalNavigateTo(Path path) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(Jcr.getSession(context).getRepository(), path)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUxEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUiUtils.eventProperties(folderNode)); } }; dfc.setLayoutData(CmsSwtUtils.fillAll()); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java index 6c0bdfc..1f91b64 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java @@ -8,7 +8,8 @@ import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; -import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.fs.CmsFsUtils; @@ -46,7 +47,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUiUtils.eventProperties(folderNode)); } } }); @@ -59,7 +60,7 @@ public class DocumentsTreeUiProvider implements CmsUiProvider { if (Files.isDirectory(newSelected)) { Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected)); parent.addDisposeListener((e1) -> Jcr.logout(folderNode)); - cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUxEvent.eventProperties(folderNode)); + cmsView.sendEvent(SuiteUxEvent.openNewPart.topic(), SuiteUiUtils.eventProperties(folderNode)); } } }); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java index 0fbb5cb..286a4cb 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/library/JcrContentEntryArea.java @@ -13,9 +13,10 @@ import javax.jcr.query.Query; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsConstants; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteUxEvent; -import org.argeo.app.ui.SuiteIcon; +import org.argeo.app.ui.SuiteUiUtils; import org.argeo.app.ui.widgets.TreeOrSearchArea; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.jcr.acr.JcrContentProvider; import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; @@ -86,7 +87,7 @@ public class JcrContentEntryArea implements CmsUiProvider { Node user = (Node) ui.getTreeViewer().getStructuredSelection().getFirstElement(); if (user != null) { CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.openNewPart.topic(), - SuiteUxEvent.eventProperties(user)); + SuiteUiUtils.eventProperties(user)); } } @@ -96,7 +97,7 @@ public class JcrContentEntryArea implements CmsUiProvider { Node user = (Node) ui.getTreeViewer().getStructuredSelection().getFirstElement(); if (user != null) { CmsSwtUtils.getCmsView(parent).sendEvent(SuiteUxEvent.refreshPart.topic(), - SuiteUxEvent.eventProperties(user)); + SuiteUiUtils.eventProperties(user)); } } }); diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java index 97c0e7c..40b3388 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java @@ -15,7 +15,7 @@ import javax.jcr.RepositoryException; import org.apache.commons.io.IOUtils; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; -import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.ux.CmsView; import org.argeo.api.cms.CmsConstants; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java index f0de1ca..5129018 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/GroupUiProvider.java @@ -10,9 +10,9 @@ import org.argeo.api.cms.directory.CmsGroup; import org.argeo.api.cms.directory.CmsUser; import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; -import org.argeo.app.ui.SuiteIcon; -import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteMsg; import org.argeo.cms.CurrentUser; import org.argeo.cms.acr.ContentUtils; import org.argeo.cms.auth.CmsRole; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/HierarchyUnitPart.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/HierarchyUnitPart.java index 3316031..8a2059f 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/HierarchyUnitPart.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/HierarchyUnitPart.java @@ -11,7 +11,7 @@ import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.api.cms.directory.UserDirectory; import org.argeo.api.cms.ux.CmsIcon; -import org.argeo.app.ui.SuiteIcon; +import org.argeo.app.ux.SuiteIcon; import org.argeo.cms.CurrentUser; import org.argeo.cms.acr.ContentUtils; import org.argeo.cms.auth.CmsRole; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewOrgForm.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewOrgForm.java index e39ba0a..b651efa 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewOrgForm.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewOrgForm.java @@ -13,8 +13,8 @@ import org.argeo.api.acr.ldap.LdapObj; import org.argeo.api.cms.directory.CmsGroup; import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; -import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteMsg; import org.argeo.cms.swt.dialogs.CmsFeedback; import org.argeo.cms.swt.widgets.SwtGuidedFormPage; import org.argeo.cms.ux.widgets.AbstractGuidedForm; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewUserForm.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewUserForm.java index 5a73b1b..d70c82a 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewUserForm.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/NewUserForm.java @@ -15,8 +15,8 @@ import org.argeo.api.cms.directory.CmsUser; import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.app.core.SuiteUtils; -import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteMsg; import org.argeo.cms.swt.dialogs.CmsFeedback; import org.argeo.cms.swt.widgets.SwtGuidedFormPage; import org.argeo.cms.ux.widgets.AbstractGuidedForm; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java index f7141a4..5a9a3d6 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java @@ -10,9 +10,9 @@ import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.api.cms.ux.CmsView; -import org.argeo.app.ui.SuiteIcon; -import org.argeo.app.ui.SuiteMsg; -import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteMsg; +import org.argeo.app.ux.SuiteUxEvent; import org.argeo.cms.CurrentUser; import org.argeo.cms.acr.ContentUtils; import org.argeo.cms.auth.CmsRole; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java index 8a22a10..a658898 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java @@ -14,9 +14,9 @@ import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.api.cms.directory.HierarchyUnit.Type; import org.argeo.app.api.SuiteRole; -import org.argeo.app.ui.SuiteMsg; -import org.argeo.app.ui.SuiteStyle; import org.argeo.app.ui.SuiteUiUtils; +import org.argeo.app.ux.SuiteMsg; +import org.argeo.app.ux.SuiteStyle; import org.argeo.cms.CmsMsg; import org.argeo.cms.CurrentUser; import org.argeo.cms.Localized; diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java index 9dae8a4..2214a15 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/UserColumn.java @@ -5,7 +5,7 @@ import org.argeo.api.acr.ldap.LdapAcrUtils; import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.acr.ldap.LdapObj; import org.argeo.api.cms.ux.CmsIcon; -import org.argeo.app.ui.SuiteIcon; +import org.argeo.app.ux.SuiteIcon; import org.argeo.cms.CurrentUser; import org.argeo.cms.auth.UserAdminUtils; import org.argeo.cms.ux.widgets.Column; -- 2.30.2