changeset 2783:1b7c1b6ee760

Android: Fix tree basic functionality... need to add child branches, implement callback functions and find better choices for the expand and collapse icons from the system resources.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 07 Jul 2022 19:49:28 +0000
parents dff8fb5ddadd
children cccbb367bcd3
files android/DWindows.kt
diffstat 1 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/android/DWindows.kt	Thu Jul 07 07:59:23 2022 +0000
+++ b/android/DWindows.kt	Thu Jul 07 19:49:28 2022 +0000
@@ -391,11 +391,11 @@
         val padding: Int = node.getLevel() * nodePadding
         val treeItemView = itemView as DWTreeItemView
 
-        itemView.setPadding(
+        treeItemView.setPadding(
             padding,
-            itemView.paddingTop,
-            itemView.paddingRight,
-            itemView.paddingBottom
+            treeItemView.paddingTop,
+            treeItemView.paddingRight,
+            treeItemView.paddingBottom
         )
         treeItemView.textView.text = node.getTitle()
         treeItemView.iconView.setImageDrawable(node.getIcon())
@@ -477,7 +477,6 @@
 
     override fun onCreateViewHolder(parent: ViewGroup, layoutId: Int): DWTreeViewHolder {
         val view = DWTreeItemView(parent.context)
-        parent.addView(view)
         return treeViewHolderFactory.getTreeViewHolder(view, layoutId)
     }
 
@@ -518,8 +517,7 @@
     }
 
     override fun getItemViewType(position: Int): Int {
-        // TODO: Fix this with no layoutId
-        return 0
+        return 1
     }
 
     override fun getItemCount(): Int {
@@ -595,6 +593,7 @@
     // Clear all the items from the tree
     fun clear() {
         treeItemManager.clearItems()
+        notifyDataSetChanged()
     }
 
     // Register a callback to be invoked when this DWTreeItem is clicked
@@ -623,6 +622,7 @@
         val treeViewAdapter = this.adapter as DWTreeViewAdapter
 
         treeViewAdapter.updateTreeItems(roots)
+        treeViewAdapter.notifyDataSetChanged()
     }
 }
 
@@ -4604,7 +4604,7 @@
             } else {
                 parent.addChild(treeitem!!)
             }
-            treeViewAdapter.notifyDataSetChanged()
+            tree.updateTree()
         }
         return treeitem
     }
@@ -4683,7 +4683,6 @@
             } else {
                 treeViewAdapter.collapseNode(item)
             }
-            treeViewAdapter.notifyDataSetChanged()
         }
     }
 
@@ -4697,7 +4696,6 @@
         waitOnUiThread {
             val treeViewAdapter = tree.adapter as DWTreeViewAdapter
             treeViewAdapter.clear()
-            treeViewAdapter.notifyDataSetChanged()
         }
     }