GEF中TreeViewer的叶子节点展开

/**
  * GEF树叶子节点的展开
  * @param items
  */
 private void expand(TreeItem[] items) {
     for (int i = 0; i < items.length; i++) {
         expand(items[i].getItems());
         items[i].setExpanded(true);
     }
 }
//拿到SWT的Tree中的Items然后使用上面的方法
expand(((Tree)TreeViewer.getControl()).getItems());

GEF中的org.eclipse.gef.ui.parts.TreeViewer不像JFACE中的TreeViewer有expandToLevel方法。上面写了示例,如果需要展开到第几层,逻辑自己加判断。

时间: 2024-10-07 07:06:11

GEF中TreeViewer的叶子节点展开的相关文章

六:二叉树中第k层节点个数与二叉树叶子节点个数

二叉树中第k层节点个数 递归解法: (1)如果二叉树为空或者k<1返回0 (2)如果二叉树不为空并且k==1,返回1 (3)如果二叉树不为空且k>1,返回左子树中k-1层的节点个数与右子树k-1层节点个数之和 代码如下: int GetNodeNumKthLevel(BinaryTreeNode *pRoot, int k) { if(pRoot == NULL || k < 1) return 0; if(k == 1) return 1; int numLeft = GetNodeN

设计一个算法,求非空二叉树中指定的第k层(k&gt;1)的叶子节点的个数

思想:采用基于层序遍历的方法.用level扫描各层节点,若某一层的节点出队后,rear指向该层中最右节点,则将rear赋值给last(对于第一层,last=1).在出队时,若front=last,表示这一层处理完毕,让层号level增1,并置last为下一层最右节点.那么如何求一层的最右节点呢?这是因为第一层只有一个节点,它就是最右节点.对于其他层,上一层最右节点最后进队的孩子一定是该层的最右节点. 例如,对于如图所示的二叉树,求k=3的叶子节点个数的过程如下:level=1;A进队时rear=

ztree中获取选中节点下的所有叶子节点

ztree中获取选中节点下的所有叶子节点 var setting = {     data: {         simpleData: {             enable: true        }     },     callback: {         onClick: treenodeClick     } }; //点击树节点,获取节点的所有叶子节点idfunction treenodeClick(event, treeId, treeNode, clickFlag) {

C++算法之 求二叉树中叶子节点的个数 与 判断两棵二叉树是否结构相同

//叶子节点的个数 /* (1)如果二叉树为空,返回0 (2)如果二叉树不为空且左右子树为空,返回1 (3)如果二叉树不为空,且左右子树不同时为空,返回左子树中叶子节点个数加上右子树中叶子节点个数 */ int GetLeafNodeNum(BTree* root) { if(root == NULL) return 0; if(root->m_pLeft == NULL && root->m_pRight == NULL) return 1; int LeafNumOfLef

UVA 548.Tree-fgets()函数读入字符串+二叉树(中序+后序遍历还原二叉树)+DFS or BFS(二叉树路径最小值并且相同路径值叶子节点权值最小)

Tree UVA - 548 题意就是多次读入两个序列,第一个是中序遍历的,第二个是后序遍历的.还原二叉树,然后从根节点走到叶子节点,找路径权值和最小的,如果有相同权值的就找叶子节点权值最小的. 最后输出来叶子节点. 一开始写的时候是用gets读入的,报CE, 要用fgets写,关于fgets(),传送门: fgets函数及其用法,C语言fgets函数详解 一开始用bfs过的,后来发现,好多人都是dfs过的,又写了一下dfs... 代码: 1 //二叉树的中序和后序遍历还原树并输出最短路径的叶子

求二叉树中叶子节点的个数

求二叉树中叶子节点的个数 面试题二叉树 题目描述 求二叉树中叶子节点的个数. 叶子节点的定义:如果一个节点既没有左孩子,也没有右孩子,则该节点为叶子节点. 示例: 3 / 9 20 / 15 7 在这个二叉树中,叶子节点有 9,15,7,所以返回 3. Java 实现 class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } class Solution { public int

树形结构的Table中获取某一节点的所有叶子节点字符串

递归算法,将叶子节点存入一个空的stringbuilder变量 1 private void GetLeafIDSb(StringBuilder result, DataTable dt, string childColumnName, string parentColumnName, int Id) 2 { 3 DataRow[] temp1 = dt.Select(parentColumnName + "= " + Id + " "); 4 if (temp1.

如何判断EasyUi中treegride的某一节点是不是叶子节点

//判断该节点是不是叶子节点 var nodes=$('#user').treegrid('getChildren', rows[i].id); if(nodes.length>0){ alert("你选择的节点不是叶子节点,请重新选择!} 原文地址:https://www.cnblogs.com/houchen/p/12353311.html

二叉树基本操作--创建,三种遍历,叶子节点

虽然二叉树的操作很常见,但是认真写写熟悉很重要,特别是typedef, CreateBiTree(BiTNode** T)指针的操作等等,还有就是创建方法,去实际输入值就知道其中的妙处,为-1时为空节点. #include <iostream> using namespace std; //节点的定义 typedef struct BTNode { int data; BTNode* rChild; BTNode* lChild; }BiTNode, *BiTree; //二叉树的创建,先序创