Renamed Overlay callbacks & extended interface of Overlay (must be a Control as well).
This commit is contained in:
parent
9af85d79a6
commit
8c48c949e9
@ -1,6 +1,8 @@
|
|||||||
package ui
|
package ui
|
||||||
|
|
||||||
type Overlay interface {
|
type Overlay interface {
|
||||||
OverlayShown()
|
Control
|
||||||
OverlayHidden()
|
|
||||||
|
Shown()
|
||||||
|
Hidden()
|
||||||
}
|
}
|
||||||
|
9
ui/overlaybase.go
Normal file
9
ui/overlaybase.go
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
package ui
|
||||||
|
|
||||||
|
type OverlayBase struct {
|
||||||
|
ControlBase
|
||||||
|
}
|
||||||
|
|
||||||
|
func (o *OverlayBase) Hidden() {}
|
||||||
|
|
||||||
|
func (o *OverlayBase) Shown() {}
|
@ -4,16 +4,16 @@ type OverlayProxy struct {
|
|||||||
Proxy
|
Proxy
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *OverlayProxy) OverlayShown() {
|
func (p *OverlayProxy) Shown() {
|
||||||
overlay, ok := p.Content.(Overlay)
|
overlay, ok := p.Content.(Overlay)
|
||||||
if ok {
|
if ok {
|
||||||
overlay.OverlayShown()
|
overlay.Shown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *OverlayProxy) OverlayHidden() {
|
func (p *OverlayProxy) Hidden() {
|
||||||
overlay, ok := p.Content.(Overlay)
|
overlay, ok := p.Content.(Overlay)
|
||||||
if ok {
|
if ok {
|
||||||
overlay.OverlayHidden()
|
overlay.Hidden()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ type OverlayVisibilityChangedArgs struct {
|
|||||||
type Overlays struct {
|
type Overlays struct {
|
||||||
Proxy
|
Proxy
|
||||||
|
|
||||||
overlays map[string]Control
|
overlays map[string]Overlay
|
||||||
order []string
|
order []string
|
||||||
visible map[string]bool
|
visible map[string]bool
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ func NewOverlays(over Control) *Overlays {
|
|||||||
return &Overlays{
|
return &Overlays{
|
||||||
Proxy: Proxy{Content: over},
|
Proxy: Proxy{Content: over},
|
||||||
|
|
||||||
overlays: map[string]Control{},
|
overlays: map[string]Overlay{},
|
||||||
visible: map[string]bool{},
|
visible: map[string]bool{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -41,9 +41,9 @@ func (o *Overlays) setVisibility(name string, visible bool) {
|
|||||||
overlay, ok := o.overlays[name].(Overlay)
|
overlay, ok := o.overlays[name].(Overlay)
|
||||||
if ok {
|
if ok {
|
||||||
if visible {
|
if visible {
|
||||||
overlay.OverlayShown()
|
overlay.Shown()
|
||||||
} else {
|
} else {
|
||||||
overlay.OverlayHidden()
|
overlay.Hidden()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
o.visibilityChanged.Notify(OverlayVisibilityChangedArgs{Name: name, Visible: visible})
|
o.visibilityChanged.Notify(OverlayVisibilityChangedArgs{Name: name, Visible: visible})
|
||||||
@ -54,15 +54,15 @@ func (o *Overlays) setVisibility(name string, visible bool) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Overlays) AddOnTop(name string, control Control, visible bool) {
|
func (o *Overlays) AddOnTop(name string, overlay Overlay, visible bool) {
|
||||||
o.order = append(o.order, name)
|
o.order = append(o.order, name)
|
||||||
o.overlays[name] = control
|
o.overlays[name] = overlay
|
||||||
o.visible[name] = visible
|
o.visible[name] = visible
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Overlays) AddOnBottom(name string, control Control, visible bool) {
|
func (o *Overlays) AddOnBottom(name string, overlay Overlay, visible bool) {
|
||||||
o.order = append([]string{name}, o.order...)
|
o.order = append([]string{name}, o.order...)
|
||||||
o.overlays[name] = control
|
o.overlays[name] = overlay
|
||||||
o.visible[name] = visible
|
o.visible[name] = visible
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ const tooltipMouseDistance = 12
|
|||||||
const uiDefaultTooltipOverlay = "ui-default-tooltip"
|
const uiDefaultTooltipOverlay = "ui-default-tooltip"
|
||||||
|
|
||||||
type Tooltip struct {
|
type Tooltip struct {
|
||||||
ControlBase
|
OverlayBase
|
||||||
|
|
||||||
Text string
|
Text string
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user