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);
}
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;
}
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);
}
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();
}
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());
}
Aggregations