Move Nebula Editor tests to RAP specific
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 28 Oct 2018 17:52:21 +0000 (18:52 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 28 Oct 2018 17:52:21 +0000 (18:52 +0100)
15 files changed:
org.argeo.cms.e4.rap/bnd.bnd
org.argeo.cms.e4.rap/e4xmi/cms-demo-rap.e4xmi [new file with mode: 0644]
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/CmsE4DemoApp.java
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-removeButtons.js [new file with mode: 0644]
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbar.js [new file with mode: 0644]
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbarGroups.json [new file with mode: 0644]
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/HtmlEditor.java [new file with mode: 0644]
org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/test.json [new file with mode: 0644]
org.argeo.cms.e4/bnd.bnd
org.argeo.cms.e4/e4xmi/cms-demo.e4xmi [deleted file]
org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-removeButtons.js [deleted file]
org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbar.js [deleted file]
org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbarGroups.json [deleted file]
org.argeo.cms.e4/src/org/argeo/cms/e4/parts/HtmlEditor.java [deleted file]
org.argeo.cms.e4/src/org/argeo/cms/e4/parts/test.json [deleted file]

index 61e39b09f9c5c39736ad401823815c539efe7143..32ff6d1f17065024c1da408f99d9686dae141151 100644 (file)
@@ -10,4 +10,5 @@ org.eclipse.swt.graphics,\
 org.eclipse.e4.ui.workbench,\
 org.eclipse.rap.rwt.client,\
 org.argeo.cms.script,\
+org.eclipse.nebula.widgets.richtext;resolution:=optional,\
 *
diff --git a/org.argeo.cms.e4.rap/e4xmi/cms-demo-rap.e4xmi b/org.argeo.cms.e4.rap/e4xmi/cms-demo-rap.e4xmi
new file mode 100644 (file)
index 0000000..36064f0
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ASCII"?>
+<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_PjHLwMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.application">
+  <children xsi:type="basic:TrimmedWindow" xmi:id="_QnyU0Mb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.trimmedwindow.0">
+    <children xsi:type="basic:PartStack" xmi:id="_V9EXcMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.partstack.0">
+      <children xsi:type="basic:Part" xmi:id="_RVKlIMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.docbook" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.parts.CmsDocBookEditor" label="DocBook">
+        <toolbar xmi:id="_TANxsMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.toolbar.1">
+          <children xsi:type="menu:HandledToolItem" xmi:id="_alIUoMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handledtoolitem.save" label="Save" command="_vsxg8McmEeiIG7Bq51Btuw"/>
+        </toolbar>
+      </children>
+      <children xsi:type="basic:Part" xmi:id="_fPCGgMcCEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.texteditor" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.parts.CmsTextEditor" label="Text Editor">
+        <toolbar xmi:id="_jlPucMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.toolbar.0">
+          <children xsi:type="menu:HandledToolItem" xmi:id="_r3TEMMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handledtoolitem.0" command="_vsxg8McmEeiIG7Bq51Btuw"/>
+        </toolbar>
+      </children>
+      <children xsi:type="basic:Part" xmi:id="_cIlegMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.htmleditor" contributionURI="bundleclass://org.argeo.cms.e4.rap/org.argeo.cms.e4.rap.parts.HtmlEditor" label="HTML Editor"/>
+    </children>
+  </children>
+  <handlers xmi:id="_zqabMMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handler.0" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SavePart" command="_vsxg8McmEeiIG7Bq51Btuw"/>
+  <commands xmi:id="_vsxg8McmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.command.save" commandName="Save"/>
+  <addons xmi:id="_PjHLwcb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
+  <addons xmi:id="_PjHLwsb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
+  <addons xmi:id="_PjHLw8b4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
+  <addons xmi:id="_PjHLxMb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
+  <addons xmi:id="_PjHLxcb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
+  <addons xmi:id="_PjHLxsb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
+  <addons xmi:id="_PjHLx8b4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
+</application:Application>
index 358980b08f51f90c0c8832fd7e565fdc69268560..2987e4da3d6b8cfd42d9f8ebb72eddcfc84b0155 100644 (file)
@@ -3,7 +3,7 @@ package org.argeo.cms.e4.rap;
 public class CmsE4DemoApp extends AbstractRapE4App {
        public CmsE4DemoApp() {
                setPageTitle("CMS Demo");
-               setE4Xmi("org.argeo.cms.e4/e4xmi/cms-demo.e4xmi");
+               setE4Xmi("org.argeo.cms.e4.rap/e4xmi/cms-demo-rap.e4xmi");
                setPath("/cms-e4");
        }
 
diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-removeButtons.js b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-removeButtons.js
new file mode 100644 (file)
index 0000000..20e82e3
--- /dev/null
@@ -0,0 +1 @@
+'Source,Save,Templates,Strike,Subscript,Superscript,CopyFormatting,Outdent,Indent,CreateDiv,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,Language,Anchor,Flash,HorizontalRule,Smiley,SpecialChar,PageBreak,Iframe,Format,Font,FontSize,BGColor,TextColor,ShowBlocks,About,Preview,Print,Redo,Replace,Find,Undo,SelectAll,Scayt,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,NewPage,PasteFromWord,Blockquote,BidiLtr,BidiRtl'
\ No newline at end of file
diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbar.js b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbar.js
new file mode 100644 (file)
index 0000000..3058655
--- /dev/null
@@ -0,0 +1,19 @@
+CKEDITOR.editorConfig = function( config ) {
+       config.toolbarGroups = [
+               { name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
+               { name: 'styles', groups: [ 'styles' ] },
+               { name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
+               { name: 'forms', groups: [ 'forms' ] },
+               { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
+               { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
+               { name: 'insert', groups: [ 'insert' ] },
+               { name: 'links', groups: [ 'links' ] },
+               { name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
+               { name: 'colors', groups: [ 'colors' ] },
+               { name: 'tools', groups: [ 'tools' ] },
+               { name: 'others', groups: [ 'others' ] },
+               { name: 'about', groups: [ 'about' ] }
+       ];
+
+       config.removeButtons = 'Source,Save,Templates,Strike,Subscript,Superscript,CopyFormatting,Outdent,Indent,CreateDiv,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,BidiLtr,BidiRtl,Language,Anchor,Flash,HorizontalRule,Smiley,SpecialChar,PageBreak,Iframe,Format,Font,FontSize,BGColor,TextColor,Maximize,ShowBlocks,About,Preview,Print,Redo,Replace,Find,Undo,SelectAll,Scayt,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,NewPage,PasteFromWord,Blockquote';
+};
\ No newline at end of file
diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbarGroups.json b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/CkEditor-toolbarGroups.json
new file mode 100644 (file)
index 0000000..a886c27
--- /dev/null
@@ -0,0 +1,92 @@
+[
+       {
+               "name": "document",
+               "groups": [
+                       "mode",
+                       "document",
+                       "doctools"
+               ]
+       },
+       {
+               "name": "styles",
+               "groups": [
+                       "styles"
+               ]
+       },
+       {
+               "name": "editing",
+               "groups": [
+                       "find",
+                       "selection",
+                       "spellchecker",
+                       "editing"
+               ]
+       },
+       {
+               "name": "forms",
+               "groups": [
+                       "forms"
+               ]
+       },
+       {
+               "name": "basicstyles",
+               "groups": [
+                       "basicstyles",
+                       "cleanup"
+               ]
+       },
+       {
+               "name": "paragraph",
+               "groups": [
+                       "list",
+                       "indent",
+                       "blocks",
+                       "align",
+                       "bidi",
+                       "paragraph"
+               ]
+       },
+       {
+               "name": "insert",
+               "groups": [
+                       "insert"
+               ]
+       },
+       {
+               "name": "links",
+               "groups": [
+                       "links"
+               ]
+       },
+       {
+               "name": "clipboard",
+               "groups": [
+                       "clipboard",
+                       "undo"
+               ]
+       },
+       {
+               "name": "colors",
+               "groups": [
+                       "colors"
+               ]
+       },
+       {
+               "name": "tools",
+               "groups": [
+                       "tools"
+               ]
+       },
+       {
+               "name": "others",
+               "groups": [
+                       "others"
+               ]
+       },
+       {
+               "name": "about",
+               "groups": [
+                       "about"
+               ]
+       }
+]
\ No newline at end of file
diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/HtmlEditor.java b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/HtmlEditor.java
new file mode 100644 (file)
index 0000000..68963f9
--- /dev/null
@@ -0,0 +1,127 @@
+package org.argeo.cms.e4.rap.parts;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+
+import javax.annotation.PostConstruct;
+
+import org.apache.commons.io.IOUtils;
+import org.argeo.cms.CmsException;
+import org.argeo.cms.util.CmsUtils;
+import org.eclipse.nebula.widgets.richtext.RichTextEditor;
+import org.eclipse.nebula.widgets.richtext.RichTextEditorConfiguration;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+
+public class HtmlEditor {
+
+       @PostConstruct
+       public void createUI(Composite parent) {
+               String toolbarGroups;
+               String removeButtons;
+               try {
+                       toolbarGroups = IOUtils.toString(HtmlEditor.class.getResourceAsStream("CkEditor-toolbarGroups.json"),
+                                       StandardCharsets.UTF_8);
+                       removeButtons = IOUtils.toString(HtmlEditor.class.getResourceAsStream("CkEditor-removeButtons.js"),
+                                       StandardCharsets.UTF_8);
+               } catch (IOException e) {
+                       throw new CmsException("Cannot configure toolbar", e);
+               }
+//             System.out.println(toolbarGroups);
+//             System.out.println(removeButtons);
+               RichTextEditorConfiguration richTextEditorConfig = new RichTextEditorConfiguration();
+               richTextEditorConfig.setOption(RichTextEditorConfiguration.TOOLBAR_GROUPS, toolbarGroups);
+               richTextEditorConfig.setOption(RichTextEditorConfiguration.REMOVE_BUTTONS, removeButtons);
+//             richTextEditorConfig.setRemoveStyles(false);
+//             richTextEditorConfig.setRemovePasteFromWord(true);
+//             richTextEditorConfig.setRemovePasteText(false);
+
+//             richTextEditorConfig.setToolbarCollapsible(true);
+//             richTextEditorConfig.setToolbarInitialExpanded(false);
+               
+               final Display display = parent.getDisplay();
+               Composite composite = new Composite(parent, SWT.NONE);
+//             composite.setLayoutData(new Fill);
+               composite.setLayout(new GridLayout());
+               final RichTextEditor richTextEditor = new RichTextEditor(composite, richTextEditorConfig, SWT.BORDER);
+               richTextEditor.setText("<a href='http://googl.com'>Google</a>");
+               GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
+               richTextEditor.setLayoutData(layoutData);
+               richTextEditor.setBackground(new Color(display, 247, 247, 247));
+               Composite toolbar = new Composite(composite, SWT.NONE);
+               toolbar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+               toolbar.setLayout(new GridLayout(3, false));
+               Button showContent = new Button(toolbar, SWT.PUSH);
+               showContent.setText("Show Content");
+               showContent.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               showContent(parent, richTextEditor, false);
+                       }
+               });
+               Button showSource = new Button(toolbar, SWT.PUSH);
+               showSource.setText("Show Source");
+               showSource.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               showContent(parent, richTextEditor, true);
+                       }
+               });
+               Button clearBtn = new Button(toolbar, SWT.NONE);
+               clearBtn.setText("Clear");
+               clearBtn.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               richTextEditor.setText("");
+                       }
+               });
+
+       }
+
+       private static void showContent(Composite parent, RichTextEditor editor, boolean source) {
+               int style = SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL;
+               final Shell content = new Shell(parent.getShell(), style);
+               content.setLayout(new GridLayout(1, true));
+               String text = editor.getText();
+               if (source) {
+                       content.setText("Rich Text Source");
+                       Text viewer = new Text(content, SWT.MULTI | SWT.WRAP);
+                       viewer.setLayoutData(new GridData(400, 400));
+                       viewer.setText(text);
+                       viewer.setEditable(false);
+               } else {
+                       content.setText("Rich Text");
+                       Browser viewer = new Browser(content, SWT.NONE);
+                       viewer.setLayoutData(new GridData(400, 400));
+                       viewer.setText(text);
+                       viewer.setEnabled(false);
+               }
+               Button ok = new Button(content, SWT.PUSH);
+               ok.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, false, false));
+               ok.setText("OK");
+               ok.addSelectionListener(new SelectionAdapter() {
+                       @Override
+                       public void widgetSelected(SelectionEvent e) {
+                               content.dispose();
+                       }
+               });
+               content.setDefaultButton(ok);
+               content.pack();
+               Display display = parent.getDisplay();
+               int left = (display.getClientArea().width / 2) - (content.getBounds().width / 2);
+               content.setLocation(left, 40);
+               content.open();
+               ok.setFocus();
+       }
+
+}
diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/test.json b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/parts/test.json
new file mode 100644 (file)
index 0000000..eed3f0e
--- /dev/null
@@ -0,0 +1,28 @@
+{
+       "firstName": "John",
+       "lastName": "Smith",
+       "isAlive": true,
+       "age": 27,
+       "address": {
+               "streetAddress": "21 2nd Street",
+               "city": "New York",
+               "state": "NY",
+               "postalCode": "10021-3100"
+       },
+       "phoneNumbers": [
+               {
+                       "type": "home",
+                       "number": "212 555-1234"
+               },
+               {
+                       "type": "office",
+                       "number": "646 555-4567"
+               },
+               {
+                       "type": "mobile",
+                       "number": "123 456-7890"
+               }
+       ],
+       "children": [],
+       "spouse": null
+}
index 700bdcb524e889c17a3a36a437aea2edf6ab82e4..a851c7739fe5941d37145892a0803bf698617a3a 100644 (file)
@@ -12,5 +12,4 @@ org.argeo.jcr.docbook,\
 org.eclipse.core.commands.common,\
 org.eclipse.jface.window,\
 org.argeo.cms.widgets.auth,\
