Click here to Skip to main content
15,896,154 members
Articles / Programming Languages / C# 4.0

Grandiose projects 5. Audio support

Rate me:
Please Sign up or sign in to vote.
5.00/5 (2 votes)
3 Feb 2012CPOL8 min read 23.2K   2K   8  
Audio support for grandiose projects
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DiagramUI.Interfaces;
using System.Drawing;
using System.Windows.Forms;
using System.IO;



using DiagramUI;
using Diagram.UI.Interfaces;

using CommonService;

using DataPerformer;

using DataWarehouse;
using DataWarehouse.Interfaces;

using BasicEngineeringUIFactory.Interfaces;
using BasicEngineeringUIFactory.Advanced.Forms;



namespace BasicEngineeringUIFactory.Advanced
{

    public class DefaultApplicationCreator : IApplicationCreator
    {

        #region Fields


        private LightDictionary<string, ButtonWrapper[]> buttons;

        Icon icon;
        EngineeringUIFactory factory;
        string filename;
        Action<double, double, int, int, int, IDesktop> start;
        string text;
        string ext;
        string fileFilter;

        IApplicationInitializer initializer;

        ByteHolder holder;

        Dictionary<string, object>[] resources;

        IDatabaseCoordinator coordinator;

        TextWriter log = null;

        TestCategory.Interfaces.ITestInterface testInterface;

        #endregion

        #region Ctor

        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;
        }

        #endregion

        #region IApplicationCreator Members

        LightDictionary<string, ButtonWrapper[]> IApplicationCreator.Buttons
        {
            get { return buttons; }
        }

        Icon IApplicationCreator.Icon
        {
            get { return icon; }
        }

        IUIFactory IApplicationCreator.Factory
        {
            get { return factory; }
        }

        string IApplicationCreator.Filename
        {
            get { return filename; }
        }

        Action<double, double, int, int, int, IDesktop> IApplicationCreator.Start
        {
            get { return start; }
        }

        string IApplicationCreator.Text
        {
            get { return text; }
        }

        string IApplicationCreator.Ext
        {
            get { return ext; }
        }

        IApplicationInitializer IApplicationCreator.ApplicationInitializer
        {
            get { return initializer; }
        }

        string IApplicationCreator.FileFilter
        {
            get { return fileFilter; }
        }

        ByteHolder IApplicationCreator.Holder
        {
            get
            {
                return holder;
            }
            set
            {
                holder = value;
            }
        }

        Dictionary<string, object>[] IApplicationCreator.Resources
        {
            get
            {
                return resources;
            }
        }


        void IApplicationCreator.LoadResources()
        {
            loadResources();
        }

        IDatabaseCoordinator IApplicationCreator.DatabaseCoordinator
        {
            get
            {
                return coordinator;
            }
        }

        TextWriter IApplicationCreator.Log
        {
            get { return log; }
        }


        TestCategory.Interfaces.ITestInterface IApplicationCreator.TestInterface
        {
            get { return testInterface; }
        }


        #endregion

        #region Members

        public static FormMain CreateForm(IDatabaseCoordinator coordinator, ByteHolder holder,
            OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
     DataPerformer.DifferentialEquationProcessor diffProcessor,
     DataPerformer.Interfaces.IDataPerformerRuntimeFactory strategy, IApplicationInitializer[] initializers,
            IUIFactory[] factories,
     bool throwsRepeatException, LightDictionary<string, ButtonWrapper[]> buttons, Dictionary<string, object>[]
            resources,
            Icon icon, string filename, Action<double, double, int, int, int, IDesktop> start, string text,
            string ext, string fileFilter, TextWriter log, TestCategory.Interfaces.ITestInterface testInterface)
        {
            EngineeringUIFactory factory = new EngineeringUIFactory(factories, true, ext);
            EngineeringInitializer initializer = new EngineeringInitializer(coordinator, ordSolver, diffProcessor, 
                strategy, initializers, throwsRepeatException, resources, log);
            DefaultApplicationCreator creator = new DefaultApplicationCreator(coordinator, buttons, icon, factory, holder, filename, start, 
              resources,  text,
            ext, fileFilter, initializer, log, testInterface);
            return CreateForm(creator);
        }

        public static FormMain CreateForm(IDatabaseCoordinator coordinator, ByteHolder holder,
             OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
      DataPerformer.DifferentialEquationProcessor diffProcessor,
             DataPerformer.Interfaces.IDataPerformerRuntimeFactory strategy,
      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,
                strategy, 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 static FormMain CreateForm(IDatabaseCoordinator coordinator, ByteHolder holder,
      OrdinaryDifferentialEquations.IDifferentialEquationSolver ordSolver,
DataPerformer.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.DataPerformerRuntimeFactory.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 static FormMain CreateForm(IApplicationCreator creator)
        {
            FormMain f = new FormMain(creator);
            return f;
        }


        static private void loadResources()
        {

            string sApp = ResourceService.Resources.CurrentDirectory;
            System.Globalization.CultureInfo c = System.Globalization.CultureInfo.CurrentCulture;
        }
 
        #endregion

    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
Russian Federation Russian Federation
Ph. D. Petr Ivankov worked as scientific researcher at Russian Mission Control Centre since 1978 up to 2000. Now he is engaged by Aviation training simulators http://dinamika-avia.com/ . His additional interests are:

1) Noncommutative geometry

http://front.math.ucdavis.edu/author/P.Ivankov

2) Literary work (Russian only)

http://zhurnal.lib.ru/editors/3/3d_m/

3) Scientific articles
http://arxiv.org/find/all/1/au:+Ivankov_Petr/0/1/0/all/0/1

Comments and Discussions