예제 #1
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!DesignMode)
            {
                var localiser = new Localiser(typeof(CustomContentStrings));
                localiser.Form(this);

                FillDropDownWithValues <At>(comboBoxInjectAt, new At[] { At.Start, At.End }, r => {
                    switch (r)
                    {
                    case At.Start:  return(CustomContentStrings.Start);

                    case At.End:    return(CustomContentStrings.End);

                    default:        throw new NotImplementedException();
                    }
                });

                FillDropDownWithValues <InjectionLocation>(comboBoxInjectOf, Enum.GetValues(typeof(InjectionLocation)).OfType <InjectionLocation>(), r => Describe.InjectionLocation(r));

                _ValueChangedHelper.HookValueChanged(new Control[] {
                    checkBoxInjectEnabled,
                    fileNameControlInjectFile,
                    comboBoxInjectAt,
                    comboBoxInjectOf,
                    textBoxInjectPathAndFile,
                });

                _Presenter = Factory.Singleton.Resolve <IOptionsPresenter>();
                _Presenter.Initialise(this);
            }
        }
        public MainWindow(IViewModelEvaluator viewModelEvaluator, ICssMetricsPresenter cssMetricsPresenter, IHumanInterface ux, IInspectionPathPresenter inspectionPathPresenter, IResultsPathPresenter resultsPathPresenter, IBoolOptionPresenter boolOptionPresenter, IOutputPresenter outputPresenter, IProgressPresenter progressPresenter, IInputPresenter inputPresenter, IOptionsPresenter optionsPresenter, ISettingsClearer settingsClearer, IInteractionPermissionToggler interactionPermissionToggler, IJavaScriptMetricsPresenter javaScriptMetricsPresenter, IFolderPresenter folderPresenter, IDirectoryDescendentFilesEvaluator directoryDescendentFilesEvaluator, IGroupedCssEvaluator groupedCssEvaluator, IFoldersPerGroupEvaluator foldersPerGroupEvaluator, IChildDirectoryCountEvaluator childDirectoryCountEvaluator, IPathExistenceEvaluator pathExistenceEvaluator, IGroupedJavaScriptEvaluator groupedJavaScriptEvaluator, ISpecificGroupEvaluator specificGroupEvaluator, IHasFilesToInspectAndIsIdleEvaluator hasFilesToInspectAndIsIdleEvaluator, IFilesToInspectEvaluator filesToInspectEvaluator, IFilesToInspectStorer filesToInspectStorer, IRefactorPathPresenter refactorPathPresenter, ICssSpliter cssSpliter, IGeneratedCssPathPresenter generatedCssPathPresenter, ISolutionPathPresenter solutionPathPresenter, ImageReferencesEvaluator imageReferencesEvaluator, IJsSplitter jsSplitter, IAdvancedJsSplitter advancedJsSplitter)
        {
            AdvancedJsSplitter = advancedJsSplitter;
            JsSplitter = jsSplitter;
            ImageReferencesEvaluator = imageReferencesEvaluator;
            SolutionPathPresenter = solutionPathPresenter;
            GeneratedCssPathPresenter = generatedCssPathPresenter;
            CssSpliter = cssSpliter;
            RefactorPathPresenter = refactorPathPresenter;
            FilesToInspectStorer = filesToInspectStorer;
            FilesToInspectEvaluator = filesToInspectEvaluator;
            HasFilesToInspectAndIsIdleEvaluator = hasFilesToInspectAndIsIdleEvaluator;
            SpecificGroupEvaluator = specificGroupEvaluator;
            GroupedJavaScriptEvaluator = groupedJavaScriptEvaluator;
            PathExistenceEvaluator = pathExistenceEvaluator;
            ChildDirectoryCountEvaluator = childDirectoryCountEvaluator;
            FoldersPerGroupEvaluator = foldersPerGroupEvaluator;
            GroupedCssEvaluator = groupedCssEvaluator;
            DirectoryDescendentFilesEvaluator = directoryDescendentFilesEvaluator;
            FolderPresenter = folderPresenter;
            JavaScriptMetricsPresenter = javaScriptMetricsPresenter;
            InteractionPermissionToggler = interactionPermissionToggler;
            SettingsClearer = settingsClearer;
            OptionsPresenter = optionsPresenter;
            Ux = ux;
            InputPresenter = inputPresenter;
            OutputPresenter = outputPresenter;
            ProgressPresenter = progressPresenter;
            ViewModelEvaluator = viewModelEvaluator;
            BoolOptionPresenter = boolOptionPresenter;
            InspectionPathPresenter = inspectionPathPresenter;
            CssMetricsPresenter = cssMetricsPresenter;
            ResultsPathPresenter = resultsPathPresenter;

            InitializeComponent();

            ux.ReadEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => inputPresenter.Present(sender, e, (ViewModel)DataContext)));
            ux.WriteEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OutputPresenter.Write(sender, e, (ViewModel)DataContext)));
            ux.ProgressEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => ProgressPresenter.Present(sender, e, (ViewModel)DataContext)));
            ux.WriteLineEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OutputPresenter.WriteLine(sender, e, (ViewModel)DataContext)));
            ux.AddOptionEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.AddOption(sender, e, (ViewModel)DataContext)));
            ux.ResetProgressEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => ProgressPresenter.Reset(sender, e, (ViewModel)DataContext)));
            ux.DisplayOptionsEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.DisplayOptions(sender, e, (ViewModel)DataContext))); ;
            ux.DisplayBoolOptionEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => BoolOptionPresenter.Present(sender, e)));
            ux.AddOptionWithHeadingSpaceEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.AddOptionWithHeadingSpace(sender, e, (ViewModel)DataContext)));

            GroupedCssEvaluator.ScrollDown += ScrollDown;
            GroupedJavaScriptEvaluator.ScrollDown += ScrollDown;

            //#if DEBUG
            //            SettingsClearer.Clear();
            //#endif

            DataContext = ViewModelEvaluator.Evaluate();
        }
