public QuiverAnalyzerController(QuiverAnalyzerModel model, QuiverAnalyzerView view)
        {
            analyzerModel = model ?? throw new ArgumentNullException(nameof(model));
            this.view     = view ?? throw new ArgumentNullException(nameof(view));

            view.AnalyzeButtonClicked += View_AnalyzeButtonClicked;
        }
コード例 #2
0
        public QuiverAnalyzerView(
            QuiverAnalyzerModel model,
            Button analyzeButton,
            GroupBox analysisResultsGroupBox,
            Label analysisMainResultLabel,
            ListView maximalPathRepresentativesListView,
            ListView nakayamaPermutationListView,
            TextBox orbitTextBox,
            TextBox longestPathEncounteredTextBox,
            Label longestPathEncounteredLengthLabel)
        {
            this.model = model ?? throw new ArgumentNullException(nameof(model));
            if (analyzeButton is null)
            {
                throw new ArgumentNullException(nameof(analyzeButton));
            }
            this.analysisResultsGroupBox            = analysisResultsGroupBox ?? throw new ArgumentNullException(nameof(analysisResultsGroupBox));
            this.analysisMainResultLabel            = analysisMainResultLabel ?? throw new ArgumentNullException(nameof(analysisMainResultLabel));
            this.maximalPathRepresentativesListView = maximalPathRepresentativesListView ?? throw new ArgumentNullException(nameof(maximalPathRepresentativesListView));
            this.nakayamaPermutationListView        = nakayamaPermutationListView ?? throw new ArgumentNullException(nameof(nakayamaPermutationListView));
            this.orbitTextBox = orbitTextBox ?? throw new ArgumentNullException(nameof(orbitTextBox));
            this.longestPathEncounteredTextBox     = longestPathEncounteredTextBox ?? throw new ArgumentNullException(nameof(longestPathEncounteredTextBox));
            this.longestPathEncounteredLengthLabel = longestPathEncounteredLengthLabel ?? throw new ArgumentNullException(nameof(longestPathEncounteredLengthLabel));

            model.ModelCleared += Model_ModelCleared;
            model.AnalysisDone += Model_AnalysisDone;
            model.MaximalPathRepresentativesChanged += Model_MaximalPathRepresentativesChanged;
            model.OrbitChanged += Model_OrbitChanged;
            model.LongestPathEncounteredChanged += Model_LongestPathEncounteredChanged;

            analyzeButton.Click += AnalyzeButton_Click;
        }
コード例 #3
0
 public QuiverAnalyzerMvc(
     QuiverEditorModel editorModel,
     Button analyzeButton,
     GroupBox analysisResultsGroupBox,
     Label analysisMainResultLabel,
     ListView maximalPathRepresentativesListView,
     ListView nakayamaPermutationListView,
     TextBox orbitTextBox,
     TextBox longestPathEncounteredTextBox,
     Label longestPathEncounteredLengthLabel)
 {
     Model = new QuiverAnalyzerModel(editorModel);
     View  = new QuiverAnalyzerView(
         Model,
         analyzeButton,
         analysisResultsGroupBox,
         analysisMainResultLabel,
         maximalPathRepresentativesListView,
         nakayamaPermutationListView,
         orbitTextBox,
         longestPathEncounteredTextBox,
         longestPathEncounteredLengthLabel);
     Controller = new QuiverAnalyzerController(Model, View);
 }