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

Function NewTreeView

treeview.go:41–100  ·  view source on GitHub ↗
(parent Container)

Source from the content-addressed store, hash-verified

39}
40
41func NewTreeView(parent Container) (*TreeView, error) {
42 tv := new(TreeView)
43
44 if err := InitWidget(
45 tv,
46 parent,
47 "SysTreeView32",
48 win.WS_TABSTOP|win.WS_VISIBLE|win.TVS_HASBUTTONS|win.TVS_LINESATROOT|win.TVS_SHOWSELALWAYS|win.TVS_TRACKSELECT,
49 win.WS_EX_CLIENTEDGE); err != nil {
50 return nil, err
51 }
52
53 succeeded := false
54 defer func() {
55 if !succeeded {
56 tv.Dispose()
57 }
58 }()
59
60 if hr := win.HRESULT(tv.SendMessage(win.TVM_SETEXTENDEDSTYLE, win.TVS_EX_DOUBLEBUFFER, win.TVS_EX_DOUBLEBUFFER)); win.FAILED(hr) {
61 return nil, errorFromHRESULT("TVM_SETEXTENDEDSTYLE", hr)
62 }
63
64 if err := tv.setTheme("Explorer"); err != nil {
65 return nil, err
66 }
67
68 tv.GraphicsEffects().Add(InteractionEffect)
69 tv.GraphicsEffects().Add(FocusEffect)
70
71 tv.MustRegisterProperty("CurrentItem", NewReadOnlyProperty(
72 func() interface{} {
73 return tv.CurrentItem()
74 },
75 tv.CurrentItemChanged()))
76
77 tv.MustRegisterProperty("CurrentItemLevel", NewReadOnlyProperty(
78 func() interface{} {
79 level := -1
80 item := tv.CurrentItem()
81
82 for item != nil {
83 level++
84 item = item.Parent()
85 }
86
87 return level
88 },
89 tv.CurrentItemChanged()))
90
91 tv.MustRegisterProperty("HasCurrentItem", NewReadOnlyBoolProperty(
92 func() bool {
93 return tv.CurrentItem() != nil
94 },
95 tv.CurrentItemChanged()))
96
97 succeeded = true
98

Callers

nothing calls this directly

Calls 13

InitWidgetFunction · 0.85
errorFromHRESULTFunction · 0.85
NewReadOnlyPropertyFunction · 0.85
NewReadOnlyBoolPropertyFunction · 0.85
setThemeMethod · 0.80
MustRegisterPropertyMethod · 0.80
CurrentItemMethod · 0.80
DisposeMethod · 0.65
SendMessageMethod · 0.65
GraphicsEffectsMethod · 0.65
ParentMethod · 0.65
AddMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…