Example usage for org.eclipse.jface.viewers TableViewer TableViewer

List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer TableViewer.

Prototype

public TableViewer(Table table) 

Source Link

Document

Creates a table viewer on the given table control.

Usage

From source file:at.rc.tacos.client.view.admin.AddressAdminView.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 .  c  om*/
 */
@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 Adressen");

    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));

    // create the section to hold the filter
    Composite filter = createSection(form.getBody(), "Filter");

    // create the input fields
    final Label labelStreet = toolkit.createLabel(filter, "Strae");
    street = toolkit.createText(filter, "");
    street.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // the city
    final Label labelCity = toolkit.createLabel(filter, "Stadt");
    city = toolkit.createText(filter, "");
    city.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // the zip code
    final Label labelZip = toolkit.createLabel(filter, "GKZ");
    zip = toolkit.createText(filter, "");
    zip.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // create the info label
    infoLabel = new CLabel(filter, SWT.NONE);
    infoLabel.setText("Bitte geben sie mindestens ein Zeichen ein um die Daten vom Server abzurufen");
    infoLabel.setImage(ImageFactory.getInstance().getRegisteredImage("resource.info"));

    // create the section to hold the table
    Composite tableComp = createSection(form.getBody(), "Filter");
    Table table = new Table(tableComp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    viewer = new TableViewer(table);
    viewer.setUseHashlookup(true);
    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();
            Address address = (Address) obj;
            // create the editor input and open
            AddressEditorInput input = new AddressEditorInput(address, false);
            IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            try {
                page.openEditor(input, AddressEditor.ID);
            } catch (PartInitException e) {
                Activator.getDefault().log("Failed to open the editor for the address " + address,
                        IStatus.ERROR);
            }
        }
    });
    viewer.setContentProvider(new AddressContentProvider());
    viewer.setLabelProvider(new AddressLabelProvider());
    viewer.setInput(ModelFactory.getInstance().getAddressManager().toArray());
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    getViewSite().setSelectionProvider(viewer);

    // 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");

    // make the columns sortable
    Listener sortListener = new Listener() {

        public void handleEvent(Event e) {
            // determine new sort column and direction
            TableColumn sortColumn = viewer.getTable().getSortColumn();
            TableColumn currentColumn = (TableColumn) e.widget;
            int dir = viewer.getTable().getSortDirection();
            // revert the sortorder if the column is the same
            if (sortColumn == currentColumn) {
                if (dir == SWT.UP)
                    dir = SWT.DOWN;
                else
                    dir = SWT.UP;
            } else {
                viewer.getTable().setSortColumn(currentColumn);
                dir = SWT.UP;
            }
            // sort the data based on column and direction
            String sortIdentifier = null;
            if (currentColumn == zipColumn)
                sortIdentifier = AddressViewSorter.ZIP_SORTER;
            if (currentColumn == cityColumn)
                sortIdentifier = AddressViewSorter.CITY_SORTER;
            if (currentColumn == streetColumn)
                sortIdentifier = AddressViewSorter.STREET_SORTER;
            // apply the filter
            viewer.getTable().setSortDirection(dir);
            viewer.setSorter(new AddressViewSorter(sortIdentifier, dir));
        }
    };

    // attach the listener
    zipColumn.addListener(SWT.Selection, sortListener);
    cityColumn.addListener(SWT.Selection, sortListener);
    streetColumn.addListener(SWT.Selection, sortListener);

    // add actions to the toolbar
    createToolBarActions();

    // set this table as a selection provider
    getViewSite().setSelectionProvider(viewer);

    // set the layout for the composites
    GridData data = new GridData();
    data.widthHint = 80;
    labelStreet.setLayoutData(data);
    data = new GridData();
    data.widthHint = 80;
    labelCity.setLayoutData(data);
    data.widthHint = 80;
    labelZip.setLayoutData(data);
    labelCity.setLayoutData(data);
    data.widthHint = 80;
    // layout for the text fields
    GridData data2 = new GridData(GridData.FILL_HORIZONTAL);
    street.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    city.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    zip.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_BOTH);
    viewer.getTable().setLayoutData(data2);
    // the section of the table
    data2 = new GridData(GridData.FILL_BOTH);
    Section tableSection = (Section) tableComp.getParent();
    tableSection.setLayoutData(data2);
    // the info label
    data2 = new GridData(GridData.FILL_BOTH);
    data2.horizontalSpan = 2;
    infoLabel.setLayoutData(data2);

    // reflow
    form.reflow(true);
}

