2017-09-10 15:45:47 +00:00
|
|
|
package view.listener;
|
|
|
|
|
|
|
|
import presenter.Presenter;
|
|
|
|
import view.panels.tabs.LMSPanel;
|
|
|
|
import view.panels.tabs.RMPanel;
|
|
|
|
import view.panels.tabs.TSPanel;
|
|
|
|
import view.panels.tabs.TabPanel;
|
|
|
|
|
|
|
|
import java.awt.event.ActionEvent;
|
|
|
|
import java.awt.event.ActionListener;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implementierung verschiedener Algorithmen zur Berechnung von Ausgleichsgeraden.
|
|
|
|
*
|
|
|
|
* @Author: Armin Wolf
|
|
|
|
* @Email: a_wolf28@uni-muenster.de
|
|
|
|
* @Date: 10.09.2017.
|
|
|
|
*/
|
|
|
|
public class StartAlgorithmListener implements ActionListener {
|
|
|
|
|
|
|
|
private Presenter presenter;
|
|
|
|
private TabPanel tabPanel;
|
|
|
|
|
2017-10-17 06:34:55 +00:00
|
|
|
/**
|
|
|
|
* Konstruktor
|
|
|
|
* @param presenter Presenter
|
|
|
|
* @param tabPanel Algorithmus Visualisierungskomponente
|
|
|
|
*/
|
2017-09-10 15:45:47 +00:00
|
|
|
public StartAlgorithmListener(Presenter presenter, TabPanel tabPanel) {
|
|
|
|
this.presenter = presenter;
|
|
|
|
this.tabPanel = tabPanel;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void actionPerformed(ActionEvent e) {
|
2017-09-19 11:34:06 +00:00
|
|
|
if (tabPanel instanceof LMSPanel) {
|
|
|
|
if (((LMSPanel) tabPanel).getInput() != null) {
|
2017-09-10 15:45:47 +00:00
|
|
|
Thread t = new Thread(
|
|
|
|
() -> presenter.calculateLMS(((LMSPanel) tabPanel).getInput()));
|
|
|
|
t.start();
|
|
|
|
}
|
2017-09-19 11:34:06 +00:00
|
|
|
} else if (tabPanel instanceof RMPanel) {
|
|
|
|
if (((RMPanel) tabPanel).getInput() != null) {
|
2017-09-10 15:45:47 +00:00
|
|
|
Thread t = new Thread(
|
|
|
|
() -> presenter.calculateRM(((RMPanel) tabPanel).getInput()));
|
|
|
|
t.start();
|
|
|
|
}
|
2017-09-19 11:34:06 +00:00
|
|
|
} else if (tabPanel instanceof TSPanel) {
|
2017-09-10 15:45:47 +00:00
|
|
|
Thread t = new Thread(
|
|
|
|
() -> presenter.calculateTS(""));
|
|
|
|
t.start();
|
|
|
|
} else {
|
|
|
|
throw new IllegalArgumentException("Unknown Algortihm representation Panel!");
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|