org.eclipse.jface.resource.FontDescriptor Java Examples

The following examples show how to use org.eclipse.jface.resource.FontDescriptor. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TitleRenderer.java    From neoscada with Eclipse Public License 1.0 6 votes vote down vote up
private Font createFont ( final ResourceManager resourceManager )
{
    final Font defaultFont = resourceManager.getDevice ().getSystemFont ();

    if ( defaultFont == null )
    {
        return null;
    }

    final FontData fd[] = FontDescriptor.copy ( defaultFont.getFontData () );
    if ( fd == null )
    {
        return null;
    }

    for ( final FontData f : fd )
    {
        if ( this.fontSize > 0 )
        {
            f.setHeight ( this.fontSize );
        }
    }
    return resourceManager.createFont ( FontDescriptor.createFrom ( fd ) );
}
 
Example #2
Source File: MultilineButton.java    From SWET with MIT License 6 votes vote down vote up
private Font createFont(final ResourceManager resourceManager) {
	final Font defaultFont = resourceManager.getDevice().getSystemFont();

	if (defaultFont == null) {
		return null;
	}

	final FontData fd[] = FontDescriptor.copy(defaultFont.getFontData());
	if (fd == null) {
		return null;
	}

	for (final FontData f : fd) {
		if (this.fontSize > 0) {
			f.setHeight(this.fontSize);
		}
	}
	return resourceManager.createFont(FontDescriptor.createFrom(fd));
}
 
Example #3
Source File: FontUtil.java    From google-cloud-eclipse with Apache License 2.0 6 votes vote down vote up
/**
 * Converts the font of the control by adding a single style bit, unless the font already have
 * that style.
 * <p>
 * If the font is converted, it will attach a {@link DisposeListener}
 * to the <code>control</code> to dispose the font when it's not needed anymore.
 * <p>
 * <em>If converting fonts is a frequent operation, this method will create
 * several {@link DisposeListener}s that can lead to high resource allocation</em>
 *
 * @param control whose font will be changed
 * @param style e.g. SWT.BOLD or SWT.ITALIC
 */
public static void convertFont(Control control, int style) {
  for (FontData fontData : control.getFont().getFontData()) {
    if (hasStyle(fontData, style)) {
      return;
    }
  }
  FontDescriptor fontDescriptor = FontDescriptor.createFrom(control.getFont()).setStyle(style);
  final Font newFont = fontDescriptor.createFont(control.getDisplay());
  control.setFont(newFont);
  control.addDisposeListener(new DisposeListener() {
    @Override
    public void widgetDisposed(DisposeEvent event) {
      newFont.dispose();
    }
  });
}
 
Example #4
Source File: NatTableCustomCellPainter.java    From elexis-3-core with Eclipse Public License 1.0 6 votes vote down vote up
private int drawTextPart(GC gc, int yStartPos, int xStartPos, TextPart text){
	Point textExtent = new Point(0, 0);
	if (text.getStyle() == TextPart.PartStyle.NORMAL) {
		textExtent = gc.stringExtent(text.getText());
		gc.drawText(text.getText(), xStartPos, yStartPos + spacing,
			SWT.DRAW_TRANSPARENT | SWT.DRAW_DELIMITER);
	} else if (text.getStyle() == TextPart.PartStyle.BOLD) {
		Font origFont = gc.getFont();
		FontDescriptor boldDescriptor =
			FontDescriptor.createFrom(gc.getFont()).setStyle(SWT.BOLD);
		Font boldFont = boldDescriptor.createFont(Display.getDefault());
		gc.setFont(boldFont);
		textExtent = gc.stringExtent(text.getText());
		gc.drawText(text.getText(), xStartPos, yStartPos + spacing,
			SWT.DRAW_TRANSPARENT | SWT.DRAW_DELIMITER);
		gc.setFont(origFont);
		boldFont.dispose();
	}
	return xStartPos + textExtent.x;
}
 
Example #5
Source File: ReminderView.java    From elexis-3-core with Eclipse Public License 1.0 6 votes vote down vote up
@Override
public Font getFont(Object element){
	if (element instanceof Reminder) {
		Reminder reminder = (Reminder) element;
		if (boldFont == null) {
			Display disp = Display.getCurrent();
			Font defaultFont = cv.getViewerWidget().getControl().getFont();
			FontDescriptor boldDescriptor =
				FontDescriptor.createFrom(defaultFont).setStyle(SWT.BOLD);
			boldFont = boldDescriptor.createFont(disp);
		}
		Priority prio = reminder.getPriority();
		if (Priority.HIGH == prio) {
			return boldFont;
		}
	}
	return null;
}
 
Example #6
Source File: TableViewerFontSize.java    From codeexamples-eclipse with Eclipse Public License 1.0 6 votes vote down vote up
@PostConstruct
public void postConstruct(Composite parent) {

	ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);

	TreeViewer viewer = new TreeViewer(parent);
	viewer.setContentProvider(new TreeContentProvider());
	viewer.getTree().setHeaderVisible(true);
	viewer.getTree().setLinesVisible(true);
	viewer.getTree().setFont(resourceManager.createFont(FontDescriptor.createFrom("Arial", 32, SWT.ITALIC)));

	TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
	viewerColumn.getColumn().setWidth(300);
	viewerColumn.getColumn().setText("Names");
	viewerColumn.setLabelProvider(new ColumnLabelProvider());

	viewer.setInput(new String[] { "Simon Scholz", "Lars Vogel", "Dirk Fauth", "Wim Jongman", "Tom Schindl" });

	GridLayoutFactory.fillDefaults().generateLayout(parent);
}
 
Example #7
Source File: CopiedWorkbenchLabelProvider.java    From Pydev with Eclipse Public License 1.0 6 votes vote down vote up
@Override
public Font getFont(Object element) {
    IWorkbenchAdapter2 adapter = getAdapter2(element);
    if (adapter == null) {
        return null;
    }

    FontData descriptor = adapter.getFont(element);
    if (descriptor == null) {
        return null;
    }

    try {
        return resourceManager.createFont(FontDescriptor.createFrom(descriptor));
    } catch (Exception e) {
        Log.log(e);
        return null;
    }

}
 
Example #8
Source File: SyntaxColoringLabel.java    From statecharts with Eclipse Public License 1.0 6 votes vote down vote up
protected int getTextExtend(Font font, String string) {
	if (string.isEmpty())
		return 0;
	if (zoom != 1.0) {
		FontData data = font.getFontData()[0];
		FontDescriptor newFontDescriptor = FontDescriptor.createFrom(font)
				.setHeight((int) (data.getHeight() * zoom));
		font = newFontDescriptor.createFont(Display.getDefault());
	}
	if (gc.getFont() != font)
		gc.setFont(font);
	int offset = gc.textExtent(string).x;
	if (zoom != 1.0) {
		font.dispose();
	}
	return (int) Math.ceil((offset / zoom));
}
 
Example #9
Source File: XtextDirectEditManager.java    From statecharts with Eclipse Public License 1.0 6 votes vote down vote up
/**
 * Given a label figure object, this will calculate the correct Font needed
 * to display into screen coordinates, taking into account the current
 * mapmode. This will typically be used by direct edit cell editors that
 * need to display independent of the zoom or any coordinate mapping that is
 * taking place on the drawing surface.
 * 
 * @param label
 *            the label to use for the font calculation
 * @return the <code>Font</code> that is scaled to the screen coordinates.
 *         Note: the returned <code>Font</code> should not be disposed since
 *         it is cached by a common resource manager.
 */
protected Font getScaledFont(IFigure label) {
	Font scaledFont = label.getFont();
	FontData data = scaledFont.getFontData()[0];
	Dimension fontSize = new Dimension(0, MapModeUtil.getMapMode(label).DPtoLP(data.getHeight()));
	label.translateToAbsolute(fontSize);

	if (Math.abs(data.getHeight() - fontSize.height) < 2)
		fontSize.height = data.getHeight();

	try {
		FontDescriptor fontDescriptor = FontDescriptor.createFrom(data);
		cachedFontDescriptors.add(fontDescriptor);
		return getResourceManager().createFont(fontDescriptor);
	} catch (DeviceResourceException e) {
		Trace.catching(DiagramUIPlugin.getInstance(), DiagramUIDebugOptions.EXCEPTIONS_CATCHING, getClass(),
				"getScaledFont", e); //$NON-NLS-1$
		Log.error(DiagramUIPlugin.getInstance(), DiagramUIStatusCodes.IGNORED_EXCEPTION_WARNING, "getScaledFont", e); //$NON-NLS-1$
	}
	return JFaceResources.getDefaultFont();
}
 
Example #10
Source File: PyEdit.java    From Pydev with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * Used in the script pyedit_list_bindings.py
 */
public Font getFont(FontData descriptor) throws DeviceResourceException {
    Font font = getResourceManager().createFont(FontDescriptor.createFrom(descriptor));

    //        Old implementation (for Eclipse 3.3)
    //        Font font = (Font) SWTResourceUtil.getFontTable().get(descriptor);
    //        if (font == null) {
    //            font = new Font(Display.getCurrent(), descriptor);
    //            SWTResourceUtil.getFontTable().put(descriptor, font);
    //        }
    return font;
}
 
Example #11
Source File: WorkbenchLabelProvider.java    From translationstudio8 with GNU General Public License v2.0 5 votes vote down vote up
public Font getFont(Object element) {
	IWorkbenchAdapter2 adapter = getAdapter2(element);
	if (adapter == null) {
		return null;
	}

	FontData descriptor = adapter.getFont(element);
	if (descriptor == null) {
		return null;
	}

	return (Font) getResourceManager().get(FontDescriptor.createFrom(descriptor));
}
 
Example #12
Source File: AvailableCordovaEnginesSection.java    From thym with Eclipse Public License 1.0 5 votes vote down vote up
@Override
public Font getFont(Object element) {
	if (!engineList.getChecked(element))
		return null;
	if (boldFont == null) {
		FontDescriptor fontDescriptor = JFaceResources.getDialogFontDescriptor();
		fontDescriptor = fontDescriptor.setStyle(SWT.BOLD);
		boldFont = fontDescriptor.createFont(Display.getCurrent());
	}
	return boldFont;
}
 
Example #13
Source File: CordovaPluginWizardResources.java    From thym with Eclipse Public License 1.0 5 votes vote down vote up
private FontDescriptor createFontDescriptor(int style, float heightMultiplier) {
	Font baseFont = JFaceResources.getDialogFont();
	FontData[] fontData = baseFont.getFontData();
	FontData[] newFontData = new FontData[fontData.length];
	for (int i = 0; i < newFontData.length; i++) {
		newFontData[i] = new FontData(fontData[i].getName(), (int) (fontData[i].getHeight() * heightMultiplier), fontData[i].getStyle() | style);
	}
	return FontDescriptor.createFrom(newFontData);
}
 
Example #14
Source File: WorkbenchLabelProvider.java    From tmxeditor8 with GNU General Public License v2.0 5 votes vote down vote up
public Font getFont(Object element) {
	IWorkbenchAdapter2 adapter = getAdapter2(element);
	if (adapter == null) {
		return null;
	}

	FontData descriptor = adapter.getFont(element);
	if (descriptor == null) {
		return null;
	}

	return (Font) getResourceManager().get(FontDescriptor.createFrom(descriptor));
}
 
Example #15
Source File: BibtexEditor.java    From slr-toolkit with Eclipse Public License 1.0 5 votes vote down vote up
private void createPageLabel(Composite composite, GridData gridData) {
	Label label = new Label(composite, SWT.LEFT);
	label.setText(document.getTitle());
	FontDescriptor boldDescriptor = FontDescriptor.createFrom(label.getFont()).setStyle(SWT.BOLD);
	Font boldFont = boldDescriptor.createFont(label.getDisplay());
	label.setFont(boldFont);
	label.setLayoutData(gridData);
}
 