From source file:at.rc.tacos.client.view.admin.SickPersonAdminView.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it./*from  w  w w .jav a  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 Patienten");

    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));

    // create the section to hold the filter
    Composite filter = createSection(form.getBody(), "Filter");

    // create the input fields
    final Label labelLastname = toolkit.createLabel(filter, "Nachname");
    lastname = toolkit.createText(filter, "");
    lastname.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // the firstname
    final Label labelFirstname = toolkit.createLabel(filter, "Vorname");
    firstname = toolkit.createText(filter, "");
    firstname.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // the svnr
    final Label labelSVNR = toolkit.createLabel(filter, "SVNR");
    svnr = toolkit.createText(filter, "");
    svnr.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();
        }
    });

    // create the info label
    infoLabel = new CLabel(filter, SWT.NONE);
    infoLabel.setText("Bitte geben sie mindestens ein Zeichen des Nachnamens ein");
    infoLabel.setImage(ImageFactory.getInstance().getRegisteredImage("resource.info"));

    // create the section to hold the table
    Composite tableComp = createSection(form.getBody(), "Filter");
    Table table = new Table(tableComp, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    viewer = new TableViewer(table);
    viewer.setUseHashlookup(true);
    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();
            SickPerson person = (SickPerson) obj;
            // create the editor input and open
            SickPersonEditorInput input = new SickPersonEditorInput(person, false);
            IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
            try {
                page.openEditor(input, SickPersonEditor.ID);
            } catch (PartInitException e) {
                Activator.getDefault().log("Failed to open the editor for the sick person " + person,
                        IStatus.ERROR);
            }
        }
    });
    viewer.setContentProvider(new SickPersonContentProvider());
    viewer.setLabelProvider(new SickPersonAdminTableLabelProvider());
    viewer.setInput(ModelFactory.getInstance().getSickPersonManager().toArray());
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    getViewSite().setSelectionProvider(viewer);

    // 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("Sozialversicherungsnummer");
    zipColumn.setWidth(60);
    zipColumn.setText("SVNR");

    final TableColumn cityColumn = new TableColumn(table, SWT.NONE);
    cityColumn.setToolTipText("Nachname");
    cityColumn.setWidth(180);
    cityColumn.setText("Nachname");

    final TableColumn streetColumn = new TableColumn(table, SWT.NONE);
    streetColumn.setToolTipText("Vorname");
    streetColumn.setWidth(180);
    streetColumn.setText("Vorname");

    // add actions to the toolbar
    createToolBarActions();

    // set this table as a selection provider
    getViewSite().setSelectionProvider(viewer);

    // set the layout for the composites
    GridData data = new GridData();
    data.widthHint = 80;
    labelLastname.setLayoutData(data);
    data = new GridData();
    data.widthHint = 80;
    labelFirstname.setLayoutData(data);
    data.widthHint = 80;
    labelSVNR.setLayoutData(data);
    labelFirstname.setLayoutData(data);
    data.widthHint = 80;
    // layout for the text fields
    GridData data2 = new GridData(GridData.FILL_HORIZONTAL);
    lastname.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    firstname.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_HORIZONTAL);
    svnr.setLayoutData(data2);
    data2 = new GridData(GridData.FILL_BOTH);
    viewer.getTable().setLayoutData(data2);
    // the section of the table
    data2 = new GridData(GridData.FILL_BOTH);
    Section tableSection = (Section) tableComp.getParent();
    tableSection.setLayoutData(data2);
    // the info label
    data2 = new GridData(GridData.FILL_BOTH);
    data2.horizontalSpan = 2;
    infoLabel.setLayoutData(data2);

    // reflow
    form.reflow(true);
}

From source file:at.rc.tacos.client.view.PatientSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    final Composite area = (Composite) super.createDialogArea(parent);

    final Label message = new Label(area, SWT.NONE);
    message.setText("&Bitte whlen Sie einen Patienten aus:\n");
    filterText = new Text(area, SWT.SINGLE | SWT.BORDER);
    filterText.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, false));
    filterText.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            inputChanged();/*from  w ww. j a v a  2  s.  c o m*/
        }
    });

    final Label matches = new Label(area, SWT.NONE);
    matches.setText("&Gefundene Patienten:");

    Table table = new Table(area, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
    viewer = new TableViewer(table);
    final Control control = this.viewer.getControl();
    final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    control.setLayoutData(gd);
    gd.widthHint = 400;
    gd.heightHint = 200;

    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    viewer.setLabelProvider(new SickPersonLabelProvider());
    viewer.setContentProvider(new SickPersonContentProvider());
    viewer.setInput(ModelFactory.getInstance().getSickPersonManager().getSickPersons());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(final SelectionChangedEvent event) {
            if (!event.getSelection().isEmpty())
                updateStatus(new Status(IStatus.INFO, Activator.PLUGIN_ID,
                        ((SickPerson) ((IStructuredSelection) event.getSelection()).getFirstElement())
                                .getLastName() + " ausgewhlt"));
            else
                updateStatus(
                        new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Bitte whlen Sie einen Patienten aus"));
        }
    });

    // create the columns
    final TableColumn nameColumn = new TableColumn(table, SWT.NONE);
    nameColumn.setToolTipText("Nachname");
    nameColumn.setWidth(80);
    nameColumn.setText("Nachname");

    final TableColumn firstNameColumn = new TableColumn(table, SWT.NONE);
    firstNameColumn.setToolTipText("Vorname");
    firstNameColumn.setWidth(80);
    firstNameColumn.setText("Vorname");

    final TableColumn streetColumn = new TableColumn(table, SWT.NONE);
    streetColumn.setToolTipText("Strae");
    streetColumn.setWidth(100);
    streetColumn.setText("Strae");

    final TableColumn cityColumn = new TableColumn(table, SWT.NONE);
    cityColumn.setToolTipText("Stadt");
    cityColumn.setWidth(70);
    cityColumn.setText("Stadt");

    final TableColumn svnrColumn = new TableColumn(table, SWT.NONE);
    svnrColumn.setToolTipText("Sozialversicherungsnummer");
    svnrColumn.setWidth(60);
    svnrColumn.setText("SVNR");

    final TableColumn notesColumn = new TableColumn(table, SWT.NONE);
    notesColumn.setToolTipText("Notizen");
    notesColumn.setWidth(80);
    notesColumn.setText("Notizen");

    setStatusLineAboveButtons(true);

    // setup the initial value
    filterText.setText(initValue);

    return area;
}

