public PublicParameterizedConstructorRequiringConverterTestClass(NameContainer nameParameter)
 {
     _nameContainer = nameParameter;
 }
Пример #2
0
        private static void WriteProject
        (
            Project project,
            IGeneratorSettings settings,
            NameContainer nc,
            ProfileDocumentation doc
        )
        {
            var folder = Path.Combine(Program.Arguments.OutputPath, settings.OutputSubfolder);
            var ns     = project.Extension == "Core" ? settings.Namespace : settings.ExtensionNamespace + "." + Utilities.ConvertExtensionNameToNamespace(project.Extension);
            var dir    = project.Extension == "Core"
                ? Path.Combine(folder, ns, settings.ClassName)
                : Path.Combine(folder, ExtensionsFolder, ns);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            if (!Directory.Exists(Path.Combine(dir, InterfacesFolder)))
            {
                Directory.CreateDirectory(Path.Combine(dir, InterfacesFolder));
            }

            if (!Directory.Exists(Path.Combine(dir, EnumsFolder)))
            {
                Directory.CreateDirectory(Path.Combine(dir, EnumsFolder));
            }

            foreach (var interfaceDef in project.Interfaces)
            {
                var path = Path.Combine(dir, InterfacesFolder, interfaceDef.InterfaceName + ".cs");
                InterfaceWriter.WriteInterface(interfaceDef, path, ns, settings.FunctionPrefix, doc, settings.Namespace);
            }

            foreach (var enumSignature in project.Enums)
            {
                var path = Path.Combine(dir, EnumsFolder, enumSignature.Name + ".cs");
                EnumWriter.WriteEnum(enumSignature, path, ns, settings.ConstantPrefix);
            }

            if (project.Extension == "Core")
            {
                InterfaceWriter.WriteMetaInterface
                (
                    ns,
                    Path.Combine(dir, InterfacesFolder, "I" + settings.ClassName + ".cs"),
                    settings.ClassName,
                    project.Interfaces.Select(x => x.InterfaceName)
                );

                NameContainerWriter.WriteNameContainer
                (
                    Path.Combine(dir, $"{settings.APIIdentifier}LibraryNameContainer.cs"),
                    ns,
                    settings.APIIdentifier,
                    nc
                );
            }
            else
            {
                // we expect the project file to already be created
                ProjectFileWriter.WriteProjectFile(ns, dir, settings.OutputSubfolder, settings.Namespace, project.Extension != "Core");
            }

            ClassWriter.WriteMixedModeClass(project, settings, doc);
        }
Пример #3
0
        /// <summary>
        /// Prepares Placeholders by including each template if available.
        /// </summary>
        protected void Page_Init(object sender, EventArgs e)
        {
            if (MeetsVersion != null) {
                var container0 = new NameContainer();
                MeetsVersion.InstantiateIn(container0);
                MeetsVersionTemplate.Controls.Add(container0);
            }

            if (FailsVersion != null) {
                var container1 = new NameContainer();
                FailsVersion.InstantiateIn(container1);
                FailsVersionTemplate.Controls.Add(container1);
            }

            if (NotPresent != null) {
                var container2 = new NameContainer();
                NotPresent.InstantiateIn(container2);
                NotPresentTemplate.Controls.Add(container2);
            }
        }
Пример #4
0
        /// <summary>
        /// Writes the datafiles, asking the user for overwriting.
        /// </summary>
        /// <param name="gestures">Gestures list container</param>
        /// <param name="categories">Categories list container.</param>
        /// <param name="locations">Locations list container.</param>
        /// <param name="names">Names list container.</param>
        /// <param name="questions">Questions list container.</param>
        private static void WriteDatafiles(GestureContainer gestures, CategoryContainer categories, RoomContainer locations, NameContainer names, QuestionsContainer questions)
        {
            string path = Loader.GetPath("Gestures.xml");

            if (Overwrite(path))
            {
                Loader.Save(path, gestures);
            }
            path = Loader.GetPath("Locations.xml");
            if (Overwrite(path))
            {
                Loader.Save(path, locations);
            }
            path = Loader.GetPath("Names.xml");
            if (Overwrite(path))
            {
                Loader.Save(path, names);
            }
            path = Loader.GetPath("Objects.xml");
            if (Overwrite(path))
            {
                Loader.Save(path, categories);
            }
            path = Loader.GetPath("Questions.xml");
            if (Overwrite(path))
            {
                Loader.Save(path, questions);
            }
        }
