Skip to content

Eclipse Plugin Development : Contributing to eclipse views

FIRST CREATE AN ECLIPSE PLUG IN PROJECT

CLICK ON NEXT BUTTON

CLICK ON FINISH BUTTON

CLICK ON PLUGIN.XML FILE

GO TO EXTENSIONS

CLICK ON ADD BUTTON AND SEARCH FOR ORG.ECLIPSE.UI.VIEWS EXTENSION POINT

CLICK ON FINISH BUTTON

ADD CATEGORY AND VIEWS CONTRIBUTION INFORMATION IN PLUGIN.XML FILE

WRITE ECLIPSE VIEWS CODE

package com.deveshcodelab.examples.views;

import java.util.Arrays;

import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
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.widgets.Composite;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.part.ViewPart;

public class ExampleView extends ViewPart {

	private String[] columnNames = new String[] { "Name", "Age", "Address" };
	private TableViewer tableViewer;

	public ExampleView() {
		// TODO Auto-generated constructor stub
	}

	@Override
	public void createPartControl(Composite parent) {
		Composite composite = new Composite(parent, SWT.NONE);
		composite.setLayout(new FillLayout());
		tableViewer = new TableViewer(composite);
		for (int i = 0; i < columnNames.length; i++) {
			TableColumn tableColumn = new TableColumn(tableViewer.getTable(), SWT.LEAD);
			tableColumn.setText(columnNames[i]);
			tableColumn.setWidth(200);
		}
		tableViewer.setLabelProvider(new PersonLabelProvider());
		tableViewer.setContentProvider(ArrayContentProvider.getInstance());
		tableViewer.setInput(getPersonList());
	}

	@Override
	public void setFocus() {

	}

	private static class PersonLabelProvider implements ITableLabelProvider {

		@Override
		public void addListener(ILabelProviderListener listener) {
			// TODO Auto-generated method stub

		}

		@Override
		public void dispose() {
			// TODO Auto-generated method stub

		}

		@Override
		public boolean isLabelProperty(Object element, String property) {
			// TODO Auto-generated method stub
			return false;
		}

		@Override
		public void removeListener(ILabelProviderListener listener) {
			// TODO Auto-generated method stub

		}

		@Override
		public Image getColumnImage(Object element, int columnIndex) {
			// TODO Auto-generated method stub
			return null;
		}

		@Override
		public String getColumnText(Object element, int columnIndex) {
			Person p = (Person) element;
			switch (columnIndex) {
			case 0:
				return p.name;
			case 1:
				return String.valueOf(p.age);
			case 2:
				return p.address;
			default:
				return null;
			}

		}

	}

	private Object getPersonList() {
		return Arrays.asList(new Person("Modi", 69, "India"), new Person("Trump", 79, "Washington DC"),
				new Person("Putin", 18, "Moscow"));

	}

	private static class Person {
		private String name;
		private int age;
		private String address;

		public Person(String name, int age, String address) {
			super();
			this.name = name;
			this.age = age;
			this.address = address;
		}

	}
}

click on run configuration

click on run button

in runtime eclipse -> go to window -> views ->

click on the view you have created

we have successfully contributed to eclipse views. for any query please write me in comment box.

thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *