Releases: Athari/CsConsoleFormat
Releases · Athari/CsConsoleFormat
v1.0.0
New features
- Added new syntax for child elements using constructors:
new Element(new Child(), "text")(closer resembles LINQ to XML;Childrenproperty should still be used in complex multi-line cases with other properties). - Added new syntax for attached properties:
new Element { Values = { Foo.Bar == 1 } }. - Added new syntax in fluent mode (requires
using Alba.CsConsoleFormat.Fluent):- Properties with unique enums:
new Element { Values = { DockTo.Left } }. - Color and Background properties:
new Element { Values = { White } }andnew Element { Values = { White.On(Black) } }. GridLengthextension methods for integers:1.Star()and2.Char().- ConsoleTest project now includes new sample usage of all fluent syntax.
- Properties with unique enums:
Changes
- API changes:
- Renamed
Canvaselement toAbsolute(closer resembles CSS concepts; also less confusing for Delphi users with theirTCanvas, if any still exist). - Renamed
Rendermethod toRenderOverride(consistency and enforcing bypass ifVisibilityisCollapsed). - Changed
ValuesInitializercollection initializer to be extensible through extension methods in separate assemblies.
- Renamed
- Added
EditorBrowsableState.Advancedto converters, Value-related classes and classes with extension methods.
Fixes
- Fixed various rare rendering issues (see #19):
- Negative margins.
- Clipping non-left-aligned elements with
MaxWidth/MaxHeight. - Uncontrollable growth of document if
Document.VerticalAlignis changed toStretch.
v0.10.0
Warning: Major breaking changes in API.
New features
- Added
ChildrenandColumnscollection initializers with behavior of LINQ to XML constructors.AddChildrenandAddColumnsextension methods marked as obsolete. - Added
Element.Valuesobject initializer dummy for setting attached properties. Can be used instead ofElement's indexer if strong typing is preffered. - #15 (Extension methods to color strings like in npm.colors for JS). For example:
"Text".Red().OnDarkBlue(). Requiresusing Alba.CsConsoleFormat.Fluent. - #16 (Extend line characters): Switched to 4-direction line chars. More precise control of drawing lines. Now adjacent tables are drawn correctly.
- Added support for
LineWidth.HeavyinLineCharRenderer.BoxExtended. Requires the console to use a font which supports the relevant Unicode box drawing characters. Not as wide-spread as DOS box drawing characters, so opt-in. - Added
Docuemnt.LineCharRendererproperty (previously line char renderer could only be set throughConsoleBufferwhich isn't normally exposed).
Changes
- Renamed many properties to follow CSS naming instead of older WPF/HTML mix:
HorizontalAlignment AligntoAlign Align,VerticalAlignment VAligntoVerticalAlign VerticalAlign,TextAlignment TextAligntoTextAlign TextAlign,TextWrapping TextWraptoTextWrap TextWrap,GridUnitType UnitTypetoGridUnit Unit. - Constructors of
ThicknessandLineThicknessuse CSS argument order for 2 argument overloads. - Renamed
LineChar.WidetoDouble.
Fixes
- #13 (TextAlign property doesn't work on single-line blocks)