From source file:at.spardat.xma.gui.mapper.WidgetCreationWizPProps.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
 *//*from   www . ja va 2s  .  c  o  m*/
public void createControl(Composite cmp) {
    Composite myComposite = new Composite(cmp, SWT.NULL);
    myComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
    myComposite.setLayout(new FormLayout());

    wiz_ = (WidgetCreationWiz) getWizard();
    attrs_ = wiz_.getAttributes();

    Table table_ = new Table(myComposite,
            SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.HIDE_SELECTION);
    table_.setLinesVisible(true);
    table_.setHeaderVisible(true);

    FormData fd = new FormData();
    fd.top = new FormAttachment(0, 0);
    fd.left = new FormAttachment(0, 0);
    fd.right = new FormAttachment(100, 0);
    fd.bottom = new FormAttachment(100, 0);
    table_.setLayoutData(fd);

    tableViewer_ = new TableViewer(table_);

    TableProvider tP = new TableProvider(tableViewer_);
    tP.add(new Column("Instance Name", 100, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            return ((MdlAttribute.WidgetInitData) row).getInstanceName();
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            if (wi.isValidInstanceName((String) cell))
                wi.setInstanceName((String) cell);
        }

        public Image getImage(Object row) {
            return MapperPlugin.getImage("method.gif");
        }
    });

    tP.add(new Column("Type", 70, false, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getAttribute().getTypeName();
        }
    });

    if (!createTableCols_) {
        // widget type may be selected if we do not create table columns
        tP.add(new Column("Widget Type", 100, true, SWT.LEFT) {
            public CellEditor getEditor() {
                return new ComboBoxCellEditor(getTable(), MdlAttribute.widgetNames, SWT.READ_ONLY);
            }

            public Object getValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return new Integer(wi.getWType());
            }

            public void setValue(Object row, Object cell) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                int val = ((Integer) cell).intValue();
                if (wi.isValidWType(val))
                    wi.setWType(val);
            }

            public String getText(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return MdlAttribute.widgetNames[wi.getWType()];
            }

            public Image getImage(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                String imageName = "unknownWidget.gif";
                switch (wi.getWType()) {
                case MdlAttribute.WIDG_CHECK:
                    imageName = "check.gif";
                    break;
                case MdlAttribute.WIDG_COMBO:
                    imageName = "combo.gif";
                    break;
                case MdlAttribute.WIDG_TEXT:
                    imageName = "text.gif";
                    break;
                case MdlAttribute.WIDG_PICKER:
                    imageName = "DatePicker.gif";
                    break;
                }
                return MapperPlugin.getImage(imageName);
            }

        });
    }

    tP.add(new Column(createTableCols_ ? "Column Header" : "Label", 100, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new TextCellEditor(getTable());
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getLabel();
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            wi.setLabel((String) cell);
        }
    });

    tP.add(new Column("Alignment", 70, true, SWT.LEFT) {
        public CellEditor getEditor() {
            return new ComboBoxCellEditor(getTable(), MdlAttribute.alignmentNames, SWT.READ_ONLY);
        }

        public Object getValue(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return new Integer(wi.getAlignment());
        }

        public String getText(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return MdlAttribute.alignmentNames[wi.getAlignment()];
        }

        public void setValue(Object row, Object cell) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            int val = ((Integer) cell).intValue();
            wi.setAlignment(val);
        }

        public boolean canModify(Object row) {
            MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
            return wi.getWType() != MdlAttribute.WIDG_COMBO;
        }
    });

    if (createTableCols_) {
        // width of column only if we are creating table columns
        tP.add(new Column("Width", 60, true, SWT.RIGHT) {
            public CellEditor getEditor() {
                return new TextCellEditor(getTable());
            }

            public Object getValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return String.valueOf(wi.getWidth());
            }

            public void setValue(Object row, Object cell) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                try {
                    wi.setWidth(Integer.parseInt((String) cell));
                } catch (Exception ex) {
                }
            }
        });
    }

    if (!createTableCols_) {
        //            // not supported yet since this would require to add a validator to the model
        //            // Mandatory property with Texts and Combos
        //            tP.add(new BooleanColumn ("Mandatory", 70, true, SWT.CENTER) {
        //                public boolean getBooleanValue (Object row) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    return wi.isMandatory();
        //                }
        //                public boolean canModify (Object row) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    return wi.getWType() == MdlAttribute.WIDG_TEXT || wi.getWType() == MdlAttribute.WIDG_COMBO;
        //                }
        //                public void setBooleanValue (Object row, boolean value) {
        //                    MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData)row;
        //                    wi.setMandatory(value);
        //                }
        //            });

        // Readonly property with Texts
        tP.add(new BooleanColumn("Editable", 70, true, SWT.CENTER) {
            public boolean getBooleanValue(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                return wi.isEditable();
            }

            public boolean canModify(Object row) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                //return wi.getWType() == MdlAttribute.WIDG_TEXT;
                return true;
            }

            public void setBooleanValue(Object row, boolean value) {
                MdlAttribute.WidgetInitData wi = (MdlAttribute.WidgetInitData) row;
                wi.setEditable(value);
            }
        });

    }

    tP.createSWTColumns();
    tP.setCellEditors();
    tableViewer_.setUseHashlookup(true);
    tableViewer_.setColumnProperties(tP.getColumnNames());
    tableViewer_.setCellModifier(tP);
    tableViewer_.setLabelProvider(tP);
    tableViewer_.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            MdlAttribute.WidgetInitData[] data = new MdlAttribute.WidgetInitData[attrs_.length];
            for (int i = 0; i < data.length; i++) {
                data[i] = attrs_[i].getWidgetInitData(createTableCols_);
            }
            return data;
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    tableViewer_.setInput(tP); // does not really matter

    setControl(myComposite);

}

From source file:bndtools.editor.components.ComponentDetailsPage.java

License:Open Source License

void fillPropertiesSection(FormToolkit toolkit, Section section) {
    // Create controls
    ToolBar toolbar = new ToolBar(section, SWT.FLAT | SWT.HORIZONTAL);
    section.setTextClient(toolbar);/* ww w. j av a 2  s.c o m*/

    final ToolItem addItem = new ToolItem(toolbar, SWT.NULL);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addItem.setToolTipText("Add");

    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(
            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);

    Composite composite = toolkit.createComposite(section, SWT.NONE);
    section.setClient(composite);
    tableProperties = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    viewerProperties = new TableViewer(tableProperties);
    modifierProperties = new MapEntryCellModifier<String, String>(viewerProperties);

    tableProperties.setHeaderVisible(true);
    tableProperties.setLinesVisible(false);

    modifierProperties.addColumnsToTable();

    viewerProperties.setUseHashlookup(true);
    viewerProperties.setColumnProperties(MapEntryCellModifier.getColumnProperties());
    modifierProperties.addCellEditorsToViewer();
    viewerProperties.setCellModifier(modifierProperties);

    viewerProperties.setContentProvider(new MapContentProvider());
    viewerProperties.setLabelProvider(new PropertiesTableLabelProvider());

    // Layout
    GridLayout layout = new GridLayout(1, false);
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);

    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.heightHint = 70;
    tableProperties.setLayoutData(gd);

    // Listeners
    viewerProperties.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeItem.setEnabled(!viewerProperties.getSelection().isEmpty());
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddProperty();
        }
    });
    removeItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemoveProperty();
        }
    });
}

From source file:bndtools.editor.components.ComponentDetailsPage.java

License:Open Source License

void fillProvideSection(FormToolkit toolkit, Section section) {
    // Create controls
    ToolBar toolbar = new ToolBar(section, SWT.FLAT | SWT.HORIZONTAL);
    section.setTextClient(toolbar);/* ww w  . j  ava 2 s  . com*/

    final ToolItem addItem = new ToolItem(toolbar, SWT.NULL);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addItem.setToolTipText("Add");

    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(
            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);

    Composite composite = toolkit.createComposite(section, SWT.NONE);
    section.setClient(composite);
    tableProvide = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);

    viewerProvide = new TableViewer(tableProvide);
    viewerProvide.setContentProvider(new ArrayContentProvider());
    viewerProvide.setLabelProvider(new ProvideLabelProvider());

    // Layout
    GridLayout layout = new GridLayout(1, false);
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);

    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.heightHint = 70;
    tableProvide.setLayoutData(gd);

    // Listeners
    viewerProvide.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeItem.setEnabled(!viewerProvide.getSelection().isEmpty());
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddProvide();
        }
    });
    removeItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemoveProvide();
        }
    });
}

From source file:bndtools.editor.components.ComponentDetailsPage.java

License:Open Source License

void fillReferenceSection(FormToolkit toolkit, Section section) {

    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);/*from  ww  w.  j  ava2s.c  o  m*/

    final ToolItem addItem = new ToolItem(toolbar, SWT.PUSH);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));

    final ToolItem editItem = new ToolItem(toolbar, SWT.PUSH);
    editItem.setImage(imgEdit);
    editItem.setToolTipText("Edit");
    editItem.setEnabled(false);

    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(
            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);

    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);

    tableReferences = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    tableReferences.setHeaderVisible(true);
    tableReferences.setLinesVisible(false);

    TableColumn col;
    col = new TableColumn(tableReferences, SWT.NONE);
    col.setWidth(100);
    col.setText("Name");

    col = new TableColumn(tableReferences, SWT.NONE);
    col.setWidth(200);
    col.setText("Interface");

    col = new TableColumn(tableReferences, SWT.NONE);
    col.setWidth(35);
    col.setText("Card.");

    col = new TableColumn(tableReferences, SWT.NONE);
    col.setWidth(100);
    col.setText("Target");

    viewerReferences = new TableViewer(tableReferences);
    viewerReferences.setContentProvider(new ArrayContentProvider());
    viewerReferences.setLabelProvider(new ComponentSvcRefTableLabelProvider());

    // Listeners
    viewerReferences.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) viewerReferences.getSelection();
            editItem.setEnabled(selection.size() == 1);
            removeItem.setEnabled(!selection.isEmpty());
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddReference();
        };
    });
    editItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doEditReference();
        };
    });
    removeItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemoveReference();
        }
    });

    // Layout
    GridData gd;
    GridLayout layout;

    layout = new GridLayout(1, false);
    layout.verticalSpacing = 5;
    layout.horizontalSpacing = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    composite.setLayout(layout);

    gd = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 3);
    gd.widthHint = 250;
    gd.heightHint = 70;
    tableReferences.setLayoutData(gd);
}

