MCPcopy
hub / github.com/lxn/walk / RemoveAt

Method RemoveAt

widgetlist.go:138–171  ·  view source on GitHub ↗
(index int)

Source from the content-addressed store, hash-verified

136}
137
138func (l *WidgetList) RemoveAt(index int) error {
139 item := l.items[index]
140
141 if item == l.widgetInRemoval {
142 return nil
143 }
144
145 observer := l.observer
146 widget := item.window.(Widget)
147
148 if observer != nil {
149 l.widgetInRemoval = item
150 defer func() {
151 l.widgetInRemoval = nil
152 }()
153
154 if err := observer.onRemovingWidget(index, widget); err != nil {
155 return err
156 }
157 }
158
159 l.items = append(l.items[:index], l.items[index+1:]...)
160
161 if observer != nil {
162 if err := observer.onRemovedWidget(index, widget); err != nil {
163 l.insertIntoSlice(index, widget)
164 return err
165 }
166 }
167
168 item.form = nil
169
170 return nil
171}

Callers 1

RemoveMethod · 0.95

Calls 3

insertIntoSliceMethod · 0.95
onRemovingWidgetMethod · 0.65
onRemovedWidgetMethod · 0.65

Tested by

no test coverage detected