Thanks Marius.
My edit button does this:
edit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Config config = new DefaultConfig(getEditorConfig());
WysiwygEditor editor =
WysiwygEditorFactory.getInstance().newEditor(config);
editorContainer.setWidget(editor.getUI());
}
});
... I create the config with this native method:
private static final native
org.xwiki.gwt.dom.client.JavaScriptObject getEditorConfig() /*-{
return {hookId:'editor', syntax: 'xwiki/2.0'};
}-*/;
... and my GWT UiBinder file has this:
<textarea id="editor" class="{style.editor}" />
<g:FocusPanel ui:field="editorContainer" />
Upon further investigation, it turns out that Firefox reveals
different behavior. In FireFox, I get a visible editor, but each of
the toolbar widgets occupy an entire row, stretching right across the
page. In Google Chrome, the editor appears without any toolbar
widgets, and is not editable.
By the way, is the 'hook' element needed? I know that I can embed a
normal GWT RichTextArea into the UiBinder file as: <g:RichTextArea ...
/>. Can the XWiki RichTextEditor work in a similar fashion, or does it
always need the hook element?
David
On 10 May 2010 19:54, Marius Dumitru Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
Hi David,
On 05/10/2010 11:13 AM, David Pinn wrote:
Marius wrote:
* Inherit the WYSIWYG GWT module in your own GWT module descriptor
** Use the same entry point as the WYSIWYG GWT module, which publishes
a JavaScript API you can use to instantiate the editor, or
** Use your own entry point and instantiate the editor in GWT code
How would I instantiate the editor in GWT code? I've been trying to
achieve this, but I get an editor that will not accept typing. That
is, typing characters into the editor has no effect; the characters
don't display, and there is no change to the state of the editor in
the DOM. I figure it must be something to do with the way I'm creating
it.
You can use either the RichTextEditorController, which manages a
RichTextEditor (menu bar + tool bar + rich text area) and a set of rich
text area plugins, or the WysiwygEditor which extends the
RichTextEditorController with the ability to switch to source (plain
text area).
The WysiwygEditor constructor does this:
super(new RichTextEditor(), config, pfm,
svm.getSyntaxValidator(config.getParameter("syntax", DEFAULT_SYNTAX)));
You can look in the WysiwygEditorFactory to see how to create a
PluginFactoryManager and a SyntaxValidatorManager.
As for the Config object, the WysiwygEditorApi does this:
Config config = new DefaultConfig(jsConfig);
which creates a configuration object from a JavaScript object (uses
GWT's Dictionary class behind the scenes). Configuration options are
listed on
http://platform.xwiki.org/xwiki/bin/view/AdminGuide/WysiwygEditor (most
of them are plugin related)
Can you show me how you instantiate the editor? It's hard to understand
the problem without seeing the code.
Hope this helps,
Marius
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs