import java.util.List;
+import org.argeo.api.cms.CmsLog;
import org.argeo.api.cms.ux.CmsIcon;
import org.argeo.cms.swt.CmsSwtTheme;
import org.argeo.cms.swt.CmsSwtUtils;
/** View of a {@link HierarchicalPart} based on a {@link Tree}. */
public class SwtTreeView<T> extends AbstractSwtView<T, T> {
+ private final static CmsLog log = CmsLog.getLog(SwtTreeView.class);
+
private static final long serialVersionUID = -6247710601465713047L;
private final Tree tree;
private CmsSwtTheme theme;
public SwtTreeView(Composite parent, int style, HierarchicalPart<T> hierarchicalPart) {
- super(parent, style, hierarchicalPart);
+ super(parent, hierarchicalPart);
theme = CmsSwtUtils.getCmsTheme(parent);
- tree = new Tree(this, SWT.BORDER);
+ tree = new Tree(this, style);
tree.setLayoutData(CmsSwtUtils.fillAll());
this.hierarchicalPart = hierarchicalPart;
List<T> rootItems = hierarchicalPart.getChildren(hierarchicalPart.getInput());
for (T child : rootItems) {
- addTreeItem(null, child);
+ try {
+ addTreeItem(null, child);
+ } catch (Exception e) {
+ if (log.isTraceEnabled())
+ log.error("Cannot retrieve child", e);
+ }
}
tree.addListener(SWT.Expand, event -> {
return item;
}
+ @Override
+ public void notifyItemCountChange() {
+ // TODO what to update ?
+
+ }
+
protected Tree getTree() {
return tree;
}