KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > composer > html > action > InsertBreakAction


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.mail.gui.composer.html.action;
17
18 import java.awt.event.ActionEvent JavaDoc;
19
20 import org.columba.api.gui.frame.IFrameMediator;
21 import org.columba.core.gui.action.AbstractColumbaAction;
22 import org.columba.mail.gui.composer.ComposerController;
23 import org.columba.mail.gui.composer.ComposerModelChangedEvent;
24 import org.columba.mail.gui.composer.IComposerModelChangedListener;
25 import org.columba.mail.gui.composer.html.HtmlEditorController2;
26 import org.columba.mail.util.MailResourceLoader;
27 import org.frapuccino.htmleditor.api.IFormatChangedListener;
28 import org.frapuccino.htmleditor.event.FormatChangedEvent;
29
30 /**
31  * Inserts the html element <br&gt (br tag), i.e. a line break.
32  *
33  * @author Karl Peder Olesen (karlpeder), 20030923
34  */

35 public class InsertBreakAction extends AbstractColumbaAction implements
36         IFormatChangedListener, IComposerModelChangedListener {
37     /**
38      * @param frameMediator
39      */

40     public InsertBreakAction(IFrameMediator frameMediator) {
41         super(frameMediator, MailResourceLoader.getString("menu", "composer",
42                 "menu_format_break"));
43         putValue(SHORT_DESCRIPTION, MailResourceLoader.getString("menu",
44                 "composer", "menu_format_break_tooltip").replaceAll("&", ""));
45
46         ComposerController ctrl = (ComposerController) getFrameMediator();
47
48         // register for text cursor/caret and formatting changes
49
// to select/deselect action
50
HtmlEditorController2 c = (HtmlEditorController2) ctrl
51                 .getHtmlEditorController();
52         c.addFormatChangedListener(this);
53     }
54
55     public void formatChanged(FormatChangedEvent event) {
56     }
57
58     public void modelChanged(ComposerModelChangedEvent event) {
59     }
60
61     public void htmlModeChanged(ComposerModelChangedEvent event) {
62         setEnabled(event.isHtmlEnabled());
63     }
64
65     /**
66      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
67      */

68     public void actionPerformed(ActionEvent JavaDoc evt) {
69         // this action is disabled when the text/plain editor is used
70
// -> so, its safe to just cast to HtmlEditorController here
71
HtmlEditorController2 editorController = (HtmlEditorController2) ((ComposerController) frameMediator)
72                 .getCurrentEditor();
73
74         editorController.insertBreak();
75     }
76
77 }
78
Popular Tags