Java tutorial
/******************************************************************************* * Copyright (c) 2008, 2009 Topic Maps Lab and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Hannes Niederhausen - initial API and implementation *******************************************************************************/ package de.topicmapslab.onotoa.search.dialogs; import java.util.List; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import de.topicmapslab.tmcledit.model.TopicType; /** * @author Hannes Niederhausen * */ public class NonSubjectIdentifierDialog extends Dialog { private final List<TopicType> input; /** * @param parentShell */ public NonSubjectIdentifierDialog(Shell parentShell, List<TopicType> input) { super(parentShell); this.input = input; } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) */ @Override protected Control createDialogArea(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); comp.setLayoutData(new GridData(GridData.FILL_BOTH)); comp.setLayout(new FillLayout()); TableViewer viewer = new TableViewer(comp); viewer.setLabelProvider(new StringLabelProvider()); viewer.setContentProvider(new ArrayContentProvider()); viewer.setInput(input); return comp; } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setSize(400, 700); } @Override protected void createButtonsForButtonBar(Composite parent) { createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); } private class StringLabelProvider implements ILabelProvider { public Image getImage(Object element) { return null; } public String getText(Object element) { return ((TopicType) element).getName(); } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } } }