KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > person > search > PersonSearchResultTable


1 /*
2  * Created on Dec 19, 2004
3  * by alex
4  *
5  */

6 package com.nightlabs.ipanema.person.search;
7
8 import java.util.Collection JavaDoc;
9 import java.util.HashSet JavaDoc;
10 import java.util.Set JavaDoc;
11
12 import org.eclipse.jface.viewers.IContentProvider;
13 import org.eclipse.jface.viewers.TableViewer;
14 import org.eclipse.swt.SWT;
15 import org.eclipse.swt.widgets.Composite;
16 import org.eclipse.swt.widgets.Table;
17 import org.eclipse.swt.widgets.TableColumn;
18 import org.eclipse.swt.widgets.TableItem;
19
20 import com.nightlabs.ipanema.base.IpanemaBasePlugin;
21 import com.nightlabs.ipanema.person.Person;
22 import com.nightlabs.rcp.layout.WeightedTableLayout;
23 import com.nightlabs.rcp.table.AbstractTableComposite;
24
25 /**
26  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
27  */

28 public class PersonSearchResultTable extends AbstractTableComposite {
29     
30     public PersonSearchResultTable(Composite parent, int style) {
31         super(parent, style, true);
32     }
33
34     public void setInput(Collection JavaDoc persons) {
35         tableViewer.setInput(persons);
36     }
37     
38     public void refresh() {
39         super.refresh();
40     }
41     
42     /**
43      * Returns the (first) selected Person or null
44      * @return The (first) selected Person or null
45      */

46     public Person getSelectedPerson() {
47         if (getTable().getSelectionCount() == 1) {
48             return (Person)getTable().getSelection()[0].getData();
49         }
50         return null;
51     }
52
53     /**
54      * Returns all selected Persons in a Set.
55      * @return All selected Persons in a Set.
56      */

57     public Set JavaDoc getSelectedPersons() {
58         Set JavaDoc result = new HashSet JavaDoc();
59         TableItem[] items = getTable().getSelection();
60         for (int i = 0; i < items.length; i++) {
61             result.add(items[i].getData());
62         }
63         return result;
64     }
65
66     protected void createTableColumns(Table table) {
67         new TableColumn(table, SWT.LEFT, 0).setText(IpanemaBasePlugin.getResourceString("person.search.result.table.col0"));
68         new TableColumn(table, SWT.LEFT, 0).setText(IpanemaBasePlugin.getResourceString("person.search.result.table.col0"));
69         new TableColumn(table, SWT.LEFT, 0).setText(IpanemaBasePlugin.getResourceString("person.search.result.table.col0"));
70         new TableColumn(table, SWT.LEFT, 0).setText(IpanemaBasePlugin.getResourceString("person.search.result.table.col0"));
71         table.setLayout(new WeightedTableLayout(new int[] {1,1,1,1}));
72     }
73
74     protected void setTableProvider(TableViewer tableViewer) {
75         tableViewer.setContentProvider(new PersonSearchResultTableContentProvider());
76         tableViewer.setLabelProvider(new PersonSearchResultTableLabelProvider());
77     }
78     
79     public PersonSearchResultTableContentProvider getContentProvider() {
80         IContentProvider contentProvider = getTableViewer().getContentProvider();
81         if (!(contentProvider instanceof PersonSearchResultTableContentProvider))
82             throw new IllegalStateException JavaDoc("This PersonSearchTable's contentProvider is an instance of "+contentProvider.getClass().getName()+" instead of PersonSearchResultTableContentProvider.");
83         return (PersonSearchResultTableContentProvider)contentProvider;
84     }
85
86 }
87
Popular Tags