Bug 544503: Added font to ControlFactory Change-Id: Ib9b591ac2df3701512f8ee93c3c48a863b3e9ad0 Signed-off-by: Marcus Hoepfner <marcus.hoepfner@sap.com>
diff --git a/bundles/org.eclipse.jface/src/org/eclipse/jface/widgets/ControlFactory.java b/bundles/org.eclipse.jface/src/org/eclipse/jface/widgets/ControlFactory.java index 1d41f72..78df81017 100644 --- a/bundles/org.eclipse.jface/src/org/eclipse/jface/widgets/ControlFactory.java +++ b/bundles/org.eclipse.jface/src/org/eclipse/jface/widgets/ControlFactory.java
@@ -19,6 +19,7 @@ import java.util.function.Function; import java.util.function.Supplier; +import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -97,6 +98,18 @@ } /** + * Sets the font. + * + * @param font + * + * @return this + */ + public F font(Font font) { + addProperty(c -> c.setFont(font)); + return cast(this); + } + + /** * Casts to the concrete instance of factory class. Needs to be called by * abstract factory classes. *
diff --git a/tests/org.eclipse.jface.tests/src/org/eclipse/jface/widgets/TestUnitControlFactory.java b/tests/org.eclipse.jface.tests/src/org/eclipse/jface/widgets/TestUnitControlFactory.java index 500f2be..3133387 100644 --- a/tests/org.eclipse.jface.tests/src/org/eclipse/jface/widgets/TestUnitControlFactory.java +++ b/tests/org.eclipse.jface.tests/src/org/eclipse/jface/widgets/TestUnitControlFactory.java
@@ -23,6 +23,8 @@ import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Label; import org.junit.Test; @@ -54,12 +56,19 @@ @Test public void createsControlWithProperties() { - Label label = TestFactory.newTest().tooltip("toolTip").enabled(false).layoutData(() -> new GridData()) + Font font = new Font(null, new FontData()); + + Label label = TestFactory.newTest() // + .tooltip("toolTip") // + .enabled(false) // + .layoutData(GridData::new) // + .font(font) // .create(shell); assertFalse(label.getEnabled()); assertEquals("toolTip", label.getToolTipText()); assertTrue(label.getLayoutData() instanceof GridData); + assertEquals(font, label.getFont()); } @Test