Breadcrumb
- Sabre Red 360 Software Development Kit Help
- Desktop Red Apps
- Red App Development using WebKit Browser
- WebKit Browser Quickstart
- Creating Red App using WebKit Browser editor
Creating Red App using WebKit Browser editor
In existing Red App plug-in (created in the same way as e.g. browser plug-in) developer can add customized editor with his own web application. There are several ways to create your own editor:
-
Add following plugins to required bundles in MANIFEST.MF file:
Require-Bundle:
-
org.eclipse.ui
-
org.eclipse.core.runtime
-
com.sabre.edge.platform.optional.webkit
-
-
Define your editor in plugin.xml (this method uses default WebKit Editor implementation provided by com.sabre.edge.platform.optional.webkit plugin - DefaultWebkitEditor class) as presented below:
<extension point="org.eclipse.ui.editors"> <editor class="com.sabre.edge.platform.optional.webkit.editors.DefaultWebkitEditor" icon="images/icon.png" id="com.sabre.redapp.example.webkit.editor.SimpleBrowserEditor" name="Simple Browser"> </editor> </extension> <extension point="com.sabre.edge.platform.core.editor.editorApp"> <editorApp browserURL="https://www.sabreredappcentre.sabre.com/" class="com.sabre.edge.platform.optional.webkit.editors.DefaultWebkitEditor" constraintMaximum="1" constraintStartup="0" editorId="com.sabre.redapp.example.webkit.editor.SimpleBrowserEditor" evalId="com.sabre.redapp.example.simple.browser.editor" name="Simple Browser" order="100" toolTipText="Simple Browser"> </editorApp> </extension>
WebKit editor can also contribute to menu:
<extension point="org.eclipse.ui.commands"> <command id="com.sabre.redapp.example.webkit.OpenSimpleEditorCommand" name="Open Simple Webkit Browser Editor"> <commandParameter id="editorId" name="editorId" optional="true"> </commandParameter> </command> </extension> <extension point="org.eclipse.ui.handlers"> <handler class="com.sabre.edge.platform.core.editor.commands.handlers.FocusOrOpenEditorHandler" commandId="com.sabre.redapp.example.webkit.OpenSimpleEditorCommand"> </handler> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="menu:com.sabre.edge.toolbar.launcher.other"> <command commandId="com.sabre.redapp.example.webkit.OpenSimpleEditorCommand" icon="images/icon.png" label="Simple Webkit Browser Editor" style="push"> <parameter name="editorId" value="com.sabre.redapp.example.webkit.editor.SimpleBrowserEditor"> </parameter> </command> </menuContribution> </extension>
-
Create your own implementation of WebKit editor. Extend class DefaultWebkitEditor, create own handler class and configure extension points as presented below:
ExampleBrowserEditor.java
package com.sabre.redapp.example.webkit.editor; import com.sabre.edge.platform.optional.webkit.editors.DefaultWebkitEditor; public class ExampleBrowserEditor extends DefaultWebkitEditor { }
ExampleFocusOrOpenEditorHandler.java
package com.sabre.redapp.example.webkit.editor.handlers; import com.sabre.edge.platform.optional.webkit.handlers.DefaultFocusOrOpenWebkitEditorHandler; public class ExampleFocusOrOpenEditorHandler extends DefaultFocusOrOpenWebkitEditorHandler> { public String getEditorUrl(Map <String, String> parameters) { return "http://www.sabre.com"; } }
plugin.xml
<extension point="org.eclipse.ui.editors"> <editor class="com.sabre.redapp.example.webkit.editor.ExampleBrowserEditor" id="com.sabre.redapp.example.webkit.editor.ExampleBrowserEditor" icon="images/icon.png" name="Example Webkit Browser" /> </extension> <extension point="com.sabre.edge.platform.core.editor.editorApp"> <editorApp class="com.sabre.redapp.example.webkit.editor.ExampleBrowserEditor" editorId="com.sabre.redapp.example.webkit.editor.ExampleBrowserEditor" evalId="com.sabre.redapp.example.webkit.editor" inputClass="com.sabre.edge.platform.optional.webkit.inputs.WebkitEditorInput" name="Example Webkit Browser" constraintStartup="0" toolTipText="Example Webkit Browser" constraintMaximum="1" order="100"/> </extension> <extension point="org.eclipse.ui.handlers"> <handler class="com.sabre.redapp.example.webkit.editor.handlers.ExampleFocusOrOpenEditorHandler" commandId="com.sabre.redapp.example.webkit.OpenExampleEditorCommand"> </handler> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="menu:com.sabre.edge.toolbar.launcher.other"> <command commandId="com.sabre.redapp.example.webkit.OpenExampleEditorCommand" icon="images/icon.png" label="Example Webkit Browser Editor" style="push"> <parameter name="editorId" value="com.sabre.redapp.example.webkit.editor.ExampleBrowserEditor"> </parameter> <parameter name="name" value="Example Webkit Browser"> </parameter> </command> </menuContribution> </extension>
images directory should be placed in main plug-in directory.
NOTES: See com.sabre.redapp.example.webkit sample for details.