List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
From source file:at.medevit.elexis.gdt.ui.GDTProtokollView.java
License:Open Source License
private void initTableViewer(Composite parent) { this.tableViewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); this.table = tableViewer.getTable(); // set TableColumnLayout to table parent this.table.getParent().setLayout(new TableColumnLayout()); // headers / lines visible by default this.table.setHeaderVisible(true); this.table.setLinesVisible(true); // sorting/*from w ww . j a v a2 s. c om*/ tableViewer.setComparator(new SortColumnComparator()); }
From source file:at.medevit.menus.parts.SelectorPart.java
License:Open Source License
/** * Create contents of the view part.//from ww w.j av a 2s . co m */ @PostConstruct public void createControls(Composite parent) { parent.setLayout(new GridLayout(1, false)); // -- person selector Label lblPerson = new Label(parent, SWT.NONE); lblPerson.setText("Person"); Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); composite.setLayout(new TableColumnLayout()); selectPersonTV = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); selectPersonTV.setLabelProvider(new AdapterFactoryLabelProvider(mipaf)); selectPersonTV.setContentProvider(new AdapterFactoryContentProvider(mipaf)); selectPersonTV.setInput(SampleModel.getDirectory()); selectPersonTV.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Person p = (Person) selection.getFirstElement(); selectionService.setSelection(selection.size() == 1 ? p : selection.toArray()); if (selection.size() == 1) { if (p.getPartner() != null) { partnerPersonTV.setSelection(new StructuredSelection(p.getPartner())); } else { partnerPersonTV.setSelection(null); } } } }); ViewerFilter[] filters = new ViewerFilter[] { new PersonViewerFilter(selectPersonTV) }; selectPersonTV.setFilters(filters); menuService.registerContextMenu(selectPersonTV.getTable(), SELECTOR_POPUPMENU_ID); // -- partner selector Label lblPartner = new Label(parent, SWT.NONE); lblPartner.setText("Partner"); Composite composite2 = new Composite(parent, SWT.NONE); composite2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); composite2.setLayout(new TableColumnLayout()); partnerPersonTV = new TableViewer(composite2, SWT.BORDER | SWT.FULL_SELECTION); partnerPersonTV.setLabelProvider(new AdapterFactoryLabelProvider(mipaf)); partnerPersonTV.setContentProvider(new AdapterFactoryContentProvider(mipaf)); partnerPersonTV.setInput(SampleModel.getDirectory()); }
From source file:at.medevit.plugin.alpha.part.PartAlpha.java
License:Open Source License
@PostConstruct public void createComposite(Composite parent) { final Shell shell = parent.getShell(); parent.setLayout(new FillLayout(SWT.VERTICAL)); Label labelImage = new Label(parent, SWT.None); labelImage.setImage(Icon.PART_BETA.getImage(IconSize._16x16_DefaultIconSize)); Button dialogButton = new Button(parent, SWT.None); dialogButton.setText("Open Dialog"); Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new TableColumnLayout()); // ---- Decorated Label Provider demonstration TableViewer tableViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); dialogButton.addSelectionListener(new SelectionAdapter() { @Override//from w w w. j ava2s. c o m public void widgetSelected(SelectionEvent e) { FunTitleAreaDialog ftad = new FunTitleAreaDialog(shell); ftad.open(); } }); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); ILabelProvider baseLabelProvider = new LabelProvider() { @Override public Image getImage(Object element) { return Icon.ICON_SAMPLE.getImage(IconSize._16x16_DefaultIconSize); } }; ILabelDecorator decorator = new ListElementDecorator(); tableViewer.setLabelProvider(new DecoratingLabelProvider(baseLabelProvider, decorator)); tableViewer.setInput(objects); // ---- Decorated Label Provider demonstration }
From source file:at.rc.tacos.client.editors.StaffMemberEditor.java
License:Open Source License
/** * Creates the service section/*from w w w . j a va2s. c o m*/ */ private Composite createServiceSection(Composite parent) { Composite client = createSection(parent, "Ausbildung und Dienststelle"); // create the label and the dropdown field final Label locationLabel = toolkit.createLabel(client, "Dienststelle"); Combo stationCombo = new Combo(client, SWT.READ_ONLY); primaryLocationComboViewer = new ComboViewer(stationCombo); primaryLocationComboViewer.setContentProvider(new StationContentProvider()); primaryLocationComboViewer.setLabelProvider(new StationLabelProvider()); primaryLocationComboViewer.setInput(ModelFactory.getInstance().getLocationManager()); stationCombo.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent me) { inputChanged(); } }); // phone list final Label labelCompetence = toolkit.createLabel(client, "Verfgbare Kompetenzen: "); // make a subcomposite holding the Hyperlinks and the viewer Composite compManage = makeComposite(client, 3); Combo comboVerw = new Combo(compManage, SWT.READ_ONLY); competenceComboViewer = new ComboViewer(comboVerw); competenceComboViewer.setContentProvider(new CompetenceContentProvider()); competenceComboViewer.setLabelProvider(new CompetenceLabelProvider()); competenceComboViewer.setInput(ModelFactory.getInstance().getCompetenceManager().toArray()); addCompetence = toolkit.createHyperlink(compManage, "hinzufgen", SWT.NONE); addCompetence.setToolTipText("Die gewhlte Kompetenz dem Mitarbeiter zuweisen."); addCompetence.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { form.setMessage(null, IMessageProvider.NONE); // get the selected item int index = competenceComboViewer.getCombo().getSelectionIndex(); Competence comp = (Competence) competenceComboViewer.getElementAt(index); if (compList.contains(comp)) { form.getShell().getDisplay().beep(); form.setMessage("Dem Mitarbeiter wurde diese Kompetenz bereits zugewiesen.", IMessageProvider.ERROR); } else { compList.add(comp); competenceViewer.refresh(); inputChanged(); } } }); // hyperlink to remove a competence removeCompetence = toolkit.createHyperlink(compManage, "entfernen", SWT.NONE); removeCompetence.setToolTipText("Die selektierte Kompetenz dem Mitarbeiter wieder entziehen."); removeCompetence.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { form.setMessage(null, IMessageProvider.NONE); // get the selected element ISelection selection = competenceViewer.getSelection(); if (!selection.isEmpty()) { // get the selected object Object selectedCompetence = ((IStructuredSelection) selection).getFirstElement(); compList.remove(selectedCompetence); competenceViewer.refresh(true); inputChanged(); } else { form.getShell().getDisplay().beep(); form.setMessage("Bitte whlen sie eine Kompetenz aus die entfernt werden soll", IMessageProvider.ERROR); } } }); final Label labelManage = toolkit.createLabel(client, "Kompetenzen des Mitarbeiters: "); // create the table holding the competences competenceViewer = new TableViewer(client, SWT.BORDER); competenceViewer.setLabelProvider(new CompetenceLabelProvider()); // set this staff members competences as content provider competenceViewer.setContentProvider(new IStructuredContentProvider() { @Override public Object[] getElements(Object arg0) { return compList.toArray(); } @Override public void dispose() { } @Override public void inputChanged(Viewer arg0, Object arg1, Object arg2) { } }); competenceViewer.setInput(compList); // layout the composites GridData data = new GridData(); data.widthHint = 150; locationLabel.setLayoutData(data); data = new GridData(); data.widthHint = 150; labelCompetence.setLayoutData(data); data = new GridData(); data.widthHint = 150; labelManage.setLayoutData(data); // layout for the input fields GridData data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING); primaryLocationComboViewer.getCombo().setLayoutData(data2); // Layout the combo data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING); competenceComboViewer.getCombo().setLayoutData(data2); // layout the table competenceViewer.getTable().setLayout(new GridLayout()); data2 = new GridData(GridData.FILL_BOTH | GridData.BEGINNING); data2.heightHint = 50; competenceViewer.getTable().setLayoutData(data2); return client; }
From source file:at.rc.tacos.client.ui.dialog.AddressSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { final Composite area = (Composite) super.createDialogArea(parent); area.setLayout(new GridLayout(2, false)); area.setLayoutData(new GridData(GridData.FILL_BOTH)); final Label message = new Label(area, SWT.NONE); message.setText("&Bitte whlen Sie eine Adresse aus:\n"); final Label labelStreet = new Label(area, SWT.BOLD); labelStreet.setText("Strae"); filterStreet = new Text(area, SWT.SINGLE | SWT.BORDER); filterStreet.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false)); final Label labelCity = new Label(area, SWT.BOLD); labelCity.setText("Stadt"); filterCity = new Text(area, SWT.SINGLE | SWT.BORDER); filterCity.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false)); final Label matches = new Label(area, SWT.NONE); matches.setText("&Gefundene Adressen:"); viewer = new TableViewer(area, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION); final Control control = this.viewer.getControl(); final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.widthHint = 400;//from w w w . j a v a2s . c om gd.heightHint = 200; gd.horizontalSpan = 2; control.setLayoutData(gd); viewer.setLabelProvider(new AddressLabelProvider()); viewer.setContentProvider(new HandlerContentProvider()); viewer.setUseHashlookup(true); viewer.setInput(addressHandler); //setup the underlying table Table table = viewer.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); // create the columns final TableColumn imageColumn = new TableColumn(table, SWT.NONE); imageColumn.setToolTipText(""); imageColumn.setWidth(30); imageColumn.setText(""); final TableColumn zipColumn = new TableColumn(table, SWT.NONE); zipColumn.setToolTipText("Gemeindekennzeichen"); zipColumn.setWidth(60); zipColumn.setText("GKZ"); final TableColumn cityColumn = new TableColumn(table, SWT.NONE); cityColumn.setToolTipText("Name der Stadt"); cityColumn.setWidth(180); cityColumn.setText("Stadt"); final TableColumn streetColumn = new TableColumn(table, SWT.NONE); streetColumn.setToolTipText("Name der Strae"); streetColumn.setWidth(180); streetColumn.setText("Strae"); filterStreet.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { inputChanged(); } }); filterCity.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { inputChanged(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { if (!event.getSelection().isEmpty()) updateStatus(new Status(IStatus.INFO, UiWrapper.PLUGIN_ID, ((Address) ((IStructuredSelection) event.getSelection()).getFirstElement()).toString() + " ausgewhlt")); else updateStatus( new Status(IStatus.ERROR, UiWrapper.PLUGIN_ID, "Bitte whlen Sie eine Adresse aus")); } }); setStatusLineAboveButtons(true); // layout the components GridData data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; message.setLayoutData(data); // the "matches" label data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; matches.setLayoutData(data); // the input fields data = new GridData(GridData.FILL_HORIZONTAL); filterStreet.setLayoutData(data); data = new GridData(GridData.FILL_HORIZONTAL); filterCity.setLayoutData(data); // the labels data = new GridData(); data.widthHint = 50; labelStreet.setLayoutData(data); data = new GridData(); data.widthHint = 50; labelCity.setLayoutData(data); // setup the initial value filterCity.setText(initCityValue); filterStreet.setText(initStreetValue); viewer.refresh(); return area; }
From source file:at.rc.tacos.client.view.AddressSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { final Composite area = (Composite) super.createDialogArea(parent); area.setLayout(new GridLayout(2, false)); area.setLayoutData(new GridData(GridData.FILL_BOTH)); final Label message = new Label(area, SWT.NONE); message.setText("&Bitte whlen Sie eine Adresse aus:\n"); final Label labelStreet = new Label(area, SWT.BOLD); labelStreet.setText("Strae"); filterStreet = new Text(area, SWT.SINGLE | SWT.BORDER); filterStreet.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false)); final Label labelCity = new Label(area, SWT.BOLD); labelCity.setText("Stadt"); filterCity = new Text(area, SWT.SINGLE | SWT.BORDER); filterCity.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false)); final Label matches = new Label(area, SWT.NONE); matches.setText("&Gefundene Adressen:"); viewer = new TableViewer(area, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION); final Control control = this.viewer.getControl(); final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.widthHint = 400;// w w w. ja va2 s .c o m gd.heightHint = 200; gd.horizontalSpan = 2; control.setLayoutData(gd); viewer.setLabelProvider(new AddressLabelProvider()); viewer.setContentProvider(new AddressContentProvider()); viewer.setUseHashlookup(true); viewer.setInput(ModelFactory.getInstance().getAddressManager().getAddressList()); Table table = viewer.getTable(); viewer.getTable().setLinesVisible(true); viewer.getTable().setHeaderVisible(true); // create the columns final TableColumn imageColumn = new TableColumn(table, SWT.NONE); imageColumn.setToolTipText(""); imageColumn.setWidth(30); imageColumn.setText(""); final TableColumn zipColumn = new TableColumn(table, SWT.NONE); zipColumn.setToolTipText("Gemeindekennzeichen"); zipColumn.setWidth(60); zipColumn.setText("GKZ"); final TableColumn cityColumn = new TableColumn(table, SWT.NONE); cityColumn.setToolTipText("Name der Stadt"); cityColumn.setWidth(180); cityColumn.setText("Stadt"); final TableColumn streetColumn = new TableColumn(table, SWT.NONE); streetColumn.setToolTipText("Name der Strae"); streetColumn.setWidth(180); streetColumn.setText("Strae"); filterStreet.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { inputChanged(); } }); filterCity.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent e) { inputChanged(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { if (!event.getSelection().isEmpty()) updateStatus(new Status(IStatus.INFO, Activator.PLUGIN_ID, ((Address) ((IStructuredSelection) event.getSelection()).getFirstElement()).toString() + " ausgewhlt")); else updateStatus( new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Bitte whlen Sie eine Adresse aus")); } }); setStatusLineAboveButtons(true); // layout the components GridData data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; message.setLayoutData(data); // the "matches" label data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; matches.setLayoutData(data); // the input fields data = new GridData(GridData.FILL_HORIZONTAL); filterStreet.setLayoutData(data); data = new GridData(GridData.FILL_HORIZONTAL); filterCity.setLayoutData(data); // the labels data = new GridData(); data.widthHint = 50; labelStreet.setLayoutData(data); data = new GridData(); data.widthHint = 50; labelCity.setLayoutData(data); // setup the initial value filterCity.setText(initCityValue); filterStreet.setText(initStreetValue); viewer.refresh(); return area; }
From source file:at.rc.tacos.client.view.admin.CompetenceAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*www. java 2 s.c o m*/ */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Kompetenzen"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected competence ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); Competence competence = (Competence) obj; // create the editor input and open CompetenceEditorInput input = new CompetenceEditorInput(competence, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, CompetenceEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the competence " + competence, IStatus.ERROR); } } }); viewer.setContentProvider(new CompetenceContentProvider()); viewer.setLabelProvider(new CompetenceLabelProvider()); viewer.setInput(ModelFactory.getInstance().getCompetenceManager().toArray()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.DiseaseAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w ww .j a v a 2s. co m*/ */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Erkrankungen"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected disease ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); Disease disease = (Disease) obj; // create the editor input and open DiseaseEditorInput input = new DiseaseEditorInput(disease, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, DiseaseEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the disease " + disease, IStatus.ERROR); } } }); viewer.setContentProvider(new DiseaseContentProvider()); viewer.setLabelProvider(new DiseaseLabelProvider()); viewer.setInput(ModelFactory.getInstance().getDiseaseManager()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.JobAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*ww w . j a v a 2s . c o m*/ */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Verwendungen"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected job ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); Job job = (Job) obj; // create the editor input and open JobEditorInput input = new JobEditorInput(job, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, JobEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the job " + job, IStatus.ERROR); } } }); viewer.setContentProvider(new JobContentProvider()); viewer.setLabelProvider(new JobLabelProvider()); viewer.setInput(ModelFactory.getInstance().getJobList().toArray()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.LocationAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w w w . ja va2 s. co m*/ */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Dienststellen"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected location ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); Location location = (Location) obj; // create the editor input and open LocationEditorInput input = new LocationEditorInput(location, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, LocationEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the location " + location, IStatus.ERROR); } } }); viewer.setContentProvider(new StationContentProvider()); viewer.setLabelProvider(new StationLabelProvider()); viewer.setInput(ModelFactory.getInstance().getLocationManager().toArray()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }