-
Notifications
You must be signed in to change notification settings - Fork 0
SWT
kumattau edited this page Mar 28, 2016
·
4 revisions
updateElementからupdateChildCount(child, -1)を呼び出すと、 childが表示されたタイミングでその子要素まで作成される。 childの子要素の作成を子要素が表示されるまで遅延させる場合、 代わりに viewer.setHasChildren(child, <true or false>)を 呼び出して、展開可否のみ更新しておく。
@Override
public void updateChildCount(Object element, int currentChildCount) {
int length = 0;
if (element instanceof IntermediateNode) {
IntermediateNode node = (IntermediateNode) element;
length = node.children.length;
}
if(element == elements)
length = elements.length;
viewer.setChildCount(element, length);
}
@Override
public void updateElement(Object parent, int index) {
Object element;
if (parent instanceof IntermediateNode)
element = ((IntermediateNode) parent).children[index];
else
element = elements[index];
viewer.replace(parent, index, element);
updateChildCount(element, -1);
}