Files
MASI4-signal-processing/src/main/java/app/SwingNavigator.java

65 lines
2.2 KiB
Java

package app;
import com.google.inject.Inject;
import com.google.inject.Provider;
import ui.implementation.views.DoubleMatrix;
import ui.implementation.views.fitering.global.IdealFilteringView;
import ui.implementation.views.fitering.global.NonIdealFilteringView;
import ui.implementation.views.ViewInitializer;
import ui.implementation.views.fitering.local.LocalFilteringView;
/**
* Concrete implement of the INavigator interface.
* Implements abstract endpoints to displays views in a Swing way
* @author Laurent Crema
*/
public class SwingNavigator implements INavigator {
private final Provider<DoubleMatrix> doubleMatrixProvider;
private final Provider<IdealFilteringView> filteringProvider;
private final Provider<NonIdealFilteringView> nonIdealFilteringProvider;
private final Provider<LocalFilteringView> convolutionFilteringProvider;
@Inject
public SwingNavigator(
Provider<DoubleMatrix> doubleMatrixProvider,
Provider<IdealFilteringView> filteringProvider,
Provider<NonIdealFilteringView> nonIdealFilteringProvider,
Provider<LocalFilteringView> convolutionFilterProvider
) {
this.doubleMatrixProvider = doubleMatrixProvider;
this.filteringProvider = filteringProvider;
this.nonIdealFilteringProvider = nonIdealFilteringProvider;
this.convolutionFilteringProvider = convolutionFilterProvider;
}
@Override
public void showFourier() {
DoubleMatrix view = doubleMatrixProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
}
@Override
public void showIdealFiltering() {
IdealFilteringView view = filteringProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
}
@Override
public void showButterworth() {
NonIdealFilteringView view = nonIdealFilteringProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
}
@Override
public void showConvolutionFiltering() {
LocalFilteringView view = convolutionFilteringProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
}
}