import java.awt.*;
import java.awt.event.*;
import java.util.EventListener;
import javax.swing.*;

public class ControlPanelView extends JPanel
implements ModelListener {
  
  protected DrawingCanvas canvas;
  protected ControlPanelController CPcontroller;
  protected JButton clearButton;
  protected JComboBox comboBox;
  

  /* Constructor  */

  public ControlPanelView(DrawingCanvas c) { 
    clearButton = new JButton("Clear");
    add(clearButton);
    add(new JLabel("Pen color"));
    comboBox = new JComboBox();
    comboBox.addItem("black");
    comboBox.addItem("blue");
    comboBox.addItem("green");
    comboBox.addItem("red");
    add(comboBox);
    canvas = c;
    canvas.addModelListener(this);  //for MVC Model updates--not used here
    ControlPanelController CPcontroller =
        createControlPanelController();
    addControlPanelListener(CPcontroller);
    canvas.addModelListener(CPcontroller); //for MVC model updates--not used here
  }
  
  protected void addControlPanelListener(EventListener listener)  {
        clearButton.addActionListener((ActionListener)listener);
        comboBox.addItemListener((ItemListener)listener);
  }
  

// factory method
  protected ControlPanelController 
          createControlPanelController() {
      return new ControlPanelController(canvas);
  }
  
// update method for MVC model listener interface-- not used for anything here
  public void ModelUpdated() {
    //null so far
  }    
}
