treeview.go 487 B

1234567891011121314151617181920212223242526
  1. package util
  2. import (
  3. "github.com/diamondburned/arikawa/v3/discord"
  4. "github.com/rivo/tview"
  5. )
  6. func GetTreeNodeByReference(r interface{}, treeV *tview.TreeView) (mn *tview.TreeNode) {
  7. treeV.GetRoot().Walk(func(n, _ *tview.TreeNode) bool {
  8. if n.GetReference() == r {
  9. mn = n
  10. return false
  11. }
  12. return true
  13. })
  14. return
  15. }
  16. func NewTextChannelTreeNode(c discord.Channel) (n *tview.TreeNode) {
  17. n = tview.NewTreeNode("[::d]#" + c.Name + "[::-]").
  18. SetReference(c.ID)
  19. return
  20. }