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

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

Introduction

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

Prototype

ITableLabelProvider

Source Link

Usage

From source file:hydrograph.ui.propertywindow.widgets.customwidgets.schema.XPathSchemaGridWidget.java

License:Apache License

protected ITableLabelProvider getLableProvider() {

    return new ITableLabelProvider() {

        @Override/*  w  w w.ja  v  a  2s .c  om*/
        public void removeListener(ILabelProviderListener listener) {
        }

        @Override
        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        @Override
        public void dispose() {
        }

        @Override
        public void addListener(ILabelProviderListener listener) {
        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            XPathGridRow xPathGrid = (XPathGridRow) element;

            switch (columnIndex) {
            case 0:
                return xPathGrid.getFieldName();
            case 1:
                return GridWidgetCommonBuilder.getDataTypeKey()[xPathGrid.getDataType().intValue()];
            case 2:
                return xPathGrid.getXPath();
            case 3:
                return xPathGrid.getScale().toString();
            case 4:
                if (xPathGrid.getScaleType() != null) {
                    return GridWidgetCommonBuilder.getScaleTypeKey()[xPathGrid.getScaleType().intValue()];
                } else {
                    return GridWidgetCommonBuilder.getScaleTypeKey()[0];
                }
            case 5:
                return xPathGrid.getDateFormat();
            case 6:
                return xPathGrid.getPrecision();
            case 7:
                return xPathGrid.getDescription();
            }
            return null;
        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }
    };
}

From source file:mpj_express_debugger.MPJExpressParameterTab.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
    setControl(comp);//from w  ww .j a  v a 2 s .c o  m
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
            IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_APPLET_PARAMETERS_TAB);

    @SuppressWarnings("restriction")
    Composite namecomp = SWTFactory.createComposite(comp, comp.getFont(), 5, 1, GridData.FILL_HORIZONTAL, 0, 0);

    SWTFactory.createLabel(namecomp, MPJLauncherMessages.mpjlauncher_argumenttab_nplabel_text, 1);

    npText = SWTFactory.createSingleText(namecomp, 1);
    npText.addModifyListener(fListener);

    SWTFactory.createLabel(namecomp, MPJLauncherMessages.mpjlauncher_argumenttab_homelabel_text, 1);

    mpjHomeText = SWTFactory.createSingleText(namecomp, 1);
    mpjHomeText.addModifyListener(fListener);
    fBrowseMPJHomeButton = SWTFactory.createPushButton(namecomp, "Browse", null);
    fBrowseMPJHomeButton.addSelectionListener(fListener);
    SWTFactory.createLabel(namecomp, MPJLauncherMessages.mpjlauncher_argumenttab_devlabel_text, 1);

    devText = SWTFactory.createSingleText(namecomp, 1);
    devText.addModifyListener(fListener);

    Label blank = new Label(namecomp, SWT.NONE);
    blank.setText(EMPTY_STRING);
    Label hint = SWTFactory.createLabel(namecomp, MPJLauncherMessages.MPJParametersTab__mandatory_mpj_home_path,
            1);
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_CENTER);
    hint.setLayoutData(gd);

    SWTFactory.createVerticalSpacer(comp, 1);

    Composite paramcomp = SWTFactory.createComposite(comp, comp.getFont(), 2, 1, GridData.FILL_BOTH, 0, 0);

    SWTFactory.createLabel(paramcomp, MPJLauncherMessages.appletlauncher_argumenttab_parameterslabel_text, 2);

    Table ptable = new Table(paramcomp, SWT.FULL_SELECTION | SWT.BORDER);
    fViewer = new TableViewer(ptable);
    gd = new GridData(GridData.FILL_BOTH);
    ptable.setLayoutData(gd);
    TableColumn column1 = new TableColumn(ptable, SWT.NONE);
    column1.setText(MPJLauncherMessages.appletlauncher_argumenttab_parameterscolumn_name_text);
    TableColumn column2 = new TableColumn(ptable, SWT.NONE);
    column2.setText(MPJLauncherMessages.appletlauncher_argumenttab_parameterscolumn_value_text);
    TableLayout tableLayout = new TableLayout();
    ptable.setLayout(tableLayout);
    tableLayout.addColumnData(new ColumnWeightData(100));
    tableLayout.addColumnData(new ColumnWeightData(100));
    ptable.setHeaderVisible(true);
    ptable.setLinesVisible(true);
    ptable.addSelectionListener(fListener);
    ptable.addMouseListener(new MouseAdapter() {
        public void mouseDoubleClick(MouseEvent e) {
            setParametersButtonsEnableState();
            if (fParametersEditButton.isEnabled()) {
                handleParametersEditButtonSelected();
            }
        }
    });

    fViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            Map params = (Map) inputElement;
            return params.keySet().toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });

    fViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (columnIndex == 0) {
                return element.toString();
            }

            String key = (String) element;
            Map params = (Map) fViewer.getInput();
            Object object = params.get(key);
            if (object != null)
                return object.toString();
            return null;
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    fViewer.setComparator(new ViewerComparator());

    Composite envcomp = SWTFactory.createComposite(paramcomp, paramcomp.getFont(), 1, 1,
            GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL, 0, 0);

    fParametersAddButton = createPushButton(envcomp,
            MPJLauncherMessages.appletlauncher_argumenttab_parameters_button_add_text, null);
    fParametersAddButton.addSelectionListener(fListener);

    fParametersEditButton = createPushButton(envcomp,
            MPJLauncherMessages.appletlauncher_argumenttab_parameters_button_edit_text, null);
    fParametersEditButton.addSelectionListener(fListener);

    fParametersRemoveButton = createPushButton(envcomp,
            MPJLauncherMessages.appletlauncher_argumenttab_parameters_button_remove_text, null);
    fParametersRemoveButton.addSelectionListener(fListener);

    setParametersButtonsEnableState();
    Dialog.applyDialogFont(parent);
}

From source file:net.leboxondelex.daplomb.ui.facets.CollageFacet.java

License:Open Source License

/**
 * Constructor./*  ww  w. j a va 2s  . c o  m*/
 * @param parent
 * @param appFont
 */
public CollageFacet(Composite parent, Font appFont) {
    super(parent);
    this.appFont = appFont;

    if (this.backupFile.exists()) {
        try {
            this.collage = CollageIO.readCollage(this.backupFile);

        } catch (IOException e) {
            LogUtils.log(e);
        }
    }

    if (this.collage == null)
        this.collage = new Collage();

    this.collageBuilder = new CollageBuilder(this.collage);
    GridLayoutFactory.swtDefaults().numColumns(3).equalWidth(true).margins(10, 10).spacing(20, 0).applyTo(this);
    setLayoutData(new GridData(GridData.FILL_BOTH));

    // The left part
    Composite leftPart = new Composite(this, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).spacing(0, 5).applyTo(leftPart);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(leftPart);

    Label l = new Label(leftPart, SWT.NONE);
    l.setText("Votre collage se construit en composant des instructions.");
    l.setFont(appFont);

    Composite allButtonsComposite = new Composite(leftPart, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).extendedMargins(0, 0, 10, 0).numColumns(3)
            .applyTo(allButtonsComposite);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(allButtonsComposite);

    this.instructionsViewer = new TableViewer(leftPart, SWT.SINGLE | SWT.BORDER);
    this.instructionsViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    this.instructionsViewer.getTable().setFont(appFont);

    new TableColumn(this.instructionsViewer.getTable(), SWT.NONE);
    TableColumn hiddenAttrColumn = new TableColumn(this.instructionsViewer.getTable(), SWT.NONE);
    hiddenAttrColumn.setWidth(COL_WIDTH);
    hiddenAttrColumn.setResizable(false);
    hiddenAttrColumn.setMoveable(false);

    this.instructionsViewer.setLabelProvider(new ITableLabelProvider() {
        @Override
        public String getColumnText(Object element, int columnIndex) {
            String result = "";
            if (columnIndex == 0 && element != null)
                result = element.toString();

            return result;
        }

        @Override
        public Image getColumnImage(Object element, int columnIndex) {
            Image result = null;
            if (columnIndex == 0 && element instanceof AddImageInstruction) {
                String ext = StringUtils.getFileExtension(((AddImageInstruction) element).getImgFile());
                result = ResourceRegistry.findFileImage(ext);

            } else if (columnIndex == 1 && ((AbstractInstruction) element).isHidden()) {
                result = ResourceRegistry.ICON_HIDDEN_16x16;
            }

            return result;
        }

        @Override
        public void addListener(ILabelProviderListener arg0) {
            // nothing
        }

        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener arg0) {
            // nothing
        }
    });

    this.instructionsViewer.setContentProvider(new ArrayContentProvider());
    this.instructionsViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent e) {
            Object o = ((IStructuredSelection) e.getSelection()).getFirstElement();
            if (o instanceof AddImageInstruction && Desktop.isDesktopSupported()) {

                File f = ((AddImageInstruction) o).getImgFile();
                try {
                    Desktop.getDesktop().open(f);
                } catch (IOException e1) {
                    LogUtils.log("Could not open " + f, e1);
                }
            }
        }
    });

    this.instructionsViewer.getTable().addControlListener(new ControlAdapter() {
        @Override
        public void controlResized(ControlEvent e) {
            Table table = (Table) e.widget;

            int width = table.getSize().x - 2 * table.getBorderWidth();
            if (table.getVerticalBar().isVisible())
                width -= table.getVerticalBar().getSize().x;

            width -= COL_WIDTH;
            table.getColumn(0).setWidth(width);
        }
    });

    // Options
    final Group optionsGroup = new Group(leftPart, SWT.SHADOW_ETCHED_IN);
    GridLayoutFactory.swtDefaults().numColumns(2).margins(15, 15).applyTo(optionsGroup);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.END).grab(true, false).hint(SWT.DEFAULT, 120)
            .applyTo(optionsGroup);

    optionsGroup.setText("Options");
    optionsGroup.setFont(appFont);
    optionsGroup.setVisible(false);

    // Buttons
    Composite buttonsComposite = new Composite(allButtonsComposite, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).applyTo(buttonsComposite);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(buttonsComposite);

    final Button upButton = new Button(buttonsComposite, SWT.PUSH);
    upButton.setFont(appFont);
    upButton.setText("Haut");
    upButton.setToolTipText("Monter cette instruction d'un cran");
    upButton.setImage(ResourceRegistry.ICON_UP_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(upButton);
    upButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            int index = CollageFacet.this.collage.getInstructions().indexOf(o);
            if (index > 0) {
                CollageFacet.this.collage.getInstructions().remove(o);
                CollageFacet.this.collage.getInstructions().add(index - 1, (AbstractInstruction) o);
                refresh();

                CollageFacet.this.instructionsViewer.setInput(CollageFacet.this.collage.getInstructions());
                CollageFacet.this.instructionsViewer.refresh();
            }
        }
    });

    final Button downButton = new Button(buttonsComposite, SWT.PUSH);
    downButton.setFont(appFont);
    downButton.setText("Bas");
    downButton.setToolTipText("Baisser cette instruction d'un cran");
    downButton.setImage(ResourceRegistry.ICON_DOWN_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(downButton);
    downButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            int index = CollageFacet.this.collage.getInstructions().indexOf(o);
            if (index + 1 < CollageFacet.this.collage.getInstructions().size()) {
                CollageFacet.this.collage.getInstructions().remove(o);
                CollageFacet.this.collage.getInstructions().add(index + 1, (AbstractInstruction) o);
                refresh();

                CollageFacet.this.instructionsViewer.setInput(CollageFacet.this.collage.getInstructions());
                CollageFacet.this.instructionsViewer.refresh();
            }
        }
    });

    Button b = new Button(buttonsComposite, SWT.PUSH);
    b.setFont(appFont);
    b.setText("Rafrachir");
    b.setToolTipText("Regnrer le collage");
    b.setImage(ResourceRegistry.ICON_REFRESH_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(b);
    b.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {
            refresh();
        }
    });

    buttonsComposite = new Composite(allButtonsComposite, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).applyTo(buttonsComposite);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(buttonsComposite);

    final Button removeButton = new Button(buttonsComposite, SWT.PUSH);
    removeButton.setFont(appFont);
    removeButton.setText("Supprimer");
    removeButton.setToolTipText("Supprimer cette instruction");
    removeButton.setImage(ResourceRegistry.ICON_DELETE_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(removeButton);
    removeButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            if (o instanceof BackgroundInstruction)
                return;

            CollageFacet.this.collage.getInstructions().remove(o);
            refresh();
            CollageFacet.this.instructionsViewer.remove(o);
        }
    });

    new Label(buttonsComposite, SWT.NONE);

    final Button hideButton = new Button(buttonsComposite, SWT.PUSH);
    hideButton.setFont(appFont);
    hideButton.setText(GHOST_BUTTON_E);
    hideButton.setToolTipText("Dsactiver ou Ractiver cette instruction");
    hideButton.setImage(ResourceRegistry.ICON_GHOST_32x32);
    GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.END).applyTo(hideButton);
    hideButton.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            AbstractInstruction instr = (AbstractInstruction) o;
            if (instr.isRemovable()) {
                boolean b = !instr.isHidden();
                instr.setHidden(b);

                refresh();
                CollageFacet.this.instructionsViewer.update(instr, null);
                CollageFacet.this.instructionsViewer.getTable().notifyListeners(SWT.Selection, new Event());
            }
        }
    });

    buttonsComposite = new Composite(allButtonsComposite, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).applyTo(buttonsComposite);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(buttonsComposite);

    b = new Button(buttonsComposite, SWT.PUSH);
    b.setFont(appFont);
    b.setText("Ajout d'Image");
    b.setToolTipText("Ajouter une image");
    b.setImage(ResourceRegistry.ICON_ADD_IMAGE_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(b);
    b.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            int index = -1;
            if (!CollageFacet.this.instructionsViewer.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                        .getFirstElement();
                index = CollageFacet.this.collage.getInstructions().indexOf(o);
                index++;
            }

            List<File> files = Utils.openImagesSelectionDialog(getShell());
            for (File f : files) {
                AddImageInstruction instr = new AddImageInstruction();
                instr.setImgFile(f);

                if (index == -1) {
                    CollageFacet.this.collage.getInstructions().add(instr);
                    CollageFacet.this.instructionsViewer.add(instr);
                } else {
                    CollageFacet.this.collage.getInstructions().add(index, instr);
                    CollageFacet.this.instructionsViewer.insert(instr, index);
                }
            }

            refresh();
        }
    });

    b = new Button(buttonsComposite, SWT.PUSH);
    b.setFont(appFont);
    b.setText("Saut  la Ligne");
    b.setToolTipText("Passer  la ligne");
    b.setImage(ResourceRegistry.ICON_BREAK_LINE_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(b);
    b.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            int index = -1;
            if (!CollageFacet.this.instructionsViewer.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                        .getFirstElement();
                index = CollageFacet.this.collage.getInstructions().indexOf(o);
                index++;
            }

            BreakLineInstruction instr = new BreakLineInstruction();
            if (index == -1) {
                CollageFacet.this.collage.getInstructions().add(instr);
                CollageFacet.this.instructionsViewer.add(instr);
            } else {
                CollageFacet.this.collage.getInstructions().add(index, instr);
                CollageFacet.this.instructionsViewer.insert(instr, index);
            }

            refresh();
        }
    });

    b = new Button(buttonsComposite, SWT.PUSH);
    b.setFont(appFont);
    b.setText("Dcalage");
    b.setToolTipText("Rajouter un nouveau bloc");
    b.setImage(ResourceRegistry.ICON_SHIFT_32x32);
    GridDataFactory.fillDefaults().grab(true, false).applyTo(b);
    b.addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {

            int index = -1;
            if (!CollageFacet.this.instructionsViewer.getSelection().isEmpty()) {
                Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                        .getFirstElement();
                index = CollageFacet.this.collage.getInstructions().indexOf(o);
                index++;
            }

            ShiftInstruction instr = new ShiftInstruction();
            if (index == -1) {
                CollageFacet.this.collage.getInstructions().add(instr);
                CollageFacet.this.instructionsViewer.add(instr);
            } else {
                CollageFacet.this.collage.getInstructions().add(index, instr);
                CollageFacet.this.instructionsViewer.insert(instr, index);
            }

            refresh();
        }
    });

    // The right part
    final Composite rightPart = new Composite(this, SWT.NONE);
    GridLayoutFactory.swtDefaults().margins(0, 0).spacing(10, 5).equalWidth(false).applyTo(rightPart);
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(rightPart);
    GridDataFactory.swtDefaults().span(3, 1).applyTo(new Label(rightPart, SWT.NONE));

    this.previewCanvas = new ImageCanvas(rightPart, SWT.COLOR_WIDGET_BACKGROUND);
    this.previewCanvas.setShowGhostImage(false);
    GridDataFactory.fillDefaults().grab(true, true).indent(0, 10).applyTo(this.previewCanvas);

    this.previewCanvas.setToolTipText("Double-Cliquez pour lancer en Plein Ecran");
    this.previewCanvas.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            if (CollageFacet.this.previewImg != null)
                new StaticImageViewer().open(CollageFacet.this.previewImg);
        }
    });

    this.dimensionsLabel = new Label(rightPart, SWT.NONE);
    this.dimensionsLabel.setFont(appFont);
    GridDataFactory.swtDefaults().grab(true, false).align(SWT.CENTER, SWT.BOTTOM).applyTo(this.dimensionsLabel);

    if (this.collage.getInstructions().size() > 1) {
        this.instructionsViewer.setInput(this.collage.getInstructions());
        refresh();
    }

    // Buttons selection
    this.instructionsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent e) {
            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            int index = CollageFacet.this.collage.getInstructions().indexOf(o);
            if (index == -1) {
                removeButton.setEnabled(false);
                upButton.setEnabled(false);
                downButton.setEnabled(false);
                hideButton.setEnabled(false);

                hideButton.setText(GHOST_BUTTON_E);
                hideButton.update();

            } else {
                upButton.setEnabled(index > 0);
                downButton.setEnabled(index < CollageFacet.this.collage.getInstructions().size() - 1);

                removeButton.setEnabled(((AbstractInstruction) o).isRemovable());
                hideButton.setEnabled(((AbstractInstruction) o).isRemovable());
                hideButton.setText(((AbstractInstruction) o).isHidden() ? GHOST_BUTTON_D : GHOST_BUTTON_E);
                hideButton.update();
            }

            updateOptions(o, optionsGroup);
        }
    });

    this.instructionsViewer.getTable().notifyListeners(SWT.Selection, new Event());

    // Add a rename action
    final IAction renameAction = new Action("Renommer l'image...") {
        @Override
        public void run() {
            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            if (!(o instanceof AddImageInstruction))
                return;

            final File imgFile = ((AddImageInstruction) o).getImgFile();
            if (Utils.openRenameDialog(imgFile, getShell()))
                CollageFacet.this.instructionsViewer.update(imgFile, null);
        }
    };

    final MenuManager popupMenu = new MenuManager();
    popupMenu.setRemoveAllWhenShown(true);
    popupMenu.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager mngr) {
            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            if (o instanceof AddImageInstruction)
                mngr.add(renameAction);
        }
    });

    Menu menu = popupMenu.createContextMenu(this.instructionsViewer.getTable());
    this.instructionsViewer.getTable().setMenu(menu);

    // Add drag'n'drop support
    Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() };
    int ops = DND.DROP_COPY | DND.DROP_MOVE;
    this.instructionsViewer.addDragSupport(ops, transfers, new DragSourceAdapter() {
        @Override
        public void dragSetData(DragSourceEvent e) {
            if (TextTransfer.getInstance().isSupportedType(e.dataType)) {
                Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                        .getFirstElement();
                Integer index = CollageFacet.this.collage.getInstructions().indexOf(o);
                if (index != -1)
                    e.data = String.valueOf(index);
            }
        }

        @Override
        public void dragStart(DragSourceEvent e) {
            Object o = ((IStructuredSelection) CollageFacet.this.instructionsViewer.getSelection())
                    .getFirstElement();
            e.doit = o instanceof AddImageInstruction || o instanceof BreakLineInstruction
                    || o instanceof ShiftInstruction;
        }
    });

    this.instructionsViewer.addDropSupport(ops, transfers, new ViewerDropAdapter(this.instructionsViewer) {
        @Override
        public boolean validateDrop(Object target, int op, TransferData type) {
            // Do not drop before the background or border instructions
            int index = CollageFacet.this.collage.getInstructions().indexOf(target);
            return index > 1 && TextTransfer.getInstance().isSupportedType(type);
        }

        @Override
        public boolean performDrop(Object data) {
            AbstractInstruction instr = (AbstractInstruction) getCurrentTarget();
            int index = CollageFacet.this.collage.getInstructions().indexOf(instr);

            boolean result = false;
            int movedIndex = Integer.parseInt((String) getCurrentEvent().data);
            AbstractInstruction movedInstr = CollageFacet.this.collage.getInstructions().remove(movedIndex);
            if (movedInstr != null) {
                result = true;
                CollageFacet.this.collage.getInstructions().add(index, movedInstr);
                CollageFacet.this.instructionsViewer.refresh();
                refresh();
            }

            return result;
        }
    });
}

