/*
 * Aleph Toolkit
 *
 * Copyright 1997, Brown University, Providence, RI.
 * 
 *                         All Rights Reserved
 * 
 * Permission to use, copy, modify, and distribute this software and its
 * documentation for any purpose other than its incorporation into a
 * commercial product is hereby granted without fee, provided that the
 * above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the name of Brown University not be used in
 * advertising or publicity pertaining to distribution of the software
 * without specific, written prior permission.
 * 
 * BROWN UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ANY
 * PARTICULAR PURPOSE.  IN NO EVENT SHALL BROWN UNIVERSITY BE LIABLE FOR
 * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

package aleph.gui;

import aleph.Config;
import java.awt.*;
import java.awt.event.*;
import java.io.OutputStream;

/**
 * A window with a pane for each PE's output.
 *
 * @author Maurice Herlihy
 * @date   August 1997
 **/

public class PanedWindow extends Frame {

  private TextArea[] textArea;	// output areas

  public PanedWindow(int n) {
    super("Aleph PE Output");
    addWindowListener(new CloseWindowListener());
    textArea = new TextArea[n];
    setLayout(new GridLayout(0,2));
    for (int i = 0; i < n; i++) {
      textArea[i] = new TextArea(Config.banner + "\n", 24, 80);
      add(textArea[i]);
      textArea[i].setEditable(false);
      textArea[i].setBackground(Config.background);
      textArea[i].setForeground(Config.foreground);
    }
    pack();
    setVisible(true);
  }

  public TextArea getTextArea(int i) {
    return textArea[i];
  }
    
  /**
   * Inner class that listens for window closing.
   **/
  class CloseWindowListener extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
      setVisible(false);
      dispose();
    }
  }
}
