-// final Tree tree = new Tree(parent, SWT.VIRTUAL | SWT.BORDER);
-// tree.addListener(SWT.SetData, event -> {
-// TreeItem item = (TreeItem) event.item;
-// TreeItem parentItem = item.getParentItem();
-// String text = null;
-// if (parentItem == null) {
-// int index = tree.indexOf(item);
-// User org = (User) orgs.get(index);
-// item.setData(org);
-// text = org.getName();
-// } else {
-// text = parentItem.getText() + " - " + parentItem.indexOf(item);
-// }
-// item.setText(text);
-// item.setItemCount(10);
-// });
-// tree.setItemCount(orgs.size());
-// tree.setLayoutData(CmsSwtUtils.fillAll());
- CmsSwtUtils.fill(tree);
+ TabularPart usersView = new SwtTabularPart(sashForm, SWT.NONE) {
+ List<Role> roles = new ArrayList<>();
+
+ @Override
+ protected void refreshItem(TableItem item) {
+ int index = getTable().indexOf(item);
+ User role = (User) roles.get(index);
+ item.setData(role);
+ item.setText(role.getName());
+ Image icon;
+ if (role instanceof Organization) {
+ icon = SuiteIcon.organisation.getSmallIcon(theme);
+ } else if (role instanceof FunctionalGroup) {
+ icon = SuiteIcon.group.getSmallIcon(theme);
+ } else if (role instanceof Person) {
+ icon = SuiteIcon.person.getSmallIcon(theme);
+ } else {
+ icon = null;
+ }
+ item.setImage(icon);
+ }
+
+ @Override
+ protected int getItemCount() {
+ roles.clear();
+ HierarchyUnit hu = (HierarchyUnit) getInput();
+ if (hu == null)
+ return 0;
+ for (HierarchyUnit directChild : hu.getDirectHierachyUnits()) {
+ if (!directChild.isFunctional()) {
+ roles.addAll(directChild.getHierarchyUnitRoles(null, false));
+ }
+ }
+ // roles = hu.getHierarchyUnitRoles(null, false);
+ return roles.size();
+ }
+
+ };