Skip to content

Commit da8299e

Browse files
committed
Support setting wrap mode for RichText
1 parent bdf265e commit da8299e

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

internal/guidefs/widget.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,9 +1031,20 @@ func initRichTextWidget() WidgetInfo {
10311031
},
10321032
Gostring: func(obj fyne.CanvasObject, c Context, defs map[string]string) string {
10331033
props := c.Metadata()[obj]
1034-
// TODO wrap
1035-
return widgetRef(props, defs,
1036-
fmt.Sprintf("widget.NewRichTextFromMarkdown(`%s`)", props["text"]))
1034+
rich := obj.(*widget.RichText)
1035+
1036+
str := &strings.Builder{}
1037+
wrap := rich.Wrapping != fyne.TextWrapOff
1038+
if wrap {
1039+
str.WriteString("func() *widget.RichText {\nrich := ")
1040+
}
1041+
str.WriteString(fmt.Sprintf("widget.NewRichTextFromMarkdown(`%s`)", props["text"]))
1042+
1043+
if wrap {
1044+
str.WriteString(fmt.Sprintf("\n\trich.Wrapping = %#v\n", rich.Wrapping))
1045+
str.WriteString("return rich\n}()")
1046+
}
1047+
return widgetRef(props, defs, str.String())
10371048
},
10381049
}
10391050
}

0 commit comments

Comments
 (0)