Store role in Boxes
This commit is contained in:
parent
d8ae20d739
commit
2ab920eb26
@ -28,7 +28,8 @@ func NewButton (text string) *Button {
|
||||
ContainerBox: tomo.NewContainerBox(),
|
||||
label: NewLabel(text),
|
||||
}
|
||||
tomo.Apply(box, tomo.R("objects", "Button", ""))
|
||||
box.SetRole(tomo.R("objects", "Button", ""))
|
||||
tomo.Apply(box)
|
||||
box.label.SetAlign(tomo.AlignMiddle, tomo.AlignMiddle)
|
||||
box.SetLayout(buttonLayout)
|
||||
box.SetText(text)
|
||||
|
@ -18,7 +18,8 @@ func NewCheckbox (value bool) *Checkbox {
|
||||
box := &Checkbox {
|
||||
Box: tomo.NewBox(),
|
||||
}
|
||||
tomo.Apply(box, tomo.R("objects", "Checkbox", ""))
|
||||
box.SetRole(tomo.R("objects", "Checkbox", ""))
|
||||
tomo.Apply(box)
|
||||
box.SetValue(false)
|
||||
|
||||
box.OnMouseUp(box.handleMouseUp)
|
||||
|
@ -27,7 +27,8 @@ func newContainer (layout tomo.Layout, children ...tomo.Object) *Container {
|
||||
// window, tab pane, etc.
|
||||
func NewOuterContainer (layout tomo.Layout, children ...tomo.Object) *Container {
|
||||
this := newContainer(layout, children...)
|
||||
tomo.Apply(this, tomo.R("objects", "Container", "outer"))
|
||||
this.SetRole(tomo.R("objects", "Container", "outer"))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
||||
@ -35,14 +36,16 @@ func NewOuterContainer (layout tomo.Layout, children ...tomo.Object) *Container
|
||||
// around it. It is meant to be used as a root container for a ScrollContainer.
|
||||
func NewSunkenContainer (layout tomo.Layout, children ...tomo.Object) *Container {
|
||||
this := newContainer(layout, children...)
|
||||
tomo.Apply(this, tomo.R("objects", "Container", "sunken"))
|
||||
this.SetRole(tomo.R("objects", "Container", "sunken"))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
||||
// NewInnerContainer creates a new container that has no padding around it.
|
||||
func NewInnerContainer (layout tomo.Layout, children ...tomo.Object) *Container {
|
||||
this := newContainer(layout, children...)
|
||||
tomo.Apply(this, tomo.R("objects", "Container", "inner"))
|
||||
this.SetRole(tomo.R("objects", "Container", "inner"))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,8 @@ func NewHeading (level int, text string) *Heading {
|
||||
if level < 0 { level = 0 }
|
||||
if level > 2 { level = 2 }
|
||||
this := &Heading { TextBox: tomo.NewTextBox() }
|
||||
tomo.Apply(this, tomo.R("objects", "Heading", fmt.Sprint(level)))
|
||||
this.SetRole(tomo.R("objects", "Heading", fmt.Sprint(level)))
|
||||
tomo.Apply(this)
|
||||
this.SetText(text)
|
||||
return this
|
||||
}
|
||||
|
6
icon.go
6
icon.go
@ -15,7 +15,8 @@ func NewIcon (id tomo.Icon, size tomo.IconSize) *Icon {
|
||||
this := &Icon {
|
||||
Box: tomo.NewBox(),
|
||||
}
|
||||
tomo.Apply(this, tomo.R("objects", "Icon", size.String()))
|
||||
this.SetRole(tomo.R("objects", "Icon", size.String()))
|
||||
tomo.Apply(this)
|
||||
this.SetTexture(id.Texture(size))
|
||||
return this
|
||||
}
|
||||
@ -25,7 +26,8 @@ func NewMimeIcon (mime data.Mime, size tomo.IconSize) *Icon {
|
||||
this := &Icon {
|
||||
Box: tomo.NewBox(),
|
||||
}
|
||||
tomo.Apply(this, tomo.R("objects", "Icon", size.String()))
|
||||
this.SetRole(tomo.R("objects", "Icon", size.String()))
|
||||
tomo.Apply(this)
|
||||
this.SetTexture(tomo.MimeIcon(mime, size))
|
||||
return this
|
||||
}
|
||||
|
3
label.go
3
label.go
@ -10,7 +10,8 @@ type Label struct {
|
||||
// NewLabel creates a new text label.
|
||||
func NewLabel (text string) *Label {
|
||||
this := &Label { TextBox: tomo.NewTextBox() }
|
||||
tomo.Apply(this, tomo.R("objects", "Label", ""))
|
||||
this.SetRole(tomo.R("objects", "Label", ""))
|
||||
tomo.Apply(this)
|
||||
this.SetText(text)
|
||||
return this
|
||||
}
|
||||
|
@ -20,7 +20,8 @@ func NewLabelCheckbox (value bool, text string) *LabelCheckbox {
|
||||
checkbox: NewCheckbox(value),
|
||||
label: NewLabel(text),
|
||||
}
|
||||
tomo.Apply(box, tomo.R("objects", "LabelCheckbox", ""))
|
||||
box.SetRole(tomo.R("objects", "LabelCheckbox", ""))
|
||||
tomo.Apply(box)
|
||||
box.label.SetAlign(tomo.AlignStart, tomo.AlignMiddle)
|
||||
box.Add(box.checkbox)
|
||||
box.Add(box.label)
|
||||
|
@ -28,7 +28,8 @@ func NewNumberInput (value float64) *NumberInput {
|
||||
increment: NewButton(""),
|
||||
decrement: NewButton(""),
|
||||
}
|
||||
tomo.Apply(box, tomo.R("objects", "NumberInput", ""))
|
||||
box.SetRole(tomo.R("objects", "NumberInput", ""))
|
||||
tomo.Apply(box)
|
||||
box.Add(box.input)
|
||||
box.Add(box.decrement)
|
||||
box.Add(box.increment)
|
||||
|
@ -45,8 +45,11 @@ func newScrollbar (orient string) *Scrollbar {
|
||||
this.OnMouseUp(this.handleMouseUp)
|
||||
this.OnMouseMove(this.handleMouseMove)
|
||||
this.OnScroll(this.handleScroll)
|
||||
tomo.Apply(this.handle, tomo.R("objects", "SliderHandle", orient))
|
||||
tomo.Apply(this, tomo.R("objects", "Slider", orient))
|
||||
|
||||
this.handle.SetRole(tomo.R("objects", "SliderHandle", orient))
|
||||
tomo.Apply(this.handle)
|
||||
this.SetRole(tomo.R("objects", "Slider", orient))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
||||
|
@ -60,7 +60,8 @@ func NewScrollContainer (sides ScrollSide) *ScrollContainer {
|
||||
}
|
||||
this.CaptureScroll(true)
|
||||
this.OnScroll(this.handleScroll)
|
||||
tomo.Apply(this, tomo.R("objects", "ScrollContainer", sides.String()))
|
||||
this.SetRole(tomo.R("objects", "ScrollContainer", sides.String()))
|
||||
tomo.Apply(this)
|
||||
this.SetLayout(this.layout)
|
||||
return this
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ func NewSeparator () *Separator {
|
||||
this := &Separator {
|
||||
Box: tomo.NewBox(),
|
||||
}
|
||||
tomo.Apply(this, tomo.R("objects", "Separator", ""))
|
||||
this.SetRole(tomo.R("objects", "Separator", ""))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
@ -51,8 +51,11 @@ func newSlider (orient string, value float64) *Slider {
|
||||
this.OnMouseUp(this.handleMouseUp)
|
||||
this.OnMouseMove(this.handleMouseMove)
|
||||
this.OnScroll(this.handleScroll)
|
||||
tomo.Apply(this.handle, tomo.R("objects", "SliderHandle", orient))
|
||||
tomo.Apply(this, tomo.R("objects", "Slider", orient))
|
||||
|
||||
this.handle.SetRole(tomo.R("objects", "SliderHandle", orient))
|
||||
tomo.Apply(this.handle)
|
||||
this.SetRole(tomo.R("objects", "Slider", orient))
|
||||
tomo.Apply(this)
|
||||
return this
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,8 @@ type TextInput struct {
|
||||
// NewTextInput creates a new text input containing the specified text.
|
||||
func NewTextInput (text string) *TextInput {
|
||||
this := &TextInput { TextBox: tomo.NewTextBox() }
|
||||
tomo.Apply(this, tomo.R("objects", "TextInput", ""))
|
||||
this.SetRole(tomo.R("objects", "TextInput", ""))
|
||||
tomo.Apply(this)
|
||||
this.SetAlign(tomo.AlignStart, tomo.AlignMiddle)
|
||||
this.SetText(text)
|
||||
this.SetFocusable(true)
|
||||
|
@ -11,7 +11,8 @@ type TextView struct {
|
||||
// NewTextView creates a new text view.
|
||||
func NewTextView (text string) *TextView {
|
||||
this := &TextView { TextBox: tomo.NewTextBox() }
|
||||
tomo.Apply(this, tomo.R("objects", "TextView", ""))
|
||||
this.SetRole(tomo.R("objects", "TextView", ""))
|
||||
tomo.Apply(this)
|
||||
this.SetFocusable(true)
|
||||
this.SetSelectable(true)
|
||||
this.SetText(text)
|
||||
|
Loading…
Reference in New Issue
Block a user