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 doubleMatrixProvider; private final Provider filteringProvider; private final Provider nonIdealFilteringProvider; private final Provider convolutionFilteringProvider; @Inject public SwingNavigator( Provider doubleMatrixProvider, Provider filteringProvider, Provider nonIdealFilteringProvider, Provider 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); } }