Search in sources :

Example 41 with Canvas

use of org.eclipse.swt.widgets.Canvas in project archi by archimatetool.

the class BufferedGraphicsSource method flushGraphics.

/**
 * @see org.eclipse.draw2d.GraphicsSource#flushGraphics(org.eclipse.draw2d.geometry.Rectangle)
 */
@Override
public void flushGraphics(Rectangle region) {
    if (inUse.isEmpty())
        return;
    boolean restoreCaret = false;
    Canvas canvas = null;
    if (control instanceof Canvas) {
        canvas = (Canvas) control;
        Caret caret = canvas.getCaret();
        if (caret != null)
            restoreCaret = caret.isVisible();
        if (restoreCaret && caret != null)
            caret.setVisible(false);
    }
    /*
         * The imageBuffer may be null if double-buffering was not successful.
         */
    if (imageBuffer != null) {
        imageGC.dispose();
        controlGC.drawImage(getImage(), 0, 0, inUse.width, inUse.height, inUse.x, inUse.y, inUse.width, inUse.height);
        imageBuffer.dispose();
        imageBuffer = null;
        imageGC = null;
    }
    controlGC.dispose();
    controlGC = null;
    if (restoreCaret && canvas != null)
        canvas.getCaret().setVisible(true);
}
Also used : Canvas(org.eclipse.swt.widgets.Canvas) Caret(org.eclipse.swt.widgets.Caret)

Example 42 with Canvas

use of org.eclipse.swt.widgets.Canvas in project org.csstudio.display.builder by kasemir.

the class RectangleRepresentation method createSWTControl.

@Override
protected Canvas createSWTControl(final Composite parent) throws Exception {
    // Unfortunately, the canvas is not transparent..
    final Canvas canvas = new Canvas(parent, SWT.NO_FOCUS | SWT.NO_BACKGROUND | SWT.TRANSPARENT);
    canvas.addPaintListener(this::doPaint);
    return canvas;
}
Also used : Canvas(org.eclipse.swt.widgets.Canvas)

Example 43 with Canvas

use of org.eclipse.swt.widgets.Canvas in project ecf by eclipse.

the class BasicScribbleView method createPartControl.

public void createPartControl(Composite parent) {
    canvas = new Canvas(parent, SWT.NONE);
    display = parent.getDisplay();
    canvas.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
    Listener listener = new Listener() {

        int lastX = 0, lastY = 0;

        public void handleEvent(Event event) {
            switch(event.type) {
                case SWT.MouseMove:
                    if ((event.stateMask & SWT.BUTTON1) == 0)
                        break;
                    GC gc = new GC(canvas);
                    gc.drawLine(lastX, lastY, event.x, event.y);
                    gc.dispose();
                case SWT.MouseDown:
                    lastX = event.x;
                    lastY = event.y;
                    break;
            }
        }
    };
    canvas.addListener(SWT.MouseDown, listener);
    canvas.addListener(SWT.MouseMove, listener);
}
Also used : Listener(org.eclipse.swt.widgets.Listener) Canvas(org.eclipse.swt.widgets.Canvas) Event(org.eclipse.swt.widgets.Event) GC(org.eclipse.swt.graphics.GC)

Example 44 with Canvas

use of org.eclipse.swt.widgets.Canvas in project gemoc-studio by eclipse.

the class AbstractTimelineView method createPartControl.

@Override
public void createPartControl(Composite parent) {
    final Composite container;
    if (hasDetailViewer()) {
        final SashForm mainSashForm = new SashForm(parent, SWT.HORIZONTAL);
        container = mainSashForm;
        detailViewer = createDetailViewer(container);
    } else {
        container = parent;
    }
    timelineViewer = new ScrollingGraphicalViewer();
    Composite timelineComposite = new Composite(container, SWT.NONE);
    timelineComposite.setLayout(new FillLayout(SWT.HORIZONTAL | SWT.VERTICAL));
    if (hasDetailViewer()) {
        ((SashForm) container).setWeights(new int[] { DETAIL_RATIO, TIMELINE_RATIO });
    }
    GridLayout layout = new GridLayout(1, false);
    timelineComposite.setLayout(layout);
    timelineViewer.createControl(timelineComposite);
    timelineSlider = new Slider(timelineComposite, SWT.HORIZONTAL);
    GridData gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    timelineSlider.setLayoutData(gridData);
    gridData.grabExcessHorizontalSpace = true;
    rootEditPart = new ScalableFreeformRootEditPart();
    rootEditPart.setViewer(timelineViewer);
    timelineViewer.setRootEditPart(rootEditPart);
    gridData = new GridData();
    gridData.horizontalAlignment = SWT.FILL;
    gridData.grabExcessHorizontalSpace = true;
    gridData.verticalAlignment = SWT.FILL;
    gridData.grabExcessVerticalSpace = true;
    timelineViewer.getControl().setLayoutData(gridData);
    timelineViewer.setEditPartFactory(getTimelineEditPartFactory());
    timelineWindow = new TimelineWindow(provider);
    timelineViewer.setContents(timelineWindow);
    timelineSlider.setPageIncrement(timelineWindow.getLength());
    timelineSlider.setThumb(timelineWindow.getLength());
    timelineSlider.setSelection(timelineWindow.getStart());
    if (provider != null) {
        timelineSlider.setMaximum(timelineWindow.getMaxTimelineIndex() + nbVirtualChoices);
        timelineSlider.setVisible(timelineWindow.getLength() < timelineWindow.getMaxTimelineIndex() + nbVirtualChoices);
    } else {
        timelineSlider.setVisible(false);
    }
    timelineSlider.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (follow) {
                toggleFollow();
            }
            timelineWindow.setStart(timelineSlider.getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (follow) {
                toggleFollow();
            }
            timelineWindow.setStart(timelineSlider.getSelection());
        }
    });
    timelineWindowListener = new TimelineWindowListener();
    timelineWindow.addTimelineWindowListener(timelineWindowListener);
    if (provider != null) {
        provider.addTimelineListener(timelineWindowListener);
    }
    timelineViewer.getControl().setBackground(ColorConstants.listBackground);
    if (hasDetailViewer()) {
        timelineViewer.addSelectionChangedListener(new ISelectionChangedListener() {

            @Override
            public void selectionChanged(SelectionChangedEvent event) {
                final ISelection selection = event.getSelection();
                if (selection instanceof IStructuredSelection) {
                    final Object firstElement = ((IStructuredSelection) selection).getFirstElement();
                    if (firstElement instanceof PossibleStepEditPart) {
                        final PossibleStepEditPart possibleStepEditPart = (PossibleStepEditPart) firstElement;
                        detailViewer.setInput(possibleStepEditPart.getModel().getPossibleStep());
                    }
                }
            }
        });
    }
    timelineViewer.getControl().addKeyListener(new TimelineKeyListener());
    final TimelineMouseListener listener = new TimelineMouseListener();
    timelineViewer.getControl().addMouseListener(listener);
    timelineViewer.getControl().addMouseMoveListener(listener);
    timelineViewer.getControl().addMouseWheelListener(new TimelineMouseWheelListener());
    rootEditPart.getZoomManager().addZoomListener(new ZoomListener() {

        @Override
        public void zoomChanged(double zoom) {
            timelineWindow.setLength(getWindowLength());
        }
    });
    timelineViewer.getControl().addControlListener(new ControlListener() {

        @Override
        public void controlResized(ControlEvent e) {
            timelineWindow.setLength(getWindowLength());
            final Canvas canevas = (Canvas) timelineViewer.getControl();
            canevas.getHorizontalBar().setVisible(false);
        }

        @Override
        public void controlMoved(ControlEvent e) {
        // nothing to do here
        }
    });
    final ICommandService cmdService = (ICommandService) getSite().getService(ICommandService.class);
    String commandID = getFollowCommandID();
    if (commandID != null) {
        final Command followCommand = cmdService.getCommand(commandID);
        if (followCommand != null) {
            final State state = followCommand.getState(RegistryToggleState.STATE_ID);
            follow = state != null && ((Boolean) state.getValue()).booleanValue();
        }
    }
    createMenuManager();
}
Also used : Slider(org.eclipse.swt.widgets.Slider) TimelineWindow(org.eclipse.gemoc.timeline.model.TimelineWindow) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ICommandService(org.eclipse.ui.commands.ICommandService) ScrollingGraphicalViewer(org.eclipse.gef.ui.parts.ScrollingGraphicalViewer) GridLayout(org.eclipse.swt.layout.GridLayout) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ISelection(org.eclipse.jface.viewers.ISelection) ControlListener(org.eclipse.swt.events.ControlListener) PossibleStepEditPart(org.eclipse.gemoc.timeline.editpart.PossibleStepEditPart) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) FigureCanvas(org.eclipse.draw2d.FigureCanvas) Canvas(org.eclipse.swt.widgets.Canvas) FillLayout(org.eclipse.swt.layout.FillLayout) SashForm(org.eclipse.swt.custom.SashForm) ScalableFreeformRootEditPart(org.eclipse.gef.editparts.ScalableFreeformRootEditPart) Command(org.eclipse.core.commands.Command) State(org.eclipse.core.commands.State) RegistryToggleState(org.eclipse.ui.handlers.RegistryToggleState) ZoomListener(org.eclipse.gef.editparts.ZoomListener) GridData(org.eclipse.swt.layout.GridData) ControlEvent(org.eclipse.swt.events.ControlEvent) ITimelineWindowListener(org.eclipse.gemoc.timeline.model.ITimelineWindowListener) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 45 with Canvas

use of org.eclipse.swt.widgets.Canvas in project BiglyBT by BiglySoftware.

the class GeneralView method swt_refreshInfo.

private void swt_refreshInfo() {
    if (manager == null || parent == null || parent.isDisposed()) {
        ViewUtils.setViewRequiresOneDownload(genComposite);
        return;
    }
    Utils.disposeComposite(genComposite, false);
    piecesStateCache = new int[manager.getNbPieces()];
    piecesStateSkippedMarker = 0;
    piecesStateFileBoundariesDone = false;
    this.display = parent.getDisplay();
    gFile = new Composite(genComposite, SWT.SHADOW_OUT);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(gFile, gridData);
    GridLayout fileLayout = new GridLayout();
    fileLayout.marginHeight = 0;
    fileLayout.marginWidth = 10;
    fileLayout.numColumns = 3;
    gFile.setLayout(fileLayout);
    Label piecesInfo = new Label(gFile, SWT.LEFT);
    Messages.setLanguageText(piecesInfo, "GeneralView.section.downloaded");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    Utils.setLayoutData(piecesInfo, gridData);
    piecesImage = new Canvas(gFile, SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.widthHint = 150;
    gridData.heightHint = 25;
    Utils.setLayoutData(piecesImage, gridData);
    piecesPercent = new BufferedLabel(gFile, SWT.RIGHT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gridData.widthHint = 50;
    Utils.setLayoutData(piecesPercent, gridData);
    Label availabilityInfo = new Label(gFile, SWT.LEFT);
    Messages.setLanguageText(availabilityInfo, "GeneralView.section.availability");
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
    Utils.setLayoutData(availabilityInfo, gridData);
    availabilityImage = new Canvas(gFile, SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.widthHint = 150;
    gridData.heightHint = 25;
    Utils.setLayoutData(availabilityImage, gridData);
    Messages.setLanguageText(availabilityImage, "GeneralView.label.status.pieces_available.tooltip");
    availabilityPercent = new BufferedLabel(gFile, SWT.RIGHT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
    gridData.widthHint = 50;
    Utils.setLayoutData(availabilityPercent, gridData);
    Messages.setLanguageText(availabilityPercent.getWidget(), "GeneralView.label.status.pieces_available.tooltip");
    gTransfer = new Group(genComposite, SWT.SHADOW_OUT);
    // $NON-NLS-1$
    Messages.setLanguageText(gTransfer, "GeneralView.section.transfer");
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(gTransfer, gridData);
    GridLayout layoutTransfer = new GridLayout();
    layoutTransfer.numColumns = 6;
    gTransfer.setLayout(layoutTransfer);
    Label label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.timeelapsed");
    timeElapsed = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(timeElapsed, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.remaining");
    timeRemaining = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(timeRemaining, gridData);
    // $NON-NLS-1$
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.shareRatio");
    // $NON-NLS-1$
    shareRatio = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(shareRatio, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.downloaded");
    download = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(download, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.downloadspeed");
    downloadSpeed = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(downloadSpeed, gridData);
    // $NON-NLS-1$
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.hashfails");
    // $NON-NLS-1$
    hashFails = new BufferedLabel(gTransfer, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(hashFails, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.uploaded");
    upload = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(upload, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.uploadspeed");
    uploadSpeed = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 3;
    Utils.setLayoutData(uploadSpeed, gridData);
    // blah
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.seeds");
    seeds = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(seeds, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.peers");
    peers = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(peers, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.completed");
    completedLbl = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(completedLbl, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.totalspeed");
    totalSpeed = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(totalSpeed, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.swarm_average_completion");
    ave_completion = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(ave_completion, gridData);
    label = new Label(gTransfer, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.distributedCopies");
    distributedCopies = new BufferedLabel(gTransfer, SWT.LEFT | SWT.DOUBLE_BUFFERED);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(distributedCopies, gridData);
    // //////////////////////
    gInfo = new Group(genComposite, SWT.SHADOW_OUT);
    Messages.setLanguageText(gInfo, "GeneralView.section.info");
    gridData = new GridData(GridData.FILL_BOTH);
    Utils.setLayoutData(gInfo, gridData);
    GridLayout layoutInfo = new GridLayout();
    layoutInfo.numColumns = 4;
    gInfo.setLayout(layoutInfo);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.filename");
    fileName = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(fileName, gridData);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.status");
    torrentStatus = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(torrentStatus, gridData);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.savein");
    saveIn = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 3;
    Utils.setLayoutData(saveIn, gridData);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.totalsize");
    fileSize = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(fileSize, gridData);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.numberofpieces");
    pieceNumber = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(pieceNumber, gridData);
    label = new Label(gInfo, SWT.LEFT);
    // $NON-NLS-1$
    Messages.setLanguageText(label, "GeneralView.label.hash");
    hash = new BufferedLabel(gInfo, SWT.LEFT);
    Messages.setLanguageText(hash.getWidget(), "GeneralView.label.hash.tooltip", true);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(hash, gridData);
    // click on hash -> copy to clipboard
    hash.setCursor(display.getSystemCursor(SWT.CURSOR_HAND));
    hash.setForeground(Colors.blue);
    label.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDoubleClick(MouseEvent arg0) {
            String hash_str = hash.getText();
            if (hash_str != null && hash_str.length() != 0)
                new Clipboard(display).setContents(new Object[] { hash_str.replaceAll(" ", "") }, new Transfer[] { TextTransfer.getInstance() });
        }

        @Override
        public void mouseDown(MouseEvent arg0) {
            String hash_str = hash.getText();
            if (hash_str != null && hash_str.length() != 0)
                new Clipboard(display).setContents(new Object[] { hash_str.replaceAll(" ", "") }, new Transfer[] { TextTransfer.getInstance() });
        }
    });
    hash.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDoubleClick(MouseEvent arg0) {
            String hash_str = hash.getText();
            if (hash_str != null && hash_str.length() != 0)
                new Clipboard(display).setContents(new Object[] { hash_str.replaceAll(" ", "") }, new Transfer[] { TextTransfer.getInstance() });
        }

        @Override
        public void mouseDown(MouseEvent arg0) {
            String hash_str = hash.getText();
            if (hash_str != null && hash_str.length() != 0)
                new Clipboard(display).setContents(new Object[] { hash_str.replaceAll(" ", "") }, new Transfer[] { TextTransfer.getInstance() });
        }
    });
    label = new Label(gInfo, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.size");
    pieceSize = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(pieceSize, gridData);
    label = new Label(gInfo, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.creationdate");
    creation_date = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(creation_date, gridData);
    label = new Label(gInfo, SWT.LEFT);
    Messages.setLanguageText(label, "GeneralView.label.private");
    privateStatus = new BufferedLabel(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    Utils.setLayoutData(privateStatus, gridData);
    // empty row
    label = new Label(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 4;
    Utils.setLayoutData(label, gridData);
    label = new Label(gInfo, SWT.LEFT);
    label.setCursor(display.getSystemCursor(SWT.CURSOR_HAND));
    label.setForeground(Colors.blue);
    Messages.setLanguageText(label, "GeneralView.label.user_comment");
    try {
        user_comment = new Link(gInfo, SWT.LEFT | SWT.WRAP);
        ((Link) user_comment).addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                Utils.launch(e.text);
            }
        });
    } catch (Throwable e) {
        user_comment = new Label(gInfo, SWT.LEFT | SWT.WRAP);
    }
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalSpan = 3;
    Utils.setLayoutData(user_comment, gridData);
    label.addMouseListener(new MouseAdapter() {

        private void editComment() {
            TorrentUtil.promptUserForComment(new DownloadManager[] { manager });
        }

        @Override
        public void mouseDoubleClick(MouseEvent arg0) {
            editComment();
        }

        @Override
        public void mouseDown(MouseEvent arg0) {
            editComment();
        }
    });
    label = new Label(gInfo, SWT.LEFT);
    gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
    Utils.setLayoutData(label, gridData);
    Messages.setLanguageText(label, "GeneralView.label.comment");
    try {
        lblComment = new Link(gInfo, SWT.LEFT | SWT.WRAP);
        ((Link) lblComment).addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                Utils.launch(e.text);
            }
        });
    } catch (Throwable e) {
        lblComment = new Label(gInfo, SWT.LEFT | SWT.WRAP);
    }
    gridData = new GridData(GridData.FILL_BOTH);
    gridData.horizontalSpan = 3;
    Utils.setLayoutData(lblComment, gridData);
    piecesImage.addListener(SWT.Paint, new Listener() {

        @Override
        public void handleEvent(Event e) {
            if (pImage == null || pImage.isDisposed()) {
                return;
            }
            e.gc.drawImage(pImage, 0, 0);
        }
    });
    availabilityImage.addListener(SWT.Paint, new Listener() {

        @Override
        public void handleEvent(Event e) {
            if (aImage == null || aImage.isDisposed()) {
                return;
            }
            e.gc.drawImage(aImage, 0, 0);
        }
    });
    genComposite.layout();
    updateAvailability();
    updatePiecesInfo(true);
    Utils.updateScrolledComposite(scrolled_comp);
// Utils.changeBackgroundComposite(genComposite,MainWindow.getWindow().getBackground());
}
Also used : Group(org.eclipse.swt.widgets.Group) BufferedLabel(com.biglybt.ui.swt.components.BufferedLabel) MouseEvent(org.eclipse.swt.events.MouseEvent) UIPluginViewToolBarListener(com.biglybt.pif.ui.UIPluginViewToolBarListener) ParameterListener(com.biglybt.core.config.ParameterListener) Listener(org.eclipse.swt.widgets.Listener) Composite(org.eclipse.swt.widgets.Composite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) Canvas(org.eclipse.swt.widgets.Canvas) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) BufferedLabel(com.biglybt.ui.swt.components.BufferedLabel) Label(org.eclipse.swt.widgets.Label) MouseAdapter(org.eclipse.swt.events.MouseAdapter) DownloadManager(com.biglybt.core.download.DownloadManager) GridLayout(org.eclipse.swt.layout.GridLayout) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) MouseEvent(org.eclipse.swt.events.MouseEvent) Event(org.eclipse.swt.widgets.Event) UISWTViewEvent(com.biglybt.ui.swt.pif.UISWTViewEvent) ControlEvent(org.eclipse.swt.events.ControlEvent) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Clipboard(org.eclipse.swt.dnd.Clipboard) Link(org.eclipse.swt.widgets.Link)

Aggregations

Canvas (org.eclipse.swt.widgets.Canvas)108 GridData (org.eclipse.swt.layout.GridData)44 Composite (org.eclipse.swt.widgets.Composite)36 GridLayout (org.eclipse.swt.layout.GridLayout)35 PaintEvent (org.eclipse.swt.events.PaintEvent)34 PaintListener (org.eclipse.swt.events.PaintListener)33 Rectangle (org.eclipse.swt.graphics.Rectangle)32 Point (org.eclipse.swt.graphics.Point)31 Label (org.eclipse.swt.widgets.Label)29 Text (org.eclipse.swt.widgets.Text)23 Button (org.eclipse.swt.widgets.Button)21 Color (org.eclipse.swt.graphics.Color)20 Shell (org.eclipse.swt.widgets.Shell)20 MouseEvent (org.eclipse.swt.events.MouseEvent)17 FillLayout (org.eclipse.swt.layout.FillLayout)17 Event (org.eclipse.swt.widgets.Event)17 GC (org.eclipse.swt.graphics.GC)16 Group (org.eclipse.swt.widgets.Group)16 Listener (org.eclipse.swt.widgets.Listener)16 SelectionEvent (org.eclipse.swt.events.SelectionEvent)15