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

ApplyLayout() private method

private 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
width Optional
indentSize Optional
rightMarginSize Optional
indentChar Optional
firstLineIndentSize Optional
tabStops Optional
tabSize Optional
tabChar Optional
alignment Optional
splitLength Optional
hyphenate Optional
hyphenChar Optional
wrapMode Optional
return Layout
        public Layout ApplyLayout(
            Optional<int> width = default(Optional<int>),
            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>))
        {
            if (!width.IsAssigned &&
                !indentSize.IsAssigned &&
                !rightMarginSize.IsAssigned &&
                !indentChar.IsAssigned &&
                !firstLineIndentSize.IsAssigned &&
                !tabStops.IsAssigned &&
                !tabSize.IsAssigned &&
                !tabChar.IsAssigned &&
                !alignment.IsAssigned &&
                !splitLength.IsAssigned &&
                !hyphenate.IsAssigned &&
                !hyphenChar.IsAssigned &&
                !wrapMode.IsAssigned)
                return _writer.Builder.InitialLayout;

            // ReSharper disable once AssignNullToNotNullAttribute
            return Context.Invoke(
                () =>
                {
                    Layout existing = _writer.Builder.InitialLayout;
                    _writer.Builder =
                        new FormatBuilder(
                            existing.Apply(
                                width,
                                indentSize,
                                rightMarginSize,
                                indentChar,
                                firstLineIndentSize,
                                tabStops,
                                tabSize,
                                tabChar,
                                alignment,
                                splitLength,
                                hyphenate,
                                hyphenChar,
                                wrapMode));
                    return existing;
                });
        }

Same methods

FormatTextWriter::ApplyLayout ( [ newLayout ) : 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