From c6b561fc1d45dd5abcbf86f99ae546bdc3b42b8d Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 23 Jun 2022 07:00:45 +0200 Subject: [PATCH] Refactor CMS UX API --- .../argeo/app/servlet/publish/DbkServlet.java | 2 +- .../app/servlet/publish/FontsServlet.java | 2 +- .../OSGI-INF/cmsTheme.xml | 2 +- org.argeo.app.ui/OSGI-INF/cmsApp.xml | 2 +- .../config/peopleLayer.properties | 2 +- .../org/argeo/app/ui/DefaultDashboard.java | 2 +- .../org/argeo/app/ui/DefaultEditionLayer.java | 12 ++++----- .../src/org/argeo/app/ui/DefaultHeader.java | 10 ++++---- .../src/org/argeo/app/ui/DefaultLeadPane.java | 2 +- .../org/argeo/app/ui/DefaultLoginScreen.java | 2 +- .../src/org/argeo/app/ui/RecentItems.java | 8 +++--- .../src/org/argeo/app/ui/SuiteApp.java | 8 +++--- .../src/org/argeo/app/ui/SuiteIcon.java | 2 +- .../src/org/argeo/app/ui/SuiteStyle.java | 2 +- .../src/org/argeo/app/ui/SuiteUi.java | 4 +-- .../src/org/argeo/app/ui/SuiteUiUtils.java | 14 +++++------ .../app/ui/docbook/AbstractDbkViewer.java | 4 +-- .../argeo/app/ui/docbook/CustomDbkEditor.java | 2 +- .../argeo/app/ui/docbook/DbkContextMenu.java | 2 +- .../argeo/app/ui/docbook/DbkImageManager.java | 4 +-- .../argeo/app/ui/docbook/DocumentPage.java | 2 +- .../app/ui/docbook/DocumentTextEditor.java | 2 +- .../app/ui/docbook/TextEditorHeader.java | 2 +- .../argeo/app/ui/forms/AbstractTermsPart.java | 14 +++++------ .../app/ui/library/ContentEntryArea.java | 12 ++++----- .../ui/library/DocumentsFolderUiProvider.java | 2 +- .../ui/library/DocumentsTreeUiProvider.java | 2 +- .../app/ui/openlayers/OpenLayersMap.java | 2 +- .../argeo/app/ui/people/PeopleEntryArea.java | 8 +++--- .../app/ui/people/SuiteUsersEntryArea.java | 8 +++--- .../argeo/app/ui/people/UsersEntryArea.java | 25 +++++++++++++------ .../app/ui/publish/DocumentUiProvider.java | 4 +-- .../argeo/app/ui/publish/PublishingApp.java | 2 +- .../argeo/app/ui/publish/PublishingStyle.java | 2 +- 34 files changed, 92 insertions(+), 83 deletions(-) diff --git a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java index d3459cf..dfef911 100644 --- a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java +++ b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/DbkServlet.java @@ -43,7 +43,7 @@ import org.apache.commons.io.IOUtils; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.xalan.processor.TransformerFactoryImpl; -import org.argeo.api.cms.CmsTheme; +import org.argeo.api.cms.ux.CmsTheme; import org.argeo.app.docbook.DbkType; import org.argeo.app.docbook.DbkUtils; import org.argeo.cms.auth.RemoteAuthUtils; diff --git a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FontsServlet.java b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FontsServlet.java index 01e212e..3e65d65 100644 --- a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FontsServlet.java +++ b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FontsServlet.java @@ -12,7 +12,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.IOUtils; -import org.argeo.api.cms.CmsTheme; +import org.argeo.api.cms.ux.CmsTheme; /** Serves fonts locally. */ public class FontsServlet extends HttpServlet { diff --git a/org.argeo.app.theme.default/OSGI-INF/cmsTheme.xml b/org.argeo.app.theme.default/OSGI-INF/cmsTheme.xml index 7d3c221..6219f31 100644 --- a/org.argeo.app.theme.default/OSGI-INF/cmsTheme.xml +++ b/org.argeo.app.theme.default/OSGI-INF/cmsTheme.xml @@ -2,7 +2,7 @@ - + diff --git a/org.argeo.app.ui/OSGI-INF/cmsApp.xml b/org.argeo.app.ui/OSGI-INF/cmsApp.xml index 1b50064..eae6c48 100644 --- a/org.argeo.app.ui/OSGI-INF/cmsApp.xml +++ b/org.argeo.app.ui/OSGI-INF/cmsApp.xml @@ -7,7 +7,7 @@ - + diff --git a/org.argeo.app.ui/config/peopleLayer.properties b/org.argeo.app.ui/config/peopleLayer.properties index 3bc6d8b..0f1c9ce 100644 --- a/org.argeo.app.ui/config/peopleLayer.properties +++ b/org.argeo.app.ui/config/peopleLayer.properties @@ -1,7 +1,7 @@ service.pid=argeo.people.ui.peopleLayer icon=people -weights=5000,5000 +weights=3000,7000 title=%people entity.type=ldap:inetOrgPerson,ldap:groupOfNames \ No newline at end of file diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultDashboard.java b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultDashboard.java index 672b5d3..2a2e1ba 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultDashboard.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultDashboard.java @@ -1,7 +1,7 @@ package org.argeo.app.ui; import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java index 4bfc3de..2398249 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultEditionLayer.java @@ -5,8 +5,8 @@ import java.util.List; import java.util.Map; import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsTheme; import org.argeo.cms.Localized; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.acr.SwtUiProvider; import org.argeo.cms.swt.widgets.SwtTabbedArea; @@ -57,7 +57,7 @@ public class DefaultEditionLayer implements SuiteLayer { this.workArea.createUiPart(area, context); return area; } - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); SwtTabbedArea tabbedArea = createTabbedArea(parent, theme); return tabbedArea; } @@ -170,13 +170,13 @@ public class DefaultEditionLayer implements SuiteLayer { this.defaultView = defaultView; } - SwtTabbedArea createTabbedArea(Composite parent, CmsTheme theme) { + SwtTabbedArea createTabbedArea(Composite parent, CmsSwtTheme theme) { SwtTabbedArea tabbedArea = new SwtTabbedArea(parent, SWT.NONE); tabbedArea.setSingleTab(singleTab); tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.style()); tabbedArea.setTabStyle(SuiteStyle.mainTab.style()); tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.style()); - tabbedArea.setCloseIcon(SuiteIcon.close.getSmallIcon(theme)); + tabbedArea.setCloseIcon(theme.getSmallIcon(SuiteIcon.close)); tabbedArea.setLayoutData(CmsSwtUtils.fillAll()); return tabbedArea; } @@ -189,7 +189,7 @@ public class DefaultEditionLayer implements SuiteLayer { SashFormEditionArea(Composite parent, int style) { super(parent, SWT.HORIZONTAL); - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); Composite editorC; if (SWT.RIGHT_TO_LEFT == (style & SWT.RIGHT_TO_LEFT)) {// arabic, hebrew, etc. @@ -242,7 +242,7 @@ public class DefaultEditionLayer implements SuiteLayer { public FixedEditionArea(Composite parent, int style) { super(parent, style); - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); setLayout(CmsSwtUtils.noSpaceGridLayout(2)); diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java index 53554dc..9581b8c 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultHeader.java @@ -3,10 +3,10 @@ package org.argeo.app.ui; import java.util.Map; import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsTheme; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.Localized; import org.argeo.cms.auth.CurrentUser; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; import org.eclipse.swt.SWT; @@ -27,9 +27,9 @@ public class DefaultHeader implements CmsUiProvider { private Localized title = null; @Override - public Control createUiPart(Composite parent, Content context) { + public Control createUiPart(Composite parent, Content context) { CmsView cmsView = CmsSwtUtils.getCmsView(parent); - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); parent.setLayout(CmsSwtUtils.noSpaceGridLayout(new GridLayout(3, true))); @@ -63,7 +63,7 @@ public class DefaultHeader implements CmsUiProvider { userL.setText(CurrentUser.getDisplayName()); Button logoutB = new Button(end, SWT.FLAT); // CmsUiUtils.style(logoutB, SuiteStyle.header); - logoutB.setImage(SuiteIcon.logout.getSmallIcon(theme)); + logoutB.setImage(theme.getSmallIcon(SuiteIcon.logout)); logoutB.addSelectionListener(new SelectionAdapter() { private static final long serialVersionUID = 7116760083964201233L; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java index 94b3b93..44d43f6 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLeadPane.java @@ -11,7 +11,7 @@ import java.util.TreeMap; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsLog; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.RankedObject; import org.argeo.app.core.SuiteUtils; import org.argeo.cms.Localized; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java index 117d644..c92e3db 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java @@ -2,7 +2,7 @@ package org.argeo.app.ui; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsContext; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.auth.CmsLogin; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java b/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java index c4272e6..53bcdfe 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/RecentItems.java @@ -15,10 +15,10 @@ import javax.jcr.observation.EventListener; import javax.jcr.query.Query; import javax.jcr.query.QueryResult; -import org.argeo.api.cms.CmsTheme; import org.argeo.app.api.EntityType; import org.argeo.app.core.XPathUtils; import org.argeo.app.ui.widgets.DelayedText; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -53,7 +53,7 @@ public class RecentItems implements CmsUiProvider { private final static int SEARCH_TEXT_DELAY = 800; private final static int SEARCH_DEFAULT_LIMIT = 100; - private CmsTheme theme; + private CmsSwtTheme theme; private String entityType; @@ -96,9 +96,9 @@ public class RecentItems implements CmsUiProvider { ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); deleteItem.setEnabled(false); // CmsUiUtils.style(deleteItem, SuiteStyle.recentItems); - deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); + deleteItem.setImage(theme.getSmallIcon(SuiteIcon.delete)); ToolItem addItem = new ToolItem(bottomToolBar, SWT.FLAT); - addItem.setImage(SuiteIcon.add.getSmallIcon(theme)); + addItem.setImage(theme.getSmallIcon(SuiteIcon.add)); entityViewer.getViewer().addDoubleClickListener(new IDoubleClickListener() { @Override diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java index 204688d..679f46d 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteApp.java @@ -1,6 +1,6 @@ package org.argeo.app.ui; -import static org.argeo.api.cms.CmsView.CMS_VIEW_UID_PROPERTY; +import static org.argeo.api.cms.ux.CmsView.CMS_VIEW_UID_PROPERTY; import java.util.Collections; import java.util.HashMap; @@ -24,9 +24,9 @@ import org.argeo.api.acr.spi.ProvidedSession; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; 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.api.cms.ux.CmsTheme; +import org.argeo.api.cms.ux.CmsUi; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.EntityConstants; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java index fda0eb9..777c271 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteIcon.java @@ -1,6 +1,6 @@ package org.argeo.app.ui; -import org.argeo.cms.swt.CmsIcon; +import org.argeo.api.cms.ux.CmsIcon; /** Icon names used by Argeo Suite. */ public enum SuiteIcon implements CmsIcon { diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java index 7afd23c..1afff73 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteStyle.java @@ -1,6 +1,6 @@ package org.argeo.app.ui; -import org.argeo.api.cms.CmsStyle; +import org.argeo.api.cms.ux.CmsStyle; /** Styles used by Argeo Suite work UI. */ public enum SuiteStyle implements CmsStyle { diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java index a19da21..f4464ba 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUi.java @@ -5,8 +5,8 @@ import java.util.Map; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsLog; -import org.argeo.api.cms.CmsUi; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsUi; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.Localized; import org.argeo.cms.swt.CmsSwtUtils; import org.eclipse.swt.SWT; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java index 7fe00fe..a5205ee 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteUiUtils.java @@ -12,11 +12,11 @@ import javax.jcr.Session; import org.apache.commons.io.IOUtils; import org.argeo.api.acr.Content; -import org.argeo.api.cms.CmsEditable; import org.argeo.api.cms.CmsEvent; -import org.argeo.api.cms.CmsStyle; -import org.argeo.api.cms.CmsTheme; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsEditable; +import org.argeo.api.cms.ux.CmsIcon; +import org.argeo.api.cms.ux.CmsStyle; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; import org.argeo.app.api.SuiteRole; @@ -24,7 +24,7 @@ import org.argeo.cms.LocaleUtils; import org.argeo.cms.Localized; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.jcr.acr.JcrContent; -import org.argeo.cms.swt.CmsIcon; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.dialogs.LightweightDialog; import org.argeo.cms.ui.util.CmsLink; @@ -404,11 +404,11 @@ public class SuiteUiUtils { public static Button createLayerButton(Composite parent, String layer, Localized msg, CmsIcon icon, ClassLoader l10nClassLoader) { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); Button button = new Button(parent, SWT.PUSH); CmsSwtUtils.style(button, SuiteStyle.leadPane); if (icon != null) - button.setImage(icon.getBigIcon(theme)); + button.setImage(theme.getBigIcon(icon)); button.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, false)); // button.setToolTipText(msg.lead()); if (msg != null) { diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/AbstractDbkViewer.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/AbstractDbkViewer.java index 5012805..ac3eb0a 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/AbstractDbkViewer.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/AbstractDbkViewer.java @@ -16,9 +16,9 @@ import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; import javax.jcr.Session; -import org.argeo.api.cms.Cms2DSize; -import org.argeo.api.cms.CmsEditable; import org.argeo.api.cms.CmsLog; +import org.argeo.api.cms.ux.Cms2DSize; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.app.docbook.DbkAttr; import org.argeo.app.docbook.DbkType; import org.argeo.app.docbook.DbkUtils; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/CustomDbkEditor.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/CustomDbkEditor.java index 16845ae..365a5a1 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/CustomDbkEditor.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/CustomDbkEditor.java @@ -2,7 +2,7 @@ package org.argeo.app.ui.docbook; import javax.jcr.Node; -import org.argeo.api.cms.CmsEditable; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.cms.ui.viewers.Section; import org.eclipse.swt.widgets.Composite; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkContextMenu.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkContextMenu.java index cf45ef9..cd653dc 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkContextMenu.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkContextMenu.java @@ -5,7 +5,7 @@ import java.util.List; import javax.jcr.Node; -import org.argeo.api.cms.CmsEditable; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.app.docbook.DbkMsg; import org.argeo.app.docbook.DbkUtils; import org.argeo.cms.swt.CmsSwtUtils; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkImageManager.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkImageManager.java index 32bbdd9..1493223 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkImageManager.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DbkImageManager.java @@ -17,8 +17,8 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; -import org.argeo.api.cms.Cms2DSize; -import org.argeo.api.cms.CmsImageManager; +import org.argeo.api.cms.ux.Cms2DSize; +import org.argeo.api.cms.ux.CmsImageManager; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; import org.argeo.app.docbook.DbkAttr; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentPage.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentPage.java index 8aba8b7..b846985 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentPage.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentPage.java @@ -6,7 +6,7 @@ import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; -import org.argeo.api.cms.CmsEditable; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.app.docbook.DbkType; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentTextEditor.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentTextEditor.java index 8f3a10c..7d41117 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentTextEditor.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/DocumentTextEditor.java @@ -3,7 +3,7 @@ package org.argeo.app.ui.docbook; import javax.jcr.Node; import javax.jcr.RepositoryException; -import org.argeo.api.cms.CmsEditable; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.app.docbook.DbkType; import org.argeo.app.docbook.DbkUtils; import org.argeo.cms.swt.CmsSwtUtils; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/TextEditorHeader.java b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/TextEditorHeader.java index 31251aa..22fd55a 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/docbook/TextEditorHeader.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/docbook/TextEditorHeader.java @@ -3,7 +3,7 @@ package org.argeo.app.ui.docbook; import java.util.Observable; import java.util.Observer; -import org.argeo.api.cms.CmsEditable; +import org.argeo.api.cms.ux.CmsEditable; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.widgets.TextStyles; import org.eclipse.swt.SWT; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/forms/AbstractTermsPart.java b/org.argeo.app.ui/src/org/argeo/app/ui/forms/AbstractTermsPart.java index 0ce2ed1..6f92074 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/forms/AbstractTermsPart.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/forms/AbstractTermsPart.java @@ -2,12 +2,12 @@ package org.argeo.app.ui.forms; import javax.jcr.Item; -import org.argeo.api.cms.CmsTheme; +import org.argeo.api.cms.ux.CmsIcon; import org.argeo.app.api.Term; import org.argeo.app.api.TermsManager; import org.argeo.app.api.Typology; import org.argeo.cms.Localized; -import org.argeo.cms.swt.CmsIcon; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.viewers.EditablePart; import org.argeo.cms.ui.widgets.ContextOverlay; @@ -36,8 +36,8 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl private Color highlightColor; private Composite highlight; - protected final CmsTheme theme; - + protected final CmsSwtTheme theme; + public AbstractTermsPart(Composite parent, int style, Item item, TermsManager termsManager, String typology) { super(parent, style, item); if (item == null) @@ -110,21 +110,21 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl protected void styleDelete(ToolItem deleteItem) { if (deleteIcon != null) - deleteItem.setImage(deleteIcon.getSmallIcon(theme)); + deleteItem.setImage(theme.getSmallIcon(deleteIcon)); else deleteItem.setText("-"); } protected void styleCancel(ToolItem cancelItem) { if (cancelIcon != null) - cancelItem.setImage(cancelIcon.getSmallIcon(theme)); + cancelItem.setImage(theme.getSmallIcon(cancelIcon)); else cancelItem.setText("X"); } protected void styleAdd(ToolItem addItem) { if (addIcon != null) - addItem.setImage(addIcon.getSmallIcon(theme)); + addItem.setImage(theme.getSmallIcon(addIcon)); else addItem.setText("+"); } diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java index 8831641..42c7e69 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/library/ContentEntryArea.java @@ -12,12 +12,12 @@ import javax.jcr.query.Query; import org.argeo.api.acr.Content; import org.argeo.api.cms.CmsConstants; -import org.argeo.api.cms.CmsTheme; import org.argeo.app.api.EntityType; import org.argeo.app.ui.SuiteEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.widgets.TreeOrSearchArea; import org.argeo.cms.jcr.acr.JcrContentProvider; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.jcr.Jcr; @@ -41,7 +41,7 @@ public class ContentEntryArea implements CmsUiProvider { @Override public Control createUiPart(Composite parent, Content context) { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); parent.setLayout(new GridLayout()); Ui ui = new Ui(parent, SWT.NONE); @@ -62,15 +62,15 @@ public class ContentEntryArea implements CmsUiProvider { Node node = (Node) element; Image icon; if (Jcr.isNodeType(node, NodeType.NT_FOLDER)) { - icon = SuiteIcon.folder.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.folder); } else if (Jcr.isNodeType(node, NodeType.NT_FILE)) { // TODO check recognized document types - icon = SuiteIcon.document.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.document); } else if (Jcr.isNodeType(node, EntityType.document.get())) { - icon = SuiteIcon.document.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.document); } else { if (!isLeaf(node)) - icon = SuiteIcon.folder.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.folder); else icon = null; } diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java b/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java index 781b862..614e877 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsFolderUiProvider.java @@ -6,7 +6,7 @@ import java.nio.file.spi.FileSystemProvider; import javax.jcr.Node; import javax.jcr.RepositoryException; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.ui.SuiteEvent; import org.argeo.cms.fs.CmsFsUtils; import org.argeo.cms.swt.CmsSwtUtils; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java b/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java index 1c82396..10ce4a3 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/library/DocumentsTreeUiProvider.java @@ -8,9 +8,9 @@ import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; -import org.argeo.api.cms.CmsView; import org.argeo.app.ui.SuiteEvent; import org.argeo.api.cms.CmsConstants; +import org.argeo.api.cms.ux.CmsView; import org.argeo.cms.fs.CmsFsUtils; import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.swt.CmsSwtUtils; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java b/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java index 76aa403..fb7e064 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/openlayers/OpenLayersMap.java @@ -13,11 +13,11 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import org.apache.commons.io.IOUtils; -import org.argeo.api.cms.CmsView; import org.argeo.app.api.EntityNames; import org.argeo.app.api.EntityType; import org.argeo.app.ui.SuiteEvent; import org.argeo.api.cms.CmsLog; +import org.argeo.api.cms.ux.CmsView; import org.argeo.api.cms.CmsConstants; import org.argeo.cms.swt.CmsSwtUtils; import org.eclipse.swt.SWT; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java index 7e9fa6a..a2ddfe9 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java @@ -5,12 +5,12 @@ import java.util.Set; import javax.jcr.Node; import javax.jcr.RepositoryException; -import org.argeo.api.cms.CmsTheme; import org.argeo.app.api.SuiteRole; import org.argeo.app.ui.SuiteEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.dialogs.NewUserWizard; import org.argeo.cms.CmsUserManager; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.Selected; import org.argeo.cms.swt.dialogs.CmsWizardDialog; @@ -43,7 +43,7 @@ public class PeopleEntryArea implements CmsUiProvider { @Override public Control createUi(Composite parent, Node context) throws RepositoryException { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); parent.setLayout(new GridLayout()); TableViewer usersViewer = new TableViewer(parent); usersViewer.setContentProvider(new UsersContentProvider()); @@ -100,9 +100,9 @@ public class PeopleEntryArea implements CmsUiProvider { ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); deleteItem.setEnabled(false); // CmsUiUtils.style(deleteItem, SuiteStyle.recentItems); - deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); + deleteItem.setImage(theme.getSmallIcon(SuiteIcon.delete)); ToolItem addItem = new ToolItem(bottomToolBar, SWT.FLAT); - addItem.setImage(SuiteIcon.add.getSmallIcon(theme)); + addItem.setImage(theme.getSmallIcon(SuiteIcon.add)); usersViewer.addDoubleClickListener(new IDoubleClickListener() { @Override diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/SuiteUsersEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/SuiteUsersEntryArea.java index c6a49b6..693d0d6 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/SuiteUsersEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/SuiteUsersEntryArea.java @@ -5,12 +5,12 @@ import java.util.Set; import javax.jcr.Node; import javax.jcr.RepositoryException; -import org.argeo.api.cms.CmsTheme; import org.argeo.app.api.SuiteRole; import org.argeo.app.ui.SuiteEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.dialogs.NewUserWizard; import org.argeo.cms.CmsUserManager; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.Selected; import org.argeo.cms.swt.dialogs.CmsWizardDialog; @@ -43,7 +43,7 @@ public class SuiteUsersEntryArea implements CmsUiProvider { @Override public Control createUi(Composite parent, Node context) throws RepositoryException { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); parent.setLayout(new GridLayout()); TableViewer usersViewer = new TableViewer(parent); usersViewer.setContentProvider(new UsersContentProvider()); @@ -100,9 +100,9 @@ public class SuiteUsersEntryArea implements CmsUiProvider { ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); deleteItem.setEnabled(false); // CmsUiUtils.style(deleteItem, SuiteStyle.recentItems); - deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); + deleteItem.setImage(theme.getSmallIcon(SuiteIcon.delete)); ToolItem addItem = new ToolItem(bottomToolBar, SWT.FLAT); - addItem.setImage(SuiteIcon.add.getSmallIcon(theme)); + addItem.setImage(theme.getSmallIcon(SuiteIcon.add)); usersViewer.addDoubleClickListener(new IDoubleClickListener() { @Override diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java index bcbdd12..c31159b 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/UsersEntryArea.java @@ -9,8 +9,7 @@ import javax.jcr.RepositoryException; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentRepository; import org.argeo.api.acr.ContentSession; -import org.argeo.api.cms.CmsTheme; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.ui.SuiteEvent; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.dialogs.NewUserWizard; @@ -18,6 +17,7 @@ import org.argeo.cms.CmsUserManager; import org.argeo.cms.auth.CmsRole; import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.jcr.acr.JcrContent; +import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.Selected; import org.argeo.cms.swt.acr.SwtUiProvider; @@ -25,6 +25,7 @@ import org.argeo.cms.swt.dialogs.CmsWizardDialog; import org.argeo.cms.swt.widgets.SwtHierarchicalPart; import org.argeo.cms.swt.widgets.SwtTabularPart; import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ux.widgets.Column; import org.argeo.cms.ux.widgets.HierarchicalPart; import org.argeo.cms.ux.widgets.TabularPart; import org.argeo.osgi.useradmin.UserDirectory; @@ -58,7 +59,7 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { @Override public Control createUiPart(Composite parent, Content context) { - CmsTheme theme = CmsSwtUtils.getCmsTheme(parent); + CmsSwtTheme theme = CmsSwtUtils.getCmsTheme(parent); CmsView cmsView = CmsSwtUtils.getCmsView(parent); parent.setLayout(new GridLayout()); @@ -127,11 +128,11 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { item.setText(role.getName()); Image icon; if (role instanceof Organization) { - icon = SuiteIcon.organisation.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.organisation); } else if (role instanceof FunctionalGroup) { - icon = SuiteIcon.group.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.group); } else if (role instanceof Person) { - icon = SuiteIcon.person.getSmallIcon(theme); + icon = theme.getSmallIcon(SuiteIcon.person); } else { icon = null; } @@ -158,6 +159,13 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { } }; + usersView.addColumn(new Column() { + + @Override + public String getText(User model) { + return model.toString(); + } + }); Composite bottom = new Composite(parent, SWT.NONE); bottom.setLayoutData(CmsSwtUtils.fillWidth()); @@ -167,10 +175,11 @@ public class UsersEntryArea implements SwtUiProvider, CmsUiProvider { ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); deleteItem.setEnabled(false); // CmsUiUtils.style(deleteItem, SuiteStyle.recentItems); - deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); + deleteItem.setImage(theme.getSmallIcon(SuiteIcon.delete)); ToolItem addItem = new ToolItem(bottomToolBar, SWT.FLAT); - addItem.setImage(SuiteIcon.add.getSmallIcon(theme)); + addItem.setImage(theme.getSmallIcon(SuiteIcon.add)); + sashForm.setWeights(new int[] { 30, 70 }); // CONTROLLER directoriesView.onSelected((o) -> { if (o instanceof HierarchyUnit) { diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/publish/DocumentUiProvider.java b/org.argeo.app.ui/src/org/argeo/app/ui/publish/DocumentUiProvider.java index e2775ab..55bd6c9 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/publish/DocumentUiProvider.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/publish/DocumentUiProvider.java @@ -4,8 +4,8 @@ import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.nodetype.NodeType; -import org.argeo.api.cms.CmsEditable; -import org.argeo.api.cms.CmsView; +import org.argeo.api.cms.ux.CmsEditable; +import org.argeo.api.cms.ux.CmsView; import org.argeo.app.docbook.DbkType; import org.argeo.app.ui.docbook.AbstractDbkViewer; import org.argeo.app.ui.docbook.DocumentTextEditor; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingApp.java b/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingApp.java index 6e32012..c851b59 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingApp.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingApp.java @@ -12,9 +12,9 @@ import javax.jcr.Repository; import javax.jcr.Session; import org.argeo.api.cms.CmsApp; -import org.argeo.api.cms.CmsUi; import org.argeo.app.ui.SuiteApp; import org.argeo.api.cms.CmsLog; +import org.argeo.api.cms.ux.CmsUi; import org.argeo.cms.AbstractCmsApp; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.jcr.Jcr; diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingStyle.java b/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingStyle.java index c2c8231..256055c 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingStyle.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/publish/PublishingStyle.java @@ -1,6 +1,6 @@ package org.argeo.app.ui.publish; -import org.argeo.api.cms.CmsStyle; +import org.argeo.api.cms.ux.CmsStyle; /** Publishing styles. */ public enum PublishingStyle implements CmsStyle { -- 2.30.2