Author: manolo Date: Sat Nov 21 09:10:09 2009 New Revision: 882863 URL: http://svn.apache.org/viewvc?rev=882863&view=rev Log: Basic implementation of the 'wysiwyg' email editor. Changes in sendmail-handler to send both html and txt version of the message.
Added: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants_es.properties james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java james/hupa/trunk/client/war/ (props changed) james/hupa/trunk/client/war/Hupa.css james/hupa/trunk/client/war/WEB-INF/ (props changed) james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/editor/Editor.java Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java Sat Nov 21 09:10:09 2009 @@ -23,16 +23,29 @@ import org.apache.hupa.client.gin.HupaGinjector; import org.apache.hupa.client.mvp.AppPresenter; +import org.apache.hupa.widgets.editor.Editor; +import org.apache.hupa.widgets.editor.Toolbar; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.RichTextArea; import com.google.gwt.user.client.ui.RootPanel; +import com.google.gwt.user.client.ui.VerticalPanel; public class Hupa implements EntryPoint{ private final HupaGinjector injector = GWT.create(HupaGinjector.class); public void onModuleLoad() { + if (null != Window.Location.getParameter("test")) + onModuleLoadMine(); + else + onModuleLoadOrg(); + + } + + public void onModuleLoadOrg() { // remove the loading message from the browser com.google.gwt.user.client.Element loading = DOM.getElementById("loading"); @@ -48,4 +61,12 @@ placeManager.fireCurrentPlace(); } + public void onModuleLoadMine() { + + DOM.setInnerHTML(RootPanel.get("loading").getElement(), ""); + + RootPanel.get().add(new Editor()); + + } + } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java Sat Nov 21 09:10:09 2009 @@ -19,13 +19,14 @@ package org.apache.hupa.client; -import org.apache.hupa.widgets.PagingOptionsConstants; - import gwtupload.client.IUploader.UploaderConstants; +import org.apache.hupa.widgets.PagingOptionsConstants; +import org.apache.hupa.widgets.editor.ToolbarConstants; + import com.google.gwt.i18n.client.Constants; -public interface HupaConstants extends Constants, UploaderConstants, PagingOptionsConstants { +public interface HupaConstants extends Constants, UploaderConstants, PagingOptionsConstants, ToolbarConstants { public String usernameLabel(); Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties Sat Nov 21 09:10:09 2009 @@ -19,6 +19,47 @@ #uploaderServerUnavailable=Unable to contact with the server: #uploaderSend=Send +# +# These English constants are already defined in editor widget. +# They are here as a reference to generate constants for other languages +# using this file as template +# +#editor_bold = Toggle Bold +#editor_createLink = Create Link +#editor_hr = Insert Horizontal Rule +#editor_indent = Indent Right +#editor_insertImage = Insert Image +#editor_italic = Toggle Italic +#editor_justifyCenter = Center +#editor_justifyLeft = Left Justify +#editor_justifyRight = Right Justify +#editor_ol = Insert Ordered List +#editor_outdent = Indent Left +#editor_removeFormat = Remove Formatting +#editor_removeLink = Remove Link +#editor_strikeThrough = Toggle Strikethrough +#editor_subscript = Toggle Subscript +#editor_superscript = Toggle Superscript +#editor_ul = Insert Unordered List +#editor_underline = Toggle Underline +#editor_color = Color +#editor_black = Black +#editor_white = White +#editor_red = Red +#editor_green = Green +#editor_yellow = Yellow +#editor_blue = Blue +#editor_font = Font +#editor_normal = Normal +#editor_size = Size +#editor_xxsmall = XX-Small +#editor_xsmall = X-Small +#editor_small = Small +#editor_medium = Medium +#editor_large = Large +#editor_xlarge = X-Large +#editor_xxlarge = XX-Large + usernameLabel=Username: passwordLabel=Password: saveLoginLabel=Save login data Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants_es.properties URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants_es.properties?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants_es.properties (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants_es.properties Sat Nov 21 09:10:09 2009 @@ -20,6 +20,43 @@ #uploaderSend=Enviar # +# Editor +editor_bold = Negrilla +editor_createLink = Crear enlace +editor_hr = Insertar linea horizontal +editor_indent = Identar a la Derecha +editor_insertImage = Insertar imagen +editor_italic = Cursiva +editor_justifyCenter = Centrar +editor_justifyLeft = Justificar a la Izquierda +editor_justifyRight = Justificar a la Derecha +editor_ol = Lista ordenada +editor_outdent = Identar a la Izquierda +editor_removeFormat = Eliminar formato +editor_removeLink = Eliminar enlace +editor_strikeThrough = Tachado +editor_subscript = SubÃndice +editor_superscript = SuperÃndice +editor_ul = Lista no ordenada +editor_underline = Subrayado +editor_color = Color +editor_black = Negro +editor_white = Blanco +editor_red = Rojo +editor_green = Verde +editor_yellow = Amarillo +editor_blue = Azul +editor_font = Fuente +editor_normal = Normal +editor_size = Tamaño +editor_xxsmall = Enana +editor_xsmall = Muy pequeña +editor_small = Pequeña +editor_medium = Mediana +editor_large = Grande +editor_xlarge = Muy grande +editor_xxlarge = Enorme + usernameLabel=Nombre de Usuario: passwordLabel=Contraseña: saveLoginLabel=Salvar datos de entrada Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java Sat Nov 21 09:10:09 2009 @@ -52,6 +52,7 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.HasHTML; import com.google.gwt.user.client.ui.HasText; import com.google.inject.Inject; @@ -165,7 +166,7 @@ public HasText getCcText(); public HasText getBccText(); public HasText getSubjectText(); - public HasText getMessageText(); + public HasHTML getMessageHTML(); public HasClickHandlers getSendClick(); public HasEnable getSendEnable(); public IUploader getUploader(); @@ -231,7 +232,7 @@ message.setCc(cc); message.setSubject(display.getSubjectText().getText()); - message.setText(display.getMessageText().getText()); + message.setText(display.getMessageHTML().getHTML()); message.setMessageAttachments(attachments); @@ -317,7 +318,7 @@ // cancel the current upload when unbinding display.getUploader().cancel(); } - + /** * Bind the given values to this presenter * @@ -338,21 +339,14 @@ display.getCcText().setText(""); display.getBccText().setText(""); display.getSubjectText().setText(""); - display.getMessageText().setText(""); + display.getMessageHTML().setHTML(""); - display.getMessageText().setText(""); if (type.equals(Type.FORWARD)) { display.getSubjectText().setText("Fwd: " + oldmessage.getSubject()); - display.getMessageText().setText("\n\n-------- Original Message -------\n" ); + display.getMessageHTML().setHTML(wrapMessage(oldmessage, oldDetails)); } else if (type.equals(Type.REPLY) || type.equals(Type.REPLY_ALL)) { display.getSubjectText().setText("Re: " + oldmessage.getSubject()); - - String oldMessageText = oldDetails.getText(); - StringBuffer messageText = new StringBuffer("\n\n-------- Message -------\n"); - if ( oldMessageText != null) { - messageText.append(oldMessageText); - } - display.getMessageText().setText(messageText.toString()); + display.getMessageHTML().setHTML(wrapMessage(oldmessage, oldDetails)); if (type.equals(Type.REPLY)) { display.getToText().setText(oldmessage.getFrom()); @@ -393,4 +387,15 @@ // DO Nothing } + private String wrapMessage(Message message, MessageDetails details){ + String ret; + ret = "<font size=2 style='font-family: arial'>"; + ret += "<br><br>On " + message.getReceivedDate() + ", " + message.getFrom() +". wrote:<br>"; + ret += "<blockquote style='border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;'>"; + ret += details.getText(); + ret += "</blockquote></font>"; + return ret; + } + + } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendView.java Sat Nov 21 09:10:09 2009 @@ -26,10 +26,11 @@ import org.apache.hupa.client.HupaConstants; import org.apache.hupa.client.widgets.EnableButton; -import org.apache.hupa.widgets.ui.EnableHyperlink; -import org.apache.hupa.widgets.ui.Loading; import org.apache.hupa.shared.SConsts; +import org.apache.hupa.widgets.editor.Editor; +import org.apache.hupa.widgets.ui.EnableHyperlink; import org.apache.hupa.widgets.ui.HasEnable; +import org.apache.hupa.widgets.ui.Loading; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasClickHandlers; @@ -38,10 +39,10 @@ import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.HasHTML; import com.google.gwt.user.client.ui.HasText; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.TextArea; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; @@ -62,7 +63,7 @@ private TextBox subject = new TextBox(); private BaseUploadStatus uploadStatus = new BaseUploadStatus(); private MultiUploader uploader = new MultiUploader(uploadStatus); - private TextArea text = new TextArea(); + private Editor editor = new Editor(); private EnableButton sendButton; private EnableHyperlink backButton; private Loading sendProgress = new Loading(); @@ -73,7 +74,7 @@ backButton = new EnableHyperlink(constants.backButton(),""); final VerticalPanel mPanel = new VerticalPanel(); //mPanel.setWidth("100%"); - mPanel.setWidth(Window.getClientWidth() -200 +"px"); + mPanel.setWidth(Window.getClientWidth() -10 +"px"); Window.addResizeHandler(new ResizeHandler() { @@ -155,9 +156,8 @@ subject.setWidth("100%"); - text.setWidth("100%"); - text.setHeight("400px"); - text.setVisibleLines(50); + editor.setWidth("100%"); + editor.setHeight("400px"); uploadStatus.setCancelConfiguration(IUploadStatus.GMAIL_CANCEL_CFG); uploader.setServletPath(GWT.getModuleBaseURL() + SConsts.SERVLET_UPLOAD); @@ -177,7 +177,7 @@ mPanel.add(buttonBar); - mPanel.add(text); + mPanel.add(editor); initWidget(mPanel); } @@ -237,7 +237,7 @@ * @see org.apache.hupa.client.mvp.MessageSendPresenter.Display#getMessageText() */ public HasText getMessageText() { - return text; + return editor; } /* @@ -299,4 +299,8 @@ public HasClickHandlers getBackButtonClick() { return backButton; } + + public HasHTML getMessageHTML() { + return editor; + } } Propchange: james/hupa/trunk/client/war/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Nov 21 09:10:09 2009 @@ -0,0 +1,3 @@ +hupa +org.apache.hupa.Shared +org.apache.hupa.Widgets Modified: james/hupa/trunk/client/war/Hupa.css URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/war/Hupa.css?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/client/war/Hupa.css (original) +++ james/hupa/trunk/client/war/Hupa.css Sat Nov 21 09:10:09 2009 @@ -120,3 +120,6 @@ color: red; } +.hupa-editor { + border: 2px solid #E0ECFF; +} Propchange: james/hupa/trunk/client/war/WEB-INF/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sat Nov 21 09:10:09 2009 @@ -0,0 +1 @@ +lib Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java (original) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java Sat Nov 21 09:10:09 2009 @@ -114,18 +114,21 @@ SMTPMessage m = action.getMessage(); ArrayList<MessageAttachment> attachments = m.getMessageAttachments(); + + // Create the body + Multipart body = createMultipartAlternative(m.getText()); + // check if there are any attachments to include if (attachments == null || attachments.isEmpty()) { - message.setText(m.getText()); + message.setContent(body); } else { // create the message part MimeBodyPart messageBodyPart = new MimeBodyPart(); // fill message - messageBodyPart.setText(m.getText()); + messageBodyPart.setContent(body); Multipart multipart = new MimeMultipart(); - multipart.addBodyPart(messageBodyPart); multipart = handleAttachments(multipart, attachments); @@ -137,6 +140,33 @@ message.saveChanges(); return message; } + + protected String htmlToText(String s){ + s=s.replaceAll("\n", " "); + s=s.replaceAll("(?si)<br\\s*?/?>", "\n"); + s=s.replaceAll("(?si)</div\\s*?>", "\n"); + s=s.replaceAll("(\\w)<.*?>(\\w)", "$1 $2"); + s=s.replaceAll("<.*?>", ""); + s=s.replaceAll("[ \t]+", " "); + return s; + } + + protected Multipart createMultipartAlternative(String html) throws MessagingException { + MimeMultipart mimeMultipart= new MimeMultipart(); + mimeMultipart.setSubType("alternative"); + + MimeBodyPart txtPart= new MimeBodyPart(); + txtPart.setContent(htmlToText(html), "text/plain"); + mimeMultipart.addBodyPart(txtPart); + + MimeBodyPart htmlPart= new MimeBodyPart(); + htmlPart.setContent(html, "text/html"); + htmlPart.setHeader("Content-Type", "text/html; format=flowed"); + mimeMultipart.addBodyPart(htmlPart); + + return mimeMultipart; + + } protected void resetAttachments(A action) throws MessagingException, ActionException { SMTPMessage m = action.getMessage(); Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java (original) +++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java Sat Nov 21 09:10:09 2009 @@ -315,9 +315,6 @@ if (html == null || html.length()==0) return html; - // wrap the entire html document in a classed div - html = "<div class='hupa-email-content'>\n" + html + "\n</div>\n"; - // Replace in-line images links to use Hupa's download servlet html = replaceAll(html, regex_inlineImg, repl_inlineImg).replaceAll("%%FOLDER%%",folderName).replaceAll("%%UID%%", String.valueOf(uuid)); // Remove head, script and style tags to avoid interferences with Hupa Added: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java?rev=882863&view=auto ============================================================================== --- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java (added) +++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java Sat Nov 21 09:10:09 2009 @@ -0,0 +1,53 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.hupa.server.handler; + +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Session; +import javax.mail.internet.AddressException; + +import net.customware.gwt.dispatch.shared.ActionException; + +import org.apache.hupa.server.FileItemRegistry; +import org.apache.hupa.shared.rpc.SendMessage; + +public class AbtractSendMessageHandlerTest extends AbstractHandlerTest { + + + FileItemRegistry registry = null; + + AbstractSendMessageHandler<SendMessage> handler = new AbstractSendMessageHandler<SendMessage>(logger, registry, storeCache, httpSessionProvider, "demo-mode", 25, false, false){ + protected Message createMessage(Session session, SendMessage action) throws AddressException, MessagingException, ActionException { + return null; + } + public Class<SendMessage> getActionType() { + return null; + } + }; + + public void testHtmlmessageToText() { + String txt, res; + txt = "<div>Hola:</div>Como \n estas<br/>Adios\n\n"; + res = handler.htmlToText(txt); + assertEquals("Hola:\nComo estas\nAdios ", res); + } + +} Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java (original) +++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java Sat Nov 21 09:10:09 2009 @@ -121,15 +121,6 @@ } - public void testHtmlIsWrapped() throws Exception { - - String html = handler.filterHtmlDocument("whatever", "foldername", 111l); - assertEquals("<div class='hupa-email-content'>\nwhatever\n</div>\n", html); - - html = handler.txtDocumentToHtml("whatever", "foldername", 111l); - assertEquals("<div class='hupa-email-content'>\nwhatever\n</div>\n", html); - } - public void testTextDocumentToHtml() throws Exception { String msg = "...\nhttp://www.example.com/path/action.do;s=1;a=2?p=abcd\n..."; @@ -167,11 +158,11 @@ msg = "...\n...<img \n src=\"cid:1.1934304663@web28309.mail.ukl.yahoo.com\" width=200\n...."; res = handler.filterHtmlDocument(msg, "aFolder", 9999l); assertNotSame(msg, res); - assertEquals("<div class='hupa-email-content'>\n...\n...<img \n src=\"" + + assertEquals("...\n...<img \n src=\"" + SConsts.HUPA + SConsts.SERVLET_DOWNLOAD + "?" + SConsts.PARAM_FOLDER + "=aFolder&" + SConsts.PARAM_UID + "=9999&" - + SConsts.PARAM_NAME + "=1.1934304...@web28309.mail.ukl.yahoo.com\" width=200\n....\n</div>\n", res); + + SConsts.PARAM_NAME + "=1.1934304...@web28309.mail.ukl.yahoo.com\" width=200\n....", res); msg = "\n\n.... <Script \ntype=\"whatever\"\n>\nalert('hello');\n</script > ---\n\n"; res = handler.filterHtmlDocument(msg, "aFolder", 9999l); Modified: james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/editor/Editor.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/editor/Editor.java?rev=882863&r1=882862&r2=882863&view=diff ============================================================================== --- james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/editor/Editor.java (original) +++ james/hupa/trunk/widgets/src/main/java/org/apache/hupa/widgets/editor/Editor.java Sat Nov 21 09:10:09 2009 @@ -34,16 +34,16 @@ public Editor() { area.ensureDebugId("hupa-editor-area"); // Note: rich-area is created in an iframe, so Hupa's style sheets - // are not available, unless we inject then to the generated iframe + // are not available, unless we inject them to the generated iframe area.setSize("100%", "20em"); Toolbar toolbar = new Toolbar(area); toolbar.ensureDebugId("hupa-editor-toolbar"); - toolbar.setWidth("100%"); - setStyleName("hupa-editor"); - add(toolbar); - add(area); + super.setStyleName("hupa-editor"); + super.add(toolbar); + super.add(area); + super.setWidth("100%"); } @@ -51,13 +51,23 @@ public void setSize(String width, String height) { area.setSize(width, height); } + + @Override + public void setWidth(String width){ + area.setWidth(width); + } + + @Override + public void setHeight(String height){ + area.setHeight(height); + } public String getHTML() { return area.getHTML(); } public void setHTML(String html) { - area.setHTML(html); + area.setHTML("<font style='font-family: arial' size=2>" + html + "</font>"); } public String getText() { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org