- viewer = new TableViewer(createTable(parent));
- viewer.setContentProvider(new UsersContentProvider());
- viewer.setLabelProvider(new UsersLabelProvider());
- viewer.addDoubleClickListener(new ViewDoubleClickListener());
- viewer.setInput(getViewSite());
- }
-
- protected Table createTable(Composite parent) {
- Table table = new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- table.setLinesVisible(true);
- table.setHeaderVisible(true);
- TableColumn column = new TableColumn(table, SWT.LEFT, 0);
- column.setText("User");
- column.setWidth(50);
- column = new TableColumn(table, SWT.LEFT, 1);
- column.setText("First Name");
- column.setWidth(100);
- column = new TableColumn(table, SWT.LEFT, 2);
- column.setText("Last Name");
- column.setWidth(100);
- column = new TableColumn(table, SWT.LEFT, 3);
- column.setText("E-mail");
- column.setWidth(100);
- return table;
+ parent.setLayout(new FillLayout());
+
+ // Create the composite that displays the list and a filter
+ userTableCmp = new UserTableComposite(parent, SWT.NO_FOCUS, session);
+ userTableCmp.populate(true, false);
+
+ // Configure
+ userTableCmp.getTableViewer().addDoubleClickListener(
+ new ViewDoubleClickListener());
+ getViewSite().setSelectionProvider(userTableCmp.getTableViewer());
+
+ // Add listener to refresh the list when something changes
+ userStructureListener = new JcrUserListener(getSite().getShell()
+ .getDisplay());
+ JcrUtils.addListener(session, userStructureListener, Event.NODE_ADDED
+ | Event.NODE_REMOVED, ArgeoJcrConstants.PEOPLE_BASE_PATH, null);
+ userPropertiesListener = new JcrUserListener(getSite().getShell()
+ .getDisplay());
+ JcrUtils.addListener(session, userStructureListener,
+ Event.PROPERTY_CHANGED | Event.PROPERTY_ADDED
+ | Event.PROPERTY_REMOVED,
+ ArgeoJcrConstants.PEOPLE_BASE_PATH,
+ ArgeoTypes.ARGEO_USER_PROFILE);