From source file:net.leboxondelex.daplomb.ui.viewers.FileViewer.java

License:Open Source License

/**
 * Constructor./*w  w  w.  j av  a2 s  .c o  m*/
 * @param container
 * @param verticalIndent
 */
public FileViewer(final Composite container, int verticalIndent) {

    this.tableViewer = new TableViewer(container, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.verticalIndent = verticalIndent;
    this.tableViewer.getTable().setLayoutData(layoutData);
    this.tableViewer.getTable().setHeaderVisible(true);

    // Editing support on double-click
    TableViewerEditor.create(this.tableViewer,
            new DoubleClickColumnViewerEditorActivationStrategy(this.tableViewer), ColumnViewerEditor.DEFAULT);

    // Columns
    new TableColumn(this.tableViewer.getTable(), SWT.CENTER).setText(""); //$NON-NLS-1$
    TableViewerColumn col = new TableViewerColumn(this.tableViewer, SWT.LEFT);
    col.getColumn().setText(Messages.getString("FileViewer.2")); //$NON-NLS-1$
    col.setEditingSupport(new FileNameEditingSupport(this.tableViewer));
    col.getColumn().addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {
            if (FileViewer.this.sortByName)
                switchSortingDirection();
            else
                setSortByName(true);
        }
    });

    col = new TableViewerColumn(this.tableViewer, SWT.CENTER);
    col.getColumn().setText(Messages.getString("FileViewer.3")); //$NON-NLS-1$
    col.getColumn().addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {
            if (!FileViewer.this.sortByName)
                switchSortingDirection();
            else
                setSortByName(false);
        }
    });

    // Define the layout of the table
    TableLayout tlayout = new TableLayout();
    tlayout.addColumnData(new ColumnPixelData(25, true));
    tlayout.addColumnData(new ColumnWeightData(55, 300, true));
    tlayout.addColumnData(new ColumnWeightData(40, 100, true));
    this.tableViewer.getTable().setLayout(tlayout);

    // Content provider
    this.tableViewer.setContentProvider(new ArrayContentProvider());

    // Label provider
    this.tableViewer.setLabelProvider(new ITableLabelProvider() {
        @Override
        public void removeListener(ILabelProviderListener arg0) {
            // nothing
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public void addListener(ILabelProviderListener arg0) {
            // nothing
        }

        @Override
        public String getColumnText(Object element, int colmnIndex) {
            String result;
            if (colmnIndex == 1)
                result = ((File) element).getName();
            else {
                long size = ((File) element).length();
                result = Utils.formatFileSize(size) + Messages.getString("FileViewer.4"); //$NON-NLS-1$
            }

            return result;
        }

        @Override
        public Image getColumnImage(Object element, int colmnIndex) {
            Image result = null;
            if (colmnIndex == 0 && element instanceof File) {
                String ext = StringUtils.getFileExtension((File) element);
                result = ResourceRegistry.findFileImage(ext);
            }

            return result;
        }
    });

    // Sorter
    this.tableViewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {

            int result;
            boolean f1 = e1 instanceof File;
            boolean f2 = e2 instanceof File;
            if (!f1)
                result = -1;
            else if (!f2)
                result = 1;
            else {
                if (FileViewer.this.sortByName) {
                    if (FileViewer.this.sortNameAscending)
                        result = ((File) e1).getName().compareTo(((File) e2).getName());
                    else
                        result = ((File) e2).getName().compareTo(((File) e1).getName());
                } else {
                    if (FileViewer.this.sortSizeAscending)
                        result = (int) (((File) e1).length() - ((File) e2).length());
                    else
                        result = (int) (((File) e2).length() - ((File) e1).length());
                }
            }

            return result;
        }
    });

    // Filter
    this.tableViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            boolean shown = true;
            if (!StringUtils.isEmpty(FileViewer.this.filter))
                shown = ((File) element).getName().toLowerCase().contains(FileViewer.this.filter);

            return shown;
        }
    });

    // Pop-up menu
    final IAction renameAction = new Action(Messages.getString("FileViewer.5")) { //$NON-NLS-1$
        @Override
        public void run() {
            Object o = ((IStructuredSelection) FileViewer.this.tableViewer.getSelection()).getFirstElement();
            final File imgFile = (File) o;
            if (Utils.openRenameDialog(imgFile, container.getShell()))
                FileViewer.this.tableViewer.update(imgFile, null);
        }
    };

    final IAction deleteAction = new Action(Messages.getString("FileViewer.12")) { //$NON-NLS-1$
        @Override
        public void run() {
            boolean del = Utils.showQuestion(container.getShell(), Messages.getString("FileViewer.13"), //$NON-NLS-1$
                    Messages.getString("FileViewer.14")); //$NON-NLS-1$

            Object o = ((IStructuredSelection) FileViewer.this.tableViewer.getSelection()).getFirstElement();
            final File imgFile = (File) o;
            if (del && imgFile.exists() && !imgFile.delete()) {

                StringBuilder sb = new StringBuilder();
                sb.append("Could not delete file "); //$NON-NLS-1$
                sb.append(imgFile);
                LogUtils.log(sb.toString());
            }
        }
    };

    MenuManager popupMenu = new MenuManager();
    popupMenu.add(renameAction);
    popupMenu.add(deleteAction);

    Menu menu = popupMenu.createContextMenu(this.tableViewer.getTable());
    this.tableViewer.getTable().setMenu(menu);
}

