Package wicket.contrib.examples.tinymce

Source Code of wicket.contrib.examples.tinymce.FullFeaturedTinyMCEPage

package wicket.contrib.examples.tinymce;

import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.model.Model;
import wicket.contrib.tinymce.TinyMceBehavior;
import wicket.contrib.tinymce.settings.AdvListPlugin;
import wicket.contrib.tinymce.settings.AutoSavePlugin;
import wicket.contrib.tinymce.settings.Button;
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.TablePlugin;
import wicket.contrib.tinymce.settings.TinyMCESettings;
import wicket.contrib.tinymce.settings.WordcountPlugin;

/**
* @author syca
*/
public class FullFeaturedTinyMCEPage extends TinyMCEBasePage
{

  private static final long serialVersionUID = 1L;

  public FullFeaturedTinyMCEPage()
  {
    TinyMCESettings settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);

                // Register non-buttuon plugins
    settings.register(new ContextMenuPlugin());
                settings.register(new AutoSavePlugin());
                settings.register(new WordcountPlugin());
                settings.register(new AdvListPlugin());

    // first toolbar
    SavePlugin savePlugin = new SavePlugin();
    settings.add(savePlugin.getSaveButton(), TinyMCESettings.Toolbar.first,
      TinyMCESettings.Position.before);
    settings.add(Button.newdocument, TinyMCESettings.Toolbar.first,
      TinyMCESettings.Position.before);
    settings.add(Button.separator, TinyMCESettings.Toolbar.first,
      TinyMCESettings.Position.before);
    settings.add(Button.fontselect, TinyMCESettings.Toolbar.first,
      TinyMCESettings.Position.after);
    settings.add(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(Button.cut, TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
    settings.add(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(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(Button.separator, TinyMCESettings.Toolbar.second,
      TinyMCESettings.Position.before);
    settings.add(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(Button.separator, TinyMCESettings.Toolbar.second,
      TinyMCESettings.Position.after);
    settings.add(previewPlugin.getPreviewButton(), TinyMCESettings.Toolbar.second,
      TinyMCESettings.Position.after);
    settings.add(Button.separator, TinyMCESettings.Toolbar.second,
      TinyMCESettings.Position.after);
    settings.add(Button.forecolor, TinyMCESettings.Toolbar.second,
      TinyMCESettings.Position.after);
    settings.add(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(Button.separator, TinyMCESettings.Toolbar.third,
                        TinyMCESettings.Position.after);
    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(Button.separator, TinyMCESettings.Toolbar.third,
      TinyMCESettings.Position.after);
    settings.add(printPlugin.getPrintButton(), TinyMCESettings.Toolbar.third,
      TinyMCESettings.Position.after);
    settings.add(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(Button.separator, TinyMCESettings.Toolbar.third,
      TinyMCESettings.Position.after);
    settings.add(fullScreenPlugin.getFullscreenButton(), TinyMCESettings.Toolbar.third,
      TinyMCESettings.Position.after);

    // other settings
    settings.setToolbarAlign(TinyMCESettings.Align.left);
    settings.setToolbarLocation(TinyMCESettings.Location.top);
    settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
    settings.setResizing(true);
               
                // custom settings
                String styleFormats = "style_formats : ["
                        + "{title : 'Bold text', inline : 'b'},"
                        + "{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},"
                        + "{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},"
                        + "{title : 'Example 1', inline : 'span', classes : 'example1'},"
                        + "{title : 'Example 2', inline : 'span', classes : 'example2'},"
                        + "{title : 'Table styles'},"
                        + "{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}]";
                settings.addCustomSetting(styleFormats);
               
                settings.addCustomSetting("content_css : \"../../../../../content.css\"");

    TextArea<String> textArea = new TextArea<String>("ta", new Model<String>(TEXT));
    textArea.add(new TinyMceBehavior(settings));
    add(textArea);
  }

  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>";

}
TOP

Related Classes of wicket.contrib.examples.tinymce.FullFeaturedTinyMCEPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.