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

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

Introduction

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

Prototype

public TableViewerColumn(TableViewer viewer, TableColumn column) 

Source Link

Document

Creates a new viewer column for the given TableViewer on the given TableColumn .

Usage

From source file:com.rinke.solutions.pinball.PinDmdEditor.java

/**
 * Create contents of the window.//  w  w w  . j a va  2  s  .c o  m
 */
void createContents(Shell shell) {
    shell.setSize(1238, 657);
    shell.setText("Pin2dmd - Editor");
    shell.setLayout(new GridLayout(4, false));

    createMenu(shell);

    recentProjectsMenuManager = new RecentMenuManager("recentProject", 4, menuPopRecentProjects,
            e -> loadProject((String) e.widget.getData()));
    recentProjectsMenuManager.loadRecent();

    recentPalettesMenuManager = new RecentMenuManager("recentPalettes", 4, mntmRecentPalettes,
            e -> paletteHandler.loadPalette((String) e.widget.getData()));
    recentPalettesMenuManager.loadRecent();

    recentAnimationsMenuManager = new RecentMenuManager("recentAnimations", 4, mntmRecentAnimations,
            e -> aniAction.loadAni(((String) e.widget.getData()), true, false));
    recentAnimationsMenuManager.loadRecent();

    resManager = new LocalResourceManager(JFaceResources.getResources(), shell);

    Label lblAnimations = new Label(shell, SWT.NONE);
    lblAnimations.setText("Animations");

    Label lblKeyframes = new Label(shell, SWT.NONE);
    lblKeyframes.setText("KeyFrames");

    Label lblPreview = new Label(shell, SWT.NONE);
    lblPreview.setText("Preview");
    new Label(shell, SWT.NONE);

    aniListViewer = new TableViewer(shell, SWT.BORDER | SWT.V_SCROLL);
    Table aniList = aniListViewer.getTable();
    GridData gd_aniList = new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1);
    gd_aniList.widthHint = 189;
    aniList.setLayoutData(gd_aniList);
    aniList.setLinesVisible(true);
    aniList.addKeyListener(new EscUnselect(aniListViewer));
    aniListViewer.setContentProvider(ArrayContentProvider.getInstance());
    aniListViewer.setLabelProvider(new LabelProviderAdapter(o -> ((Animation) o).getDesc()));
    aniListViewer.setInput(animations.values());
    aniListViewer.addSelectionChangedListener(event -> {
        IStructuredSelection selection = (IStructuredSelection) event.getSelection();
        onAnimationSelectionChanged(selection.size() > 0 ? (Animation) selection.getFirstElement() : null);
    });
    TableViewerColumn viewerCol1 = new TableViewerColumn(aniListViewer, SWT.LEFT);
    viewerCol1.setEditingSupport(
            new GenericTextCellEditor(aniListViewer, e -> ((Animation) e).getDesc(), (e, v) -> {
                Animation ani = (Animation) e;
                updateAnimationMapKey(ani.getDesc(), v);
                ani.setDesc(v);
                frameSeqViewer.refresh();
            }));

    viewerCol1.getColumn().setWidth(220);
    viewerCol1.setLabelProvider(new ColumnLabelProviderAdapter(o -> ((Animation) o).getDesc()));

    keyframeTableViewer = new TableViewer(shell, SWT.SINGLE | SWT.V_SCROLL);
    Table keyframeList = keyframeTableViewer.getTable();
    GridData gd_keyframeList = new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 1);
    gd_keyframeList.widthHint = 137;
    keyframeList.setLinesVisible(true);
    keyframeList.setLayoutData(gd_keyframeList);
    keyframeList.addKeyListener(new EscUnselect(keyframeTableViewer));

    //keyframeTableViewer.setLabelProvider(new KeyframeLabelProvider(shell));
    keyframeTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    keyframeTableViewer.setInput(project.palMappings);
    keyframeTableViewer.addSelectionChangedListener(event -> keyFrameChanged(event));

    TableViewerColumn viewerColumn = new TableViewerColumn(keyframeTableViewer, SWT.LEFT);
    viewerColumn.setEditingSupport(
            new GenericTextCellEditor(keyframeTableViewer, e -> ((PalMapping) e).name, (e, v) -> {
                ((PalMapping) e).name = v;
            }));

    viewerColumn.getColumn().setWidth(200);
    viewerColumn.setLabelProvider(new KeyframeLabelProvider(shell));

    dmdWidget = new DMDWidget(shell, SWT.DOUBLE_BUFFERED, this.dmd, true);
    // dmdWidget.setBounds(0, 0, 700, 240);
    GridData gd_dmdWidget = new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1);
    gd_dmdWidget.heightHint = 231;
    gd_dmdWidget.widthHint = 826;
    dmdWidget.setLayoutData(gd_dmdWidget);
    dmdWidget.setPalette(activePalette);
    dmdWidget.addListeners(l -> frameChanged(l));

    Composite composite_1 = new Composite(shell, SWT.NONE);
    composite_1.setLayout(new GridLayout(2, false));
    GridData gd_composite_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_composite_1.heightHint = 35;
    gd_composite_1.widthHint = 206;
    composite_1.setLayoutData(gd_composite_1);

    btnRemoveAni = new Button(composite_1, SWT.NONE);
    btnRemoveAni.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnRemoveAni.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
        }
    });
    btnRemoveAni.setText("Remove");
    btnRemoveAni.setEnabled(false);
    btnRemoveAni.addListener(SWT.Selection, e -> {
        if (selectedAnimation.isPresent()) {
            String key = selectedAnimation.get().getDesc();
            animations.remove(key);
            playingAnis.clear();
            animationHandler.setAnimations(playingAnis);
            animationHandler.setClockActive(true);
        }
    });

    btnSortAni = new Button(composite_1, SWT.NONE);
    btnSortAni.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnSortAni.setText("Sort");
    btnSortAni.addListener(SWT.Selection, e -> sortAnimations());

    Composite composite_2 = new Composite(shell, SWT.NONE);
    composite_2.setLayout(new GridLayout(3, false));
    GridData gd_composite_2 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_composite_2.heightHint = 35;
    gd_composite_2.widthHint = 157;
    composite_2.setLayoutData(gd_composite_2);

    btnDeleteKeyframe = new Button(composite_2, SWT.NONE);
    GridData gd_btnDeleteKeyframe = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_btnDeleteKeyframe.widthHint = 88;
    btnDeleteKeyframe.setLayoutData(gd_btnDeleteKeyframe);
    btnDeleteKeyframe.setText("Remove");
    btnDeleteKeyframe.setEnabled(false);
    btnDeleteKeyframe.addListener(SWT.Selection, e -> {
        if (selectedPalMapping != null) {
            project.palMappings.remove(selectedPalMapping);
            keyframeTableViewer.refresh();
            checkReleaseMask();
        }
    });

    Button btnSortKeyFrames = new Button(composite_2, SWT.NONE);
    btnSortKeyFrames.setText("Sort");
    btnSortKeyFrames.addListener(SWT.Selection, e -> sortKeyFrames());
    new Label(composite_2, SWT.NONE);

    scale = new Scale(shell, SWT.NONE);
    scale.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));
    scale.addListener(SWT.Selection, e -> animationHandler.setPos(scale.getSelection()));

    Group grpKeyframe = new Group(shell, SWT.NONE);
    grpKeyframe.setLayout(new GridLayout(3, false));
    GridData gd_grpKeyframe = new GridData(SWT.FILL, SWT.TOP, false, false, 2, 4);
    gd_grpKeyframe.heightHint = 191;
    gd_grpKeyframe.widthHint = 350;
    grpKeyframe.setLayoutData(gd_grpKeyframe);
    grpKeyframe.setText("KeyFrames");

    Composite composite_hash = new Composite(grpKeyframe, SWT.NONE);
    //gd_composite_hash.widthHint = 105;
    GridData gd_composite_hash = new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1);
    gd_composite_hash.widthHint = 148;
    composite_hash.setLayoutData(gd_composite_hash);
    createHashButtons(composite_hash, 10, 0);

    previewDmd = new DMDWidget(grpKeyframe, SWT.DOUBLE_BUFFERED, dmd, false);
    GridData gd_dmdPreWidget = new GridData(SWT.CENTER, SWT.TOP, false, false, 1, 1);
    gd_dmdPreWidget.heightHint = 40;
    gd_dmdPreWidget.widthHint = 132;
    previewDmd.setLayoutData(gd_dmdPreWidget);
    previewDmd.setDrawingEnabled(false);
    previewDmd.setPalette(previewPalettes.get(0));

    new Label(grpKeyframe, SWT.NONE);

    btnAddColormaskKeyFrame = new Button(grpKeyframe, SWT.NONE);
    btnAddColormaskKeyFrame
            .setToolTipText("Adds a key frame that trigger a color masking scene to be overlayed");
    btnAddColormaskKeyFrame.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnAddColormaskKeyFrame.setText("Add ColorMask");
    btnAddColormaskKeyFrame.setEnabled(false);
    btnAddColormaskKeyFrame.addListener(SWT.Selection, e -> addFrameSeq(SwitchMode.ADD));

    btnAddKeyframe = new Button(grpKeyframe, SWT.NONE);
    btnAddKeyframe.setToolTipText("Adds a key frame that switches palette");
    btnAddKeyframe.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, false, false, 1, 1));
    btnAddKeyframe.setText("Add PalSwitch");
    btnAddKeyframe.setEnabled(false);
    btnAddKeyframe.addListener(SWT.Selection, e -> addKeyFrame(SwitchMode.PALETTE));

    Label lblDuration = new Label(grpKeyframe, SWT.NONE);
    lblDuration.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblDuration.setText("Duration:");

    txtDuration = new Text(grpKeyframe, SWT.BORDER);
    GridData gd_txtDuration = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_txtDuration.widthHint = 93;
    txtDuration.setLayoutData(gd_txtDuration);
    txtDuration.setText("0");
    txtDuration.addListener(SWT.Verify, e -> e.doit = Pattern.matches("^[0-9]*$", e.text));
    txtDuration.addListener(SWT.Modify, e -> {
        if (selectedPalMapping != null) {
            selectedPalMapping.durationInMillis = Integer.parseInt(txtDuration.getText());
            selectedPalMapping.durationInFrames = (int) selectedPalMapping.durationInMillis / 40;
        }
    });

    btnFetchDuration = new Button(grpKeyframe, SWT.NONE);
    btnFetchDuration.setToolTipText(
            "Fetches duration for palette switches by calculating the difference between actual timestamp and keyframe timestamp");
    btnFetchDuration.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnFetchDuration.setText("Fetch Duration");
    btnFetchDuration.setEnabled(false);
    btnFetchDuration.addListener(SWT.Selection, e -> {
        if (selectedPalMapping != null) {
            selectedPalMapping.durationInMillis = lastTimeCode - saveTimeCode;
            selectedPalMapping.durationInFrames = (int) selectedPalMapping.durationInMillis / FRAME_RATE;
            txtDuration.setText(selectedPalMapping.durationInMillis + "");
        }
    });

    Label lblNewLabel = new Label(grpKeyframe, SWT.NONE);
    lblNewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    lblNewLabel.setText("FrameSeq:");

    frameSeqViewer = new ComboViewer(grpKeyframe, SWT.NONE);
    Combo frameSeqCombo = frameSeqViewer.getCombo();
    frameSeqCombo.setToolTipText("Choose frame sequence to use with key frame");
    GridData gd_frameSeqCombo = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_frameSeqCombo.widthHint = 100;
    frameSeqCombo.setLayoutData(gd_frameSeqCombo);
    frameSeqViewer.setLabelProvider(new LabelProviderAdapter(o -> ((Animation) o).getDesc()));
    frameSeqViewer.setContentProvider(ArrayContentProvider.getInstance());
    frameSeqViewer.setInput(frameSeqList);
    frameSeqViewer.addSelectionChangedListener(event -> frameSeqChanged(event));

    btnAddFrameSeq = new Button(grpKeyframe, SWT.NONE);
    btnAddFrameSeq.setToolTipText("Adds a keyframe that triggers playback of a replacement scene");
    btnAddFrameSeq.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnAddFrameSeq.setText("Add FrameSeq");
    btnAddFrameSeq.addListener(SWT.Selection, e -> addFrameSeq(SwitchMode.REPLACE));
    btnAddFrameSeq.setEnabled(false);

    Group grpDetails = new Group(shell, SWT.NONE);
    grpDetails.setLayout(new GridLayout(10, false));
    GridData gd_grpDetails = new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1);
    gd_grpDetails.heightHint = 21;
    gd_grpDetails.widthHint = 776;
    grpDetails.setLayoutData(gd_grpDetails);
    grpDetails.setText("Details");

    Label lblFrame = new Label(grpDetails, SWT.NONE);
    lblFrame.setText("Frame:");

    lblFrameNo = new Label(grpDetails, SWT.NONE);
    GridData gd_lblFrameNo = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_lblFrameNo.widthHint = 66;
    gd_lblFrameNo.minimumWidth = 60;
    lblFrameNo.setLayoutData(gd_lblFrameNo);
    lblFrameNo.setText("---");

    Label lblTimecode = new Label(grpDetails, SWT.NONE);
    lblTimecode.setText("Timecode:");

    lblTcval = new Label(grpDetails, SWT.NONE);
    GridData gd_lblTcval = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_lblTcval.widthHint = 62;
    gd_lblTcval.minimumWidth = 80;
    lblTcval.setLayoutData(gd_lblTcval);
    lblTcval.setText("---");

    Label lblDelay = new Label(grpDetails, SWT.NONE);
    lblDelay.setText("Delay:");

    lblDelayVal = new Label(grpDetails, SWT.NONE);
    GridData gd_lblDelayVal = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
    gd_lblDelayVal.widthHint = 53;
    lblDelayVal.setLayoutData(gd_lblDelayVal);
    lblDelayVal.setText("---");

    Label lblPlanes = new Label(grpDetails, SWT.NONE);
    lblPlanes.setText("Planes:");

    lblPlanesVal = new Label(grpDetails, SWT.NONE);
    lblPlanesVal.setText("---");
    new Label(grpDetails, SWT.NONE);

    btnLivePreview = new Button(grpDetails, SWT.CHECK);
    btnLivePreview.setToolTipText("controls live preview to real display device");
    btnLivePreview.setText("Live Preview");
    btnLivePreview.addListener(SWT.Selection, e -> switchLivePreview(e));

    Composite composite = new Composite(shell, SWT.NONE);
    composite.setLayout(new GridLayout(9, false));
    composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1));

    btnStartStop = new Button(composite, SWT.NONE);
    btnStartStop.setText("Start");
    btnStartStop.addListener(SWT.Selection, e -> startStop(animationHandler.isStopped()));

    btnPrev = new Button(composite, SWT.NONE);
    btnPrev.setText("<");
    btnPrev.addListener(SWT.Selection, e -> prevFrame());

    btnNext = new Button(composite, SWT.NONE);
    btnNext.setText(">");
    btnNext.addListener(SWT.Selection, e -> nextFrame());

    btnMarkStart = new Button(composite, SWT.NONE);
    btnMarkStart.setToolTipText("Marks start of scene for cutting");
    btnMarkEnd = new Button(composite, SWT.NONE);
    btnCut = new Button(composite, SWT.NONE);
    btnCut.setToolTipText("Cuts out a new scene for editing and use a replacement or color mask");

    btnMarkStart.setText("Mark Start");
    btnMarkStart.addListener(SWT.Selection, e -> {
        cutInfo.setStart(selectedAnimation.get().actFrame);
    });

    btnMarkEnd.setText("Mark End");
    btnMarkEnd.addListener(SWT.Selection, e -> {
        cutInfo.setEnd(selectedAnimation.get().actFrame);
    });

    btnCut.setText("Cut");
    btnCut.addListener(SWT.Selection, e -> {
        // respect number of planes while cutting / copying
        Animation ani = cutScene(selectedAnimation.get(), cutInfo.getStart(), cutInfo.getEnd(),
                "Scene " + animations.size());
        log.info("cutting out scene from {} to {}", cutInfo);
        cutInfo.reset();

        // TODO mark such a scene somehow, to copy it to the
        // projects frames sequence for later export
        // alternatively introduce a dedicated flag for scenes that
        // should be exported
        // also define a way that a keyframe triggers a replacement
        // sequence instead of switching
        // the palette only
        // TODO NEED TO ADD a reference to the animation in the list
        // / map
        project.scenes.add(new Scene(ani.getDesc(), ani.start, ani.end, activePalette.index));
    });

    new Label(composite, SWT.NONE);

    Button btnIncPitch = new Button(composite, SWT.NONE);
    btnIncPitch.setText("+");
    btnIncPitch.addListener(SWT.Selection, e -> dmdWidget.incPitch());

    Button btnDecPitch = new Button(composite, SWT.NONE);
    btnDecPitch.setText("-");
    btnDecPitch.addListener(SWT.Selection, e -> dmdWidget.decPitch());

    Group grpPalettes = new Group(shell, SWT.NONE);
    grpPalettes.setLayout(new GridLayout(4, false));
    GridData gd_grpPalettes = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
    gd_grpPalettes.widthHint = 479;
    gd_grpPalettes.heightHint = 71;
    grpPalettes.setLayoutData(gd_grpPalettes);
    grpPalettes.setText("Palettes");

    paletteComboViewer = new ComboViewer(grpPalettes, SWT.NONE);
    Combo combo = paletteComboViewer.getCombo();
    GridData gd_combo = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_combo.widthHint = 166;
    combo.setLayoutData(gd_combo);
    paletteComboViewer.setContentProvider(ArrayContentProvider.getInstance());
    paletteComboViewer
            .setLabelProvider(new LabelProviderAdapter(o -> ((Palette) o).index + " - " + ((Palette) o).name));
    paletteComboViewer.setInput(project.palettes);
    paletteComboViewer.addSelectionChangedListener(event -> {
        IStructuredSelection selection = (IStructuredSelection) event.getSelection();
        if (selection.size() > 0) {
            paletteChanged((Palette) selection.getFirstElement());
        }
    });

    paletteTypeComboViewer = new ComboViewer(grpPalettes, SWT.READ_ONLY);
    Combo combo_1 = paletteTypeComboViewer.getCombo();
    combo_1.setToolTipText(
            "Type of palette. Default palette is choosen at start and after timed switch is expired");
    GridData gd_combo_1 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
    gd_combo_1.widthHint = 85;
    combo_1.setLayoutData(gd_combo_1);
    paletteTypeComboViewer.setContentProvider(ArrayContentProvider.getInstance());
    paletteTypeComboViewer.setInput(PaletteType.values());
    paletteTypeComboViewer.setSelection(new StructuredSelection(activePalette.type));
    paletteTypeComboViewer.addSelectionChangedListener(e -> paletteTypeChanged(e));

    btnNewPalette = new Button(grpPalettes, SWT.NONE);
    btnNewPalette.setToolTipText("Creates a new palette by copying the actual colors");
    btnNewPalette.setText("New");
    btnNewPalette.addListener(SWT.Selection, e -> paletteHandler.newPalette());

    btnRenamePalette = new Button(grpPalettes, SWT.NONE);
    btnRenamePalette.setToolTipText("Confirms the new palette name");
    btnRenamePalette.setText("Rename");
    btnRenamePalette.addListener(SWT.Selection, e -> {
        String newName = paletteComboViewer.getCombo().getText();
        if (newName.contains(" - ")) {
            activePalette.name = newName.split(" - ")[1];
            paletteComboViewer.setSelection(new StructuredSelection(activePalette));
            paletteComboViewer.refresh();
        } else {
            warn("Illegal palette name",
                    "Palette names must consist of palette index and name.\nName format therefore must be '<idx> - <name>'");
            paletteComboViewer.getCombo().setText(activePalette.index + " - " + activePalette.name);
        }

    });

    Composite grpPal = new Composite(grpPalettes, SWT.NONE);
    grpPal.setLayout(new GridLayout(1, false));
    GridData gd_grpPal = new GridData(SWT.LEFT, SWT.TOP, false, false, 2, 1);
    gd_grpPal.widthHint = 313;
    gd_grpPal.heightHint = 22;
    grpPal.setLayoutData(gd_grpPal);
    // GridData gd_grpPal = new GridData(SWT.LEFT, SWT.CENTER, false, false,
    // 1, 1);
    // gd_grpPal.widthHint = 223;
    // gd_grpPal.heightHint = 61;
    // grpPal.setLayoutData(gd_grpPal);
    //
    paletteTool = new PaletteTool(shell, grpPal, SWT.FLAT | SWT.RIGHT, activePalette);

    paletteTool.addListener(dmdWidget);

    Label lblCtrlclickToEdit = new Label(grpPalettes, SWT.NONE);
    GridData gd_lblCtrlclickToEdit = new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1);
    gd_lblCtrlclickToEdit.widthHint = 139;
    lblCtrlclickToEdit.setLayoutData(gd_lblCtrlclickToEdit);
    lblCtrlclickToEdit.setText("Ctrl-Click to edit color");

    Composite composite_3 = new Composite(shell, SWT.NONE);
    GridLayout gl_composite_3 = new GridLayout(1, false);
    gl_composite_3.marginWidth = 0;
    gl_composite_3.marginHeight = 0;
    composite_3.setLayout(gl_composite_3);
    GridData gd_composite_3 = new GridData(SWT.LEFT, SWT.FILL, false, false, 1, 2);
    gd_composite_3.heightHint = 190;
    gd_composite_3.widthHint = 338;
    composite_3.setLayoutData(gd_composite_3);
    goDmdGroup = new GoDmdGroup(composite_3);

    Group grpDrawing = new Group(shell, SWT.NONE);
    grpDrawing.setLayout(new GridLayout(6, false));
    GridData gd_grpDrawing = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
    gd_grpDrawing.heightHint = 63;
    gd_grpDrawing.widthHint = 479;
    grpDrawing.setLayoutData(gd_grpDrawing);
    grpDrawing.setText("Drawing");

    drawToolBar = new ToolBar(grpDrawing, SWT.FLAT | SWT.RIGHT);
    drawToolBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));

    ToolItem tltmPen = new ToolItem(drawToolBar, SWT.RADIO);
    tltmPen.setImage(
            resManager.createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/pencil.png")));
    tltmPen.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("pencil")));

    ToolItem tltmFill = new ToolItem(drawToolBar, SWT.RADIO);
    tltmFill.setImage(resManager
            .createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/color-fill.png")));
    tltmFill.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("fill")));

    ToolItem tltmRect = new ToolItem(drawToolBar, SWT.RADIO);
    tltmRect.setImage(
            resManager.createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/rect.png")));
    tltmRect.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("rect")));

    ToolItem tltmLine = new ToolItem(drawToolBar, SWT.RADIO);
    tltmLine.setImage(
            resManager.createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/line.png")));
    tltmLine.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("line")));

    ToolItem tltmCircle = new ToolItem(drawToolBar, SWT.RADIO);
    tltmCircle.setImage(
            resManager.createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/oval.png")));
    tltmCircle.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("circle")));

    ToolItem tltmColorize = new ToolItem(drawToolBar, SWT.RADIO);
    tltmColorize.setImage(
            resManager.createImage(ImageDescriptor.createFromFile(PinDmdEditor.class, "/icons/colorize.png")));
    tltmColorize.addListener(SWT.Selection, e -> dmdWidget.setDrawTool(drawTools.get("colorize")));
    drawTools.put("pencil", new SetPixelTool(paletteTool.getSelectedColor()));
    drawTools.put("fill", new FloodFillTool(paletteTool.getSelectedColor()));
    drawTools.put("rect", new RectTool(paletteTool.getSelectedColor()));
    drawTools.put("line", new LineTool(paletteTool.getSelectedColor()));
    drawTools.put("circle", new CircleTool(paletteTool.getSelectedColor()));
    drawTools.put("colorize", new ColorizeTool(paletteTool.getSelectedColor()));
    drawTools.values().forEach(d -> paletteTool.addIndexListener(d));
    paletteTool.addListener(palette -> {
        if (livePreviewActive) {
            connector.upload(activePalette, handle);
        }
    });
    new Label(grpDrawing, SWT.NONE);

    btnColorMask = new Button(grpDrawing, SWT.CHECK);
    btnColorMask.setToolTipText("limits drawing to upper planes, so that this will just add coloring layers");
    btnColorMask.setText("ColMask");
    btnColorMask.addListener(SWT.Selection, e -> switchColorMask(btnColorMask.getSelection()));

    Label lblMaskNo = new Label(grpDrawing, SWT.NONE);
    lblMaskNo.setText("Mask No:");

    maskSpinner = new Spinner(grpDrawing, SWT.BORDER);
    maskSpinner.setToolTipText("select the mask to use");
    maskSpinner.setMinimum(0);
    maskSpinner.setMaximum(9);
    maskSpinner.addListener(SWT.Selection, e -> maskNumberChanged(e));

    btnMask = new Button(grpDrawing, SWT.CHECK);
    btnMask.setText("Show Mask");
    btnMask.addListener(SWT.Selection, e -> switchMask(btnMask.getSelection()));

    btnCopyToPrev = new Button(grpDrawing, SWT.NONE);
    btnCopyToPrev.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
    btnCopyToPrev.setText("CopyToPrev");
    btnCopyToPrev.addListener(SWT.Selection, e -> copyAndMoveToPrevFrame());

    new Label(grpDrawing, SWT.NONE);

    btnCopyToNext = new Button(grpDrawing, SWT.NONE);
    btnCopyToNext.setToolTipText("copy the actual scene / color mask to next frame and move forward");
    btnCopyToNext.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
    btnCopyToNext.setText("CopyToNext");
    btnCopyToNext.addListener(SWT.Selection, e -> copyAndMoveToNextFrame());

    btnUndo = new Button(grpDrawing, SWT.NONE);
    btnUndo.setText("&Undo");
    btnUndo.addListener(SWT.Selection, e -> undo());

    btnRedo = new Button(grpDrawing, SWT.NONE);
    btnRedo.setText("&Redo");
    btnRedo.addListener(SWT.Selection, e -> redo());

    ObserverManager.bind(maskDmdObserver, e -> btnUndo.setEnabled(e), () -> maskDmdObserver.canUndo());
    ObserverManager.bind(maskDmdObserver, e -> btnRedo.setEnabled(e), () -> maskDmdObserver.canRedo());

}

From source file:com.salesforce.ide.ui.editors.properysheets.widgets.PackageVersionWidget.java

License:Open Source License

public void addTo(Composite composite) {
    tableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    tableViewer.getTable().setHeaderVisible(true);

    GridData gridData = new GridData();
    gridData.verticalAlignment = GridData.FILL;
    gridData.minimumHeight = TABLE_MIN_HEIGHT;
    gridData.horizontalSpan = 2;/*from  w  ww  .  j a  va  2  s.co  m*/
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;
    tableViewer.getControl().setLayoutData(gridData);

    namespaceColumn = new TableViewerColumn(tableViewer, SWT.BORDER);
    namespaceColumn.getColumn().setWidth(NAMESPACE_COL_WIDTH);
    namespaceColumn.getColumn().setText(EditorMessages.getString("PackageVersionWidget.NamespaceColumn")); //$NON-NLS-1$
    namespaceColumn.setLabelProvider(new NamespaceLabelProvider());

    versionColumn = new TableViewerColumn(tableViewer, SWT.BORDER);
    versionColumn.getColumn().setWidth(VERSION_COL_WIDTH);
    versionColumn.getColumn().setText(EditorMessages.getString("PackageVersionWidget.VersionColumn")); //$NON-NLS-1$
    versionColumn.setLabelProvider(new VersionLabelProvider());
    versionColumnEditingSupport = new VersionColumnEditingSupport(tableViewer);
    versionColumn.setEditingSupport(versionColumnEditingSupport);
}

From source file:com.skratchdot.electribe.model.esx.editor.util.EsxEditorUtil.java

License:Open Source License

/**
 * @param tableViewer The TableViewer that a column will be added to
 * @param text The name of the column. Will show up in the column header.
 * @param width If null, then pack() will be called. If a valid integer, then the column will have this width
 *//*from   w  w w .j a  v  a 2 s  .c  o  m*/
public static void addColumnToTableViewer(TableViewer tableViewer, String text, Integer width) {
    TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    TableColumn column = tableViewerColumn.getColumn();
    column.setText(text);
    if (width == null) {
        column.pack();
    } else {
        column.setWidth(width);
    }
}

From source file:com.smartmonkey.recrep.SMonkeyViewer.java

License:Apache License

/**
 * Create contents of the application window.
 * //from  w  w  w  .j  av a 2s . co  m
 * @param parent
 */
@Override
protected Control createContents(Composite parent) {
    parent.setLayout(new FillLayout());
    SashForm baseSash = new SashForm(parent, SWT.HORIZONTAL | SWT.NONE);
    // draw the canvas with border, so the divider area for sash form can be
    // highlighted
    SashForm leftSash = new SashForm(baseSash, SWT.VERTICAL);
    mScreenshotCanvas = new Canvas(leftSash, SWT.BORDER | SWT.NO_REDRAW_RESIZE);
    mScreenshotCanvas.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            if (e.button == 3) // Right Click
            {
                SMonkeyModel.getModel().toggleExploreMode();
            } else if (e.button == 1) // Left Click
            {
                SMonkeyModel.getModel().touch();
            }
        }
    });

    mScreenshotCanvas.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    mScreenshotCanvas.addPaintListener(new PaintListener() {
        @Override
        public void paintControl(PaintEvent e) {
            Image image = SMonkeyModel.getModel().getScreenshot();
            if (image != null) {
                updateScreenshotTransformation();
                // shifting the image here, so that there's a border around
                // screen shot
                // this makes highlighting red rectangles on the screen shot
                // edges more visible
                Transform t = new Transform(e.gc.getDevice());
                t.translate(mDx, mDy);
                t.scale(mScale, mScale);
                e.gc.setTransform(t);
                e.gc.drawImage(image, 0, 0);
                // this resets the transformation to identity transform,
                // i.e. no change
                // we don't use transformation here because it will cause
                // the line pattern
                // and line width of highlight rect to be scaled, causing to
                // appear to be blurry
                e.gc.setTransform(null);
                if (SMonkeyModel.getModel().shouldShowNafNodes()) {
                    // highlight the "Not Accessibility Friendly" nodes
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    e.gc.setBackground(e.gc.getDevice().getSystemColor(SWT.COLOR_YELLOW));
                    for (Rectangle r : SMonkeyModel.getModel().getNafNodes()) {
                        e.gc.setAlpha(50);
                        e.gc.fillRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                        e.gc.setAlpha(255);
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                        e.gc.drawRectangle(mDx + getScaledSize(r.x), mDy + getScaledSize(r.y),
                                getScaledSize(r.width), getScaledSize(r.height));
                    }
                }
                // draw the mouseover rects
                Rectangle rect = SMonkeyModel.getModel().getCurrentDrawingRect();
                if (rect != null) {
                    e.gc.setForeground(e.gc.getDevice().getSystemColor(SWT.COLOR_RED));
                    if (SMonkeyModel.getModel().isExploreMode()) {
                        // when we highlight nodes dynamically on mouse
                        // move,
                        // use dashed borders
                        e.gc.setLineStyle(SWT.LINE_DASH);
                        e.gc.setLineWidth(1);
                    } else {
                        // when highlighting nodes on tree node selection,
                        // use solid borders
                        e.gc.setLineStyle(SWT.LINE_SOLID);
                        e.gc.setLineWidth(2);
                    }
                    e.gc.drawRectangle(mDx + getScaledSize(rect.x), mDy + getScaledSize(rect.y),
                            getScaledSize(rect.width), getScaledSize(rect.height));
                }
            }
        }
    });
    mScreenshotCanvas.addMouseMoveListener(new MouseMoveListener() {
        @Override
        public void mouseMove(MouseEvent e) {
            if (SMonkeyModel.getModel().isExploreMode()) {
                SMonkeyModel.getModel().updateSelectionForCoordinates(getInverseScaledSize(e.x - mDx),
                        getInverseScaledSize(e.y - mDy));
            }
        }
    });

    // Lower Left Base contains the physical buttons on the phone
    SashForm lowerLeftBase = new SashForm(leftSash, SWT.HORIZONTAL);

    Composite buttonComposite = new Composite(lowerLeftBase, SWT.BORDER);
    ToolBarManager physicalButtonToolbarManager = new ToolBarManager();
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/back_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.BACK);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/menu_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.MENU);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/home_gray.png");
        }

        public void run() {
            SMonkeyModel.getModel().pressButton(PhysicalButton.HOME);
        }
    });
    physicalButtonToolbarManager.add(new Action() {
        @Override
        public ImageDescriptor getImageDescriptor() {
            return ImageHelper.loadImageDescriptorFromResource("images/noop.png");
        }

        public void run() {
            SMonkeyModel.getModel().noop();
        }
    });
    physicalButtonToolbarManager.add(mFBLoginAction);

    physicalButtonToolbarManager.createControl(buttonComposite);

    Composite textComposite = new Composite(lowerLeftBase, SWT.BORDER);
    mText = new Text(textComposite, SWT.SINGLE);
    mSendTextButton = new Button(textComposite, SWT.PUSH);
    mSendTextButton.setText("Send\nText");
    mSendTextButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            SMonkeyModel.getModel().sendText(mText.getText());
        }
    });
    textComposite.setLayout(new FillLayout());

    leftSash.setWeights(new int[] { 6, 1 });

    // middle sash contains the list of events, which are highlighted as
    // they happen.
    // TODO: Add a fast forward button to perform the next event, skipping
    // the wait
    SashForm middleSash = new SashForm(baseSash, SWT.VERTICAL);

    ToolBarManager replayToolbarManager = new ToolBarManager(SWT.FLAT);
    replayToolbarManager.add(mClearRecordingAction);
    replayToolbarManager.add(mOpenRecordFileAction);
    replayToolbarManager.add(mSaveRecordFileAction);
    replayToolbarManager.add(mToggleAutoRefreshAction);
    replayToolbarManager.add(mReplayAction);

    replayToolbarManager.createControl(middleSash);

    chimpEventTableViewer = new TableViewer(middleSash,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    chimpEventTableViewer.getTable().setMenu(new Menu(chimpEventTableViewer.getTable()));

    TableViewerColumn waitColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    waitColumn.getColumn().setText("Wait time");
    waitColumn.getColumn().setWidth(100);
    waitColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getWait();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn typeColumn = new TableViewerColumn(chimpEventTableViewer, SWT.NONE);
    typeColumn.getColumn().setText("Type");
    typeColumn.getColumn().setWidth(100);
    typeColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getType();
            }
            return super.getText(element);
        }
    });

    TableViewerColumn miscColumn = new TableViewerColumn(getChimpEventTableViewer(), SWT.NONE);
    miscColumn.getColumn().setText("Misc");
    miscColumn.getColumn().setWidth(100);
    miscColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ChimpEvent) {
                ChimpEvent chimp = (ChimpEvent) element;
                return chimp.getMisc();
            }
            return super.getText(element);
        }
    });
    chimpEventTableViewer.getTable().setLinesVisible(true);
    chimpEventTableViewer.getTable().setHeaderVisible(true);
    chimpEventTableViewer.setContentProvider(ArrayContentProvider.getInstance());
    chimpEventTableViewer.setInput(SMonkeyModel.getModel().getLog());

    middleSash.setWeights(new int[] { 1, 20 });

    // right sash is split into 2 parts: upper-right and lower-right
    // both are composites with borders, so that the horizontal divider can
    // be highlighted by
    // the borders
    SashForm rightSash = new SashForm(baseSash, SWT.VERTICAL);

    // upper-right base contains the toolbar and the tree
    Composite upperRightBase = new Composite(rightSash, SWT.BORDER);
    upperRightBase.setLayout(new GridLayout(1, false));
    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    toolBarManager.add(mOpenFilesAction);
    toolBarManager.add(mSaveFilesAction);
    toolBarManager.add(mExpandAllAction);
    toolBarManager.add(mScreenshotAction);
    toolBarManager.add(mToggleNafAction);

    // toolBarManager.add(mClearRecordingAction);
    // toolBarManager.add(mSaveRecordingAction);
    toolBarManager.createControl(upperRightBase);

    // Button b = new Button(upperRightBase.getShell(),SWT.CHECK);
    // b.setText("Auto");

    mTreeViewer = new TreeViewer(upperRightBase, SWT.NONE);
    mTreeViewer.setContentProvider(new BasicTreeNodeContentProvider());
    // default LabelProvider uses toString() to generate text to display
    mTreeViewer.setLabelProvider(new LabelProvider());
    mTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                SMonkeyModel.getModel().setSelectedNode(null);
            } else if (event.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                Object o = selection.toArray()[0];
                if (o instanceof BasicTreeNode) {
                    SMonkeyModel.getModel().setSelectedNode((BasicTreeNode) o);
                }
            }
        }
    });
    Tree tree = mTreeViewer.getTree();
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    // move focus so that it's not on tool bar (looks weird)
    tree.setFocus();

    // lower-right base contains the detail group
    Composite lowerRightBase = new Composite(rightSash, SWT.BORDER);
    lowerRightBase.setLayout(new FillLayout());
    Group grpNodeDetail = new Group(lowerRightBase, SWT.NONE);
    grpNodeDetail.setLayout(new FillLayout(SWT.HORIZONTAL));
    grpNodeDetail.setText("Node Detail");

    Composite tableContainer = new Composite(grpNodeDetail, SWT.NONE);

    TableColumnLayout columnLayout = new TableColumnLayout();
    tableContainer.setLayout(columnLayout);

    mTableViewer = new TableViewer(tableContainer, SWT.NONE | SWT.FULL_SELECTION);
    Table table = mTableViewer.getTable();
    table.setLinesVisible(true);
    // use ArrayContentProvider here, it assumes the input to the
    // TableViewer
    // is an array, where each element represents a row in the table
    mTableViewer.setContentProvider(ArrayContentProvider.getInstance());

    TableViewerColumn tableViewerColumnKey = new TableViewerColumn(mTableViewer, SWT.NONE);
    TableColumn tblclmnKey = tableViewerColumnKey.getColumn();
    tableViewerColumnKey.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // first column, shows the attribute name
                return ((AttributePair) element).key;
            }
            return super.getText(element);
        }
    });
    columnLayout.setColumnData(tblclmnKey, new ColumnWeightData(1, ColumnWeightData.MINIMUM_WIDTH, true));

    TableViewerColumn tableViewerColumnValue = new TableViewerColumn(mTableViewer, SWT.NONE);
    tableViewerColumnValue.setEditingSupport(new AttributeTableEditingSupport(mTableViewer));
    TableColumn tblclmnValue = tableViewerColumnValue.getColumn();
    columnLayout.setColumnData(tblclmnValue, new ColumnWeightData(2, ColumnWeightData.MINIMUM_WIDTH, true));
    tableViewerColumnValue.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AttributePair) {
                // second column, shows the attribute value
                return ((AttributePair) element).value;
            }
            return super.getText(element);
        }
    });
    // sets the ratio of the vertical split: left 5 vs middle 3 vs right 3
    baseSash.setWeights(new int[] { 5, 5, 3 });
    return baseSash;
}

From source file:com.softberries.klerk.gui.editors.GenericKlerkEditor.java

License:Open Source License

protected TableViewerColumn createTableViewerColumn(String title, int bound, final int colNumber) {
    final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn column = viewerColumn.getColumn();
    column.setText(title);//from w w w.  ja v  a 2 s.  com
    column.setWidth(bound);
    column.setResizable(true);
    column.setMoveable(true);
    column.addSelectionListener(getSelectionAdapter(column, colNumber));
    return viewerColumn;

}

From source file:com.softberries.klerk.gui.editors.SingleCompanyEditor.java

License:Open Source License

private TableViewerColumn createTableViewerColumn(TableViewer viewer, String title, int bound,
        final int colNumber) {
    final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn column = viewerColumn.getColumn();
    column.setText(title);//w  ww  .  ja v a  2s .co m
    column.setWidth(bound);
    column.setResizable(true);
    column.setMoveable(true);
    return viewerColumn;
}

From source file:com.softberries.klerk.gui.editors.SingleDocumentEditor.java

License:Open Source License

private TableViewerColumn createTableViewerColumn(TableViewer viewer, String title, int bound,
        final int colNumber) {
    final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE);
    final TableColumn column = viewerColumn.getColumn();
    column.setText(title);/*from ww w  . jav a 2s  . c  o m*/
    column.setWidth(bound);
    column.setResizable(true);
    column.setMoveable(true);
    column.addSelectionListener(getSelectionAdapter(column, colNumber));
    return viewerColumn;

}

From source file:com.softberries.klerk.gui.views.DocumentDetailsView.java

License:Open Source License

private TableViewerColumn createTableViewerColumn(String title, int bound, final int colNumber) {
    final TableViewerColumn viewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn column = viewerColumn.getColumn();
    column.setText(title);/*  ww w  .  j  a v  a 2  s .c o  m*/
    column.setWidth(bound);
    column.setResizable(true);
    column.setMoveable(true);
    return viewerColumn;

}

From source file:com.subgraph.vega.ui.http.builder.HeaderEditor.java

License:Open Source License

private void createHeaderTableColumns(TableViewer viewer, TableColumnLayout layout) {
    final String[] titles = { "Name", "Value", };
    final ColumnLayoutData[] layoutData = { new ColumnPixelData(120, true, true),
            new ColumnWeightData(100, 100, true), };
    final EditingSupport editorList[] = { new HeaderNameEditingSupport(viewer),
            new HeaderValueEditingSupport(viewer), };
    final ColumnLabelProvider providerList[] = { new ColumnLabelProvider() {
        @Override/*from w  ww .  j  a  v  a  2  s.co m*/
        public String getText(Object element) {
            return ((IHttpHeaderBuilder) element).getName();
        }
    }, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((IHttpHeaderBuilder) element).getValue();
        }
    }, };

    for (int i = 0; i < titles.length; i++) {
        final TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
        final TableColumn c = column.getColumn();
        layout.setColumnData(c, layoutData[i]);
        c.setText(titles[i]);
        c.setMoveable(true);
        column.setEditingSupport(editorList[i]);
        column.setLabelProvider(providerList[i]);
    }
}

From source file:com.subgraph.vega.ui.http.intercept.config.ConfigureInterceptionContent.java

License:Open Source License

private void createTableBreakpointsColumns(TableViewer viewer, TableColumnLayout layout) {
    final String[] titles = { "", "Type", "Matches", "Pattern", };
    final ColumnLayoutData[] layoutData = { new ColumnPixelData(16, false, true),
            new ColumnPixelData(150, true, true), new ColumnPixelData(150, true, true),
            new ColumnWeightData(100, 100, true), };
    final EditingSupport editorList[] = { new BreakpointEnabledEditingSupport(viewer),
            new BreakpointTypeEditingSupport(viewer), new BreakpointMatchTypeEditingSupport(viewer),
            new BreakpointPatternEditingSupport(viewer), };
    final ColumnLabelProvider providerList[] = { new ColumnLabelProvider() {
        @Override//from w ww  . j  a v a2s  . c  o  m
        public String getText(Object element) {
            return null;
        }

        @Override
        public Image getImage(Object element) {
            if (((IHttpCondition) element).isEnabled()) {
                return IMAGE_CHECKED;
            } else {
                return IMAGE_UNCHECKED;
            }
        }
    }, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ((IHttpCondition) element).getType().getName();
        }
    }, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IHttpCondition condition = (IHttpCondition) element;
            return condition.getMatchAction().getLabel();
        }
    }, new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            IHttpCondition condition = (IHttpCondition) element;
            return condition.getMatchAction().getArgumentAsString();
        }
    }, };

    for (int i = 0; i < titles.length; i++) {
        final TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
        final TableColumn c = column.getColumn();
        layout.setColumnData(c, layoutData[i]);
        c.setText(titles[i]);
        c.setMoveable(true);
        column.setEditingSupport(editorList[i]);
        column.setLabelProvider(providerList[i]);
    }
}