From source file:net.sourceforge.tagsea.core.ui.internal.waypoints.WaypointFilteringDialog.java

License:Open Source License

/**
 * @param page/*from  w  w  w . ja  v  a2s .  c om*/
 */
private void createTableArea(Composite page) {
    Group area = new Group(page, SWT.FLAT);
    area.setText("Visible Types");
    area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    area.setLayout(new GridLayout(2, false));
    typeViewer = CheckboxTableViewer.newCheckList(area, SWT.FLAT | SWT.BORDER);
    typeViewer.setContentProvider(new ArrayContentProvider());
    typeViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof AbstractWaypointDelegate) {
                return ((AbstractWaypointDelegate) element).getName();
            }
            return "";
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return true;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

    });
    typeViewer.setInput(TagSEAPlugin.getDefault().getWaypointDelegates());
    typeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection ss = (IStructuredSelection) event.getSelection();
                if (ss.size() == 1) {
                    selectedDelegate = (AbstractWaypointDelegate) ss.getFirstElement();
                    dirtyTypeSet.add(selectedDelegate.getType());
                    Control filterControl = filterControlMap.get(selectedDelegate.getType());
                    if (filterControl != null) {
                        ((StackLayout) advancedArea.getLayout()).topControl = filterControl;
                    } else {
                        ((StackLayout) advancedArea.getLayout()).topControl = defaultControl;
                    }
                } else {
                    ((StackLayout) advancedArea.getLayout()).topControl = noSelectionControl;
                }
            }
            advancedArea.layout();
        }

    });
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.horizontalSpan = 2;
    typeViewer.getControl().setLayoutData(data);
    Button selectAllButton = new Button(area, SWT.PUSH);
    selectAllButton.setText("Check All");
    selectAllButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            typeViewer.setAllChecked(true);
        }
    });
    data = new GridData(SWT.END, SWT.END, false, false);
    data.horizontalAlignment = SWT.END;
    selectAllButton.setLayoutData(data);

    Button selectNoneButton = new Button(area, SWT.PUSH);
    data = new GridData(SWT.END, SWT.END, false, false);
    data.horizontalAlignment = SWT.END;
    selectNoneButton.setLayoutData(data);
    selectNoneButton.setText("Check None");
    selectNoneButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            typeViewer.setAllChecked(false);
        }
    });
    initializeTable();

}

