MCPcopy Create free account
hub / github.com/cogentcore/core / contextMenu

Method contextMenu

core/tree.go:1208–1235  ·  view source on GitHub ↗
(m *Scene)

Source from the content-addressed store, hash-verified

1206}
1207
1208func (tr *Tree) contextMenu(m *Scene) {
1209 if tr.IsReadOnly() || tr.rootIsReadOnly() {
1210 tr.contextMenuReadOnly(m)
1211 return
1212 }
1213 tri := tr.This.(Treer)
1214 NewFuncButton(m).SetFunc(tr.AddChildNode).SetText("Add child").SetIcon(icons.Add).SetEnabled(tr.HasSelection())
1215 NewFuncButton(m).SetFunc(tr.InsertBefore).SetIcon(icons.Add).SetEnabled(tr.HasSelection())
1216 NewFuncButton(m).SetFunc(tr.InsertAfter).SetIcon(icons.Add).SetEnabled(tr.HasSelection())
1217 NewFuncButton(m).SetFunc(tr.Duplicate).SetIcon(icons.ContentCopy).SetEnabled(tr.HasSelection())
1218 NewFuncButton(m).SetFunc(tr.DeleteNode).SetText("Delete").SetIcon(icons.Delete).
1219 SetEnabled(tr.HasSelection())
1220 NewSeparator(m)
1221 NewFuncButton(m).SetFunc(tri.Copy).SetIcon(icons.Copy).SetKey(keymap.Copy).SetEnabled(tr.HasSelection())
1222 NewFuncButton(m).SetFunc(tri.Cut).SetIcon(icons.Cut).SetKey(keymap.Cut).SetEnabled(tr.HasSelection())
1223 paste := NewFuncButton(m).SetFunc(tri.Paste).SetIcon(icons.Paste).SetKey(keymap.Paste)
1224 cb := tr.Scene.Events.Clipboard()
1225 if cb != nil {
1226 paste.SetState(cb.IsEmpty(), states.Disabled)
1227 }
1228 NewSeparator(m)
1229 NewFuncButton(m).SetFunc(tr.editNode).SetText("Edit").SetIcon(icons.Edit).SetEnabled(tr.HasSelection())
1230 NewFuncButton(m).SetFunc(tr.inspectNode).SetText("Inspect").SetIcon(icons.EditDocument).SetEnabled(tr.HasSelection())
1231 NewSeparator(m)
1232
1233 NewFuncButton(m).SetFunc(tr.OpenAll).SetIcon(icons.KeyboardArrowDown).SetEnabled(tr.HasSelection())
1234 NewFuncButton(m).SetFunc(tr.CloseAll).SetIcon(icons.KeyboardArrowRight).SetEnabled(tr.HasSelection())
1235}
1236
1237// IsRoot returns true if given node is the root of the tree,
1238// creating an error snackbar if it is and action is non-empty.

Callers

nothing calls this directly

Calls 14

rootIsReadOnlyMethod · 0.95
contextMenuReadOnlyMethod · 0.95
HasSelectionMethod · 0.95
NewFuncButtonFunction · 0.85
NewSeparatorFunction · 0.85
SetFuncMethod · 0.80
SetKeyMethod · 0.80
SetIconMethod · 0.65
ClipboardMethod · 0.65
IsEmptyMethod · 0.65
IsReadOnlyMethod · 0.45
SetEnabledMethod · 0.45

Tested by

no test coverage detected