package gui.run;


public class RunTabbedPane extends gui.ClosableJFrame {
  java.awt.Container c = getContentPane();
  gui.run.RunTabController rtc;
  javax.swing.JTabbedPane jtp = new javax.swing.JTabbedPane();

  class CheckBoxPanel extends javax.swing.JPanel {
    gui.run.RunTabController rtc;

    CheckBoxPanel(gui.run.RunTabController _rtc) {
      super(false);
      rtc = _rtc;

      RunCheckBox cbx1 = new RunCheckBox("Check #1") {
        public void run() {
          rtc.println("First Check Box!");
        }
      };
      RunCheckBox cbx2 = new RunCheckBox("Check #2") {
        public void run() {
          rtc.println("check #2");
        }
      };
      RunCheckBox cbx3 = new RunCheckBox("Check #3") {
        public void run() {
          rtc.println("check #3");
        }
      };
      add(cbx1);
      add(cbx2);
      add(cbx3);

    }
  }

  class MenuBarPanel extends javax.swing.JPanel {
    gui.run.RunTabController rtc;
    javax.swing.JMenuBar bar = new javax.swing.JMenuBar();
    javax.swing.JMenu menu = new javax.swing.JMenu("Checkable");

    MenuBarPanel(gui.run.RunTabController _rtc) {
      super(false);
      rtc = _rtc;
      bar.add(menu);
      menu.add(new RunCheckBoxMenuItem("Top Check") {
        public void run() {
          rtc.println("topCheck!");
        }
      });
      menu.add(new RunCheckBoxMenuItem("Check Me") {
        public void run() {
          rtc.println("Check box menu item!!");
        }
      });
      add(bar);
    }
  }

  class RunButtonPanel extends javax.swing.JPanel {
    gui.run.RunTabController rtc;

    RunButtonPanel(gui.run.RunTabController _rtc) {
      super(false);
      rtc = _rtc;
      add(new RunButton("Left") {
        public void run() {
          rtc.println("Left");
        }
      }
      );
      add(new RunButton("Right") {
        public void run() {
          rtc.println("Right");
        }
      }
      );
      add(new RunButton("Quit") {
        public void run() {
          setVisible(false);
        }
      }
      );
    }
  }

  public RunTabbedPane(gui.run.RunTabController _rtc) {
    super("gui.run tab");
    rtc = _rtc;
    setSize(200, 200);

    jtp.addTab("Button Panel", null,
               new gui.run.RunTabbedPane.RunButtonPanel(rtc), "Examples of JButton, Quit Button is here!");

    jtp.addTab("CheckBox Panel", null,
               new gui.run.RunTabbedPane.CheckBoxPanel(rtc), "Examples of JCheckBox");

    jtp.addTab("Menu Bar Panel", null,
               new gui.run.RunTabbedPane.MenuBarPanel(rtc), "Examples of JMenuBar");

    jtp.addTab("Label Panel", null,
               new gui.run.RunTabbedPane.LabelPanel(), "Examples of JLabel");

    c.add(jtp);
    c.setLayout(new java.awt.GridLayout(1, 1));
    setVisible(true);
  }

  class LabelPanel extends javax.swing.JPanel {
    LabelPanel() {
      add(new javax.swing.JLabel("I'm Label 1     "));
      add(new javax.swing.JLabel("I'm Label 2     "));
      add(new javax.swing.JLabel("I'm Label 3"));
    }
  }
}