From source file:org.apache.directory.studio.apacheds.configuration.editor.PartitionDetailsPage.java

License:Apache License

/**
 * Creates the Context Entry Section.//from  ww  w. jav  a2 s  . com
 *
 * @param parent
 *      the parent composite
 * @param toolkit
 *      the toolkit to use
 */
private void createContextEntrySection(Composite parent, FormToolkit toolkit) {
    Section section = toolkit.createSection(parent, Section.DESCRIPTION | Section.TITLE_BAR);
    section.marginWidth = 10;
    section.setText("Context Entry"); //$NON-NLS-1$
    section.setDescription("Set the attribute/value pairs for the Context Entry of the partition."); //$NON-NLS-1$
    section.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    Composite client = toolkit.createComposite(section);
    toolkit.paintBordersFor(client);
    client.setLayout(new GridLayout(2, false));
    section.setClient(client);

    // Auto Generate Context Entry Checkbox
    autoGenerateContextEntryCheckbox = toolkit.createButton(client,
            Messages.getString("PartitionDetailsPage.AutoGenerateContextEntryFromSuffixDn"), //$NON-NLS-1$
            SWT.CHECK);
    autoGenerateContextEntryCheckbox.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 3, 1));

    // Context Entry Table Viewer
    Table contextEntryTable = toolkit.createTable(client, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.NONE, true, false, 1, 3);
    gd.heightHint = 62;
    gd.widthHint = 50;
    contextEntryTable.setLayoutData(gd);
    TableColumn idColumn = new TableColumn(contextEntryTable, SWT.LEFT, 0);
    idColumn.setText(Messages.getString("PartitionDetailsPage.Attribute")); //$NON-NLS-1$
    idColumn.setWidth(100);
    TableColumn valueColumn = new TableColumn(contextEntryTable, SWT.LEFT, 1);
    valueColumn.setText(Messages.getString("PartitionDetailsPage.Value")); //$NON-NLS-1$
    valueColumn.setWidth(100);
    contextEntryTable.setHeaderVisible(true);
    contextEntryTableViewer = new TableViewer(contextEntryTable);
    contextEntryTableViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            List<AttributeValueObject> elements = new ArrayList<>();
            Entry entry = (Entry) inputElement;

            Iterator<Attribute> attributes = entry.iterator();
            while (attributes.hasNext()) {
                Attribute attribute = attributes.next();

                Iterator<Value> values = attribute.iterator();
                while (values.hasNext()) {
                    Value value = values.next();
                    elements.add(new AttributeValueObject(attribute.getId(), value.getValue()));
                }
            }

            return elements.toArray();
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    contextEntryTableViewer.setLabelProvider(new ITableLabelProvider() {
        public String getColumnText(Object element, int columnIndex) {
            if (element != null) {
                switch (columnIndex) {
                case 0:
                    return ((AttributeValueObject) element).getAttribute();
                case 1:
                    return ((AttributeValueObject) element).getValue();
                default:
                    break;
                }
            }

            return null;
        }

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }
    });

    GridData buttonsGD = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
    buttonsGD.widthHint = IDialogConstants.BUTTON_WIDTH;

    // Context Entry Add Button
    contextEntryAddButton = toolkit.createButton(client, Messages.getString("PartitionDetailsPage.Add"), //$NON-NLS-1$
            SWT.PUSH);
    contextEntryAddButton.setLayoutData(buttonsGD);

    // Context Entry Edit Button
    contextEntryEditButton = toolkit.createButton(client, Messages.getString("PartitionDetailsPage.Edit"), //$NON-NLS-1$
            SWT.PUSH);
    contextEntryEditButton.setEnabled(false);
    contextEntryEditButton.setLayoutData(buttonsGD);

    // Context Entry Delete Button
    contextEntryDeleteButton = toolkit.createButton(client, Messages.getString("PartitionDetailsPage.Delete"), //$NON-NLS-1$
            SWT.PUSH);
    contextEntryDeleteButton.setEnabled(false);
    contextEntryDeleteButton.setLayoutData(buttonsGD);
}