From source file:bndtools.editor.components.ComponentListPart.java

License:Open Source License

void createSection(Section section, FormToolkit toolkit) {
    section.setText(Messages.ComponentListPart_listSectionTitle);

    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);//from   w ww.j a v a 2  s  .  c  o m

    table = toolkit.createTable(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);

    viewer = new TableViewer(table);
    viewer.setUseHashlookup(true);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new ServiceComponentLabelProvider());

    final Button btnAdd = toolkit.createButton(composite, Messages.ComponentListPart_addButton, SWT.PUSH);
    final Button btnRemove = toolkit.createButton(composite, Messages.ComponentListPart_RemoveButton, SWT.PUSH);

    toolkit.paintBordersFor(section);

    // Listeners
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            ArrayList<ServiceComponent> selectedComponents = new ArrayList<ServiceComponent>(selection.size());

            @SuppressWarnings("rawtypes")
            Iterator iterator = selection.iterator();
            while (iterator.hasNext()) {
                String name = (String) iterator.next();
                ServiceComponent component = componentMap.get(name);
                if (component != null)
                    selectedComponents.add(component);
            }

            managedForm.fireSelectionChanged(ComponentListPart.this,
                    new StructuredSelection(selectedComponents));
            btnRemove.setEnabled(!selection.isEmpty());
        }
    });
    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            String name = (String) ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (name != null) {
                doOpenComponent(name);
            }
        }
    });
    viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { ResourceTransfer.getInstance() },
            new ComponentListDropAdapter(viewer));
    btnAdd.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                doAdd();
            } catch (Exception x) {
                Plugin.logError("Error adding component", x);
            }
        }
    });
    btnRemove.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemove();
        }
    });

    // Layout
    GridData gd;
    section.setLayoutData(new GridData(GridData.FILL_BOTH));
    composite.setLayout(new GridLayout(2, false));
    gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 3);
    gd.widthHint = 250;
    table.setLayoutData(gd);
    btnAdd.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    btnRemove.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
}

From source file:bndtools.editor.contents.PrivatePackagesPart.java

License:Open Source License

void createSection(Section section, FormToolkit toolkit) {
    section.setText("Private Packages");
    section.setDescription("The listed packages will be included in the bundle but not exported.");

    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);/*  w w  w . j  ava  2  s . c o  m*/
    final ToolItem addItem = new ToolItem(toolbar, SWT.PUSH);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addItem.setToolTipText("Add");

    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(
            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);

    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);

    table = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);

    viewer = new TableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PrivatePackageTableLabelProvider());

    // Listeners
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            managedForm.fireSelectionChanged(PrivatePackagesPart.this, event.getSelection());
            removeItem.setEnabled(!viewer.getSelection().isEmpty());
        }
    });
    viewer.addDropSupport(
            DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer(),
                    TextTransfer.getInstance(), ResourceTransfer.getInstance() },
            new PackageDropAdapter<String>(viewer) {
                @Override
                protected String createNewEntry(String packageName) {
                    return packageName;
                }

                @Override
                protected void addRows(int index, Collection<String> rows) {
                    if (rows.isEmpty())
                        return; // skip marking dirty
                    if (index == -1) {
                        packages.addAll(rows);
                        viewer.add(rows.toArray());
                    } else {
                        packages.addAll(index, rows);
                        viewer.refresh();
                    }
                    viewer.setSelection(new StructuredSelection(rows));
                    markDirty();
                }

                @Override
                protected int indexOf(Object object) {
                    return 0;
                }
            });
    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                doRemovePackages();
            } else if (e.character == '+') {
                doAddPackages();
            }
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddPackages();
        }
    });
    removeItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemovePackages();
        }
    });

    // Layout
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);

    GridData gd;

    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = 75;
    gd.widthHint = 75;
    table.setLayoutData(gd);
}

From source file:bndtools.editor.pkgpatterns.PkgPatternsListPart.java

License:Open Source License

protected void createSection(Section section, FormToolkit toolkit) {
    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);/*w  ww .  j ava2 s.c o  m*/

    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);
    final ToolItem addItem = new ToolItem(toolbar, SWT.PUSH);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addItem.setToolTipText("Add");

    final ToolItem insertItem = new ToolItem(toolbar, SWT.PUSH);
    insertItem.setImage(imgInsert);
    insertItem.setToolTipText("Insert");
    insertItem.setEnabled(false);

    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(
            PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);

    Table table = toolkit.createTable(composite, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
    viewer = new TableViewer(table);
    viewer.setUseHashlookup(false);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(labelProvider);

    toolbar = new ToolBar(composite, SWT.FLAT | SWT.HORIZONTAL | SWT.RIGHT);

    final ToolItem btnMoveUp = new ToolItem(toolbar, SWT.PUSH);
    btnMoveUp.setText("Up");
    btnMoveUp.setImage(imgUp);
    btnMoveUp.setEnabled(false);

    final ToolItem btnMoveDown = new ToolItem(toolbar, SWT.PUSH);
    btnMoveDown.setText("Down");
    btnMoveDown.setImage(imgDown);
    btnMoveDown.setEnabled(false);

    // Listeners
    table.addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            ISelection selection = viewer.getSelection();
            if (!selection.isEmpty())
                managedForm.fireSelectionChanged(PkgPatternsListPart.this, selection);
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            List<C> oldSelection = selection;
            IStructuredSelection structSel = (IStructuredSelection) event.getSelection();

            @SuppressWarnings("unchecked")
            List<C> newSelection = structSel.toList();
            selection = newSelection;

            propChangeSupport.firePropertyChange(PROP_SELECTION, oldSelection, selection);

            managedForm.fireSelectionChanged(PkgPatternsListPart.this, event.getSelection());
            boolean enabled = !viewer.getSelection().isEmpty();
            insertItem.setEnabled(enabled);
            removeItem.setEnabled(enabled);
            btnMoveUp.setEnabled(enabled);
            btnMoveDown.setEnabled(enabled);
        }
    });
    viewer.addDropSupport(
            DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer(),
                    ResourceTransfer.getInstance(), TextTransfer.getInstance() },
            new PackageDropAdapter<C>(viewer) {
                @Override
                protected C createNewEntry(String packageName) {
                    return newHeaderClause(packageName);
                }

                @Override
                protected void addRows(int index, Collection<C> rows) {
                    doAddClauses(rows, index, true);
                }

                @Override
                protected int indexOf(Object object) {
                    return clauses.indexOf(object);
                }
            });
    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                doRemoveSelectedClauses();
            } else if (e.character == '+') {
                doAddClausesAfterSelection(generateClauses());
            }
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddClausesAfterSelection(generateClauses());
        }
    });
    insertItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doInsertClausesAtSelection(generateClauses());
        }
    });
    removeItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemoveSelectedClauses();
        }
    });
    btnMoveUp.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doMoveUp();
        }
    });
    btnMoveDown.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            doMoveDown();
        }
    });

    // Layout
    GridLayout layout;

    layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.verticalSpacing = 0;
    layout.horizontalSpacing = 0;
    composite.setLayout(layout);

    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.widthHint = 75;
    gd.heightHint = 75;
    table.setLayoutData(gd);
    toolbar.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
}