- /** Creates label and text. */
- protected Text createLT(Composite body, String label, String value) {
- FormToolkit toolkit = getManagedForm().getToolkit();
- Label lbl = toolkit.createLabel(body, label);
- lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
- Text text = toolkit.createText(body, value, SWT.BORDER);
- text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- return text;
+ // Define the displayed columns
+ List<ColumnDefinition> columnDefs = new ArrayList<ColumnDefinition>();
+ columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 0, 24));
+ columnDefs.add(new ColumnDefinition(new UserNameLP(),
+ "Distinguished Name", 240));
+ columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name",
+ 150));
+
+ // Create and configure the table
+ userTableViewerCmp = new MyUserTableViewer(body, SWT.MULTI
+ | SWT.H_SCROLL | SWT.V_SCROLL, userAdmin);
+
+ userTableViewerCmp.setColumnDefinitions(columnDefs);
+ userTableViewerCmp.populate(true, false);
+ GridData gd = EclipseUiUtils.fillAll();
+ gd.heightHint = 300;
+ userTableViewerCmp.setLayoutData(gd);
+
+ // Links
+ userViewer = userTableViewerCmp.getTableViewer();
+ userViewer.addDoubleClickListener(new UserTableDefaultDClickListener());
+ // Really?
+ userTableViewerCmp.refresh();
+ }
+
+ private class MyUserTableViewer extends UserTableViewer {
+ private static final long serialVersionUID = 8467999509931900367L;
+
+ public MyUserTableViewer(Composite parent, int style,
+ UserAdmin userAdmin) {
+ super(parent, style, userAdmin, true);
+ }
+
+ @Override
+ protected List<User> listFilteredElements(String filter) {
+ List<User> users = new ArrayList<User>();
+
+ // "member of" method?
+ // Group group = (Group) editor.getDisplayedUser();
+ // Role[] roles = group.getMembers();
+ // List<User> users = new ArrayList<User>();
+ // for (Role role : roles)
+ // // if (role.getType() == Role.GROUP)
+ // users.add((User) role);
+ // return users;
+ return users;
+ }
+ }
+
+ private Composite addSection(FormToolkit tk, Composite parent, String title) {
+ Section section = tk.createSection(parent, Section.TITLE_BAR);
+ GridData gd = EclipseUiUtils.fillWidth();
+ gd.verticalAlignment = PRE_TITLE_INDENT;
+ section.setLayoutData(gd);
+ section.setText(title);
+ Composite body = tk.createComposite(section, SWT.WRAP);
+ body.setLayoutData(EclipseUiUtils.fillAll());
+ section.setClient(body);
+ return body;