From source file:org.apache.forrest.eclipse.views.ForrestPropertiesView.java

License:Apache License

/**
 * Create the TableViewer //w  ww . j  a v  a  2 s  . c  o  m
 */
private void createTableViewer() {

    tableViewer = new TableViewer(table);
    tableViewer.setUseHashlookup(true);

    tableViewer.setColumnProperties(columnNames);

    // Create the cell editors
    CellEditor[] editors = new CellEditor[columnNames.length];
    TextCellEditor textEditor = new TextCellEditor(table);
    ((Text) textEditor.getControl()).setTextLimit(60);
    editors[0] = textEditor;

    // Column 3 : Owner (Combo Box) 
    editors[1] = textEditor;

    // Assign the cell editors to the viewer 
    tableViewer.setCellEditors(editors);

    tableViewer.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            Vector v = (Vector) inputElement;
            return v.toArray();
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }
    });

    tableViewer.setLabelProvider(new ITableLabelProvider() {
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return ((EditableTableItem) element).name;
            case 1:
                return ((EditableTableItem) element).value;

            default:
                return "Invalid column: " + columnIndex;
            }
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void addListener(ILabelProviderListener listener) {

        }

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

        }

    });

    tableViewer.setCellModifier(new ICellModifier() {
        public boolean canModify(Object element, String property) {
            return true;
        }

        public Object getValue(Object element, String property) {
            if (property.equals("name"))
                return ((EditableTableItem) element).name;
            else
                return ((EditableTableItem) element).value;
        }

        public void modify(Object element, String property, Object value) {
            TableItem tableItem = (TableItem) element;
            EditableTableItem data = (EditableTableItem) tableItem.getData();
            if (property.equals("name"))
                data.name = value.toString();
            else
                data.value = value.toString();

            if (editorElement != null) {
                System.out.println(editorElement.getNodeName());
            }

            tableViewer.refresh(data);
        }
    });
    tableViewer.setInput(getContent(editorElement));

}

