Java Code Examples for org.eclipse.jface.resource.FontDescriptor#createFrom()

The following examples show how to use org.eclipse.jface.resource.FontDescriptor#createFrom() . 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: 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 2
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 3
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 4
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 5
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 6
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 7
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));
}