- protected TableViewer createTableViewer(final Composite parent) {
-
- Table table = new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- TableViewer viewer = new TableViewer(table);
- table.setLinesVisible(true);
- table.setHeaderVisible(true);
-
- // User ID
- TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
- column.getColumn().setText("User ID");
- column.getColumn().setWidth(100);
- column.setLabelProvider(new CLProvider() {
- public String getText(Object elem) {
- return getProperty(elem, ARGEO_USER_ID);
- // if (username.equals(session.getUserID()))
- // return "[" + username + "]";
- // else
- // return username;
- }
- });
-
- // Displayed name
- column = new TableViewerColumn(viewer, SWT.NONE);
- column.getColumn().setText("Name");
- column.getColumn().setWidth(150);
- column.setLabelProvider(new CLProvider() {
- public String getText(Object elem) {
- return getProperty(elem, Property.JCR_TITLE);
- }
- });
-
- // E-mail
- column = new TableViewerColumn(viewer, SWT.NONE);
- column.getColumn().setText("E-mail");
- column.getColumn().setWidth(150);
- column.setLabelProvider(new CLProvider() {
- public String getText(Object elem) {
- return getProperty(elem, ARGEO_PRIMARY_EMAIL);
- }
- });
-
- // E-mail
- column = new TableViewerColumn(viewer, SWT.NONE);
- column.getColumn().setText("Description");
- column.getColumn().setWidth(200);
- column.setLabelProvider(new CLProvider() {
- public String getText(Object elem) {
- return getProperty(elem, Property.JCR_DESCRIPTION);
- }
- });
-
- return viewer;
- }
-
- private class CLProvider extends ColumnLabelProvider {
-
- public String getToolTipText(Object element) {
- return getText(element);
- }
-
- @Override
- public Font getFont(Object elem) {
- // self
- String username = getProperty(elem, ARGEO_USER_ID);
- if (username.equals(session.getUserID()))
- return bold;
-
- // disabled
- try {
- Node userProfile = (Node) elem;
- // Node userProfile = userHome.getNode(ARGEO_PROFILE);
- if (!userProfile.getProperty(ARGEO_ENABLED).getBoolean())
- return italic;
- else
- return null;
- } catch (RepositoryException e) {
- throw new ArgeoException("Cannot get font for " + username, e);
- }
- }
-
- }
-