I have added the TinyMCE add-on, but it will not work. I get the following error where the text field should be:
Widgetset does not contain implementation for org.vaadin.tinymceeditor.TinyMCETextField.
Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile
your widgetset. In case you have downloaded a vaadin add-on package, you might want to
refer to add-on instructions. Unrendered UIDL:
In the HTML I find this:
<div style="height: 280px; width: 488px; overflow: hidden; padding-left: 0pt; padding-top: 7px;">
<div style="float: left; margin-left: 0px;">
<table style="height: 280px; width: 488px;" class="vaadin-unknown" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="vertical-align: top;" align="left">
<div class="vaadin-unknown-caption">
Widgetset does not contain implementation for org.vaadin.tinymceeditor.TinyMCETextField. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to <a href="http://vaadin.com/using-addons">add-on instructions</a>. Unrendered UIDL:
</div>
</td>
</tr>
<tr>
<td style="vertical-align: top;" align="left">
<div role="tree" class="gwt-Tree" style="">
<div role="treeitem" hidefocus="true" style="font-size: 0pt; position: absolute; outline: 0px none; z-index: -1;" tabindex="0">
<input style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;" tabindex="-1" type="text" />
</div>
<div style="padding: 0px; margin-left: 0pt;">
<table style="white-space: nowrap;">
<tbody>
<tr>
<td style="vertical-align: middle;">
<img src="http://localhost:8040/VAADIN/widgetsets/net.munat.wcms.gwt.AdminWidgetSet/clear.cache.gif" style="width: 16px; height: 16px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAqklEQVR42mNgGAVYQVbl9v9h6WsxcHbVjv8ENScXbf6/7+iD/79+/fmPDP78/fd/9eZr/xMLN+E3JCJj3f/PX77DMQPDGTj72/cfQJesw29AONCAt+8+wjHIAGQ+UQY8ffYKrBEdg8RBYUGUATAM0wjDhA0AOvHOvUfkGxCXt+H/zEXH/p+/ePP/5au34fjshZv/J84+/B8kTzAqU0s3Y00HKcWb/w/DZA8Agl3oOCRuvDUAAAAASUVORK5CYII=") no-repeat scroll 0px 0px transparent;" border="0" />
</td>
<td style="vertical-align: middle;">
<div id="gwt-uid-2" role="treeitem" class="gwt-TreeItem" style="display: inline;">
org.vaadin.tinymceeditor.TinyMCETextField(NO CLIENT IMPLEMENTATION FOUND)
</div>
</td>
</tr>
</tbody>
</table>
<div style="white-space: nowrap; display: none;">
<div style="padding: 3px 3px 3px 23px; margin-left: 16px;">
<div id="gwt-uid-3" role="treeitem" class="gwt-TreeItem" style="display: inline;">
LOADING
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
But this is correct:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
<!--
Uncomment the following to compile the widgetset for one browser only.
This can reduce the GWT compilation time significantly when debugging.
The line should be commented out before deployment to production
environments.
Multiple browsers can be specified for GWT 1.7 as a comma separated
list. The supported user agents at the moment of writing were:
ie6,ie8,gecko,gecko1_8,safari,opera
The value gecko1_8 is used for Firefox 3 and later and safari is used for
webkit based browsers including Google Chrome.
-->
<!-- <set-property name="user.agent" value="gecko1_8"/> -->
<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
<inherits name="com.vaadin.addon.treetable.TreetableWidgetset" />
<inherits name="org.vaadin.henrik.refresher.RefresherApplicationWidgetset" />
<inherits name="org.vaadin.tinymceeditor.widgetset.TinymceeditorWidgetset" />
</module>
I have recompiled the widgetset, and both the TreeTable and the Refresher add-ons work fine. Furthermore, the TinyMCE widgetset is in the widgetset at VAADIN/widgetsets/net.munat.wcms.gwt.AdminWidgetSet. There is both a tiny_mce folder and a net.munat.wcms.gwt.AdminWidgetSet.nocache.js file. As I said, the other add-ons work fine.
I have the following in my pom.xml file:
<dependency>
<groupId>org.vaadin.addons</groupId>
<artifactId>vaadin-wrapper-for-tinymce</artifactId>
<version>1.3</version>
</dependency>
In .m2/repository/org/vaadin/ I find the following:
addons/
vaadin-wrapper-for-tinymce/
1.3/
vaadin-wrapper-for-tinymce-1.3.jar
vaadin-wrapper-for-tinymce-1.3.jar.sha1
vaadin-wrapper-for-tinymce-1.3.pom
vaadin-wrapper-for-tinymce-1.3.pom.sha1
I am using it thus in my (Scala) code:
val synopsis = new TinyMCETextField()
which is the equivalent of
TinyMCETextField synopsis = new TinyMCETextField()
I have read the original post on the wrapper, searched the source code, used Google, read everything I could find on widgetsets and recompiling them. I’ve done this many times with other addons with success. What have I missed here?
The key to me seems to be this line (conveniently hidden in the generated source code):
org.vaadin.tinymceeditor.TinyMCETextField(NO CLIENT IMPLEMENTATION FOUND)
Help appreciated.