widget/material: [API] add description argument to IconButton

Icons have no inherent semantic meaning such as a label, so this change
adds another argument to the IconButton constructor for the client to
provide a description.

This is an API change, because it seems best to force every client to
provide semantic descriptions for icon buttons.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2021-11-30 16:49:04 +01:00
parent d82be97a71
commit 763fca1f29
+3 -1
View File
@@ -46,6 +46,7 @@ type IconButtonStyle struct {
Size unit.Value Size unit.Value
Inset layout.Inset Inset layout.Inset
Button *widget.Clickable Button *widget.Clickable
Description string
} }
func Button(th *Theme, button *widget.Clickable, txt string) ButtonStyle { func Button(th *Theme, button *widget.Clickable, txt string) ButtonStyle {
@@ -72,7 +73,7 @@ func ButtonLayout(th *Theme, button *widget.Clickable) ButtonLayoutStyle {
} }
} }
func IconButton(th *Theme, button *widget.Clickable, icon *widget.Icon) IconButtonStyle { func IconButton(th *Theme, button *widget.Clickable, icon *widget.Icon, description string) IconButtonStyle {
return IconButtonStyle{ return IconButtonStyle{
Background: th.Palette.ContrastBg, Background: th.Palette.ContrastBg,
Color: th.Palette.ContrastFg, Color: th.Palette.ContrastFg,
@@ -80,6 +81,7 @@ func IconButton(th *Theme, button *widget.Clickable, icon *widget.Icon) IconButt
Size: unit.Dp(24), Size: unit.Dp(24),
Inset: layout.UniformInset(unit.Dp(12)), Inset: layout.UniformInset(unit.Dp(12)),
Button: button, Button: button,
Description: description,
} }
} }