2024-04-23 09:35:21 +02:00
|
|
|
package screen
|
|
|
|
|
|
|
|
import (
|
2024-08-06 10:31:43 +02:00
|
|
|
"gitea.hevanto-it.com/hevanto/ui/uiwidget"
|
2024-04-23 09:35:21 +02:00
|
|
|
"fyne.io/fyne/v2"
|
|
|
|
"fyne.io/fyne/v2/container"
|
|
|
|
"fyne.io/fyne/v2/layout"
|
|
|
|
)
|
|
|
|
|
|
|
|
func applyDecorators(
|
|
|
|
e *Element,
|
|
|
|
obj fyne.CanvasObject,
|
|
|
|
) (
|
|
|
|
decorator fyne.CanvasObject,
|
|
|
|
) {
|
|
|
|
decorator = obj
|
|
|
|
if e.Decorators != nil {
|
|
|
|
for _, dec := range e.Decorators {
|
|
|
|
switch dec {
|
|
|
|
case "Border":
|
|
|
|
decorator = uiwidget.NewWidgetBorder(decorator)
|
|
|
|
case "HCenter":
|
|
|
|
decorator = container.NewHBox(
|
|
|
|
layout.NewSpacer(),
|
|
|
|
decorator,
|
|
|
|
layout.NewSpacer())
|
|
|
|
case "HLeading":
|
|
|
|
decorator = container.NewHBox(
|
|
|
|
decorator,
|
|
|
|
layout.NewSpacer())
|
|
|
|
case "HTrailing":
|
|
|
|
decorator = container.NewHBox(
|
|
|
|
layout.NewSpacer(),
|
|
|
|
decorator)
|
|
|
|
case "VCenter":
|
|
|
|
decorator = container.NewVBox(
|
|
|
|
layout.NewSpacer(),
|
|
|
|
decorator,
|
|
|
|
layout.NewSpacer())
|
|
|
|
case "VLeading":
|
|
|
|
decorator = container.NewVBox(
|
|
|
|
decorator,
|
|
|
|
layout.NewSpacer())
|
|
|
|
case "VTrailing":
|
|
|
|
decorator = container.NewVBox(
|
|
|
|
layout.NewSpacer(),
|
|
|
|
decorator)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|