001: /*
002: * Jacareto Copyright (c) 2002-2005
003: * Applied Computer Science Research Group, Darmstadt University of
004: * Technology, Institute of Mathematics & Computer Science,
005: * Ludwigsburg University of Education, and Computer Based
006: * Learning Research Group, Aachen University. All rights reserved.
007: *
008: * Jacareto is free software; you can redistribute it and/or
009: * modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation; either
011: * version 2 of the License, or (at your option) any later version.
012: *
013: * Jacareto is distributed in the hope that it will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016: * General Public License for more details.
017: *
018: * You should have received a copy of the GNU General Public
019: * License along with Jacareto; if not, write to the Free
020: * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
021: *
022: */
023:
024: package jacareto.cleverphl.gui;
025:
026: import jacareto.cleverphl.CleverPHL;
027: import jacareto.system.Environment;
028: import jacareto.system.Language;
029: import jacareto.toolkit.log4j.TextAreaAppender;
030:
031: import org.apache.log4j.Logger;
032:
033: import java.awt.event.WindowEvent;
034: import java.awt.event.WindowListener;
035:
036: import javax.swing.JCheckBoxMenuItem;
037: import javax.swing.JRadioButtonMenuItem;
038: import javax.swing.JScrollPane;
039:
040: /**
041: * The message frame of CleverPHL.
042: *
043: * @author <a href="mailto:cspannagel@web.de">Christian Spannagel</a>
044: * @version 1.01
045: */
046: public class MessageFrame extends CleverPHLFrame implements
047: WindowListener {
048: /** The text area appender. */
049: private TextAreaAppender textAreaAppender;
050:
051: /** The environment. */
052: private Environment env;
053:
054: /**
055: * Creates a new message frame.
056: *
057: * @param cleverPHL the CleverPHL instance
058: */
059: public MessageFrame(CleverPHL cleverPHL) {
060: super (cleverPHL, "CleverPHL.MessageFrame",
061: "CleverPHL.Menu.ViewMessageWindow");
062:
063: this .env = cleverPHL.getEnvironment();
064:
065: Language language = env.getLanguage();
066: Logger logger = env.getLogger();
067:
068: setTitle(language.getString("CleverPHL.MessageFrame.Title"));
069: addWindowListener(this );
070:
071: textAreaAppender = new TextAreaAppender(env);
072: cleverPHL.getLogger().addAppender(textAreaAppender);
073:
074: JScrollPane loggerScrollPane = new JScrollPane(textAreaAppender
075: .getTextArea(),
076: JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
077: JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
078: getContentPane().add(loggerScrollPane);
079:
080: createMenu("CleverPHL.Menu.MessageFrame.MenuBar");
081:
082: //setLocation (0, 500);
083: //setToPreferredSize (850, 200);
084: // init the logger state
085: try {
086: if (logger.getLevel() == org.apache.log4j.Level.DEBUG) {
087: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
088: .getMenuItem("CleverPHL.Menu.DebugLevel"))
089: .setSelected(true);
090: } else if (logger.getLevel() == org.apache.log4j.Level.INFO) {
091: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
092: .getMenuItem("CleverPHL.Menu.InfoLevel"))
093: .setSelected(true);
094: } else if (logger.getLevel() == org.apache.log4j.Level.WARN) {
095: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
096: .getMenuItem("CleverPHL.Menu.WarnLevel"))
097: .setSelected(true);
098: } else if (logger.getLevel() == org.apache.log4j.Level.ERROR) {
099: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
100: .getMenuItem("CleverPHL.Menu.ErrorLevel"))
101: .setSelected(true);
102: } else if (logger.getLevel() == org.apache.log4j.Level.FATAL) {
103: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
104: .getMenuItem("CleverPHL.Menu.FatalLevel"))
105: .setSelected(true);
106: } else if (logger.getLevel() == org.apache.log4j.Level.OFF) {
107: ((JRadioButtonMenuItem) getCleverPHLMenuBar()
108: .getMenuItem("CleverPHL.Menu.OffLevel"))
109: .setSelected(true);
110: }
111: } catch (Exception e) {
112: ;
113: }
114:
115: setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
116: }
117:
118: /**
119: * Does nothing.
120: *
121: * @param w DOCUMENT ME!
122: */
123: public void windowActivated(WindowEvent w) {
124: }
125:
126: /**
127: * Does nothing.
128: *
129: * @param w DOCUMENT ME!
130: */
131: public void windowClosed(WindowEvent w) {
132: }
133:
134: /**
135: * Does nothing.
136: *
137: * @param w DOCUMENT ME!
138: */
139: public void windowDeactivated(WindowEvent w) {
140: }
141:
142: /**
143: * Does nothing.
144: *
145: * @param w DOCUMENT ME!
146: */
147: public void windowDeiconified(WindowEvent w) {
148: }
149:
150: /**
151: * Does nothing.
152: *
153: * @param w DOCUMENT ME!
154: */
155: public void windowIconified(WindowEvent w) {
156: }
157:
158: /**
159: * Does nothing.
160: *
161: * @param w DOCUMENT ME!
162: */
163: public void windowOpened(WindowEvent w) {
164: }
165:
166: /**
167: * Exits the system.
168: *
169: * @param w DOCUMENT ME!
170: */
171: public void windowClosing(WindowEvent w) {
172: close();
173: }
174:
175: /**
176: * Closes the frame.
177: */
178: public void close() {
179: setVisible(false);
180: ((JCheckBoxMenuItem) cleverPHL.getMainFrame()
181: .getCleverPHLMenuBar().getMenuItem(
182: "CleverPHL.Menu.ViewMessageWindow"))
183: .setSelected(false);
184: }
185:
186: /**
187: * Clears the logger area.
188: */
189: public void clear() {
190: textAreaAppender.getTextArea().setText("");
191: }
192: }
|