Example #16
Source File: StylerHelpers.java    From goclipse with Eclipse Public License 1.0 5 votes vote down vote up
@Override
public void applyStyles(TextStyle textStyle) {
	if(parentStyler != null) {
		parentStyler.applyStyles(textStyle);
	}
	
	Font font = textStyle.font;
	if(font == null) {
		font = JFaceResources.getDefaultFont(); 
	}
	FontDescriptor fontDescriptor = FontDescriptor.createFrom(font);
	fontDescriptor = getModifiedFontDescriptor(fontDescriptor);
	textStyle.font = fontDescriptor.createFont(Display.getCurrent());
}
 
Example #17
Source File: SWTUtil.java    From arx with Apache License 2.0 5 votes vote down vote up
/**
 * Changes a control's font
 * @param control
 * @param style
 */
public static void changeFont(Control control, int style) {
    FontDescriptor boldDescriptor = FontDescriptor.createFrom(control.getFont()).setStyle(style);
    final Font boldFont = boldDescriptor.createFont(control.getDisplay());
    control.setFont(boldFont);
    control.addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent arg0) {
            if (boldFont != null && !boldFont.isDisposed()) {
                boldFont.dispose();
            }
        }
        
    });
}
 
Example #18
Source File: ColorStyler.java    From olca-app with Mozilla Public License 2.0 5 votes vote down vote up
private Font getFont() {
	if (font != null)
		return font;
	FontDescriptor desc = FontDescriptor.createFrom(
			Display.getCurrent().getSystemFont()).setStyle(SWT.ITALIC);
	font = desc.createFont(Display.getCurrent());
	return font;
}
 
Example #19
Source File: CodewindNavigatorLabelProvider.java    From codewind-eclipse with Eclipse Public License 2.0 5 votes vote down vote up
@Override
public void applyStyles(final TextStyle textStyle)
{
    FontDescriptor boldDescriptor = FontDescriptor.createFrom(new FontData()).setStyle(SWT.BOLD);
    Font boldFont = boldDescriptor.createFont(Display.getCurrent());
    textStyle.font = boldFont;
}
 
Example #20
Source File: XtextDirectEditManager.java    From statecharts with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * This method obtains the fonts that are being used by the figure at its
 * zoom level.
 * 
 * @param gep
 *            the associated <code>GraphicalEditPart</code> of the figure
 * @param actualFont
 *            font being used by the figure
 * @param display
 * @return <code>actualFont</code> if zoom level is 1.0 (or when there's an
 *         error), new Font otherwise.
 */
private Font getZoomLevelFont(Font actualFont, Display display) {
	Object zoom = getEditPart().getViewer().getProperty(ZoomManager.class.toString());

	if (zoom != null) {
		double zoomLevel = ((ZoomManager) zoom).getZoom();

		if (zoomLevel == 1.0f)
			return actualFont;

		FontData[] fd = new FontData[actualFont.getFontData().length];
		FontData tempFD = null;

		for (int i = 0; i < fd.length; i++) {
			tempFD = actualFont.getFontData()[i];

			fd[i] = new FontData(tempFD.getName(), (int) (zoomLevel * tempFD.getHeight()), tempFD.getStyle());
		}

		try {
			FontDescriptor fontDescriptor = FontDescriptor.createFrom(fd);
			cachedFontDescriptors.add(fontDescriptor);
			return getResourceManager().createFont(fontDescriptor);
		} catch (DeviceResourceException e) {
			Trace.catching(DiagramUIPlugin.getInstance(), DiagramUIDebugOptions.EXCEPTIONS_CATCHING, getClass(),
					"getZoomLevelFonts", e); //$NON-NLS-1$
			Log.error(DiagramUIPlugin.getInstance(), DiagramUIStatusCodes.IGNORED_EXCEPTION_WARNING,
					"getZoomLevelFonts", e); //$NON-NLS-1$

			return actualFont;
		}
	} else
		return actualFont;
}
 
Example #21
Source File: XtextDirectEditManager.java    From statecharts with Eclipse Public License 1.0 5 votes vote down vote up
/**
 * @see org.eclipse.gef.tools.DirectEditManager#bringDown()
 */
protected void bringDown() {
	if (proposalPopupForegroundColor != null) {
		proposalPopupForegroundColor.dispose();
		proposalPopupForegroundColor = null;
	}
	if (proposalPopupBackgroundColor != null) {
		proposalPopupBackgroundColor.dispose();
		proposalPopupBackgroundColor = null;
	}

	// myee - RATLC00523014: crashes when queued in asyncExec()
	eraseFeedback();

	initialString = new StringBuffer();

	Display.getCurrent().asyncExec(new Runnable() {

		public void run() {
			// Content Assist hack - allow proper cleanup on childen
			// controls
			XtextDirectEditManager.super.bringDown();
		}
	});

	for (Iterator<FontDescriptor> iter = cachedFontDescriptors.iterator(); iter.hasNext();) {
		getResourceManager().destroyFont((FontDescriptor) iter.next());
	}
	cachedFontDescriptors.clear();

	if (actionHandler != null) {
		actionHandler.dispose();
		actionHandler = null;
	}
	if (actionBars != null) {
		restoreSavedActions(actionBars);
		actionBars.updateActionBars();
		actionBars = null;
	}
}
 
Example #22
Source File: AddAnalysisDialog.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
private static Label createErrorLabel(Composite parent) {
    final Label label = new Label(parent, SWT.WRAP);
    Color color = new Color(parent.getDisplay(), 0xe7, 0x4c, 0x3c);
    label.setForeground(color);
    final FontDescriptor fd = FontDescriptor.createFrom(parent.getFont());
    Font font = fd.createFont(parent.getDisplay());
    label.setFont(font);

    label.addDisposeListener(e -> {
        color.dispose();
        fd.destroyFont(font);
    });

    return label;
}
 
Example #23
Source File: AddAnalysisDialog.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
private static void createSubtitleLabel(Composite parent, String text) {
    final Label label = new Label(parent, SWT.WRAP);
    label.setText(text + ':');
    final FontDescriptor boldDescriptor = FontDescriptor.createFrom(parent.getFont()).setStyle(SWT.BOLD);
    final Font boldFont = boldDescriptor.createFont(parent.getDisplay());
    label.setFont(boldFont);
    label.addDisposeListener(event -> boldDescriptor.destroyFont(boldFont));
}
 
Example #24
Source File: DefaultTimelineStyleProvider.java    From nebula with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Get the font for a selected figure.
 *
 * @param figure
 *            figure to get font for
 * @return bold font
 */
private Font getSelectedFont(IFigure figure) {
	if (fDefaultFont == null)
		fDefaultFont = figure.getFont();

	if (fSelectedFont == null) {
		FontDescriptor fontDescriptor = FontDescriptor.createFrom(fDefaultFont).setStyle(SWT.BOLD);
		fontDescriptor = fontDescriptor.setHeight((int) (fDefaultFont.getFontData()[0].getHeight() * 1.4));
		fSelectedFont = fResourceManager.createFont(fontDescriptor);
	}

	return fSelectedFont;
}
 
Example #25
Source File: MigrationTaskView.java    From depan with Apache License 2.0 4 votes vote down vote up
/**
 * Construct the GUI under the given parent.
 *
 * @param parent the parent Composite.
 * @return the top level widget.
 */
