private void ensureBoldFontPresent(Font regularFont) { Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) return; boldFont = FormFonts.getInstance().getBoldFont(getDisplay(), regularFont); resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont); }
private void ensureBoldFontPresent(Font regularFont) { Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) return; boldFont = FormFonts.getInstance().getBoldFont(getDisplay(), regularFont); resourceTable.put(FormTextModel.BOLD_FONT_ID, boldFont); }
private void disposeResourceTable(boolean disposeBoldFont) { if (disposeBoldFont) { Font boldFont = (Font) resourceTable .get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } } ArrayList<String> imagesToRemove = new ArrayList<>(); for (Enumeration<String> enm = resourceTable.keys(); enm.hasMoreElements();) { String key = enm.nextElement(); if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) { Object obj = resourceTable.get(key); if (obj instanceof Image) { Image image = (Image) obj; if (!image.isDisposed()) { image.dispose(); imagesToRemove.add(key); } } } } for (int i = 0; i < imagesToRemove.size(); i++) { resourceTable.remove(imagesToRemove.get(i)); } }
private void disposeResourceTable(boolean disposeBoldFont) { if (disposeBoldFont) { Font boldFont = (Font) resourceTable .get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } } ArrayList<String> imagesToRemove = new ArrayList<>(); for (Enumeration<String> enm = resourceTable.keys(); enm.hasMoreElements();) { String key = enm.nextElement(); if (key.startsWith(ImageSegment.SEL_IMAGE_PREFIX)) { Object obj = resourceTable.get(key); if (obj instanceof Image) { Image image = (Image) obj; if (!image.isDisposed()) { image.dispose(); imagesToRemove.add(key); } } } } for (int i = 0; i < imagesToRemove.size(); i++) { resourceTable.remove(imagesToRemove.get(i)); } }
@Override public void widgetSelected(SelectionEvent e) { if (e.widget == copyQNameItem) { Clipboard clipboard = null; try { clipboard = new Clipboard(formText.getDisplay()); clipboard.setContents(new Object[] {((String) formText.getSelectedLinkHref()).substring(CLASS_PROTOCOL_PREFIX.length())}, new Transfer[] {TextTransfer.getInstance()}); } finally { if (clipboard != null) clipboard.dispose(); } } } };
/** * Sets the font to use to render the default text (text that does not have * special font property assigned). Bold font will be constructed from this * font. * * @param font * the default font to use */ @Override public void setFont(Font font) { super.setFont(font); model.clearCache(null); Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } ensureBoldFontPresent(getFont()); }
private void notifySelectionChanged() { Event event = new Event(); event.widget = this; event.display = this.getDisplay(); event.type = SWT.Selection; notifyListeners(SWT.Selection, event); // A listener could have caused the widget to be disposed if (!isDisposed()) { getAccessible().selectionChanged(); } }
/** * Sets the font to use to render the default text (text that does not have * special font property assigned). Bold font will be constructed from this * font. * * @param font * the default font to use */ @Override public void setFont(Font font) { super.setFont(font); model.clearCache(null); Font boldFont = (Font) resourceTable.get(FormTextModel.BOLD_FONT_ID); if (boldFont != null) { FormFonts.getInstance().markFinished(boldFont, getDisplay()); resourceTable.remove(FormTextModel.BOLD_FONT_ID); } ensureBoldFontPresent(getFont()); }
private void notifySelectionChanged() { Event event = new Event(); event.widget = this; event.display = this.getDisplay(); event.type = SWT.Selection; notifyListeners(SWT.Selection, event); // A listener could have caused the widget to be disposed if (!isDisposed()) { getAccessible().selectionChanged(); } }
private void computeSelection() { GC gc = new GC(this); Paragraph[] paragraphs = model.getParagraphs(); IHyperlinkSegment selectedLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) selectedLink = null; for (int i = 0; i < paragraphs.length; i++) { Paragraph p = paragraphs[i]; p.computeSelection(gc, resourceTable, selectedLink, selData); } gc.dispose(); }
/** * Copies the selected text into the clipboard. Does nothing if no text is * selected or the text cannot be copied for any other reason. * * @since 3.1 */ public void copy() { if (!canCopy()) return; Clipboard clipboard = new Clipboard(getDisplay()); Object[] o = new Object[] { getSelectionText() }; Transfer[] t = new Transfer[] { TextTransfer.getInstance() }; clipboard.setContents(o, t); clipboard.dispose(); }
/** * Copies the selected text into the clipboard. Does nothing if no text is * selected or the text cannot be copied for any other reason. * * @since 3.1 */ public void copy() { if (!canCopy()) return; Clipboard clipboard = new Clipboard(getDisplay()); Object[] o = new Object[] { getSelectionText() }; Transfer[] t = new Transfer[] { TextTransfer.getInstance() }; clipboard.setContents(o, t); clipboard.dispose(); }
private void computeSelection() { GC gc = new GC(this); Paragraph[] paragraphs = model.getParagraphs(); IHyperlinkSegment selectedLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) selectedLink = null; for (int i = 0; i < paragraphs.length; i++) { Paragraph p = paragraphs[i]; if (i > 0) selData.markNewLine(); p.computeSelection(gc, resourceTable, selectedLink, selData); } gc.dispose(); }
private void repaint(GC gc, int x, int y, int width, int height) { Image textBuffer = new Image(getDisplay(), width, height); Color bg = getBackground(); Color fg = getForeground(); if (!getEnabled()) { bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); fg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW); } GC textGC = new GC(textBuffer, gc.getStyle()); textGC.setForeground(fg); textGC.setBackground(bg); textGC.setFont(getFont()); textGC.fillRectangle(0, 0, width, height); Rectangle repaintRegion = new Rectangle(x, y, width, height); Paragraph[] paragraphs = model.getParagraphs(); IHyperlinkSegment selectedLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) selectedLink = null; for (Paragraph p : paragraphs) { p .paint(textGC, repaintRegion, resourceTable, selectedLink, selData); } if (hasFocus && !model.hasFocusSegments()) textGC.drawFocus(x, y, width, height); textGC.dispose(); gc.drawImage(textBuffer, x, y); textBuffer.dispose(); }
private void repaint(GC gc, int x, int y, int width, int height) { Image textBuffer = new Image(getDisplay(), width, height); Color bg = getBackground(); Color fg = getForeground(); if (!getEnabled()) { bg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); fg = getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW); } GC textGC = new GC(textBuffer, gc.getStyle()); textGC.setForeground(fg); textGC.setBackground(bg); textGC.setFont(getFont()); textGC.fillRectangle(0, 0, width, height); Rectangle repaintRegion = new Rectangle(x, y, width, height); Paragraph[] paragraphs = model.getParagraphs(); IHyperlinkSegment selectedLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) selectedLink = null; for (Paragraph p : paragraphs) { p .paint(textGC, repaintRegion, resourceTable, selectedLink, selData); } if (hasFocus && !model.hasFocusSegments()) textGC.drawFocus(x, y, width, height); textGC.dispose(); gc.drawImage(textBuffer, x, y); textBuffer.dispose(); }
if (segmentUnder != null) { IHyperlinkSegment oldLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) { setFocus();
if (segmentUnder != null) { IHyperlinkSegment oldLink = getSelectedLink(); if (getDisplay().getFocusControl() != this) { setFocus();