Skip to content

Commit 2e1e406

Browse files
committed
Add Padding operations to PanelBuilder
1 parent af0e8ac commit 2e1e406

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

src/FsSpectre/FsSpectre.fsproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
1212
<!-- NuGet config -->
1313
<PackageId>FsSpectre</PackageId>
14-
<Version>0.4.4</Version>
14+
<Version>0.4.5</Version>
1515
<Authors>Enrico Galassi</Authors>
1616
<PackageTags>fsharp;cli;dotnet;console-application;fsharp-console;</PackageTags>
1717
<PackageProjectUrl>https://github.com/galassie/fs-spectre</PackageProjectUrl>

src/FsSpectre/Widgets/PanelBuilder.fs

+24-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ module PanelBuilder =
1414
Header: PanelHeader
1515
Expand: bool
1616
Width: int option
17-
Height: int option }
17+
Height: int option
18+
Padding: Padding }
1819

1920
static member Default =
2021
{ Content = Markup(String.Empty)
@@ -23,7 +24,8 @@ module PanelBuilder =
2324
Header = PanelHeader(String.Empty)
2425
Expand = false
2526
Width = None
26-
Height = None }
27+
Height = None
28+
Padding = Padding(1, 0, 1, 0) }
2729

2830
type PanelBuilder() =
2931
member __.Yield _ = PanelConfig.Default
@@ -68,4 +70,24 @@ module PanelBuilder =
6870
[<CustomOperation "height">]
6971
member __.Height(config: PanelConfig, height: int) = { config with Height = Some height }
7072

73+
[<CustomOperation "pad_left">]
74+
member __.PadLeft(config: PanelConfig, pad: int) =
75+
{ config with
76+
Padding = Padding(pad, config.Padding.Top, config.Padding.Right, config.Padding.Bottom) }
77+
78+
[<CustomOperation "pad_top">]
79+
member __.PadTop(config: PanelConfig, pad: int) =
80+
{ config with
81+
Padding = Padding(config.Padding.Left, pad, config.Padding.Right, config.Padding.Bottom) }
82+
83+
[<CustomOperation "pad_right">]
84+
member __.PadRight(config: PanelConfig, pad: int) =
85+
{ config with
86+
Padding = Padding(config.Padding.Left, config.Padding.Top, pad, config.Padding.Bottom) }
87+
88+
[<CustomOperation "pad_bottom">]
89+
member __.PadBottom(config: PanelConfig, pad: int) =
90+
{ config with
91+
Padding = Padding(config.Padding.Left, config.Padding.Top, config.Padding.Right, pad) }
92+
7193
let panel = PanelBuilder()

0 commit comments

Comments
 (0)