예제 #3
0
        public MainWindow(IViewModelEvaluator viewModelEvaluator, ICssMetricsPresenter cssMetricsPresenter, IHumanInterface ux, IInspectionPathPresenter inspectionPathPresenter, IResultsPathPresenter resultsPathPresenter, IBoolOptionPresenter boolOptionPresenter, IOutputPresenter outputPresenter, IProgressPresenter progressPresenter, IInputPresenter inputPresenter, IOptionsPresenter optionsPresenter, ISettingsClearer settingsClearer, IInteractionPermissionToggler interactionPermissionToggler, IJavaScriptMetricsPresenter javaScriptMetricsPresenter, IFolderPresenter folderPresenter, IDirectoryDescendentFilesEvaluator directoryDescendentFilesEvaluator, IGroupedCssEvaluator groupedCssEvaluator, IFoldersPerGroupEvaluator foldersPerGroupEvaluator, IChildDirectoryCountEvaluator childDirectoryCountEvaluator, IPathExistenceEvaluator pathExistenceEvaluator, IGroupedJavaScriptEvaluator groupedJavaScriptEvaluator, ISpecificGroupEvaluator specificGroupEvaluator, IHasFilesToInspectAndIsIdleEvaluator hasFilesToInspectAndIsIdleEvaluator, IFilesToInspectEvaluator filesToInspectEvaluator, IFilesToInspectStorer filesToInspectStorer, IRefactorPathPresenter refactorPathPresenter, ICssSpliter cssSpliter, IGeneratedCssPathPresenter generatedCssPathPresenter, ISolutionPathPresenter solutionPathPresenter, ImageReferencesEvaluator imageReferencesEvaluator, IJsSplitter jsSplitter, IAdvancedJsSplitter advancedJsSplitter)
        {
            AdvancedJsSplitter                  = advancedJsSplitter;
            JsSplitter                          = jsSplitter;
            ImageReferencesEvaluator            = imageReferencesEvaluator;
            SolutionPathPresenter               = solutionPathPresenter;
            GeneratedCssPathPresenter           = generatedCssPathPresenter;
            CssSpliter                          = cssSpliter;
            RefactorPathPresenter               = refactorPathPresenter;
            FilesToInspectStorer                = filesToInspectStorer;
            FilesToInspectEvaluator             = filesToInspectEvaluator;
            HasFilesToInspectAndIsIdleEvaluator = hasFilesToInspectAndIsIdleEvaluator;
            SpecificGroupEvaluator              = specificGroupEvaluator;
            GroupedJavaScriptEvaluator          = groupedJavaScriptEvaluator;
            PathExistenceEvaluator              = pathExistenceEvaluator;
            ChildDirectoryCountEvaluator        = childDirectoryCountEvaluator;
            FoldersPerGroupEvaluator            = foldersPerGroupEvaluator;
            GroupedCssEvaluator                 = groupedCssEvaluator;
            DirectoryDescendentFilesEvaluator   = directoryDescendentFilesEvaluator;
            FolderPresenter                     = folderPresenter;
            JavaScriptMetricsPresenter          = javaScriptMetricsPresenter;
            InteractionPermissionToggler        = interactionPermissionToggler;
            SettingsClearer                     = settingsClearer;
            OptionsPresenter                    = optionsPresenter;
            Ux                      = ux;
            InputPresenter          = inputPresenter;
            OutputPresenter         = outputPresenter;
            ProgressPresenter       = progressPresenter;
            ViewModelEvaluator      = viewModelEvaluator;
            BoolOptionPresenter     = boolOptionPresenter;
            InspectionPathPresenter = inspectionPathPresenter;
            CssMetricsPresenter     = cssMetricsPresenter;
            ResultsPathPresenter    = resultsPathPresenter;

            InitializeComponent();

            ux.ReadEvent                      += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => inputPresenter.Present(sender, e, (ViewModel)DataContext)));
            ux.WriteEvent                     += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OutputPresenter.Write(sender, e, (ViewModel)DataContext)));
            ux.ProgressEvent                  += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => ProgressPresenter.Present(sender, e, (ViewModel)DataContext)));
            ux.WriteLineEvent                 += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OutputPresenter.WriteLine(sender, e, (ViewModel)DataContext)));
            ux.AddOptionEvent                 += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.AddOption(sender, e, (ViewModel)DataContext)));
            ux.ResetProgressEvent             += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => ProgressPresenter.Reset(sender, e, (ViewModel)DataContext)));
            ux.DisplayOptionsEvent            += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.DisplayOptions(sender, e, (ViewModel)DataContext)));;
            ux.DisplayBoolOptionEvent         += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => BoolOptionPresenter.Present(sender, e)));
            ux.AddOptionWithHeadingSpaceEvent += (sender, e) => Application.Current.Dispatcher.BeginInvoke(new Action(() => OptionsPresenter.AddOptionWithHeadingSpace(sender, e, (ViewModel)DataContext)));

            GroupedCssEvaluator.ScrollDown        += ScrollDown;
            GroupedJavaScriptEvaluator.ScrollDown += ScrollDown;

            //#if DEBUG
            //            SettingsClearer.Clear();
            //#endif

            DataContext = ViewModelEvaluator.Evaluate();
        }
