Bug 150597 Patch that adds enhancements to GridDataFactory
bundles/org.eclipse.jface/src/org/eclipse/jface/layout/LayoutGenerator.java
/**
     * Default size for controls with varying contents
     */
    private static final Point defaultSize = new Point(150, 150);
    /**
     * Default wrapping size for wrapped labels
     */
    private static final int wrapSize = 350;
    private static final GridDataFactory nonWrappingLabelData = GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).grab(false, false);
    private static boolean hasStyle(Control c, int style) {
        return (c.getStyle() & style) != 0;
    }
    /**
     * Generates a GridLayout for the given composite by examining its child
     * controls and attaching layout data to any immediate children that do not
     * already have layout data.
     * 
     * @param toGenerate
     *            composite to generate a layout for
     * @param columns
     *            number of columns for the layout
     */
    public static void generateLayout(Composite toGenerate) {
        Control[] children = toGenerate.getChildren();
        for (int i = 0; i < children.length; i++) {
            Control control = children[i];