WebApplications.Utilities.Formatting.FormatTextWriter.ApplyLayout C# (CSharp) Method

ApplyLayout() private method

private ApplyLayout ( [ newLayout ) : Layout
newLayout [
return Layout
        public Layout ApplyLayout([CanBeNull] Layout newLayout)
        {
            if (newLayout == null) return _writer.Builder.InitialLayout;
            // ReSharper disable once AssignNullToNotNullAttribute
            return Context.Invoke(
                () =>
                {
                    if (newLayout == _writer.Builder.InitialLayout) return newLayout;

                    Layout existing = _writer.Builder.InitialLayout;
                    _writer.Builder = new FormatBuilder(
                        existing.Apply(
                            newLayout.Width,
                            newLayout.IndentSize,
                            newLayout.RightMarginSize,
                            newLayout.IndentChar,
                            newLayout.FirstLineIndentSize,
                            newLayout.TabStops,
                            newLayout.TabSize,
                            newLayout.TabChar,
                            newLayout.Alignment,
                            newLayout.SplitLength,
                            newLayout.Hyphenate,
                            newLayout.HyphenChar,
                            newLayout.WrapMode));
                    return existing;
                });
        }

Same methods

FormatTextWriter::ApplyLayout ( Optional width = default(Optional<int>), Optional indentSize = default(Optional<int>), Optional rightMarginSize = default(Optional<int>), Optional indentChar = default(Optional<char>), Optional firstLineIndentSize = default(Optional<int>), Optional tabStops = default(Optional<IEnumerable<int>>), Optional tabSize = default(Optional<byte>), Optional tabChar = default(Optional<char>), Optional alignment = default(Optional<Alignment>), Optional splitLength = default(Optional<byte>), Optional hyphenate = default(Optional<bool>), Optional hyphenChar = default(Optional<char>), Optional wrapMode = default(Optional<LayoutWrapMode>) ) : Layout

Usage Example

Example #1
0
        public static FormatTextWriter Format(
            [NotNull] this TextWriter writer,
            Optional <int> width,
            Optional <int> indentSize              = default(Optional <int>),
            Optional <int> rightMarginSize         = default(Optional <int>),
            Optional <char> indentChar             = default(Optional <char>),
            Optional <int> firstLineIndentSize     = default(Optional <int>),
            Optional <IEnumerable <int> > tabStops = default(Optional <IEnumerable <int> >),
            Optional <byte> tabSize            = default(Optional <byte>),
            Optional <char> tabChar            = default(Optional <char>),
            Optional <Alignment> alignment     = default(Optional <Alignment>),
            Optional <byte> splitLength        = default(Optional <byte>),
            Optional <bool> hyphenate          = default(Optional <bool>),
            Optional <char> hyphenChar         = default(Optional <char>),
            Optional <LayoutWrapMode> wrapMode = default(Optional <LayoutWrapMode>),
            ushort startPosition = 0)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }

            FormatTextWriter ltw = writer as FormatTextWriter;

            if (ltw == null)
            {
                return(new FormatTextWriter(
                           writer,
                           width,
                           indentSize,
                           rightMarginSize,
                           indentChar,
                           firstLineIndentSize,
                           tabStops,
                           tabSize,
                           tabChar,
                           alignment,
                           splitLength,
                           hyphenate,
                           hyphenChar,
                           wrapMode,
                           startPosition));
            }

            ltw.ApplyLayout(
                width,
                indentSize,
                rightMarginSize,
                indentChar,
                firstLineIndentSize,
                tabStops,
                tabSize,
                tabChar,
                alignment,
                splitLength,
                hyphenate,
                hyphenChar,
                wrapMode);
            return(ltw);
        }
All Usage Examples Of WebApplications.Utilities.Formatting.FormatTextWriter::ApplyLayout