Mercurial > dwindows
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 |