-org.eclipse.nebula.widgets.richtext;resolution:=optional,\
 *
diff --git a/org.argeo.cms.e4/e4xmi/cms-demo.e4xmi b/org.argeo.cms.e4/e4xmi/cms-demo.e4xmi
deleted file mode 100644 (file)
index 673fc6d..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_PjHLwMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.application">
-  <children xsi:type="basic:TrimmedWindow" xmi:id="_QnyU0Mb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.trimmedwindow.0">
-    <children xsi:type="basic:PartStack" xmi:id="_V9EXcMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.partstack.0">
-      <children xsi:type="basic:Part" xmi:id="_RVKlIMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.docbook" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.parts.CmsDocBookEditor" label="DocBook">
-        <toolbar xmi:id="_TANxsMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.toolbar.1">
-          <children xsi:type="menu:HandledToolItem" xmi:id="_alIUoMctEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handledtoolitem.save" label="Save" command="_vsxg8McmEeiIG7Bq51Btuw"/>
-        </toolbar>
-      </children>
-      <children xsi:type="basic:Part" xmi:id="_fPCGgMcCEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.texteditor" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.parts.CmsTextEditor" label="Text Editor">
-        <toolbar xmi:id="_jlPucMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.toolbar.0">
-          <children xsi:type="menu:HandledToolItem" xmi:id="_r3TEMMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handledtoolitem.0" command="_vsxg8McmEeiIG7Bq51Btuw"/>
-        </toolbar>
-      </children>
-      <children xsi:type="basic:Part" xmi:id="_cIlegMb4EeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.part.htmleditor" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.parts.HtmlEditor" label="HTML Editor"/>
-    </children>
-  </children>
-  <handlers xmi:id="_zqabMMcmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.handler.0" contributionURI="bundleclass://org.argeo.cms.e4/org.argeo.cms.e4.handlers.SavePart" command="_vsxg8McmEeiIG7Bq51Btuw"/>
-  <commands xmi:id="_vsxg8McmEeiIG7Bq51Btuw" elementId="org.argeo.cms.e4.command.save" commandName="Save"/>
-  <addons xmi:id="_PjHLwcb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
-  <addons xmi:id="_PjHLwsb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
-  <addons xmi:id="_PjHLw8b4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.bindings.service" contributionURI="bundleclass://org.eclipse.e4.ui.bindings/org.eclipse.e4.ui.bindings.BindingServiceAddon"/>
-  <addons xmi:id="_PjHLxMb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
-  <addons xmi:id="_PjHLxcb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
-  <addons xmi:id="_PjHLxsb4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.bindings.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench.swt/org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon"/>
-  <addons xmi:id="_PjHLx8b4EeiIG7Bq51Btuw" elementId="org.eclipse.e4.ui.workbench.handler.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
-</application:Application>
diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-removeButtons.js b/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-removeButtons.js
deleted file mode 100644 (file)
index 20e82e3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-'Source,Save,Templates,Strike,Subscript,Superscript,CopyFormatting,Outdent,Indent,CreateDiv,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,Language,Anchor,Flash,HorizontalRule,Smiley,SpecialChar,PageBreak,Iframe,Format,Font,FontSize,BGColor,TextColor,ShowBlocks,About,Preview,Print,Redo,Replace,Find,Undo,SelectAll,Scayt,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,NewPage,PasteFromWord,Blockquote,BidiLtr,BidiRtl'
\ No newline at end of file
diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbar.js b/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbar.js
deleted file mode 100644 (file)
index 3058655..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-CKEDITOR.editorConfig = function( config ) {
-       config.toolbarGroups = [
-               { name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
-               { name: 'styles', groups: [ 'styles' ] },
-               { name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
-               { name: 'forms', groups: [ 'forms' ] },
-               { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
-               { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
-               { name: 'insert', groups: [ 'insert' ] },
-               { name: 'links', groups: [ 'links' ] },
-               { name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
-               { name: 'colors', groups: [ 'colors' ] },
-               { name: 'tools', groups: [ 'tools' ] },
-               { name: 'others', groups: [ 'others' ] },
-               { name: 'about', groups: [ 'about' ] }
-       ];
-
-       config.removeButtons = 'Source,Save,Templates,Strike,Subscript,Superscript,CopyFormatting,Outdent,Indent,CreateDiv,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,BidiLtr,BidiRtl,Language,Anchor,Flash,HorizontalRule,Smiley,SpecialChar,PageBreak,Iframe,Format,Font,FontSize,BGColor,TextColor,Maximize,ShowBlocks,About,Preview,Print,Redo,Replace,Find,Undo,SelectAll,Scayt,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,NewPage,PasteFromWord,Blockquote';
-};
\ No newline at end of file
diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbarGroups.json b/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/CkEditor-toolbarGroups.json
deleted file mode 100644 (file)
index a886c27..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-[
-       {
-               "name": "document",
-               "groups": [
-                       "mode",
-                       "document",
-                       "doctools"
-               ]
-       },
-       {
-               "name": "styles",
-               "groups": [
-                       "styles"
-               ]
-       },
-       {
-               "name": "editing",
-               "groups": [
-                       "find",
-                       "selection",
-                       "spellchecker",
-                       "editing"
-               ]
-       },
-       {
-               "name": "forms",
-               "groups": [
-                       "forms"
-               ]
-       },
-       {
-               "name": "basicstyles",
-               "groups": [
-                       "basicstyles",
-                       "cleanup"
-               ]
-       },
-       {
-               "name": "paragraph",
-               "groups": [
-                       "list",
-                       "indent",
-                       "blocks",
-                       "align",
-                       "bidi",
-                       "paragraph"
-               ]
-       },
-       {
-               "name": "insert",
-               "groups": [
-                       "insert"
-               ]
-       },
-       {
-               "name": "links",
-               "groups": [
-                       "links"
-               ]
-       },
-       {
-               "name": "clipboard",
-               "groups": [
-                       "clipboard",
-                       "undo"
-               ]
-       },
-       {
-               "name": "colors",
-               "groups": [
-                       "colors"
-               ]
-       },
-       {
-               "name": "tools",
-               "groups": [
-                       "tools"
-               ]
-       },
-       {
-               "name": "others",
-               "groups": [
-                       "others"
-               ]
-       },
-       {
-               "name": "about",
-               "groups": [
-                       "about"
-               ]
-       }
-]
\ No newline at end of file
diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/HtmlEditor.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/HtmlEditor.java
deleted file mode 100644 (file)
index 9b8c2d0..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-package org.argeo.cms.e4.parts;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-import javax.annotation.PostConstruct;
-
-import org.apache.commons.io.IOUtils;
-import org.argeo.cms.CmsException;
-import org.argeo.cms.util.CmsUtils;
-import org.eclipse.nebula.widgets.richtext.RichTextEditor;
-import org.eclipse.nebula.widgets.richtext.RichTextEditorConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class HtmlEditor {
-
-       @PostConstruct
-       public void createUI(Composite parent) {
-               String toolbarGroups;
-               String removeButtons;
-               try {
-                       toolbarGroups = IOUtils.toString(HtmlEditor.class.getResourceAsStream("CkEditor-toolbarGroups.json"),
-                                       StandardCharsets.UTF_8);
-                       removeButtons = IOUtils.toString(HtmlEditor.class.getResourceAsStream("CkEditor-removeButtons.js"),
-                                       StandardCharsets.UTF_8);
-               } catch (IOException e) {
-                       throw new CmsException("Cannot configure toolbar", e);
-               }
-//             System.out.println(toolbarGroups);
-//             System.out.println(removeButtons);
-               RichTextEditorConfiguration richTextEditorConfig = new RichTextEditorConfiguration();
-               richTextEditorConfig.setOption(RichTextEditorConfiguration.TOOLBAR_GROUPS, toolbarGroups);
-               richTextEditorConfig.setOption(RichTextEditorConfiguration.REMOVE_BUTTONS, removeButtons);
-//             richTextEditorConfig.setRemoveStyles(false);
-//             richTextEditorConfig.setRemovePasteFromWord(true);
-//             richTextEditorConfig.setRemovePasteText(false);
-
-//             richTextEditorConfig.setToolbarCollapsible(true);
-//             richTextEditorConfig.setToolbarInitialExpanded(false);
-               
-               final Display display = parent.getDisplay();
-               Composite composite = new Composite(parent, SWT.NONE);
-//             composite.setLayoutData(new Fill);
-               composite.setLayout(new GridLayout());
-               final RichTextEditor richTextEditor = new RichTextEditor(composite, richTextEditorConfig, SWT.BORDER);
-               richTextEditor.setText("<a href='http://googl.com'>Google</a>");
-               GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
-               richTextEditor.setLayoutData(layoutData);
-               richTextEditor.setBackground(new Color(display, 247, 247, 247));
-               Composite toolbar = new Composite(composite, SWT.NONE);
-               toolbar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
-               toolbar.setLayout(new GridLayout(3, false));
-               Button showContent = new Button(toolbar, SWT.PUSH);
-               showContent.setText("Show Content");
-               showContent.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-                               showContent(parent, richTextEditor, false);
-                       }
-               });
-               Button showSource = new Button(toolbar, SWT.PUSH);
-               showSource.setText("Show Source");
-               showSource.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-                               showContent(parent, richTextEditor, true);
-                       }
-               });
-               Button clearBtn = new Button(toolbar, SWT.NONE);
-               clearBtn.setText("Clear");
-               clearBtn.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-                               richTextEditor.setText("");
-                       }
-               });
-
-       }
-
-       private static void showContent(Composite parent, RichTextEditor editor, boolean source) {
-               int style = SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL;
-               final Shell content = new Shell(parent.getShell(), style);
-               content.setLayout(new GridLayout(1, true));
-               String text = editor.getText();
-               if (source) {
-                       content.setText("Rich Text Source");
-                       Text viewer = new Text(content, SWT.MULTI | SWT.WRAP);
-                       viewer.setLayoutData(new GridData(400, 400));
-                       viewer.setText(text);
-                       viewer.setEditable(false);
-               } else {
-                       content.setText("Rich Text");
-                       Browser viewer = new Browser(content, SWT.NONE);
-                       viewer.setLayoutData(new GridData(400, 400));
-                       viewer.setText(text);
-                       viewer.setEnabled(false);
-               }
-               Button ok = new Button(content, SWT.PUSH);
-               ok.setLayoutData(new GridData(SWT.RIGHT, SWT.BOTTOM, false, false));
-               ok.setText("OK");
-               ok.addSelectionListener(new SelectionAdapter() {
-                       @Override
-                       public void widgetSelected(SelectionEvent e) {
-                               content.dispose();
-                       }
-               });
-               content.setDefaultButton(ok);
-               content.pack();
-               Display display = parent.getDisplay();
-               int left = (display.getClientArea().width / 2) - (content.getBounds().width / 2);
-               content.setLocation(left, 40);
-               content.open();
-               ok.setFocus();
-       }
-
-}
diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/test.json b/org.argeo.cms.e4/src/org/argeo/cms/e4/parts/test.json
deleted file mode 100644 (file)
index eed3f0e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-       "firstName": "John",
-       "lastName": "Smith",
-       "isAlive": true,
-       "age": 27,
-       "address": {
-               "streetAddress": "21 2nd Street",
-               "city": "New York",
-               "state": "NY",
-               "postalCode": "10021-3100"
-       },
-       "phoneNumbers": [
-               {
-                       "type": "home",
-                       "number": "212 555-1234"
-               },
-               {
-                       "type": "office",
-                       "number": "646 555-4567"
-               },
-               {
-                       "type": "mobile",
-                       "number": "123 456-7890"
-               }
-       ],
-       "children": [],
-       "spouse": null
-}