From 250053a6fe7a84a4f37293f61d9a6dc636a4117a Mon Sep 17 00:00:00 2001 From: Mathieu Date: Fri, 4 Nov 2022 12:39:41 +0100 Subject: [PATCH] Make tree view more robust --- .../src/org/argeo/cms/swt/widgets/SwtTreeView.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/widgets/SwtTreeView.java b/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/widgets/SwtTreeView.java index a0ac24836..8fd1368b0 100644 --- a/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/widgets/SwtTreeView.java +++ b/swt/org.argeo.cms.swt/src/org/argeo/cms/swt/widgets/SwtTreeView.java @@ -2,6 +2,7 @@ package org.argeo.cms.swt.widgets; 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; @@ -14,6 +15,8 @@ import org.eclipse.swt.widgets.TreeItem; /** View of a {@link HierarchicalPart} based on a {@link Tree}. */ public class SwtTreeView extends AbstractSwtView { + private final static CmsLog log = CmsLog.getLog(SwtTreeView.class); + private static final long serialVersionUID = -6247710601465713047L; private final Tree tree; @@ -42,7 +45,12 @@ public class SwtTreeView extends AbstractSwtView { List 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 -> { @@ -82,13 +90,11 @@ public class SwtTreeView extends AbstractSwtView { new TreeItem(item, SWT.NONE); return item; } - - @Override public void notifyItemCountChange() { // TODO what to update ? - + } protected Tree getTree() { -- 2.30.2