rui_orig/absoluteLayout.go

41 lines
1.0 KiB
Go
Raw Permalink Normal View History

2021-09-07 17:36:50 +03:00
package rui
import "strings"
// AbsoluteLayout represent an AbsoluteLayout view where child views can be arbitrary positioned
2021-09-07 17:36:50 +03:00
type AbsoluteLayout interface {
ViewsContainer
}
type absoluteLayoutData struct {
viewsContainerData
}
// NewAbsoluteLayout create new AbsoluteLayout object and return it
func NewAbsoluteLayout(session Session, params Params) AbsoluteLayout {
view := new(absoluteLayoutData)
view.init(session)
2021-09-07 17:36:50 +03:00
setInitParams(view, params)
return view
}
func newAbsoluteLayout(session Session) View {
return NewAbsoluteLayout(session, nil)
}
// Init initialize fields of ViewsContainer by default values
func (layout *absoluteLayoutData) init(session Session) {
layout.viewsContainerData.init(session)
2021-09-07 17:36:50 +03:00
layout.tag = "AbsoluteLayout"
layout.systemClass = "ruiAbsoluteLayout"
}
func (layout *absoluteLayoutData) htmlSubviews(self View, buffer *strings.Builder) {
if layout.views != nil {
for _, view := range layout.views {
view.addToCSSStyle(map[string]string{`position`: `absolute`})
viewHTML(view, buffer)
}
}
}