func buildFileArea()

in plc4go/tools/plc4xpcapanalyzer/ui/ui.go [71:113]


func buildFileArea(newPrimitive func(text string) tview.Primitive, application *tview.Application) tview.Primitive {
	connectionAreaHeader := newPrimitive("Files")
	connectionArea := tview.NewGrid().
		SetRows(3, 0, 10).
		SetColumns(0).
		AddItem(connectionAreaHeader, 0, 0, 1, 1, 0, 0, false)
	{
		fileList := tview.NewList()
		loadedPcapFilesChanged = func() {
			application.QueueUpdateDraw(func() {
				fileList.Clear()
				for _, pcapFile := range loadedPcapFiles {
					fileList.AddItem(pcapFile.name, pcapFile.path, 0x0, func() {
						//TODO: disconnect popup
						_ = pcapFile
					})
				}
			})
		}
		connectionArea.AddItem(fileList, 1, 0, 1, 1, 0, 0, false)
		{
			registeredDriverAreaHeader := newPrimitive("Registered drivers")
			registeredDriverArea := tview.NewGrid().
				SetRows(3, 0).
				SetColumns(0).
				AddItem(registeredDriverAreaHeader, 0, 0, 1, 1, 0, 0, false)
			{
				driverList := tview.NewList()
				driverAdded = func(driver string) {
					application.QueueUpdateDraw(func() {
						driverList.AddItem(driver, "", 0x0, func() {
							//TODO: disconnect popup
						})
					})
				}
				registeredDriverArea.AddItem(driverList, 1, 0, 1, 1, 0, 0, false)
			}
			connectionArea.AddItem(registeredDriverArea, 2, 0, 1, 1, 0, 0, false)
		}

	}
	return connectionArea
}