/* Copyright (c) 1997-2006
Ewgenij Gawrilow, Michael Joswig (Technische Universitaet Berlin, Germany)
http://www.math.tu-berlin.de/polymake, mailto:polymake@math.tu-berlin.de
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version: http://www.gnu.org/licenses/gpl.txt.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
$Project: polymake $$Id: JavaviewSpringEmbedderHelpFrame.java 7529 2006-12-20 16:57:12Z thilosch $
*/
package de.tuberlin.polymake.graph;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.Rectangle;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import jv.object.PsConfig;
/**
* This class is used to display the help of the interactive
* springembedded graph application.
*
* @author Thilo Schröder
*/
public class JavaviewSpringEmbedderHelpFrame extends Frame
implements ItemListener, ActionListener {
/** Area to display help text. */
protected TextArea textArea = new TextArea();
/** Button to close Help. */
protected Button hideButton = new Button("Close");
/** To choose between Javaview and Schlegel interactive help.*/
protected Choice whichHelp = new Choice();
/** Bottom Panel to display buttons. */
protected Panel panel = new Panel();
/** String holding the help text. */
protected String text = new String();
/** Panel holding the title of the help text. */
protected Panel titlePanel = new Panel();
/** Title of help. */
protected Label titleLabel = new Label();
/**
* Create a new frame to display the contents of
* the Help.txt file.
*/
public JavaviewSpringEmbedderHelpFrame() {
super("SpringEmbedderInteractive and Javaview Help");
setBounds(new Rectangle(30,30,450,500));
addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
setVisible(false);
}
});
setLayout(new BorderLayout());
textArea.setEditable(false);
titlePanel.setLayout(new BorderLayout());
titleLabel.setFont(new Font("Arial",Font.BOLD,15));
titleLabel.setText("SpringEmbedderInteractive Help");
titlePanel.add(titleLabel,BorderLayout.CENTER);
hideButton.setActionCommand("hide");
hideButton.addActionListener(this);
whichHelp.add("SpringEmbedder interactive");
whichHelp.add("Javaview");
whichHelp.addItemListener(this);
panel.setLayout(new BorderLayout());
panel.add(hideButton, BorderLayout.EAST);
panel.add(whichHelp,BorderLayout.WEST);
try{
BufferedInputStream in = new BufferedInputStream(getClass().getResource("Help.txt").openStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = new String();
while(( line = reader.readLine()) != null) text += line + "\n";
} catch( IOException e ) {System.err.println(e.getMessage());}
textArea.setText(text);
add(titlePanel, BorderLayout.NORTH);
add(textArea,BorderLayout.CENTER);
add(panel,BorderLayout.SOUTH);
}
/** Process Button events. */
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("hide")) {
this.setVisible(false);
}
}
/** Process the changes of the Choice menu. */
public void itemStateChanged( ItemEvent e ) {
if(e.getItem().equals("SpringEmbedder interactive")) {
titleLabel.setText("SpringEmbedderInteractive Help");
textArea.setText(text);
} else if (e.getItem().equals("Javaview")) {
titleLabel.setText("Javaview Help (Keyboard Shortcuts)");
textArea.setText(PsConfig.getMessage("28008"));//false,28008,"explanation"));
}
}
}
syntax highlighted by Code2HTML, v. 0.9.1