From source file:org.apache.opennlp.corpus_server.caseditor.CorpusExplorerView.java

License:Apache License

@Override
public void createPartControl(Composite parent) {

    explorerComposite = new Composite(parent, SWT.NONE);
    GridLayout explorerLayout = new GridLayout();
    explorerLayout.numColumns = 2;/*www.  j a v a  2s  . c  o  m*/
    explorerComposite.setLayout(explorerLayout);

    // URL field to connect to corpus server and corpus
    Label serverLabel = new Label(explorerComposite, SWT.NONE);
    serverLabel.setText("Server:");

    serverUrl = new Text(explorerComposite, SWT.BORDER);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(serverUrl);

    final IPreferenceStore store = CorpusServerPlugin.getDefault().getPreferenceStore();

    String lastUsedServer = store.getString(CorpusServerPreferenceConstants.LAST_USED_SERVER_ADDRESS);

    if (lastUsedServer.isEmpty()) {
        lastUsedServer = "http://localhost:8080/corpus-server/rest/corpora/wikinews";
    }

    serverUrl.setText(lastUsedServer);

    serverUrl.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent event) {
            store.setValue(CorpusServerPreferenceConstants.LAST_USED_SERVER_ADDRESS, serverUrl.getText());
        }
    });

    // Search field to view content of corpus
    Label queryLabel = new Label(explorerComposite, SWT.NONE);
    queryLabel.setText("Query");

    queryText = new Combo(explorerComposite, SWT.BORDER);

    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(queryText);

    String lastUsedSearchQueriesString = store
            .getString(CorpusServerPreferenceConstants.LAST_USED_SEARCH_QUERIES);

    // TODO: Set default via preference initializer
    if (lastUsedSearchQueriesString.isEmpty()) {
        lastUsedSearchQueriesString = "*:*";
    }

    String lastUsedQueries[] = lastUsedSearchQueriesString.split(LUCENE_QUERY_DELIMITER);

    if (lastUsedQueries.length > 0)
        queryText.setText(lastUsedQueries[0]);

    for (int i = 0; i < lastUsedQueries.length; i++) {
        queryText.add(lastUsedQueries[i]);
    }

    queryText.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            doSearch();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });

    queryText.addKeyListener(new KeyListener() {

        @Override
        public void keyReleased(KeyEvent event) {
            if (event.character == SWT.CR)
                doSearch();
        }

        @Override
        public void keyPressed(KeyEvent event) {
        }
    });

    Button queryServer = new Button(explorerComposite, SWT.BORDER);
    queryServer.setText("Query");
    GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(queryServer);

    queryServer.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            doSearch();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });

    book = new PageBook(explorerComposite, SWT.NONE);

    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(2, 1).applyTo(book);

    messageText = new Text(book, SWT.WRAP | SWT.READ_ONLY);
    messageText.setText("Enter the server address and a query to search a corpus on the Corpus Server.");

    // List with casIds in the corpus ... (might be later replaced with a title)
    // The table should later be virtual, and be able to scroll through very huge
    // lits of CASes ... might be connected to a repository with million of documents
    searchResultViewer = new TableViewer(book);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(2, 1)
            .applyTo(searchResultViewer.getControl());

    searchResultViewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void addListener(ILabelProviderListener arg0) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener arg0) {
        }

        @Override
        public Image getColumnImage(Object arg0, int arg1) {
            return null;
        }

        @Override
        public String getColumnText(Object arg0, int arg1) {
            return arg0.toString();
        }
    });

    searchResultViewer.addOpenListener(new IOpenListener() {

        @Override
        public void open(OpenEvent event) {

            IWorkbenchPage page = CorpusExplorerView.this.getSite().getPage();

            StructuredSelection selection = (StructuredSelection) searchResultViewer.getSelection();

            if (selection.isEmpty())
                return;

            String selectedCAS = (String) selection.getFirstElement();

            // Hard code it for now, lets work on retrieval code first ...
            IEditorInput input = new CorpusServerCasEditorInput(serverUrl.getText(), selectedCAS);

            try {
                page.openEditor(input, "org.apache.uima.caseditor.editor");
            } catch (PartInitException e) {
                e.printStackTrace();
            }
        }
    });

    book.showPage(messageText);

    // TODO: Context menu should have open action
}

From source file:org.apache.opennlp.corpus_server.caseditor.TaskQueueView.java

License:Apache License

@Override
public void createPartControl(Composite parent) {

    explorerComposite = new Composite(parent, SWT.NONE);
    GridLayout explorerLayout = new GridLayout();
    explorerLayout.numColumns = 2;//  www. j av  a2s . c o  m
    explorerComposite.setLayout(explorerLayout);

    // URL field to connect to corpus server and corpus
    Label serverLabel = new Label(explorerComposite, SWT.NONE);
    serverLabel.setText("Server:");

    serverUrl = new Text(explorerComposite, SWT.BORDER);
    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(serverUrl);

    // TOOD: Should be stored in some way, or just done more sophisticated ..
    serverUrl.setText("http://localhost:8080/corpus-server/rest/queues/ObamaNerTask");

    // Button for next cas (gets nexts and closes current one,
    // if not saved user is asked for it)
    Button nextDocument = new Button(explorerComposite, SWT.BORDER);
    nextDocument.setText("Next");
    GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false)
            .applyTo(nextDocument);

    nextDocument.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent event) {

            Client c = Client.create();

            WebResource queueWebResource = c.resource(serverUrl.getText());

            ClientResponse response2 = queueWebResource.path("_nextTask").accept(MediaType.APPLICATION_JSON)
                    .header("Content-Type", MediaType.TEXT_XML).get(ClientResponse.class);

            String casId = response2.getEntity(String.class);

            // How to get the corpus uri for the item returned from the queue ???
            // Queue could always return full URI ...

            // we also need to corpus the cas id belongs too ...
            IWorkbenchPage page = TaskQueueView.this.getSite().getPage();

            // TODO: Thats a short cut, we need to make this work properly ...
            IEditorInput input = new CorpusServerCasEditorInput(
                    "http://localhost:8080/corpus-server/rest/corpora/wikinews", casId);

            try {
                page.openEditor(input, "org.apache.uima.caseditor.editor");
            } catch (PartInitException e) {
                e.printStackTrace();
            }

            // Add casId to historyViewer ... should be inserted at the top, not bottom.

            lastInputElements.add(input);
            historyViewer.insert(input, 0);

            if (lastInputElements.size() > 10) {
                IEditorInput tooOldInput = lastInputElements.remove(0);
                historyViewer.remove(tooOldInput);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
        }
    });

    // History view ... shows n last opened CASes ...
    historyViewer = new TableViewer(explorerComposite);
    historyViewer.setLabelProvider(new ITableLabelProvider() {

        @Override
        public void addListener(ILabelProviderListener arg0) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public boolean isLabelProperty(Object arg0, String arg1) {
            return false;
        }

        @Override
        public void removeListener(ILabelProviderListener arg0) {
        }

        @Override
        public Image getColumnImage(Object arg0, int arg1) {
            return null;
        }

        @Override
        public String getColumnText(Object arg0, int arg1) {
            return ((IEditorInput) arg0).getName();
        }
    });

    GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(2, 1)
            .applyTo(historyViewer.getTable());

    historyViewer.addOpenListener(new IOpenListener() {

        @Override
        public void open(OpenEvent event) {

            StructuredSelection selection = (StructuredSelection) event.getSelection();

            if (!selection.isEmpty()) {
                IWorkbenchPage page = TaskQueueView.this.getSite().getPage();

                IEditorInput input = (IEditorInput) selection.getFirstElement();

                try {
                    page.openEditor(input, "org.apache.uima.caseditor.editor");
                } catch (PartInitException e) {
                    e.printStackTrace();
                }
            }
        }
    });
}

From source file:org.ayound.js.debug.ui.views.EvalView.java

License:Apache License

@Override
protected Viewer createViewer(Composite parent) {
    GridLayout layout = new GridLayout(2, false);
    layout.makeColumnsEqualWidth = true;
    parent.setLayout(layout);//from  w w w . j a  v  a  2s. com
    Table table = new Table(parent, SWT.NONE);
    TableColumn column1 = new TableColumn(table, SWT.NONE);
    column1.setWidth(200);
    column1.setResizable(true);
    table.setHeaderVisible(false);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    TableViewer viewer = new TableViewer(table);
    getSite().getWorkbenchWindow().getSelectionService().addSelectionListener(IDebugUIConstants.ID_DEBUG_VIEW,
            this);
    JsDebugCorePlugin.getDefault().addEvalListener(this);
    viewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                return ((List) inputElement).toArray();
            }
            return null;
        }

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

        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // TODO Auto-generated method stub

        }
    });
    viewer.setLabelProvider(new ITableLabelProvider() {

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

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof ExpressionModel) {
                ExpressionModel model = (ExpressionModel) element;
                if (columnIndex == 0) {
                    if (model.getError() != null) {
                        return model.getExpression() + " = error : " + model.getError();
                    } else {
                        return model.getExpression() + " = " + model.getResult();
                    }
                }
            }
            return null;
        }

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

        }

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

        }

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

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

        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            ExpressionModel model = (ExpressionModel) selection.getFirstElement();
            if (model != null) {
                if (model.getError() != null) {
                    valueText.setText(model.getError());
                } else {
                    if (model.getResult() != null) {
                        valueText.setText(model.getResult());
                    } else {
                        valueText.setText("null");
                    }
                }
            } else {
                valueText.setText("");
            }

        }
    });
    valueText = new Text(parent, SWT.MULTI);
    valueText.setLayoutData(new GridData(GridData.FILL_BOTH));
    return viewer;
}