117 lines
4.2 KiB
Java
117 lines
4.2 KiB
Java
package app;
|
|
|
|
import com.google.inject.Inject;
|
|
import com.google.inject.Provider;
|
|
import domain.image.processing.complex.ComplexMatrix;
|
|
import ui.abstractions.AbstractView;
|
|
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;
|
|
import ui.implementation.views.morphology.BasicMorphologyView;
|
|
import ui.implementation.views.morphology.ComplexMorphologyView;
|
|
import ui.implementation.views.outline.LinearOutlineView;
|
|
import ui.implementation.views.outline.NonLinearOutlineView;
|
|
import ui.implementation.views.threshold.ThresholdingView;
|
|
|
|
/**
|
|
* 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;
|
|
private final Provider<BasicMorphologyView> basicMorphologyProvider;
|
|
private final Provider<ComplexMorphologyView> complexMorphologyProvider;
|
|
private final Provider<LinearOutlineView> linearOutlineProvider;
|
|
private final Provider<NonLinearOutlineView> nonLinearOutlineProvider;
|
|
private final Provider<ThresholdingView> thresholdingProvider;
|
|
|
|
@Inject
|
|
public SwingNavigator(
|
|
Provider<DoubleMatrix> doubleMatrixProvider,
|
|
Provider<IdealFilteringView> filteringProvider,
|
|
Provider<NonIdealFilteringView> nonIdealFilteringProvider,
|
|
Provider<LocalFilteringView> convolutionFilterProvider,
|
|
Provider<BasicMorphologyView> basicMorphologyProvider,
|
|
Provider<ComplexMorphologyView> complexMorphologyProvider,
|
|
Provider<LinearOutlineView> linearOutlineProvider,
|
|
Provider<NonLinearOutlineView> nonLinearOutlineProvider,
|
|
Provider<ThresholdingView> thresholdingProvider
|
|
) {
|
|
this.doubleMatrixProvider = doubleMatrixProvider;
|
|
this.filteringProvider = filteringProvider;
|
|
this.nonIdealFilteringProvider = nonIdealFilteringProvider;
|
|
this.convolutionFilteringProvider = convolutionFilterProvider;
|
|
this.basicMorphologyProvider = basicMorphologyProvider;
|
|
this.complexMorphologyProvider = complexMorphologyProvider;
|
|
this.linearOutlineProvider = linearOutlineProvider;
|
|
this.nonLinearOutlineProvider = nonLinearOutlineProvider;
|
|
this.thresholdingProvider = thresholdingProvider;
|
|
}
|
|
|
|
@Override
|
|
public void showFourier() {
|
|
DoubleMatrix view = doubleMatrixProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showIdealFiltering() {
|
|
IdealFilteringView view = filteringProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showButterworth() {
|
|
NonIdealFilteringView view = nonIdealFilteringProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showConvolutionFiltering() {
|
|
LocalFilteringView view = convolutionFilteringProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showBasicMorphology() {
|
|
BasicMorphologyView view = basicMorphologyProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showComplexMorphology() {
|
|
ComplexMorphologyView view = complexMorphologyProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showLinearOutline() {
|
|
LinearOutlineView view = linearOutlineProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showNonLinearOutline() {
|
|
NonLinearOutlineView view = nonLinearOutlineProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
@Override
|
|
public void showThresholding() {
|
|
ThresholdingView view = thresholdingProvider.get();
|
|
runView(view);
|
|
}
|
|
|
|
private void runView(AbstractView view) {
|
|
ViewInitializer.Initialize(view);
|
|
view.setVisible(true);
|
|
}
|
|
}
|