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");
        }
Beispiel #2
0
 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();
        }