private Composite setupComposite(Composite parent) {
  // widgets
  Composite topLevel = new Composite(parent, SWT.NONE);

  Label labelId = new Label(topLevel, SWT.NONE);
  id = new Label(topLevel, SWT.NONE);
  Label labelName = new Label(topLevel, SWT.NONE);
  name = new Label(topLevel, SWT.NONE);
  Label labelDescription = new Label(topLevel, SWT.NONE);
  description = new Label(topLevel, SWT.NONE);
  Label labelQuarter = new Label(topLevel, SWT.NONE);
  quarter = new Label(topLevel, SWT.NONE);
  Label labelUpdatedBy = new Label(topLevel, SWT.NONE);
  updatedBy = new Label(topLevel, SWT.NONE);

  // content
  labelId.setText("ID");
  labelName.setText("Name");
  labelDescription.setText("Description");
  labelQuarter.setText("Quarter");
  labelUpdatedBy.setText("Updated by");

  // layout
  GridLayout layout = new GridLayout(2, false);
  layout.horizontalSpacing = 22;
  layout.verticalSpacing = 9;
  topLevel.setLayout(layout);
  id.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
  name.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
  description.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
  quarter.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
  updatedBy.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

  Font font = name.getFont();
  FontDescriptor bold = FontDescriptor.createFrom(font);
  bold = bold.setStyle(SWT.BOLD);
  FontDescriptor big = bold.setHeight(18);
  Font boldFont = bold.createFont(font.getDevice());

  name.setFont(big.createFont(font.getDevice()));
  id.setFont(boldFont);
  description.setFont(boldFont);
  quarter.setFont(boldFont);
  updatedBy.setFont(boldFont);

  return topLevel;
}
 
Example #26
Source File: PriorityFigure.java    From statecharts with Eclipse Public License 1.0 4 votes vote down vote up
protected Font createFont(int priority) {
	return JFaceResources.getResources().createFont(
			FontDescriptor.createFrom(FontScalingUtil.scaleFont(priority > 9 ? SMALL_FONT : NORMAL_FONT)));
}
 
Example #27
Source File: SamplePart.java    From codeexamples-eclipse with Eclipse Public License 1.0 4 votes vote down vote up
@PostConstruct
public void createComposite(Composite parent) {
	addFonts(display);
	
	ResourceManager resManager = 
			  new LocalResourceManager(JFaceResources.getResources(), parent);
	FontDescriptor fontDescriptor = FontDescriptor.createFrom("Roboto-ThinItalic", 11, SWT.NORMAL);

	Font font = resManager.createFont(fontDescriptor);
	parent.setLayout(new GridLayout(1, false));
	
	txtInput = new Text(parent, SWT.BORDER);
	txtInput.setFont(font);
	txtInput.setMessage("Enter text to mark part as dirty");
	txtInput.addModifyListener(new ModifyListener() {
		@Override
		public void modifyText(ModifyEvent e) {
			dirty.setDirty(true);
		}
	});
	FontData fd = txtInput.getFont().getFontData()[0];
	txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
	
	Text txtInput2 = new Text(parent, SWT.BORDER);
	txtInput2.setMessage("Enter text to mark part as dirty");
	txtInput2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
	Button button = new Button(parent, SWT.PUSH);
	button.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
	button.setFont(font);
	button.setText("Press me");
	
	
	
	Button button2 = new Button(parent, SWT.PUSH);
	button2.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
	button2.setText("Press me");

	tableViewer = new TableViewer(parent);

	tableViewer.setContentProvider(ArrayContentProvider.getInstance());;
	tableViewer.setInput(createInitialDataModel());
	tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
}
 
Example #28
Source File: SyntaxColoringLabel.java    From statecharts with Eclipse Public License 1.0 4 votes vote down vote up
protected void setBoldFont(Font f) {
	if (boldFont != null)
		boldFont.dispose();
	FontDescriptor boldDescriptor = FontDescriptor.createFrom(getFont()).setStyle(SWT.BOLD);
	boldFont = boldDescriptor.createFont(Display.getDefault());
}
 
Example #29
Source File: StylerHelpers.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected FontDescriptor getModifiedFontDescriptor(FontDescriptor fontDescriptor) {
	return fontDescriptor.setStyle(SWT.ITALIC);
}
 
Example #30
Source File: StylerHelpers.java    From goclipse with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected FontDescriptor getModifiedFontDescriptor(FontDescriptor fontDescriptor) {
	return fontDescriptor.setStyle(SWT.BOLD);
}