|
|
|
@ -75,13 +75,17 @@ func (p *Panels) AddPanel(name string, item Primitive, resize, visible bool) {
|
|
|
|
|
p.Lock() |
|
|
|
|
defer p.Unlock() |
|
|
|
|
|
|
|
|
|
for index, pg := range p.panels { |
|
|
|
|
var added bool |
|
|
|
|
for i, pg := range p.panels { |
|
|
|
|
if pg.Name == name { |
|
|
|
|
p.panels = append(p.panels[:index], p.panels[index+1:]...) |
|
|
|
|
p.panels[i] = &panel{Item: item, Name: name, Resize: resize, Visible: visible} |
|
|
|
|
added = true |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
p.panels = append(p.panels, &panel{Item: item, Name: name, Resize: resize, Visible: visible}) |
|
|
|
|
if !added { |
|
|
|
|
p.panels = append(p.panels, &panel{Item: item, Name: name, Resize: resize, Visible: visible}) |
|
|
|
|
} |
|
|
|
|
if p.changed != nil { |
|
|
|
|
p.Unlock() |
|
|
|
|
p.changed() |
|
|
|
|