Пример #1
0
        private void SectionsTreeToText(LinearComposer log)
        {
            log.Append(SectionName);

            if (IsLeaf)
            {
                return;
            }

            log.AppendLine(" {");
            log.IncreaseIndentation();

            var flag = true;

            foreach (var lowerSection in ChildSections)
            {
                if (flag)
                {
                    flag = false;
                }
                else
                {
                    log.AppendLine(",");
                }

                lowerSection.SectionsTreeToText(log);
            }

            log.DecreaseIndentation();
            log.AppendLine("}");
        }
        public override void ToString(LinearComposer textBuilder)
        {
            textBuilder.AppendLine("{");
            textBuilder.IncreaseIndentation();

            var flag = false;

            foreach (var pair in _nodes)
            {
                if (flag)
                {
                    textBuilder.AppendLine(",");
                }
                else
                {
                    flag = true;
                }

                textBuilder.Append(pair.Key.ToString());
                pair.Value.ToString(textBuilder);
            }

            textBuilder.DecreaseIndentation();
            textBuilder.AppendAtNewLine("}");
        }
Пример #3
0
        public static string InitializeGMac()
        {
            var log = new LinearComposer();

            try
            {
                log.Append("Initializing GA Data...");

                GMacLookupTables.Choose(1, 1);

                log.AppendLine("Done").AppendLine();

                log.Append("Initializing GMac Resources...");

                if (Directory.Exists(IconsPath) == false)
                {
                    Directory.CreateDirectory(IconsPath);
                }

                SaveIcon(Resources.BasisVector64, "BasisVector64");
                SaveIcon(Resources.Compile64, "Compile64");
                SaveIcon(Resources.Constant64, "Constant64");
                SaveIcon(Resources.Filter64, "Filter64");
                SaveIcon(Resources.Frame64, "Frame64");
                SaveIcon(Resources.GMacAST64, "GMacAST64");
                SaveIcon(Resources.GMac_Icon64, "GMac_Icon64");
                SaveIcon(Resources.Idea64, "Idea64");
                SaveIcon(Resources.Input64, "Input64");
                SaveIcon(Resources.Macro64, "Macro64");
                SaveIcon(Resources.Namespace64, "Namespace64");
                SaveIcon(Resources.Output64, "Output64");
                SaveIcon(Resources.Scalar64, "Scalar64");
                SaveIcon(Resources.Structure64, "Structure64");
                SaveIcon(Resources.Subspace64, "Subspace64");
                SaveIcon(Resources.Transform64, "Transform64");

                log.AppendLine("Done").AppendLine();

                log.Append("Initializing Symbolic Engine...");

                MathematicaScalar.Create(SymbolicUtils.Cas, "0");

                log.AppendLine("Done").AppendLine();
            }
            catch (Exception e)
            {
                log.AppendLine("Failed").AppendLine(e.Message).AppendLine();
            }

            return(log.ToString());
        }
Пример #4
0
        public override void ToTextTree(LinearComposer log)
        {
            log.AppendLine("{");

            log.IncreaseIndentation();

            var flag = false;

            foreach (var pair in _chidNodesDictionary)
            {
                if (flag)
                {
                    log.Append(", ");
                }
                else
                {
                    flag = true;
                }

                log.Append(Key + " : ");
                pair.Value.ToTextTree(log);
            }

            log.DecreaseIndentation();

            log.AppendAtNewLine("}");
        }
Пример #5
0
        /// <summary>
        /// Generate a string containing some statistics about the final text inside
        /// the files of this composer
        /// </summary>
        /// <returns></returns>
        public string GenerateStatistics()
        {
            var composer = new LinearComposer();

            composer
            .AppendLineAtNewLine("Composer Log:")
            .AppendLineAtNewLine(_log.ToString())
            .AppendLine();

            var totalLines      = 0;
            var totalCharacters = 0;

            foreach (var pair in _fileComposersDictionary)
            {
                int linesCount, charsCount;

                composer.AppendAtNewLine(
                    pair.Value.GenerateStatistics(RootFolder, FilesEncoding, out linesCount, out charsCount)
                    );

                totalLines      += linesCount;
                totalCharacters += charsCount;
            }

            composer
            .AppendLine()
            .AppendAtNewLine("Total Files: ")
            .AppendLine(_fileComposersDictionary.Count.ToString("###,###,###,###"))
            .AppendAtNewLine("Total Lines: ")
            .AppendLine(totalLines.ToString("###,###,###,###"))
            .AppendAtNewLine("Total Characters: ")
            .AppendLine(totalCharacters.ToString("###,###,###,###"));

            return(composer.ToString());
        }