Пример #5
0
        private static async Task WriteProjectAsync
        (
            Project project,
            IGeneratorSettings settings,
            NameContainer nc,
            ProfileDocumentation doc
        )
        {
            var folder = Path.Combine(Program.Arguments.OutputPath, settings.OutputSubfolder);
            var ns     = project.Extension == "Core" ? settings.Namespace : settings.ExtensionNamespace + "." + Utilities.ConvertExtensionNameToNamespace(project.Extension);
            var dir    = project.Extension == "Core"
                ? Path.Combine(folder, ns, settings.ClassName)
                : Path.Combine(folder, ExtensionsFolder, ns);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            if (!Directory.Exists(Path.Combine(dir, InterfacesFolder)))
            {
                Directory.CreateDirectory(Path.Combine(dir, InterfacesFolder));
            }

            if (!Directory.Exists(Path.Combine(dir, EnumsFolder)))
            {
                Directory.CreateDirectory(Path.Combine(dir, EnumsFolder));
            }

            await Task.WhenAll(
                project.Interfaces.Select
                (
                    x => InterfaceWriter.WriteInterfaceAsync
                    (
                        x, Path.Combine(dir, InterfacesFolder, x.InterfaceName + ".cs"), ns, settings.FunctionPrefix, doc, settings.Namespace
                    )
                ).Concat
                (
                    project.Enums.Select(
                        x => EnumWriter.WriteEnumAsync
                        (
                            x,
                            Path.Combine(dir, EnumsFolder, x.Name + ".cs"),
                            ns,
                            settings.ConstantPrefix
                        )
                        )
                )
                );

            if (project.Extension == "Core")
            {
                await InterfaceWriter.WriteMetaInterfaceAsync
                (
                    ns,
                    Path.Combine(dir, InterfacesFolder, "I" + settings.ClassName + ".cs"),
                    settings.ClassName,
                    project.Interfaces.Select(x => x.InterfaceName)
                );

                await NameContainerWriter.WriteNameContainerAsync
                (
                    Path.Combine(dir, $"{settings.APIIdentifier}LibraryNameContainer.cs"),
                    ns,
                    settings.APIIdentifier,
                    nc
                );
            }
            else
            {
                // we expect the project file to already be created
                await ProjectFileWriter.WriteProjectFileAsync(ns, dir, settings.OutputSubfolder, settings.Namespace, project.Extension != "Core");
            }

            await ClassWriter.WriteMixedModeClassAsync(project, settings, doc);
        }
Пример #6
0
 public PublicParameterizedConstructorRequiringConverterTestClass(
     NameContainer nameParameter
     )
 {
     _nameContainer = nameParameter;
 }
Пример #7
0
 public PublicParameterizedConstructorRequiringConverterWithPropertyAttributeTestClass(NameContainer name)
 {
     _nameContainer = name;
 }
 public PublicParameterizedConstructorRequiringConverterWithParameterAttributeTestClass([JsonConverter(typeof(NameContainerConverter))] NameContainer nameParameter)
 {
     _nameContainer = nameParameter;
 }
 public PublicParameterizedConstructorRequiringConverterWithParameterAttributeTestClass([JsonConverter(typeof(NameContainerConverter))] NameContainer nameParameter)
 {
     _nameContainer = nameParameter;
 }
Пример #10
0
 public DXMapper(IMappingProvider provider, NameContainer nameContainer)
 {
     this.NameContainer   = nameContainer;
     this.MappingProvider = provider;
 }
Пример #11
0
        /// <summary>
        /// Prepares Placeholders by including each template if available.
        /// </summary>
        protected void Page_Init(object sender, EventArgs e)
        {
            if (Other != null) {
                var container0 = new NameContainer();
                Other.InstantiateIn(container0);
                OtherTemplate.Controls.Add(container0);
            }

            if (IE6 != null) {
                var container1 = new NameContainer();
                IE6.InstantiateIn(container1);
                IE6Template.Controls.Add(container1);
            }

            if (IE7plus != null) {
                var container2 = new NameContainer();
                IE7plus.InstantiateIn(container2);
                IE7plusTemplate.Controls.Add(container2);
            }

            if (IE9plus != null) {
                var container21 = new NameContainer();
                IE9plus.InstantiateIn(container21);
                IE9plusTemplate.Controls.Add(container21);
            }

            if (FF2plus != null) {
                var container3 = new NameContainer();
                FF2plus.InstantiateIn(container3);
                FF2plusTemplate.Controls.Add(container3);
            }

            if (Sf2plus != null) {
                var container4 = new NameContainer();
                Sf2plus.InstantiateIn(container4);
                Sf2plusTemplate.Controls.Add(container4);
            }

            if (GCr != null) {
                var container5 = new NameContainer();
                GCr.InstantiateIn(container5);
                GCrTemplate.Controls.Add(container5);
            }
        }
Пример #12
0
 public WPFMappingProvider(NameContainer callbackContainer)
 {
     this.CallbackContainer = callbackContainer;
 }
        /// <summary>
        /// Prepares Placeholders by including each template if available.
        /// </summary>
        protected void Page_Init(object sender, EventArgs e)
        {
            if (Other != null) {
                var container0 = new NameContainer();
                Other.InstantiateIn(container0);
                OtherTemplate.Controls.Add(container0);
            }

            if (MacX != null) {
                var container1 = new NameContainer();
                MacX.InstantiateIn(container1);
                MacXTemplate.Controls.Add(container1);
            }

            if (WinXP != null) {
                var container2 = new NameContainer();
                WinXP.InstantiateIn(container2);
                WinXPTemplate.Controls.Add(container2);
            }

            if (WinVista != null) {
                var container3 = new NameContainer();
                WinVista.InstantiateIn(container3);
                WinVistaTemplate.Controls.Add(container3);
            }

            if (Win7 != null) {
                var container4 = new NameContainer();
                Win7.InstantiateIn(container4);
                Win7Template.Controls.Add(container4);
            }

            if (Linux != null) {
                var container5 = new NameContainer();
                Linux.InstantiateIn(container5);
                LinuxTemplate.Controls.Add(container5);
            }
        }
 public void WriteName(NameContainer name, int textTabs, TextWriter tw, bool fullName)
 {
     WriteText($"{name.GetName(fullName)} = ", textTabs, tw);
 }