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

Method removeItem

treeview.go:441–462  ·  view source on GitHub ↗
(item TreeItem)

Source from the content-addressed store, hash-verified

439}
440
441func (tv *TreeView) removeItem(item TreeItem) error {
442 if err := tv.removeDescendants(item); err != nil {
443 return err
444 }
445
446 info := tv.item2Info[item]
447 if info == nil {
448 return newError("invalid item")
449 }
450
451 if 0 == tv.SendMessage(win.TVM_DELETEITEM, 0, uintptr(info.handle)) {
452 return newError("SendMessage(TVM_DELETEITEM) failed")
453 }
454
455 if parentInfo := tv.item2Info[item.Parent()]; parentInfo != nil {
456 delete(parentInfo.child2Handle, item)
457 }
458 delete(tv.item2Info, item)
459 delete(tv.handle2Item, info.handle)
460
461 return nil
462}
463
464func (tv *TreeView) removeDescendants(parent TreeItem) error {
465 for item, _ := range tv.item2Info[parent].child2Handle {

Callers 2

SetModelMethod · 0.95
removeDescendantsMethod · 0.95

Calls 4

removeDescendantsMethod · 0.95
newErrorFunction · 0.85
SendMessageMethod · 0.65
ParentMethod · 0.65

Tested by

no test coverage detected