de.lmu.ifi.dbs.knowing.debug.ui.editor.ParameterTableViewer.java Source code

Java tutorial

Introduction

Here is the source code for de.lmu.ifi.dbs.knowing.debug.ui.editor.ParameterTableViewer.java

Source

/*                                                               *\
 ** ||//| \|| //\\'||  ||||| \|| //|__|  **
 ** | '| '( | '|\  '||  |  | '|| '|/\| '|| '|| '|\  '||  | ,---, **
 ** |__|\__\|__|'|__| \__\/__/'|__,/\'__||__||__|'|__| \__\/__|  **
 **                                                              **
 ** Knowing Framework                                            **
 ** Apache License - http://www.apache.org/licenses/             **
 ** LMU Munich - Database Systems Group                          **
 ** http://www.dbs.ifi.lmu.de/                                   **
\*                                                               */
package de.lmu.ifi.dbs.knowing.debug.ui.editor;

import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;

import de.lmu.ifi.dbs.knowing.debug.ui.provider.WorkbenchTableLabelProvider;

/**
 * 
 * @author Nepomuk Seiler
 * @version 0.1
 * @since 2012-04-18
 * 
 */
public class ParameterTableViewer extends TableViewer {

    private static final String[] columns = new String[] { "Key", "Value" };
    private static final int[] width = new int[] { 250, 450 };

    public ParameterTableViewer(Composite parent, int style) {
        super(parent, style);
        init();
    }

    private void init() {
        initColumns();
        initProvider();
    }

    private void initColumns() {
        getTable().setHeaderVisible(true);
        getTable().setLinesVisible(true);
        for (int i = 0; i < columns.length; i++) {
            TableViewerColumn viewerColumn = new TableViewerColumn(this, SWT.LEAD);
            // Kopfzeile und Breite der jeweiligen Spalten festlegen
            viewerColumn.getColumn().setText(columns[i]);
            viewerColumn.getColumn().setWidth(width[i]);
            // Spaltengroesse laesst sich zur Laufzeit aendern
            viewerColumn.getColumn().setResizable(true);
            // Spalten lassen sich untereinander verschieben
            viewerColumn.getColumn().setMoveable(true);
            if (columns[i].equals("Value"))
                viewerColumn.setEditingSupport(new ParameterEditingSupport(this));
        }
    }

    private void initProvider() {
        setContentProvider(new ArrayContentProvider());
        setLabelProvider(new WorkbenchTableLabelProvider());
    }

}