public MainWindow() { logger = LoggerFactory.Create(GetType()); InitializeComponent(); AddingResultTab.Visibility = Visibility.Collapsed; RemovingResultTab.Visibility = Visibility.Collapsed; AdvancedRemovingResultTab.Visibility = Visibility.Collapsed; StartLogConsole(); originalImage = new UpdatableImage(OriginalImageControl); watermarkImage = new UpdatableImage(WatermarkImageControl); watermarkedImage = new UpdatableImage(WatermarkedImageControl); removingOriginalImage = new UpdatableImage(RemovingOriginalImageControl); advancedWatermarkedImage = new UpdatableImage(AdvancedWatermarkedImageControl); advancedOriginalImage = new UpdatableImage(AdvancedOriginalImageControl); addingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.AddWatermark, AddingParametersGrid, AddingProcess, OriginalImageControl, WatermarkImageControl, null, UseImageToRemoveWatermarkAsWatermarked, Tabs, AddingResultTab, ADDING_RESULT_TAB_INDEX, AddingResultGrid, AddingResultScrollViewer, CloseAddingResult, CancelButton); removingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.RemoveWatermark, RemovingParametersGrid, RemovingProcess, RemovingOriginalImageControl, null, WatermarkedImageControl, UseImageToRemoveWatermarkAsWatermarked, Tabs, RemovingResultTab, REMOVING_RESULT_TAB_INDEX, RemovingResultGrid, RemovingResultScrollViewer, CloseRemovingResult, CancelButton); advancedRemovingWatermarkAlgorithmControls = new AlgorithmControls(Algorithms.common.AlgorithmMode.RemoveWatermark, AdvancedRemovingParametersGrid, AdvancedRemovingProcess, AdvancedOriginalImageControl, null, AdvancedWatermarkedImageControl, UseImageToRemoveWatermarkAsWatermarked, Tabs, AdvancedRemovingResultTab, ADVANCED_REMOVING_RESULT_TAB_INDEX, AdvancedRemovingResultGrid, AdvancedRemovingResultScrollViewer, AdvancedCloseRemovingResult, CancelButton); SetUpInputImagesViewModels(); addingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Basic, AddingAlgorithmBox, addingWatermarkAlgorithmControls, this, AddingErrorMessage); addingAlgorithmSelectionViewModel.SetUp(); removingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Basic, RemovingAlgorithmBox, removingWatermarkAlgorithmControls, this, RemovingErrorMessage); removingAlgorithmSelectionViewModel.SetUp(); advancedRemovingAlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(ViewModelType.Advanced, AdvancedRemovingAlgorithmBox, advancedRemovingWatermarkAlgorithmControls, this, AdvancedRemovingErrorMessage); advancedRemovingAlgorithmSelectionViewModel.SetUp(); originalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateOriginalButton, originalImage), AddingErrorMessage); originalGeneratorViewModel.SetUp(); watermarkGeneratorViewModel = new TextImageGeneratorViewModel(new GeneratorControls(GenerateWatermarkButton, watermarkImage), AddingErrorMessage); watermarkGeneratorViewModel.SetUp(); watermarkedGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateWatermarkedButton, watermarkedImage), RemovingErrorMessage); watermarkedGeneratorViewModel.SetUp(); removingOriginalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateRemovingOriginalButton, removingOriginalImage), RemovingErrorMessage); removingOriginalGeneratorViewModel.SetUp(); advancedWatermarkedGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(AdvancedGenerateWatermarkedButton, advancedWatermarkedImage), AdvancedRemovingErrorMessage); advancedWatermarkedGeneratorViewModel.SetUp(); advancedOriginalGeneratorViewModel = new InternetImageGeneratorViewModel(new GeneratorControls(GenerateAdvancedOriginalButton, advancedOriginalImage), AdvancedRemovingErrorMessage); advancedOriginalGeneratorViewModel.SetUp(); logger.LogDebug("Created MainWindow"); }
public MainWindowViewModel(int DefaultRowCount, int DefaultColumnCount) { this.StatusBar = new StatusBarViewModel("Configure grid and search algorithm.", ColorGuideService.StatusBarColorGuide["Info"]); this.GridConfiguration = new GridCongifurationViewModel(DefaultRowCount, DefaultColumnCount); this.LegendViewModel = new LegendViewModel(); this.GridUIViewModel = new GridUIViewModel(); this.AlgorithmSelectionViewModel = new AlgorithmSelectionViewModel(); }
private AlgorithmCollection CurrentAlgorithm; // string = algo name, index as indentifier public AlgorithmSelectionController(AlgorithmSelectionViewModel algorithmSelectionViewModel, ComboBox AlgoComboBox) { // Link references this.AlgorithmSelectionViewModel = algorithmSelectionViewModel; this.AlgorithmSelectionComboBox = AlgoComboBox; // Serialize the contrainers this.SerializeAlgorithmDescriptions(ref this.AlgorithmSelectionDescriptions); this.SerializeAlgorithmNameList(ref this.FullyQualifiedAlgorithmNames); this.CurrentAlgorithm = AlgorithmCollection.DefaultText; // Data Model this.AlgorithmSelectionDataModel = new AlgorithmSelectionDataModel(); this.AlgorithmSelectionDataModel.CurrentAlgorithm = this.CurrentAlgorithm; // View Model this.AlgorithmSelectionViewModel.UpdateComboBoxAnchor(this.AlgorithmSelectionComboBox); this.AlgorithmSelectionViewModel.UpdateSelectionsList(ref this.FullyQualifiedAlgorithmNames); this.AlgorithmSelectionViewModel.UpdateAlgorithmName(this.FullyQualifiedAlgorithmNames[0]); this.Update(); }