comparison android/DWindows.kt @ 2775:5f77f52df8ac

Android: Work in progress changes to get the tree working.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 26 May 2022 16:18:33 +0000
parents 94af460bb954
children 858155527b05
comparison
equal deleted inserted replaced
2774:94af460bb954 2775:5f77f52df8ac
65 import java.util.concurrent.locks.ReentrantLock 65 import java.util.concurrent.locks.ReentrantLock
66 import java.util.zip.ZipEntry 66 import java.util.zip.ZipEntry
67 import java.util.zip.ZipFile 67 import java.util.zip.ZipFile
68 import kotlin.math.* 68 import kotlin.math.*
69 69
70 import androidx.annotation.NonNull
71
72
73
74 70
75 // Tree View section 71 // Tree View section
76 class DWTreeItem(value: Any, layoutId: Int) { 72 class DWTreeItem(value: Any, layoutId: Int) {
77 private var value: Any 73 private var value: Any
78 private var parent: DWTreeItem? 74 private var parent: DWTreeItem?
543 } 539 }
544 540
545 // @return The current selected DWTreeItem 541 // @return The current selected DWTreeItem
546 val selectedNode: DWTreeItem? 542 val selectedNode: DWTreeItem?
547 get() = currentSelectedItem 543 get() = currentSelectedItem
544 }
545
546 class DWTree(context: Context) : RecyclerView(context)
547 {
548 var roots: MutableList<DWTreeItem> = ArrayList()
549
550 fun updateTree()
551 {
552 val treeViewAdapter = this.adapter as DWTreeViewAdapter
553
554 treeViewAdapter.updateTreeItems(roots)
555 }
548 } 556 }
549 557
550 // Color Wheel section 558 // Color Wheel section
551 private val HUE_COLORS = intArrayOf( 559 private val HUE_COLORS = intArrayOf(
552 Color.RED, 560 Color.RED,
4487 combobox!!.setText(text) 4495 combobox!!.setText(text)
4488 } 4496 }
4489 return combobox 4497 return combobox
4490 } 4498 }
4491 4499
4492 fun treeNew(cid: Int): RecyclerView? 4500 fun treeNew(cid: Int): DWTree?
4493 { 4501 {
4494 var tree: RecyclerView? = null 4502 var tree: DWTree? = null
4495 4503
4496 waitOnUiThread { 4504 waitOnUiThread {
4497 tree = RecyclerView(this) 4505 tree = DWTree(this)
4498 if(tree != null) { 4506 if(tree != null) {
4507 val dataArrayMap = SimpleArrayMap<String, Long>()
4499 val factory = object : DWTreeViewHolderFactory { 4508 val factory = object : DWTreeViewHolderFactory {
4500 override fun getTreeViewHolder(view: View?, layout: Int): DWTreeViewHolder { 4509 override fun getTreeViewHolder(view: View?, layout: Int): DWTreeViewHolder {
4501 return DWTreeCustomViewHolder(view!!) 4510 return DWTreeCustomViewHolder(view!!)
4502 } 4511 }
4503 } 4512 }
4504 val treeViewAdapter = DWTreeViewAdapter(factory) 4513 val treeViewAdapter = DWTreeViewAdapter(factory)
4514 tree!!.tag = dataArrayMap
4505 tree!!.id = cid 4515 tree!!.id = cid
4506 tree!!.adapter = treeViewAdapter 4516 tree!!.adapter = treeViewAdapter
4507 } 4517 }
4508 } 4518 }
4509 return tree 4519 return tree
4520 }
4521
4522 fun treeInsertAfter(tree: DWTree, title: String, icon: Drawable, parent: DWTreeItem?, itemdata: Long): DWTreeItem?
4523 {
4524 var treeitem: DWTreeItem? = null
4525
4526 waitOnUiThread {
4527 var treeViewAdapter = tree.adapter as DWTreeViewAdapter
4528
4529 treeitem = DWTreeItem(title, 0)
4530 if(parent == null) {
4531 tree.roots.add(treeitem!!)
4532 } else {
4533 parent.addChild(treeitem!!)
4534 }
4535 }
4536 return treeitem
4510 } 4537 }
4511 4538
4512 fun containerNew(cid: Int, multi: Int): ListView? 4539 fun containerNew(cid: Int, multi: Int): ListView?
4513 { 4540 {
4514 var cont: ListView? = null 4541 var cont: ListView? = null