1 package org.woehlke.computer.kurzweil.tabs.kochsnowflake.ui;
2
3 import org.woehlke.computer.kurzweil.tabs.kochsnowflake.KochSnowflakeModel;
4
5 import javax.swing.*;
6 import java.awt.*;
7 import java.awt.event.ActionEvent;
8 import java.awt.event.ActionListener;
9
10
11 /**
12 * Mandelbrot Set drawn by a Turing Machine.
13 *
14 * (C) 2006 - 2015 Thomas Woehlke.
15 * https://thomas-woehlke.blogspot.com/2016/01/mandelbrot-set-drawn-by-turing-machine.html
16 * @author Thomas Woehlke
17 *
18 * Created by tw on 16.12.2019.
19 */
20 public class PanelButtons extends JPanel implements ActionListener {
21
22 //private volatile JRadioButton radioButtonsSwitch;
23 //private volatile JRadioButton radioButtonsZoom;
24 private volatile JButton zoomOut;
25 //private volatile ButtonGroup radioButtonsGroup;
26 private volatile KochSnowflakeModel model;
27
28 public PanelButtons(KochSnowflakeModel model) {
29 this.model = model;
30 JLabel buttonsLabel = new JLabel(model.getProperties().getWator().getView().getButtonsLabel());
31 /*
32 this.radioButtonsSwitch = new JRadioButton(model.getProperties().getMandelbrot().getView().getButtonsSwitch());
33 this.radioButtonsSwitch.setMnemonic(RADIO_BUTTONS_SWITCH.ordinal());
34 this.radioButtonsSwitch.setSelected(true);
35 this.radioButtonsSwitch.addActionListener(this);
36 this.radioButtonsZoom = new JRadioButton(model.getProperties().getMandelbrot().getView().getButtonsSwitch());
37 this.radioButtonsZoom.setMnemonic(RADIO_BUTTONS_ZOOM.ordinal());
38 this.radioButtonsZoom.addActionListener(this);
39 this.radioButtonsGroup = new ButtonGroup();
40 this.radioButtonsGroup.add(radioButtonsSwitch);
41 this.radioButtonsGroup.add(radioButtonsZoom);
42 */
43 this.zoomOut = new JButton(model.getProperties().getWator().getView().getButtonsZoomOut());
44 this.zoomOut.addActionListener(this);
45 FlowLayout layout = new FlowLayout();
46 this.setLayout(layout);
47 this.add(buttonsLabel);
48 //this.add(radioButtonsSwitch);
49 //this.add(radioButtonsZoom);
50 this.add(zoomOut);
51 }
52
53 /**
54 * TODO write doc.
55 */
56 @Override
57 public void actionPerformed(ActionEvent ae) {
58 //if (ae.getSource() == this.radioButtonsSwitch) {
59 // this.model.setModeSwitch();
60 //} else
61 //if(ae.getSource() == this.radioButtonsZoom) {
62 // this.model.setModeZoom();
63 //} else
64 if(ae.getSource() == this.zoomOut){
65 this.model.zoomOut();
66 this.model.getFrame().getCanvas().repaint();
67 }
68 }
69 }