[PR #114] [CLOSED] Add TreeView #857

Closed
opened 2026-03-04 01:08:16 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rivo/tview/pull/114
Author: @microo8
Created: 5/11/2018
Status: Closed

Base: masterHead: master


📝 Commits (1)

📊 Changes

1 file changed (+226 additions, -0 deletions)

View changed files

treeview.go (+226 -0)

📄 Description

I couldn't wait for #113 and implemented the TreeView my self.
It can add/remove/setText of items.

usage is like this:

func main() {
	treeview := tview.NewTreeView()
	dbCur := treeview.AddItem(nil, "databases")
	treeview.ToggleItem(dbCur)
	treeview.AddItem(dbCur, "db1")
	db2Cur := treeview.AddItem(dbCur, "db2")
	treeview.ToggleItem(db2Cur)
	treeview.AddItem(db2Cur, "extensions")
	schemaCur := treeview.AddItem(db2Cur, "schemas")
	treeview.AddItem(db2Cur, "casts")
	treeview.ToggleItem(schemaCur)
	publicCur := treeview.AddItem(schemaCur, "public")
	treeview.AddItem(schemaCur, "schema1")
	treeview.AddItem(schemaCur, "schema2")
	treeview.ToggleItem(publicCur)
	tablesCur := treeview.AddItem(publicCur, "tables")
	treeview.AddItem(publicCur, "views")
	treeview.AddItem(publicCur, "types")
	treeview.AddItem(publicCur, "functions")
	treeview.ToggleItem(tablesCur)
	treeview.AddItem(tablesCur, "table1")
	treeview.SetItemText(treeview.AddItem(tablesCur, "table2"), "table20")
	treeview.RemoveItem(treeview.AddItem(tablesCur, "tableMeh"))
	if err := tview.NewApplication().SetRoot(treeview, true).Run(); err != nil {
		panic(err)
	}
}

And it looks like this:
treeview1
treeview2

I've tried to comment it as best as I could, I hope it will be OK.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rivo/tview/pull/114 **Author:** [@microo8](https://github.com/microo8) **Created:** 5/11/2018 **Status:** ❌ Closed **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (1) - [`b601c7c`](https://github.com/rivo/tview/commit/b601c7c56df1126459c24a2e56495fc4bbcb6868) Add TreeView ### 📊 Changes **1 file changed** (+226 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `treeview.go` (+226 -0) </details> ### 📄 Description I couldn't wait for #113 and implemented the TreeView my self. It can add/remove/setText of items. usage is like this: ```go func main() { treeview := tview.NewTreeView() dbCur := treeview.AddItem(nil, "databases") treeview.ToggleItem(dbCur) treeview.AddItem(dbCur, "db1") db2Cur := treeview.AddItem(dbCur, "db2") treeview.ToggleItem(db2Cur) treeview.AddItem(db2Cur, "extensions") schemaCur := treeview.AddItem(db2Cur, "schemas") treeview.AddItem(db2Cur, "casts") treeview.ToggleItem(schemaCur) publicCur := treeview.AddItem(schemaCur, "public") treeview.AddItem(schemaCur, "schema1") treeview.AddItem(schemaCur, "schema2") treeview.ToggleItem(publicCur) tablesCur := treeview.AddItem(publicCur, "tables") treeview.AddItem(publicCur, "views") treeview.AddItem(publicCur, "types") treeview.AddItem(publicCur, "functions") treeview.ToggleItem(tablesCur) treeview.AddItem(tablesCur, "table1") treeview.SetItemText(treeview.AddItem(tablesCur, "table2"), "table20") treeview.RemoveItem(treeview.AddItem(tablesCur, "tableMeh")) if err := tview.NewApplication().SetRoot(treeview, true).Run(); err != nil { panic(err) } } ``` And it looks like this: ![treeview1](https://user-images.githubusercontent.com/1846338/39929026-40594294-5537-11e8-961a-51a42ffaf864.png) ![treeview2](https://user-images.githubusercontent.com/1846338/39929032-44eeae0c-5537-11e8-9460-870d7a9b7379.png) I've tried to comment it as best as I could, I hope it will be OK. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-04 01:08:16 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tview#857
No description provided.