public static FormMain CreateForm(IDatabaseCoordinator coordinator, ByteHolder holder,
                                          OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
                                          DataPerformer.Portable.DifferentialEquationProcessors.DifferentialEquationProcessor diffProcessor,
                                          IApplicationInitializer[] initializers,
                                          IUIFactory[] factories,
                                          bool throwsRepeatException, LightDictionary <string, ButtonWrapper[]> buttons,
                                          Icon icon, string filename, Dictionary <string, object>[] resources, string text,
                                          string ext, string fileFilter, TextWriter logWriter, TestCategory.Interfaces.ITestInterface testInterface)
        {
            EngineeringUIFactory   factory     = new EngineeringUIFactory(factories, true, ext);
            EngineeringInitializer initializer = new EngineeringInitializer(coordinator, ordSolver, diffProcessor,
                                                                            DataPerformer.Runtime.DataRuntimeFactory.Object, initializers, throwsRepeatException, resources, logWriter);
            DefaultApplicationCreator creator = new DefaultApplicationCreator(coordinator, buttons, icon, factory, holder, filename,
                                                                              factory.Start, resources, text,
                                                                              ext, fileFilter, initializer, logWriter, testInterface);

            return(CreateForm(creator));
        }
 public DefaultApplicationCreator(IDatabaseCoordinator coordinator, LightDictionary <string, ButtonWrapper[]> buttons,
                                  Icon icon, EngineeringUIFactory factory, ByteHolder holder, string filename, Action <double, double, int, int, int, IDesktop> start,
                                  Dictionary <string, object>[] resources, string text,
                                  string ext, string fileFilter, IApplicationInitializer initializer, TextWriter log,
                                  TestCategory.Interfaces.ITestInterface testInterface)
 {
     this.coordinator   = coordinator;
     this.buttons       = buttons;
     this.icon          = icon;
     this.factory       = factory;
     this.holder        = holder;
     this.filename      = filename;
     this.start         = start;
     this.resources     = resources;
     this.text          = text;
     this.ext           = ext;
     this.fileFilter    = fileFilter;
     this.initializer   = initializer;
     this.log           = log;
     this.testInterface = testInterface;
 }