1 package org
.argeo
.cms
.swt
.acr
;
3 import java
.util
.Iterator
;
5 import org
.argeo
.api
.acr
.Content
;
6 import org
.argeo
.cms
.swt
.widgets
.SwtHierarchicalPart
;
7 import org
.eclipse
.swt
.widgets
.Composite
;
8 import org
.eclipse
.swt
.widgets
.TreeItem
;
10 public class SwtContentHierarchicalPart
extends SwtHierarchicalPart
{
12 public SwtContentHierarchicalPart(Composite parent
, int style
) {
16 public Content
getContent() {
17 return (Content
) getInput();
21 protected void refreshRootItem(TreeItem item
) {
22 refreshItem(null, item
);
26 protected void refreshItem(TreeItem parentItem
, TreeItem item
) {
27 int index
= getTree().indexOf(item
);
28 Content parentContent
= parentItem
== null ?
getContent() : (Content
) parentItem
.getData();
29 Content content
= null;
31 children
: for (Content c
: parentContent
) {
38 item
.setData(content
);
39 item
.setText(content
.getName().toString());
40 item
.setItemCount(getChildrenCount(content
));
44 protected int getRootItemCount() {
45 return getChildrenCount(getContent());
48 static int getChildrenCount(Content content
) {
50 for (Iterator
<Content
> it
= content
.iterator(); it
.hasNext();it
.next()) {