예제 #4
0
        private void view_OptionsClick(object sender, EventArgs args)
        {
            if (optionsPresenter != null)
            {
                optionsPresenter.BringToFront();
                return;
            }

            optionsPresenter         = injector.Create <IOptionsPresenter>();
            optionsPresenter.Closed += optionsPresenter_Closed;
            optionsPresenter.Run();
        }
        /// <summary>
        /// Called after the form has finished initialising but before it has been shown to the user.
        /// </summary>
        /// <param name="e"></param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!DesignMode)
            {
                Localise.Form(this);

                ArrangeControls();

                Populate();

                _OnlineHelp = new OnlineHelpHelper(this, OnlineHelpAddress.WinFormsOptionsDialog);

                _Presenter = Factory.Singleton.Resolve <IOptionsPresenter>();
                _Presenter.Initialise(this);

                RecordInitialValues();
                listBox.SelectedIndex = 0;

                OnValuesChanged(EventArgs.Empty);
            }
        }
예제 #6
0
 public FormOptions([Named("Parameters")]ISettingsOriginator originator)
     : this()
 {
     _presenter = new OptionsPresenter(this, originator);
 }
예제 #7
0
 private void optionsPresenter_Closed(object sender, EventArgs args)
 {
     optionsPresenter.Closed -= optionsPresenter_Closed;
     optionsPresenter.Dispose();
     optionsPresenter = null;
 }
        public void TestInitialise()
        {
            _ClassFactorySnapshot = Factory.TakeSnapshot();

            _ConfigurationStorage = TestUtilities.CreateMockSingleton<IConfigurationStorage>();
            _Configuration = new Configuration();
            _ConfigurationStorage.Setup(c => c.Load()).Returns(_Configuration);

            _Presenter = Factory.Singleton.Resolve<IOptionsPresenter>();
            _Provider = new Mock<IOptionsPresenterProvider>() { DefaultValue = DefaultValue.Mock }.SetupAllProperties();
            _Provider.Setup(p => p.FileExists(It.IsAny<string>())).Returns(true);
            _Provider.Setup(p => p.FolderExists(It.IsAny<string>())).Returns(true);
            _Provider.Setup(p => p.TestNetworkConnection(It.IsAny<string>(), It.IsAny<int>())).Returns((Exception)null);
            _Provider.Setup(p => p.TestSerialConnection(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<int>(), It.IsAny<StopBits>(), It.IsAny<Parity>(), It.IsAny<Handshake>())).Returns((Exception)null);
            _Presenter.Provider = _Provider.Object;
            _View = new Mock<IOptionsView>() { DefaultValue = DefaultValue.Mock }.SetupAllProperties();
        }
예제 #9
0
 public FormOptions([Named("Parameters")] ISettingsOriginator originator) : this()
 {
     _presenter = new OptionsPresenter(this, originator);
 }
        /// <summary>
        /// Called after the form has finished initialising but before it has been shown to the user.
        /// </summary>
        /// <param name="e"></param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if(!DesignMode) {
                Localise.Form(this);

                ArrangeControls();

                Populate();

                _OnlineHelp = new OnlineHelpHelper(this, OnlineHelpAddress.WinFormsOptionsDialog);

                _Presenter = Factory.Singleton.Resolve<IOptionsPresenter>();
                _Presenter.Initialise(this);

                RecordInitialValues();
                listBox.SelectedIndex = 0;

                OnValuesChanged(EventArgs.Empty);
            }
        }