From: Mathieu Baudier Date: Thu, 15 Mar 2018 17:51:58 +0000 (+0100) Subject: Introduce CMS Theme X-Git-Tag: argeo-commons-2.1.73~41 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=0ec5134a2a650d98b5ca56e7dad81dd252023052 Introduce CMS Theme --- diff --git a/dep/org.argeo.dep.cms.node/pom.xml b/dep/org.argeo.dep.cms.node/pom.xml index 21537c477..bf2b9a3a4 100644 --- a/dep/org.argeo.dep.cms.node/pom.xml +++ b/dep/org.argeo.dep.cms.node/pom.xml @@ -35,6 +35,11 @@ org.argeo.cms.ui 2.1.73-SNAPSHOT + + org.argeo.commons + org.argeo.cms.ui.theme + 2.1.73-SNAPSHOT + org.argeo.commons org.argeo.enterprise diff --git a/org.argeo.cms.ui.theme/.classpath b/org.argeo.cms.ui.theme/.classpath new file mode 100644 index 000000000..eca7bdba8 --- /dev/null +++ b/org.argeo.cms.ui.theme/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.argeo.cms.ui.theme/.gitignore b/org.argeo.cms.ui.theme/.gitignore new file mode 100644 index 000000000..09e3bc9b2 --- /dev/null +++ b/org.argeo.cms.ui.theme/.gitignore @@ -0,0 +1,2 @@ +/bin/ +/target/ diff --git a/org.argeo.cms.ui.theme/.project b/org.argeo.cms.ui.theme/.project new file mode 100644 index 000000000..5f900214b --- /dev/null +++ b/org.argeo.cms.ui.theme/.project @@ -0,0 +1,28 @@ + + + org.argeo.cms.ui.theme + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.argeo.cms.ui.theme/.settings/org.eclipse.jdt.core.prefs b/org.argeo.cms.ui.theme/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..0c68a61dc --- /dev/null +++ b/org.argeo.cms.ui.theme/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/org.argeo.cms.ui.theme/.settings/org.eclipse.pde.core.prefs b/org.argeo.cms.ui.theme/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 000000000..f29e940a0 --- /dev/null +++ b/org.argeo.cms.ui.theme/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=false +resolve.requirebundle=false diff --git a/org.argeo.cms.ui.theme/META-INF/.gitignore b/org.argeo.cms.ui.theme/META-INF/.gitignore new file mode 100644 index 000000000..4854a41b9 --- /dev/null +++ b/org.argeo.cms.ui.theme/META-INF/.gitignore @@ -0,0 +1 @@ +/MANIFEST.MF diff --git a/org.argeo.cms.ui.theme/bnd.bnd b/org.argeo.cms.ui.theme/bnd.bnd new file mode 100644 index 000000000..2b2a02fac --- /dev/null +++ b/org.argeo.cms.ui.theme/bnd.bnd @@ -0,0 +1 @@ +Bundle-ActivationPolicy: lazy diff --git a/org.argeo.cms.ui.theme/build.properties b/org.argeo.cms.ui.theme/build.properties new file mode 100644 index 000000000..34d2e4d2d --- /dev/null +++ b/org.argeo.cms.ui.theme/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/org.argeo.cms.ui.theme/pom.xml b/org.argeo.cms.ui.theme/pom.xml new file mode 100644 index 000000000..c69ab2fc7 --- /dev/null +++ b/org.argeo.cms.ui.theme/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + org.argeo.commons + argeo-commons + 2.1.73-SNAPSHOT + .. + + org.argeo.cms.ui.theme + CMS UI Theme + jar + + + + org.argeo.tp.rap.e4 + org.eclipse.rap.rwt + provided + + + org.argeo.tp.rap.e4 + org.eclipse.rap.jface + provided + + + + \ No newline at end of file diff --git a/org.argeo.cms.ui.theme/src/org/argeo/cms/ui/theme/CmsImages.java b/org.argeo.cms.ui.theme/src/org/argeo/cms/ui/theme/CmsImages.java new file mode 100644 index 000000000..1c4d79eee --- /dev/null +++ b/org.argeo.cms.ui.theme/src/org/argeo/cms/ui/theme/CmsImages.java @@ -0,0 +1,49 @@ +package org.argeo.cms.ui.theme; + +import java.net.URL; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; + +public class CmsImages { + private static BundleContext themeBc = FrameworkUtil.getBundle(CmsImages.class).getBundleContext(); + + final public static String ICONS_BASE = "icons/"; + final public static String TYPES_BASE = ICONS_BASE + "types/"; + final public static String ACTIONS_BASE = ICONS_BASE + "actions/"; + + public static Image createIcon(String name) { + return createImg(CmsImages.ICONS_BASE + name); + } + + public static Image createAction(String name) { + return createImg(CmsImages.ACTIONS_BASE + name); + } + + public static Image createType(String name) { + return createImg(CmsImages.TYPES_BASE + name); + } + + public static Image createImg(String name) { + return CmsImages.createDesc(name).createImage(Display.getDefault()); + } + + public static ImageDescriptor createDesc(String name) { + return createDesc(themeBc, name); + } + + public static ImageDescriptor createDesc(BundleContext bc, String name) { + URL url = bc.getBundle().getResource(name); + if (url == null) + return ImageDescriptor.getMissingImageDescriptor(); + return ImageDescriptor.createFromURL(url); + } + + public static Image createImg(BundleContext bc, String name) { + return createDesc(bc, name).createImage(Display.getDefault()); + } + +} diff --git a/pom.xml b/pom.xml index 24e17a28c..cab81d117 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,7 @@ org.argeo.node.api org.argeo.maintenance org.argeo.cms + org.argeo.cms.ui.theme org.argeo.cms.ui org.argeo.cms.ui.workbench