You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by rolandpeng <ro...@cht.com.tw> on 2009/03/06 12:30:12 UTC

Re: WYSIWYG component

I use wicket 1.4-rc2 and meet the same problem.

you can download jazzy.jar here to solve the exception.
http://sourceforge.net/projects/jazzy/

then all the program works.

-- 
View this message in context: http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: WYSIWYG component

Posted by nino martinez wael <ni...@gmail.com>.
There is some fix, where you preload(use a headercontributer) the
tinymce script on the page where the ajaxtabbedPanel are.. Last time I
did this where for 1.3...

2009/3/25 Daniel Ferreira Castro <df...@gmail.com>:
> I solved the problem.
> The problem was due a incompatibility of TinyMCE with AjaxTabbedPanel.
> After I change it to TabbedPanel it worked.
>
>
> On Tue, Mar 24, 2009 at 6:19 PM, Daniel Ferreira Castro
> <df...@gmail.com>wrote:
>
>> I am still trying to make tinymce work on my project.  But I only get a
>> simple text area.
>> So I start to look for dependencies that could be missing.
>>
>> I downloaded the TinyMCE from here - http://tinymce.moxiecode.com/
>> Unzipped and imported every artificat to my project.
>>
>> Added all the resources, javascripts and css, present on the examples on my
>> Panel
>>
>>
>> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./javascript/tiny_mce.js"));
>>
>> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./javascript/lists/template_list.js"));
>>
>> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./javascript/lists/link_list.js"));
>>
>> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./javascript/lists/image_list.js"));
>>
>> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./javascript/lists/media_list.js"));
>>
>> add(CSSPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>>         "./css/content.css"));
>>
>> Cleaned the project
>> Built the Project
>> Restarted the jetty and launched the application.
>>
>> Nothing happened.
>> Please, could anyone help me?
>>
>>
>> On Fri, Mar 13, 2009 at 7:32 PM, Daniel Ferreira Castro <
>> dfcastro@gmail.com> wrote:
>>
>>> Great :) Thanks :)
>>> The Exception stopped from ocurring, but I still have the problem of only
>>> showing a TextArea without the look of an WYSWYG edit text area.
>>> I looked inside
>>> https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/tinymce-parent/tinymce-examples/src/main/java/wicket/contrib/examples/tinymce/and subdirs but did not find any war file that I could look inside for how
>>> the markup html is written.  I did as the example showed, but did not have
>>> success.
>>>
>>>
>>> If anyone can help me...
>>>
>>> This is my implementation
>>>
>>> -----------------------------------------------
>>> NewsletterForm.java
>>> -----------------------------------------------
>>>
>>> package com.jasp.ecommfwk.pages.newsleter.forms;
>>>
>>> import org.apache.wicket.ajax.AjaxRequestTarget;
>>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>>> import org.apache.wicket.markup.html.basic.Label;
>>> import org.apache.wicket.markup.html.form.Form;
>>> import org.apache.wicket.markup.html.form.TextArea;
>>> import org.apache.wicket.markup.html.panel.FeedbackPanel;
>>> import org.apache.wicket.model.Model;
>>> import org.apache.wicket.model.StringResourceModel;
>>>
>>> import wicket.contrib.tinymce.TinyMceBehavior;
>>> import wicket.contrib.tinymce.settings.ContextMenuPlugin;
>>> import wicket.contrib.tinymce.settings.DateTimePlugin;
>>> import wicket.contrib.tinymce.settings.DirectionalityPlugin;
>>> import wicket.contrib.tinymce.settings.EmotionsPlugin;
>>> import wicket.contrib.tinymce.settings.FullScreenPlugin;
>>> import wicket.contrib.tinymce.settings.IESpellPlugin;
>>> import wicket.contrib.tinymce.settings.MediaPlugin;
>>> import wicket.contrib.tinymce.settings.PastePlugin;
>>> import wicket.contrib.tinymce.settings.PreviewPlugin;
>>> import wicket.contrib.tinymce.settings.PrintPlugin;
>>> import wicket.contrib.tinymce.settings.SavePlugin;
>>> import wicket.contrib.tinymce.settings.SearchReplacePlugin;
>>> import wicket.contrib.tinymce.settings.SpellCheckPlugin;
>>> import wicket.contrib.tinymce.settings.TablePlugin;
>>> import wicket.contrib.tinymce.settings.TinyMCESettings;
>>>
>>> import com.jasp.ecommfwk.pages.forms.BaseForm;
>>> import com.jasp.persistence.admin.Newsletter;
>>>
>>> public class NewsletterForm extends BaseForm {
>>>     private static final String TEXT = "<p><img src=\"logo.jpg\" alt=\" \"
>>> hspace=\"5\" vspace=\"5\" width=\"250\" height=\"48\" align=\"right\" />"
>>>         + "TinyMCE is a platform independent web based Javascript HTML
>>> <strong>WYSIWYG</strong> editor control released as Open Source under LGPL
>>> by Moxiecode Systems AB. "
>>>         + "It has the ability to convert HTML TEXTAREA fields or other
>>> HTML elements to editor instances. TinyMCE is very easy to integrate into
>>> other Content Management Systems.</p>"
>>>         + "<p>We recommend <a href=\"http://www.getfirefox.com\"
>>> target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\"
>>> target=\"_blank\">Google</a> <br /></p>";
>>>
>>>     private static final long serialVersionUID = 2335975457449309765L;
>>>     private final StringResourceModel labelNewsletterValue = new
>>> StringResourceModel(
>>>             "news.newsletter", this, null, new Object[] { getLocale() });
>>>
>>>     private Label labelNews;
>>>
>>>     private TextArea <String>newsLetterContent;
>>>     private AjaxButton cadastrar;
>>>     private FeedbackPanel feedbackPanel;
>>>     private Newsletter newsletter = new Newsletter();
>>>     private TinyMCESettings settings;
>>>
>>>     private ContextMenuPlugin contextMenuPlugin;
>>>     public NewsletterForm(String id) {
>>>         super(id);
>>>         inicializaComponentesForm();
>>>         AddComponentToForm();
>>>         // TODO Auto-generated constructor stub
>>>     }
>>>
>>>     @Override
>>>     protected void AddComponentToForm() {
>>>         this.add(labelNews);
>>>         this.add(cadastrar);
>>>         this.add(newsLetterContent);
>>>         this.add(feedbackPanel);
>>>     }
>>>
>>>     @Override
>>>     protected void inicializaComponentesForm() {
>>>         labelNews = new Label("labelNews", labelNewsletterValue);
>>>
>>>         settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);
>>>         contextMenuPlugin = new ContextMenuPlugin();
>>>         settings.register(contextMenuPlugin);
>>>
>>>         // first toolbar
>>>         SavePlugin savePlugin = new SavePlugin();
>>>         settings.add(savePlugin.getSaveButton(),
>>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.newdocument,
>>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.fontselect,
>>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>>>
>>> settings.add(wicket.contrib.tinymce.settings.Button.fontsizeselect,
>>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>>>
>>>         // second toolbar
>>>         PastePlugin pastePlugin = new PastePlugin();
>>>         SearchReplacePlugin searchReplacePlugin = new
>>> SearchReplacePlugin();
>>>         DateTimePlugin dateTimePlugin = new DateTimePlugin();
>>>         dateTimePlugin.setDateFormat("Date: %m-%d-%Y");
>>>         dateTimePlugin.setTimeFormat("Time: %H:%M");
>>>         PreviewPlugin previewPlugin = new PreviewPlugin();
>>>         settings.add(wicket.contrib.tinymce.settings.Button.cut,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.copy,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(pastePlugin.getPasteButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(pastePlugin.getPasteTextButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(pastePlugin.getPasteWordButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(searchReplacePlugin.getSearchButton(),
>>> TinyMCESettings.Toolbar.second,
>>>                 TinyMCESettings.Position.before);
>>>         settings.add(searchReplacePlugin.getReplaceButton(),
>>> TinyMCESettings.Toolbar.second,
>>>                 TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(dateTimePlugin.getDateButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(dateTimePlugin.getTimeButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(previewPlugin.getPreviewButton(),
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.forecolor,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.backcolor,
>>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>>
>>>         // third toolbar
>>>         TablePlugin tablePlugin = new TablePlugin();
>>>         EmotionsPlugin emotionsPlugin = new EmotionsPlugin();
>>>         IESpellPlugin iespellPlugin = new IESpellPlugin();
>>>         MediaPlugin mediaPlugin = new MediaPlugin();
>>>         PrintPlugin printPlugin = new PrintPlugin();
>>>         FullScreenPlugin fullScreenPlugin = new FullScreenPlugin();
>>>         DirectionalityPlugin directionalityPlugin = new
>>> DirectionalityPlugin();
>>>         settings.add(tablePlugin.getTableControls(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.before);
>>>         settings.add(emotionsPlugin.getEmotionsButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(iespellPlugin.getIespellButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(mediaPlugin.getMediaButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(printPlugin.getPrintButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(directionalityPlugin.getLtrButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(directionalityPlugin.getRtlButton(),
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>>         settings.add(fullScreenPlugin.getFullscreenButton(),
>>> TinyMCESettings.Toolbar.third,
>>>                 TinyMCESettings.Position.after);
>>>
>>>         // fourth toolbar
>>>         SpellCheckPlugin spellCheckPlugin = new SpellCheckPlugin();
>>>         settings.add(spellCheckPlugin.getSpellCheckButton(),
>>> TinyMCESettings.Toolbar.fourth,TinyMCESettings.Position.after);
>>>
>>>         // other settings
>>>         settings.setToolbarAlign(TinyMCESettings.Align.left);
>>>         settings.setToolbarLocation(TinyMCESettings.Location.top);
>>>         settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
>>>         settings.setResizing(false);
>>>
>>>         newsLetterContent = new TextArea<String>("ta",new Model(TEXT));
>>>         newsLetterContent.add(new TinyMceBehavior(settings));
>>>         feedbackPanel = criaFeedbackPanel();
>>>         cadastrar = new AjaxButton("cadastrar", this) {
>>>             private static final long serialVersionUID =
>>> 6045168066074475539L;
>>>
>>>             @Override
>>>             protected void onError(AjaxRequestTarget target, Form<?> form)
>>> {
>>>                 // repaint the feedback panel so errors are shown
>>>                 target.addComponent(feedbackPanel);
>>>             }
>>>
>>>             @Override
>>>             protected void onSubmit(AjaxRequestTarget target, Form<?>
>>> form) {
>>>                 getHibernateTransaction();
>>>                 newsletter.setNewsletter(newsLetterContent.getValue());
>>>                 hibernateSession.persist(newsletter);
>>>                 hibernateTransaction.commit();
>>>                 closeTransaction();
>>>                 String mensageSucesso = "Newsletter cadastradada com
>>> sucesso!";
>>>                 info(mensageSucesso);
>>>                 target.addComponent(feedbackPanel);
>>>             }
>>>         };
>>>
>>>     }
>>>
>>>     private FeedbackPanel criaFeedbackPanel() {
>>>         FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
>>>         feedbackPanel.setOutputMarkupId(true);
>>>         return feedbackPanel;
>>>     }
>>>
>>> }
>>> -----------------------------------------------
>>> And this is my markup
>>> CadastroNewsletterPanel.html
>>> -----------------------------------------------
>>>
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <html xmlns="http://www.w3.org/1999/xhtml">
>>> <wicket:head>
>>>     <title wicket:id="pageTitle">[Titulo]</title>
>>> </wicket:head>
>>> <wicket:panel>
>>>     <div class="cssbox_head">
>>>     <h2><label wicket:id="cabecalho">[cabecalho]</label></h2>
>>>     </div>
>>>     <form wicket:id="newsForm" name="newsForm">
>>>         <label wicket:id="labelNews" class="labelForms">[name
>>> label]</label><br/>
>>>         <textarea wicket:id="ta" id="ta" name="ta" rows="30" style="width:
>>> 80%">test texarea</textarea><br />
>>>         <input wicket:id="cadastrar" name="Cadastrar" type="submit"
>>> value="Cadastrar" class="buttons" /><br />
>>>         <div wicket:id="feedback" class="feedback"></div>
>>>     </form>
>>> </wicket:panel>
>>> </html>
>>>
>>> -----------------------------------------------
>>> CadastroNewsletterPanel.java
>>> -----------------------------------------------
>>>
>>> package com.jasp.ecommfwk.pages.newsleter;
>>>
>>> import org.apache.wicket.markup.html.basic.Label;
>>> import org.apache.wicket.markup.html.panel.Panel;
>>> import org.apache.wicket.model.StringResourceModel;
>>>
>>> import com.jasp.ecommfwk.pages.newsleter.forms.NewsletterForm;
>>>
>>> public class CadastroNewsletterPanel extends Panel {
>>>     private static final long serialVersionUID = 4682446014181156016L;
>>>     private final StringResourceModel labelTitle = new
>>> StringResourceModel(
>>>             "panel.title", this, null, new Object[] { getLocale() });
>>>     private final StringResourceModel labelHeader = new
>>> StringResourceModel(
>>>             "panel.header", this, null, new Object[] { getLocale() });
>>>
>>>     @SuppressWarnings("deprecation")
>>>     protected void addHeaders() {
>>>         add(new Label("pageTitle", labelTitle));
>>>         add(new Label("cabecalho", labelHeader));
>>>     }
>>>
>>>     public CadastroNewsletterPanel(String id) {
>>>         super(id);
>>>         addHeaders();
>>>         final NewsletterForm categoriaForm = new
>>> NewsletterForm("newsForm");
>>>         add(categoriaForm);
>>>
>>>     }
>>> }
>>>
>>>
>>> On Fri, Mar 6, 2009 at 8:30 AM, rolandpeng <ro...@cht.com.tw> wrote:
>>>
>>>>
>>>> I use wicket 1.4-rc2 and meet the same problem.
>>>>
>>>> you can download jazzy.jar here to solve the exception.
>>>> http://sourceforge.net/projects/jazzy/
>>>>
>>>> then all the program works.
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>
>>>>
>>>
>>>
>>> --
>>> "Two rules to succeed in life:
>>> 1 - don´t tell people everything you know."
>>> --------
>>> We shall go on to the end.
>>> We shall fight in France
>>> We shall fightover the seas and oceans.
>>> We shall fight with growing confidence and growing strength in the air.
>>> We shall defend our island whatever the cost may be
>>> We shall fight on beaches, we shall fight on the landing grounds,
>>> We shall fight in the fields and in the streets,
>>> We shall fight on the hills.
>>> We shall never surrender.
>>> Winston Churchill
>>>
>>
>>
>>
>> --
>> "Two rules to succeed in life:
>> 1 - don´t tell people everything you know."
>> --------
>> We shall go on to the end.
>> We shall fight in France
>> We shall fightover the seas and oceans.
>> We shall fight with growing confidence and growing strength in the air.
>> We shall defend our island whatever the cost may be
>> We shall fight on beaches, we shall fight on the landing grounds,
>> We shall fight in the fields and in the streets,
>> We shall fight on the hills.
>> We shall never surrender.
>> Winston Churchill
>>
>
>
>
> --
> "Two rules to succeed in life:
> 1 - don´t tell people everything you know."
> --------
> We shall go on to the end.
> We shall fight in France
> We shall fightover the seas and oceans.
> We shall fight with growing confidence and growing strength in the air.
> We shall defend our island whatever the cost may be
> We shall fight on beaches, we shall fight on the landing grounds,
> We shall fight in the fields and in the streets,
> We shall fight on the hills.
> We shall never surrender.
> Winston Churchill
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: WYSIWYG component

Posted by Daniel Ferreira Castro <df...@gmail.com>.
I solved the problem.
The problem was due a incompatibility of TinyMCE with AjaxTabbedPanel.
After I change it to TabbedPanel it worked.


On Tue, Mar 24, 2009 at 6:19 PM, Daniel Ferreira Castro
<df...@gmail.com>wrote:

> I am still trying to make tinymce work on my project.  But I only get a
> simple text area.
> So I start to look for dependencies that could be missing.
>
> I downloaded the TinyMCE from here - http://tinymce.moxiecode.com/
> Unzipped and imported every artificat to my project.
>
> Added all the resources, javascripts and css, present on the examples on my
> Panel
>
>
> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./javascript/tiny_mce.js"));
>
> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./javascript/lists/template_list.js"));
>
> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./javascript/lists/link_list.js"));
>
> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./javascript/lists/image_list.js"));
>
> add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./javascript/lists/media_list.js"));
>
> add(CSSPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
>         "./css/content.css"));
>
> Cleaned the project
> Built the Project
> Restarted the jetty and launched the application.
>
> Nothing happened.
> Please, could anyone help me?
>
>
> On Fri, Mar 13, 2009 at 7:32 PM, Daniel Ferreira Castro <
> dfcastro@gmail.com> wrote:
>
>> Great :) Thanks :)
>> The Exception stopped from ocurring, but I still have the problem of only
>> showing a TextArea without the look of an WYSWYG edit text area.
>> I looked inside
>> https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/tinymce-parent/tinymce-examples/src/main/java/wicket/contrib/examples/tinymce/and subdirs but did not find any war file that I could look inside for how
>> the markup html is written.  I did as the example showed, but did not have
>> success.
>>
>>
>> If anyone can help me...
>>
>> This is my implementation
>>
>> -----------------------------------------------
>> NewsletterForm.java
>> -----------------------------------------------
>>
>> package com.jasp.ecommfwk.pages.newsleter.forms;
>>
>> import org.apache.wicket.ajax.AjaxRequestTarget;
>> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
>> import org.apache.wicket.markup.html.basic.Label;
>> import org.apache.wicket.markup.html.form.Form;
>> import org.apache.wicket.markup.html.form.TextArea;
>> import org.apache.wicket.markup.html.panel.FeedbackPanel;
>> import org.apache.wicket.model.Model;
>> import org.apache.wicket.model.StringResourceModel;
>>
>> import wicket.contrib.tinymce.TinyMceBehavior;
>> import wicket.contrib.tinymce.settings.ContextMenuPlugin;
>> import wicket.contrib.tinymce.settings.DateTimePlugin;
>> import wicket.contrib.tinymce.settings.DirectionalityPlugin;
>> import wicket.contrib.tinymce.settings.EmotionsPlugin;
>> import wicket.contrib.tinymce.settings.FullScreenPlugin;
>> import wicket.contrib.tinymce.settings.IESpellPlugin;
>> import wicket.contrib.tinymce.settings.MediaPlugin;
>> import wicket.contrib.tinymce.settings.PastePlugin;
>> import wicket.contrib.tinymce.settings.PreviewPlugin;
>> import wicket.contrib.tinymce.settings.PrintPlugin;
>> import wicket.contrib.tinymce.settings.SavePlugin;
>> import wicket.contrib.tinymce.settings.SearchReplacePlugin;
>> import wicket.contrib.tinymce.settings.SpellCheckPlugin;
>> import wicket.contrib.tinymce.settings.TablePlugin;
>> import wicket.contrib.tinymce.settings.TinyMCESettings;
>>
>> import com.jasp.ecommfwk.pages.forms.BaseForm;
>> import com.jasp.persistence.admin.Newsletter;
>>
>> public class NewsletterForm extends BaseForm {
>>     private static final String TEXT = "<p><img src=\"logo.jpg\" alt=\" \"
>> hspace=\"5\" vspace=\"5\" width=\"250\" height=\"48\" align=\"right\" />"
>>         + "TinyMCE is a platform independent web based Javascript HTML
>> <strong>WYSIWYG</strong> editor control released as Open Source under LGPL
>> by Moxiecode Systems AB. "
>>         + "It has the ability to convert HTML TEXTAREA fields or other
>> HTML elements to editor instances. TinyMCE is very easy to integrate into
>> other Content Management Systems.</p>"
>>         + "<p>We recommend <a href=\"http://www.getfirefox.com\"
>> target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\"
>> target=\"_blank\">Google</a> <br /></p>";
>>
>>     private static final long serialVersionUID = 2335975457449309765L;
>>     private final StringResourceModel labelNewsletterValue = new
>> StringResourceModel(
>>             "news.newsletter", this, null, new Object[] { getLocale() });
>>
>>     private Label labelNews;
>>
>>     private TextArea <String>newsLetterContent;
>>     private AjaxButton cadastrar;
>>     private FeedbackPanel feedbackPanel;
>>     private Newsletter newsletter = new Newsletter();
>>     private TinyMCESettings settings;
>>
>>     private ContextMenuPlugin contextMenuPlugin;
>>     public NewsletterForm(String id) {
>>         super(id);
>>         inicializaComponentesForm();
>>         AddComponentToForm();
>>         // TODO Auto-generated constructor stub
>>     }
>>
>>     @Override
>>     protected void AddComponentToForm() {
>>         this.add(labelNews);
>>         this.add(cadastrar);
>>         this.add(newsLetterContent);
>>         this.add(feedbackPanel);
>>     }
>>
>>     @Override
>>     protected void inicializaComponentesForm() {
>>         labelNews = new Label("labelNews", labelNewsletterValue);
>>
>>         settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);
>>         contextMenuPlugin = new ContextMenuPlugin();
>>         settings.register(contextMenuPlugin);
>>
>>         // first toolbar
>>         SavePlugin savePlugin = new SavePlugin();
>>         settings.add(savePlugin.getSaveButton(),
>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.newdocument,
>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.fontselect,
>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>>
>> settings.add(wicket.contrib.tinymce.settings.Button.fontsizeselect,
>> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>>
>>         // second toolbar
>>         PastePlugin pastePlugin = new PastePlugin();
>>         SearchReplacePlugin searchReplacePlugin = new
>> SearchReplacePlugin();
>>         DateTimePlugin dateTimePlugin = new DateTimePlugin();
>>         dateTimePlugin.setDateFormat("Date: %m-%d-%Y");
>>         dateTimePlugin.setTimeFormat("Time: %H:%M");
>>         PreviewPlugin previewPlugin = new PreviewPlugin();
>>         settings.add(wicket.contrib.tinymce.settings.Button.cut,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.copy,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(pastePlugin.getPasteButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(pastePlugin.getPasteTextButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(pastePlugin.getPasteWordButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(searchReplacePlugin.getSearchButton(),
>> TinyMCESettings.Toolbar.second,
>>                 TinyMCESettings.Position.before);
>>         settings.add(searchReplacePlugin.getReplaceButton(),
>> TinyMCESettings.Toolbar.second,
>>                 TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(dateTimePlugin.getDateButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(dateTimePlugin.getTimeButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(previewPlugin.getPreviewButton(),
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.forecolor,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.backcolor,
>> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>>
>>         // third toolbar
>>         TablePlugin tablePlugin = new TablePlugin();
>>         EmotionsPlugin emotionsPlugin = new EmotionsPlugin();
>>         IESpellPlugin iespellPlugin = new IESpellPlugin();
>>         MediaPlugin mediaPlugin = new MediaPlugin();
>>         PrintPlugin printPlugin = new PrintPlugin();
>>         FullScreenPlugin fullScreenPlugin = new FullScreenPlugin();
>>         DirectionalityPlugin directionalityPlugin = new
>> DirectionalityPlugin();
>>         settings.add(tablePlugin.getTableControls(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.before);
>>         settings.add(emotionsPlugin.getEmotionsButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(iespellPlugin.getIespellButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(mediaPlugin.getMediaButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(printPlugin.getPrintButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(directionalityPlugin.getLtrButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(directionalityPlugin.getRtlButton(),
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
>> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>>         settings.add(fullScreenPlugin.getFullscreenButton(),
>> TinyMCESettings.Toolbar.third,
>>                 TinyMCESettings.Position.after);
>>
>>         // fourth toolbar
>>         SpellCheckPlugin spellCheckPlugin = new SpellCheckPlugin();
>>         settings.add(spellCheckPlugin.getSpellCheckButton(),
>> TinyMCESettings.Toolbar.fourth,TinyMCESettings.Position.after);
>>
>>         // other settings
>>         settings.setToolbarAlign(TinyMCESettings.Align.left);
>>         settings.setToolbarLocation(TinyMCESettings.Location.top);
>>         settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
>>         settings.setResizing(false);
>>
>>         newsLetterContent = new TextArea<String>("ta",new Model(TEXT));
>>         newsLetterContent.add(new TinyMceBehavior(settings));
>>         feedbackPanel = criaFeedbackPanel();
>>         cadastrar = new AjaxButton("cadastrar", this) {
>>             private static final long serialVersionUID =
>> 6045168066074475539L;
>>
>>             @Override
>>             protected void onError(AjaxRequestTarget target, Form<?> form)
>> {
>>                 // repaint the feedback panel so errors are shown
>>                 target.addComponent(feedbackPanel);
>>             }
>>
>>             @Override
>>             protected void onSubmit(AjaxRequestTarget target, Form<?>
>> form) {
>>                 getHibernateTransaction();
>>                 newsletter.setNewsletter(newsLetterContent.getValue());
>>                 hibernateSession.persist(newsletter);
>>                 hibernateTransaction.commit();
>>                 closeTransaction();
>>                 String mensageSucesso = "Newsletter cadastradada com
>> sucesso!";
>>                 info(mensageSucesso);
>>                 target.addComponent(feedbackPanel);
>>             }
>>         };
>>
>>     }
>>
>>     private FeedbackPanel criaFeedbackPanel() {
>>         FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
>>         feedbackPanel.setOutputMarkupId(true);
>>         return feedbackPanel;
>>     }
>>
>> }
>> -----------------------------------------------
>> And this is my markup
>> CadastroNewsletterPanel.html
>> -----------------------------------------------
>>
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <html xmlns="http://www.w3.org/1999/xhtml">
>> <wicket:head>
>>     <title wicket:id="pageTitle">[Titulo]</title>
>> </wicket:head>
>> <wicket:panel>
>>     <div class="cssbox_head">
>>     <h2><label wicket:id="cabecalho">[cabecalho]</label></h2>
>>     </div>
>>     <form wicket:id="newsForm" name="newsForm">
>>         <label wicket:id="labelNews" class="labelForms">[name
>> label]</label><br/>
>>         <textarea wicket:id="ta" id="ta" name="ta" rows="30" style="width:
>> 80%">test texarea</textarea><br />
>>         <input wicket:id="cadastrar" name="Cadastrar" type="submit"
>> value="Cadastrar" class="buttons" /><br />
>>         <div wicket:id="feedback" class="feedback"></div>
>>     </form>
>> </wicket:panel>
>> </html>
>>
>> -----------------------------------------------
>> CadastroNewsletterPanel.java
>> -----------------------------------------------
>>
>> package com.jasp.ecommfwk.pages.newsleter;
>>
>> import org.apache.wicket.markup.html.basic.Label;
>> import org.apache.wicket.markup.html.panel.Panel;
>> import org.apache.wicket.model.StringResourceModel;
>>
>> import com.jasp.ecommfwk.pages.newsleter.forms.NewsletterForm;
>>
>> public class CadastroNewsletterPanel extends Panel {
>>     private static final long serialVersionUID = 4682446014181156016L;
>>     private final StringResourceModel labelTitle = new
>> StringResourceModel(
>>             "panel.title", this, null, new Object[] { getLocale() });
>>     private final StringResourceModel labelHeader = new
>> StringResourceModel(
>>             "panel.header", this, null, new Object[] { getLocale() });
>>
>>     @SuppressWarnings("deprecation")
>>     protected void addHeaders() {
>>         add(new Label("pageTitle", labelTitle));
>>         add(new Label("cabecalho", labelHeader));
>>     }
>>
>>     public CadastroNewsletterPanel(String id) {
>>         super(id);
>>         addHeaders();
>>         final NewsletterForm categoriaForm = new
>> NewsletterForm("newsForm");
>>         add(categoriaForm);
>>
>>     }
>> }
>>
>>
>> On Fri, Mar 6, 2009 at 8:30 AM, rolandpeng <ro...@cht.com.tw> wrote:
>>
>>>
>>> I use wicket 1.4-rc2 and meet the same problem.
>>>
>>> you can download jazzy.jar here to solve the exception.
>>> http://sourceforge.net/projects/jazzy/
>>>
>>> then all the program works.
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>
>>
>> --
>> "Two rules to succeed in life:
>> 1 - don´t tell people everything you know."
>> --------
>> We shall go on to the end.
>> We shall fight in France
>> We shall fightover the seas and oceans.
>> We shall fight with growing confidence and growing strength in the air.
>> We shall defend our island whatever the cost may be
>> We shall fight on beaches, we shall fight on the landing grounds,
>> We shall fight in the fields and in the streets,
>> We shall fight on the hills.
>> We shall never surrender.
>> Winston Churchill
>>
>
>
>
> --
> "Two rules to succeed in life:
> 1 - don´t tell people everything you know."
> --------
> We shall go on to the end.
> We shall fight in France
> We shall fightover the seas and oceans.
> We shall fight with growing confidence and growing strength in the air.
> We shall defend our island whatever the cost may be
> We shall fight on beaches, we shall fight on the landing grounds,
> We shall fight in the fields and in the streets,
> We shall fight on the hills.
> We shall never surrender.
> Winston Churchill
>



-- 
"Two rules to succeed in life:
1 - don´t tell people everything you know."
--------
We shall go on to the end.
We shall fight in France
We shall fightover the seas and oceans.
We shall fight with growing confidence and growing strength in the air.
We shall defend our island whatever the cost may be
We shall fight on beaches, we shall fight on the landing grounds,
We shall fight in the fields and in the streets,
We shall fight on the hills.
We shall never surrender.
Winston Churchill

Re: WYSIWYG component

Posted by Daniel Ferreira Castro <df...@gmail.com>.
I am still trying to make tinymce work on my project.  But I only get a
simple text area.
So I start to look for dependencies that could be missing.

I downloaded the TinyMCE from here - http://tinymce.moxiecode.com/
Unzipped and imported every artificat to my project.

Added all the resources, javascripts and css, present on the examples on my
Panel


add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./javascript/tiny_mce.js"));

add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./javascript/lists/template_list.js"));

add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./javascript/lists/link_list.js"));

add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./javascript/lists/image_list.js"));

add(JavascriptPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./javascript/lists/media_list.js"));

add(CSSPackageResource.getHeaderContribution(CadastroNewsletterPanel.class,
        "./css/content.css"));

Cleaned the project
Built the Project
Restarted the jetty and launched the application.

Nothing happened.
Please, could anyone help me?

On Fri, Mar 13, 2009 at 7:32 PM, Daniel Ferreira Castro
<df...@gmail.com>wrote:

> Great :) Thanks :)
> The Exception stopped from ocurring, but I still have the problem of only
> showing a TextArea without the look of an WYSWYG edit text area.
> I looked inside
> https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/tinymce-parent/tinymce-examples/src/main/java/wicket/contrib/examples/tinymce/and subdirs but did not find any war file that I could look inside for how
> the markup html is written.  I did as the example showed, but did not have
> success.
>
>
> If anyone can help me...
>
> This is my implementation
>
> -----------------------------------------------
> NewsletterForm.java
> -----------------------------------------------
>
> package com.jasp.ecommfwk.pages.newsleter.forms;
>
> import org.apache.wicket.ajax.AjaxRequestTarget;
> import org.apache.wicket.ajax.markup.html.form.AjaxButton;
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.form.Form;
> import org.apache.wicket.markup.html.form.TextArea;
> import org.apache.wicket.markup.html.panel.FeedbackPanel;
> import org.apache.wicket.model.Model;
> import org.apache.wicket.model.StringResourceModel;
>
> import wicket.contrib.tinymce.TinyMceBehavior;
> import wicket.contrib.tinymce.settings.ContextMenuPlugin;
> import wicket.contrib.tinymce.settings.DateTimePlugin;
> import wicket.contrib.tinymce.settings.DirectionalityPlugin;
> import wicket.contrib.tinymce.settings.EmotionsPlugin;
> import wicket.contrib.tinymce.settings.FullScreenPlugin;
> import wicket.contrib.tinymce.settings.IESpellPlugin;
> import wicket.contrib.tinymce.settings.MediaPlugin;
> import wicket.contrib.tinymce.settings.PastePlugin;
> import wicket.contrib.tinymce.settings.PreviewPlugin;
> import wicket.contrib.tinymce.settings.PrintPlugin;
> import wicket.contrib.tinymce.settings.SavePlugin;
> import wicket.contrib.tinymce.settings.SearchReplacePlugin;
> import wicket.contrib.tinymce.settings.SpellCheckPlugin;
> import wicket.contrib.tinymce.settings.TablePlugin;
> import wicket.contrib.tinymce.settings.TinyMCESettings;
>
> import com.jasp.ecommfwk.pages.forms.BaseForm;
> import com.jasp.persistence.admin.Newsletter;
>
> public class NewsletterForm extends BaseForm {
>     private static final String TEXT = "<p><img src=\"logo.jpg\" alt=\" \"
> hspace=\"5\" vspace=\"5\" width=\"250\" height=\"48\" align=\"right\" />"
>         + "TinyMCE is a platform independent web based Javascript HTML
> <strong>WYSIWYG</strong> editor control released as Open Source under LGPL
> by Moxiecode Systems AB. "
>         + "It has the ability to convert HTML TEXTAREA fields or other HTML
> elements to editor instances. TinyMCE is very easy to integrate into other
> Content Management Systems.</p>"
>         + "<p>We recommend <a href=\"http://www.getfirefox.com\"
> target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\"
> target=\"_blank\">Google</a> <br /></p>";
>
>     private static final long serialVersionUID = 2335975457449309765L;
>     private final StringResourceModel labelNewsletterValue = new
> StringResourceModel(
>             "news.newsletter", this, null, new Object[] { getLocale() });
>
>     private Label labelNews;
>
>     private TextArea <String>newsLetterContent;
>     private AjaxButton cadastrar;
>     private FeedbackPanel feedbackPanel;
>     private Newsletter newsletter = new Newsletter();
>     private TinyMCESettings settings;
>
>     private ContextMenuPlugin contextMenuPlugin;
>     public NewsletterForm(String id) {
>         super(id);
>         inicializaComponentesForm();
>         AddComponentToForm();
>         // TODO Auto-generated constructor stub
>     }
>
>     @Override
>     protected void AddComponentToForm() {
>         this.add(labelNews);
>         this.add(cadastrar);
>         this.add(newsLetterContent);
>         this.add(feedbackPanel);
>     }
>
>     @Override
>     protected void inicializaComponentesForm() {
>         labelNews = new Label("labelNews", labelNewsletterValue);
>
>         settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);
>         contextMenuPlugin = new ContextMenuPlugin();
>         settings.register(contextMenuPlugin);
>
>         // first toolbar
>         SavePlugin savePlugin = new SavePlugin();
>         settings.add(savePlugin.getSaveButton(),
> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.newdocument,
> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.fontselect,
> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.fontsizeselect,
> TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
>
>         // second toolbar
>         PastePlugin pastePlugin = new PastePlugin();
>         SearchReplacePlugin searchReplacePlugin = new
> SearchReplacePlugin();
>         DateTimePlugin dateTimePlugin = new DateTimePlugin();
>         dateTimePlugin.setDateFormat("Date: %m-%d-%Y");
>         dateTimePlugin.setTimeFormat("Time: %H:%M");
>         PreviewPlugin previewPlugin = new PreviewPlugin();
>         settings.add(wicket.contrib.tinymce.settings.Button.cut,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.copy,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(pastePlugin.getPasteButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(pastePlugin.getPasteTextButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(pastePlugin.getPasteWordButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(searchReplacePlugin.getSearchButton(),
> TinyMCESettings.Toolbar.second,
>                 TinyMCESettings.Position.before);
>         settings.add(searchReplacePlugin.getReplaceButton(),
> TinyMCESettings.Toolbar.second,
>                 TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(dateTimePlugin.getDateButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(dateTimePlugin.getTimeButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(previewPlugin.getPreviewButton(),
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.forecolor,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.backcolor,
> TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
>
>         // third toolbar
>         TablePlugin tablePlugin = new TablePlugin();
>         EmotionsPlugin emotionsPlugin = new EmotionsPlugin();
>         IESpellPlugin iespellPlugin = new IESpellPlugin();
>         MediaPlugin mediaPlugin = new MediaPlugin();
>         PrintPlugin printPlugin = new PrintPlugin();
>         FullScreenPlugin fullScreenPlugin = new FullScreenPlugin();
>         DirectionalityPlugin directionalityPlugin = new
> DirectionalityPlugin();
>         settings.add(tablePlugin.getTableControls(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.before);
>         settings.add(emotionsPlugin.getEmotionsButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(iespellPlugin.getIespellButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(mediaPlugin.getMediaButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(printPlugin.getPrintButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(directionalityPlugin.getLtrButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(directionalityPlugin.getRtlButton(),
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(wicket.contrib.tinymce.settings.Button.separator,
> TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
>         settings.add(fullScreenPlugin.getFullscreenButton(),
> TinyMCESettings.Toolbar.third,
>                 TinyMCESettings.Position.after);
>
>         // fourth toolbar
>         SpellCheckPlugin spellCheckPlugin = new SpellCheckPlugin();
>         settings.add(spellCheckPlugin.getSpellCheckButton(),
> TinyMCESettings.Toolbar.fourth,TinyMCESettings.Position.after);
>
>         // other settings
>         settings.setToolbarAlign(TinyMCESettings.Align.left);
>         settings.setToolbarLocation(TinyMCESettings.Location.top);
>         settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
>         settings.setResizing(false);
>
>         newsLetterContent = new TextArea<String>("ta",new Model(TEXT));
>         newsLetterContent.add(new TinyMceBehavior(settings));
>         feedbackPanel = criaFeedbackPanel();
>         cadastrar = new AjaxButton("cadastrar", this) {
>             private static final long serialVersionUID =
> 6045168066074475539L;
>
>             @Override
>             protected void onError(AjaxRequestTarget target, Form<?> form)
> {
>                 // repaint the feedback panel so errors are shown
>                 target.addComponent(feedbackPanel);
>             }
>
>             @Override
>             protected void onSubmit(AjaxRequestTarget target, Form<?> form)
> {
>                 getHibernateTransaction();
>                 newsletter.setNewsletter(newsLetterContent.getValue());
>                 hibernateSession.persist(newsletter);
>                 hibernateTransaction.commit();
>                 closeTransaction();
>                 String mensageSucesso = "Newsletter cadastradada com
> sucesso!";
>                 info(mensageSucesso);
>                 target.addComponent(feedbackPanel);
>             }
>         };
>
>     }
>
>     private FeedbackPanel criaFeedbackPanel() {
>         FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
>         feedbackPanel.setOutputMarkupId(true);
>         return feedbackPanel;
>     }
>
> }
> -----------------------------------------------
> And this is my markup
> CadastroNewsletterPanel.html
> -----------------------------------------------
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <html xmlns="http://www.w3.org/1999/xhtml">
> <wicket:head>
>     <title wicket:id="pageTitle">[Titulo]</title>
> </wicket:head>
> <wicket:panel>
>     <div class="cssbox_head">
>     <h2><label wicket:id="cabecalho">[cabecalho]</label></h2>
>     </div>
>     <form wicket:id="newsForm" name="newsForm">
>         <label wicket:id="labelNews" class="labelForms">[name
> label]</label><br/>
>         <textarea wicket:id="ta" id="ta" name="ta" rows="30" style="width:
> 80%">test texarea</textarea><br />
>         <input wicket:id="cadastrar" name="Cadastrar" type="submit"
> value="Cadastrar" class="buttons" /><br />
>         <div wicket:id="feedback" class="feedback"></div>
>     </form>
> </wicket:panel>
> </html>
>
> -----------------------------------------------
> CadastroNewsletterPanel.java
> -----------------------------------------------
>
> package com.jasp.ecommfwk.pages.newsleter;
>
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.panel.Panel;
> import org.apache.wicket.model.StringResourceModel;
>
> import com.jasp.ecommfwk.pages.newsleter.forms.NewsletterForm;
>
> public class CadastroNewsletterPanel extends Panel {
>     private static final long serialVersionUID = 4682446014181156016L;
>     private final StringResourceModel labelTitle = new StringResourceModel(
>             "panel.title", this, null, new Object[] { getLocale() });
>     private final StringResourceModel labelHeader = new
> StringResourceModel(
>             "panel.header", this, null, new Object[] { getLocale() });
>
>     @SuppressWarnings("deprecation")
>     protected void addHeaders() {
>         add(new Label("pageTitle", labelTitle));
>         add(new Label("cabecalho", labelHeader));
>     }
>
>     public CadastroNewsletterPanel(String id) {
>         super(id);
>         addHeaders();
>         final NewsletterForm categoriaForm = new
> NewsletterForm("newsForm");
>         add(categoriaForm);
>
>     }
> }
>
>
> On Fri, Mar 6, 2009 at 8:30 AM, rolandpeng <ro...@cht.com.tw> wrote:
>
>>
>> I use wicket 1.4-rc2 and meet the same problem.
>>
>> you can download jazzy.jar here to solve the exception.
>> http://sourceforge.net/projects/jazzy/
>>
>> then all the program works.
>>
>> --
>> View this message in context:
>> http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
> --
> "Two rules to succeed in life:
> 1 - don´t tell people everything you know."
> --------
> We shall go on to the end.
> We shall fight in France
> We shall fightover the seas and oceans.
> We shall fight with growing confidence and growing strength in the air.
> We shall defend our island whatever the cost may be
> We shall fight on beaches, we shall fight on the landing grounds,
> We shall fight in the fields and in the streets,
> We shall fight on the hills.
> We shall never surrender.
> Winston Churchill
>



-- 
"Two rules to succeed in life:
1 - don´t tell people everything you know."
--------
We shall go on to the end.
We shall fight in France
We shall fightover the seas and oceans.
We shall fight with growing confidence and growing strength in the air.
We shall defend our island whatever the cost may be
We shall fight on beaches, we shall fight on the landing grounds,
We shall fight in the fields and in the streets,
We shall fight on the hills.
We shall never surrender.
Winston Churchill

Re: WYSIWYG component

Posted by Daniel Ferreira Castro <df...@gmail.com>.
Great :) Thanks :)
The Exception stopped from ocurring, but I still have the problem of only
showing a TextArea without the look of an WYSWYG edit text area.
I looked inside
https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/tinymce-parent/tinymce-examples/src/main/java/wicket/contrib/examples/tinymce/and
subdirs but did not find any war file that I could look inside for how
the markup html is written.  I did as the example showed, but did not have
success.


If anyone can help me...

This is my implementation

-----------------------------------------------
NewsletterForm.java
-----------------------------------------------

package com.jasp.ecommfwk.pages.newsleter.forms;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

import wicket.contrib.tinymce.TinyMceBehavior;
import wicket.contrib.tinymce.settings.ContextMenuPlugin;
import wicket.contrib.tinymce.settings.DateTimePlugin;
import wicket.contrib.tinymce.settings.DirectionalityPlugin;
import wicket.contrib.tinymce.settings.EmotionsPlugin;
import wicket.contrib.tinymce.settings.FullScreenPlugin;
import wicket.contrib.tinymce.settings.IESpellPlugin;
import wicket.contrib.tinymce.settings.MediaPlugin;
import wicket.contrib.tinymce.settings.PastePlugin;
import wicket.contrib.tinymce.settings.PreviewPlugin;
import wicket.contrib.tinymce.settings.PrintPlugin;
import wicket.contrib.tinymce.settings.SavePlugin;
import wicket.contrib.tinymce.settings.SearchReplacePlugin;
import wicket.contrib.tinymce.settings.SpellCheckPlugin;
import wicket.contrib.tinymce.settings.TablePlugin;
import wicket.contrib.tinymce.settings.TinyMCESettings;

import com.jasp.ecommfwk.pages.forms.BaseForm;
import com.jasp.persistence.admin.Newsletter;

public class NewsletterForm extends BaseForm {
    private static final String TEXT = "<p><img src=\"logo.jpg\" alt=\" \"
hspace=\"5\" vspace=\"5\" width=\"250\" height=\"48\" align=\"right\" />"
        + "TinyMCE is a platform independent web based Javascript HTML
<strong>WYSIWYG</strong> editor control released as Open Source under LGPL
by Moxiecode Systems AB. "
        + "It has the ability to convert HTML TEXTAREA fields or other HTML
elements to editor instances. TinyMCE is very easy to integrate into other
Content Management Systems.</p>"
        + "<p>We recommend <a href=\"http://www.getfirefox.com\"
target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\"
target=\"_blank\">Google</a> <br /></p>";

    private static final long serialVersionUID = 2335975457449309765L;
    private final StringResourceModel labelNewsletterValue = new
StringResourceModel(
            "news.newsletter", this, null, new Object[] { getLocale() });

    private Label labelNews;

    private TextArea <String>newsLetterContent;
    private AjaxButton cadastrar;
    private FeedbackPanel feedbackPanel;
    private Newsletter newsletter = new Newsletter();
    private TinyMCESettings settings;

    private ContextMenuPlugin contextMenuPlugin;
    public NewsletterForm(String id) {
        super(id);
        inicializaComponentesForm();
        AddComponentToForm();
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void AddComponentToForm() {
        this.add(labelNews);
        this.add(cadastrar);
        this.add(newsLetterContent);
        this.add(feedbackPanel);
    }

    @Override
    protected void inicializaComponentesForm() {
        labelNews = new Label("labelNews", labelNewsletterValue);

        settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);
        contextMenuPlugin = new ContextMenuPlugin();
        settings.register(contextMenuPlugin);

        // first toolbar
        SavePlugin savePlugin = new SavePlugin();
        settings.add(savePlugin.getSaveButton(),
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.newdocument,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.fontselect,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.fontsizeselect,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);

        // second toolbar
        PastePlugin pastePlugin = new PastePlugin();
        SearchReplacePlugin searchReplacePlugin = new SearchReplacePlugin();
        DateTimePlugin dateTimePlugin = new DateTimePlugin();
        dateTimePlugin.setDateFormat("Date: %m-%d-%Y");
        dateTimePlugin.setTimeFormat("Time: %H:%M");
        PreviewPlugin previewPlugin = new PreviewPlugin();
        settings.add(wicket.contrib.tinymce.settings.Button.cut,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.copy,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteTextButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteWordButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(searchReplacePlugin.getSearchButton(),
TinyMCESettings.Toolbar.second,
                TinyMCESettings.Position.before);
        settings.add(searchReplacePlugin.getReplaceButton(),
TinyMCESettings.Toolbar.second,
                TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(dateTimePlugin.getDateButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(dateTimePlugin.getTimeButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(previewPlugin.getPreviewButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.forecolor,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.backcolor,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);

        // third toolbar
        TablePlugin tablePlugin = new TablePlugin();
        EmotionsPlugin emotionsPlugin = new EmotionsPlugin();
        IESpellPlugin iespellPlugin = new IESpellPlugin();
        MediaPlugin mediaPlugin = new MediaPlugin();
        PrintPlugin printPlugin = new PrintPlugin();
        FullScreenPlugin fullScreenPlugin = new FullScreenPlugin();
        DirectionalityPlugin directionalityPlugin = new
DirectionalityPlugin();
        settings.add(tablePlugin.getTableControls(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.before);
        settings.add(emotionsPlugin.getEmotionsButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(iespellPlugin.getIespellButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(mediaPlugin.getMediaButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(printPlugin.getPrintButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(directionalityPlugin.getLtrButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(directionalityPlugin.getRtlButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(fullScreenPlugin.getFullscreenButton(),
TinyMCESettings.Toolbar.third,
                TinyMCESettings.Position.after);

        // fourth toolbar
        SpellCheckPlugin spellCheckPlugin = new SpellCheckPlugin();
        settings.add(spellCheckPlugin.getSpellCheckButton(),
TinyMCESettings.Toolbar.fourth,TinyMCESettings.Position.after);

        // other settings
        settings.setToolbarAlign(TinyMCESettings.Align.left);
        settings.setToolbarLocation(TinyMCESettings.Location.top);
        settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
        settings.setResizing(false);

        newsLetterContent = new TextArea<String>("ta",new Model(TEXT));
        newsLetterContent.add(new TinyMceBehavior(settings));
        feedbackPanel = criaFeedbackPanel();
        cadastrar = new AjaxButton("cadastrar", this) {
            private static final long serialVersionUID =
6045168066074475539L;

            @Override
            protected void onError(AjaxRequestTarget target, Form<?> form) {
                // repaint the feedback panel so errors are shown
                target.addComponent(feedbackPanel);
            }

            @Override
            protected void onSubmit(AjaxRequestTarget target, Form<?> form)
{
                getHibernateTransaction();
                newsletter.setNewsletter(newsLetterContent.getValue());
                hibernateSession.persist(newsletter);
                hibernateTransaction.commit();
                closeTransaction();
                String mensageSucesso = "Newsletter cadastradada com
sucesso!";
                info(mensageSucesso);
                target.addComponent(feedbackPanel);
            }
        };

    }

    private FeedbackPanel criaFeedbackPanel() {
        FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
        feedbackPanel.setOutputMarkupId(true);
        return feedbackPanel;
    }

}
-----------------------------------------------
And this is my markup
CadastroNewsletterPanel.html
-----------------------------------------------


<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<wicket:head>
    <title wicket:id="pageTitle">[Titulo]</title>
</wicket:head>
<wicket:panel>
    <div class="cssbox_head">
    <h2><label wicket:id="cabecalho">[cabecalho]</label></h2>
    </div>
    <form wicket:id="newsForm" name="newsForm">
        <label wicket:id="labelNews" class="labelForms">[name
label]</label><br/>
        <textarea wicket:id="ta" id="ta" name="ta" rows="30" style="width:
80%">test texarea</textarea><br />
        <input wicket:id="cadastrar" name="Cadastrar" type="submit"
value="Cadastrar" class="buttons" /><br />
        <div wicket:id="feedback" class="feedback"></div>
    </form>
</wicket:panel>
</html>

-----------------------------------------------
CadastroNewsletterPanel.java
-----------------------------------------------

package com.jasp.ecommfwk.pages.newsleter;

import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.StringResourceModel;

import com.jasp.ecommfwk.pages.newsleter.forms.NewsletterForm;

public class CadastroNewsletterPanel extends Panel {
    private static final long serialVersionUID = 4682446014181156016L;
    private final StringResourceModel labelTitle = new StringResourceModel(
            "panel.title", this, null, new Object[] { getLocale() });
    private final StringResourceModel labelHeader = new StringResourceModel(
            "panel.header", this, null, new Object[] { getLocale() });

    @SuppressWarnings("deprecation")
    protected void addHeaders() {
        add(new Label("pageTitle", labelTitle));
        add(new Label("cabecalho", labelHeader));
    }

    public CadastroNewsletterPanel(String id) {
        super(id);
        addHeaders();
        final NewsletterForm categoriaForm = new NewsletterForm("newsForm");
        add(categoriaForm);
    }
}


On Fri, Mar 6, 2009 at 8:30 AM, rolandpeng <ro...@cht.com.tw> wrote:

>
> I use wicket 1.4-rc2 and meet the same problem.
>
> you can download jazzy.jar here to solve the exception.
> http://sourceforge.net/projects/jazzy/
>
> then all the program works.
>
> --
> View this message in context:
> http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
"Two rules to succeed in life:
1 - don´t tell people everything you know."
--------
We shall go on to the end.
We shall fight in France
We shall fightover the seas and oceans.
We shall fight with growing confidence and growing strength in the air.
We shall defend our island whatever the cost may be
We shall fight on beaches, we shall fight on the landing grounds,
We shall fight in the fields and in the streets,
We shall fight on the hills.
We shall never surrender.
Winston Churchill