Пример #6
0
        //private void ComputeTableSize()
        //{


        //}

        public override string ToString()
        {
            var rowHeadersWidth = RowsInfo.Max(r => r.Header.Length);
            var colHeadersWidth = ColumnsInfo.Max(c => c.Header.Length);

            var maxItemWidth = Math.Max(rowHeadersWidth, colHeadersWidth);

            for (var c = 0; c < Columns; c++)
            {
                for (var r = 0; r < Rows; r++)
                {
                    if (maxItemWidth < Items[r, c].Length)
                    {
                        maxItemWidth = Items[r, c].Length;
                    }
                }
            }

            var composer = new LinearComposer();

            //Add column headers
            composer.Append(FormatItem("", maxItemWidth));

            for (var c = 0; c < Columns; c++)
            {
                composer.Append(FormatItem(ColumnsInfo[c].Header, maxItemWidth));
            }

            composer.AppendLine();

            //Add rows
            for (var r = 0; r < Rows; r++)
            {
                composer.Append(FormatItem(RowsInfo[r].Header, maxItemWidth));

                for (var c = 0; c < Columns; c++)
                {
                    composer.Append(FormatItem(Items[r, c], maxItemWidth));
                }

                composer.AppendLine();
            }

            return(composer.ToString());
        }
Пример #7
0
        private bool InitGaTables()
        {
            _log.Append("Initializing GA Data...");
            labelStatus.Text = _log.ToString();
            Application.DoEvents();

            try
            {
                GMacLookupTables.Choose(1, 1);

                _log.AppendLine("Done").AppendLine();
                labelStatus.Text = _log.ToString();
                Application.DoEvents();

                return(true);
            }
            catch (Exception e)
            {
                _log.AppendLine("Failed").AppendLine(e.Message).AppendLine();
                labelStatus.Text = _log.ToString();
                Application.DoEvents();

                return(false);
            }
        }
Пример #8
0
        public void SaveScript(string filePath)
        {
            var composer = new LinearComposer();

            composer
            .AppendLine("[shortcuts]")
            .AppendLine(Ipr.Shortcuts)
            .AppendLine("[namespaces]")
            .AppendLine(OpenedNamespaces.Concatenate(Environment.NewLine))
            .AppendLine()
            .AppendLine("[members]")
            .AppendLine(ScriptClassMembersText)
            .AppendLine("[script]")
            .AppendLine(ScriptText);

            File.WriteAllText(filePath, composer.ToString());
        }
        private static string PatternsRangeSample()
        {
            Composer.Clear();

            Composer.AppendLine("PatternsBetween(3, 12):");
            AddPatternsListToComposer(BitUtils.PatternsBetween(3, 12));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            Composer.AppendLine("PatternsBetween(12, 3):");
            AddPatternsListToComposer(BitUtils.PatternsBetween(12, 3));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            Composer.AppendLine("OnesPermutations(5, 2):");
            AddPatternsListToComposer(BitUtils.OnesPermutations(5, 2));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            Composer.AppendLine("OnesPermutations(5, 3):");
            AddPatternsListToComposer(BitUtils.OnesPermutations(5, 3));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            Composer.AppendLine("ZerosPermutations(5, 2):");
            AddPatternsListToComposer(BitUtils.ZerosPermutations(5, 2));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            Composer.AppendLine("ZerosPermutations(5, 3):");
            AddPatternsListToComposer(BitUtils.ZerosPermutations(5, 3));
            Composer.AppendLineAtNewLine(PageSeparator).AppendLine();

            return(Composer.ToString());
        }
Пример #10
0
 public static void AddTestStartingMessage(string text)
 {
     Log.AppendLineAtNewLine("".PadLeft(80, '='));
     Log.AppendLine(text);
     Log.AppendLine();
 }