1765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/******************************************************************************* 2765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Copyright (c) 2005, 2011 IBM Corporation and others. 3765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * All rights reserved. This program and the accompanying materials 4765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * are made available under the terms of the Eclipse Public License v1.0 5765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * which accompanies this distribution, and is available at 6765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * http://www.eclipse.org/legal/epl-v10.html 7765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 8765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Contributors: 9765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * IBM Corporation - initial API and implementation 10765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *******************************************************************************/ 11765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepackage org.eclipse.wb.internal.core.utils.ui; 12765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 13765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.graphics.Point; 14765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.layout.GridData; 15765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.widgets.Control; 16765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 17765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/** 18765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * This class provides a convienient shorthand for creating and initializing GridData. This offers 19765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * several benefits over creating GridData normal way: 20765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 21765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <ul> 22765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <li>The same factory can be used many times to create several GridData instances</li> 23765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <li>The setters on GridDataFactory all return "this", allowing them to be chained</li> 24765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <li>GridDataFactory uses vector setters (it accepts Points), making it easy to set X and Y values 25765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * together</li> 26765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * </ul> 27765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 28765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <p> 29765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridDataFactory instances are created using one of the static methods on this class. 30765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * </p> 31765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 32765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <p> 33765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Example usage: 34765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * </p> 35765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <code> 36765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 37765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * //////////////////////////////////////////////////////////// 38765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Example 1: Typical grid data for a non-wrapping label 39765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 40765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // GridDataFactory version 41765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridDataFactory.fillDefaults().applyTo(myLabel); 42765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 43765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Equivalent SWT version 44765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridData labelData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); 45765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * myLabel.setLayoutData(labelData); 46765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 47765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * /////////////////////////////////////////////////////////// 48765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Example 2: Typical grid data for a wrapping label 49765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 50765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // GridDataFactory version 51765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridDataFactory.fillDefaults() 52765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * .align(SWT.FILL, SWT.CENTER) 53765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * .hint(150, SWT.DEFAULT) 54765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * .grab(true, false) 55765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * .applyTo(wrappingLabel); 56765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 57765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Equivalent SWT version 58765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridData wrappingLabelData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); 59765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * wrappingLabelData.minimumWidth = 1; 60765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * wrappingLabelData.widthHint = 150; 61765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * wrappingLabel.setLayoutData(wrappingLabelData); 62765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 63765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * ////////////////////////////////////////////////////////////// 64765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Example 3: Typical grid data for a scrollable control (a list box, tree, table, etc.) 65765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 66765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // GridDataFactory version 67765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridDataFactory.fillDefaults().grab(true, true).hint(150, 150).applyTo(listBox); 68765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 69765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Equivalent SWT version 70765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridData listBoxData = new GridData(GridData.FILL_BOTH); 71765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * listBoxData.widthHint = 150; 72765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * listBoxData.heightHint = 150; 73765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * listBoxData.minimumWidth = 1; 74765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * listBoxData.minimumHeight = 1; 75765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * listBox.setLayoutData(listBoxData); 76765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 77765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * ///////////////////////////////////////////////////////////// 78765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Example 4: Typical grid data for a button 79765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 80765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // GridDataFactory version 81765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false); 82765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize); 83765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).hint(hint).applyTo(button); 84765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 85765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * // Equivalent SWT version 86765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Point preferredSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, false); 87765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Point hint = Geometry.max(LayoutConstants.getMinButtonSize(), preferredSize); 88765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * GridData buttonData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER); 89765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * buttonData.widthHint = hint.x; 90765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * buttonData.heightHint = hint.y; 91765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * button.setLayoutData(buttonData); 92765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * </code> 93765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 94765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * <p> 95765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * IMPORTANT: WHEN ASSIGNING LAYOUT DATA TO A CONTROL, BE SURE TO USE 96765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * gridDataFactory.applyTo(control) AND NEVER control.setLayoutData(gridDataFactory). 97765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * </p> 98765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 99765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @since 3.2 100765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 101765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepublic final class GridDataFactory { 102765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private final Control m_control; 103765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private final PixelConverter m_pixelConverter; 104765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private final GridData m_data; 105765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 106765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 107765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 108765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Constructor 109765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 110765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 111765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private GridDataFactory(Control control, GridData gridData) { 112765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_control = control; 113765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_pixelConverter = new PixelConverter(m_control); 114765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 115765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data = gridData; 116765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye if (m_control.getLayoutData() != m_data) { 117765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_control.setLayoutData(m_data); 118765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 119765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 120765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 121765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 122765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Creates new {@link GridDataFactory} with new {@link GridData}. 123765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 124765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public static GridDataFactory create(Control control) { 125765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return new GridDataFactory(control, new GridData()); 126765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 127765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 128765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 129765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Creates new {@link GridDataFactory} for modifying {@link GridData} already installed in 130765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * control. 131765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 132765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public static GridDataFactory modify(Control control) { 133765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye GridData gridData; 134765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye { 135765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Object existingLayoutData = control.getLayoutData(); 136765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye if (existingLayoutData instanceof GridData) { 137765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye gridData = (GridData) existingLayoutData; 138765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } else { 139765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye gridData = new GridData(); 140765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 141765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 142765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return new GridDataFactory(control, gridData); 143765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 144765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 145765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 146765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 147765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Span 148765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 149765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 150765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 151765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the GridData span. The span controls how many cells are filled by the control. 152765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 153765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param hSpan 154765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * number of columns spanned by the control 155765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param vSpan 156765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * number of rows spanned by the control 157765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 158765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 159765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory span(int hSpan, int vSpan) { 160765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalSpan = hSpan; 161765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.verticalSpan = vSpan; 162765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 163765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 164765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 165765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 166765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the GridData span. The span controls how many cells are filled by the control. 167765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 168765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param hSpan 169765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * number of columns spanned by the control 170765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 171765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 172765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory spanH(int hSpan) { 173765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalSpan = hSpan; 174765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 175765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 176765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 177765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 178765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the GridData span. The span controls how many cells are filled by the control. 179765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 180765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param vSpan 181765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * number of rows spanned by the control 182765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 183765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 184765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory spanV(int vSpan) { 185765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.verticalSpan = vSpan; 186765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 187765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 188765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 189765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 190765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 191765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Hint 192765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 193765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 194765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 195765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width and height hints. The width and height hints override the control's preferred 196765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * size. If either hint is set to SWT.DEFAULT, the control's preferred size is used. 197765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 198765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param xHint 199765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * horizontal hint (pixels), or SWT.DEFAULT to use the control's preferred size 200765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param yHint 201765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * vertical hint (pixels), or SWT.DEFAULT to use the control's preferred size 202765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 203765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 204765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hint(int xHint, int yHint) { 205765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.widthHint = xHint; 206765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.heightHint = yHint; 207765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 208765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 209765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 210765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 211765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets hint in chars. 212765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 213765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintC(int xHintInChars, int yHintInChars) { 214765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye hintHC(xHintInChars); 215765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye hintVC(yHintInChars); 216765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 217765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 218765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 219765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 220765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width hint. 221765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 222765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 223765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 224765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintH(int xHint) { 225765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.widthHint = xHint; 226765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 227765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 228765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 229765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 230765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width hint to the minimum of current hint and given <code>otherHint</code>. 231765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 232765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 233765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 234765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintHMin(int otherHint) { 235765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.widthHint = Math.min(m_data.widthHint, otherHint); 236765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 237765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 238765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 239765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 240765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width hint in chars. 241765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 242765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 243765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 244765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintHC(int hintInChars) { 245765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return hintH(m_pixelConverter.convertWidthInCharsToPixels(hintInChars)); 246765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 247765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 248765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 249765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width hint. 250765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 251765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 252765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 253765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintHU(int hintInDLU) { 254765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return hintH(m_pixelConverter.convertHorizontalDLUsToPixels(hintInDLU)); 255765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 256765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 257765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 258765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the height hint. 259765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 260765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 261765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 262765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintV(int yHint) { 263765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.heightHint = yHint; 264765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 265765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 266765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 267765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 268765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the height hint in chars. 269765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 270765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 271765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 272765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintVC(int hintInChars) { 273765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return hintV(m_pixelConverter.convertHeightInCharsToPixels(hintInChars)); 274765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 275765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 276765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 277765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Increments horizontal hint on given value. 278765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 279765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 280765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 281765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintHAdd(int increment) { 282765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return hintV(m_data.widthHint + increment); 283765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 284765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 285765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 286765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Increments vertical hint on given value. 287765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 288765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 289765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 290765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hintVAdd(int increment) { 291765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return hintV(m_data.heightHint + increment); 292765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 293765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 294765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 295765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the width and height hints. The width and height hints override the control's preferred 296765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * size. If either hint is set to SWT.DEFAULT, the control's preferred size is used. 297765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 298765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param hint 299765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * size (pixels) to be used instead of the control's preferred size. If the x or y values 300765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * are set to SWT.DEFAULT, the control's computeSize() method will be used to obtain that 301765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * dimension of the preferred size. 302765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 303765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 304765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory hint(Point hint) { 305765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.widthHint = hint.x; 306765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.heightHint = hint.y; 307765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 308765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 309765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 310765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 311765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 312765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Minimum size 313765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 314765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 315765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory minH(int minimumWidth) { 316765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.minimumWidth = minimumWidth; 317765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 318765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 319765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 320765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory minHC(int widthInChars) { 321765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return minH(m_pixelConverter.convertWidthInCharsToPixels(widthInChars)); 322765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 323765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 324765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory minV(int minimumHeight) { 325765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.minimumHeight = minimumHeight; 326765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 327765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 328765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 329765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory minVC(int heightInChars) { 330765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return minV(m_pixelConverter.convertHeightInCharsToPixels(heightInChars)); 331765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 332765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 333765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 334765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 335765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Alignment 336765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 337765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 338765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 339765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the alignment of the control within its cell. 340765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 341765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param hAlign 342765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * horizontal alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL. 343765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param vAlign 344765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * vertical alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL. 345765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 346765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 347765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory align(int hAlign, int vAlign) { 348765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalAlignment = hAlign; 349765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.verticalAlignment = vAlign; 350765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 351765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 352765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 353765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 354765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal and vertical alignment to GridData.FILL. 355765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 356765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory fill() { 357765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return align(GridData.FILL, GridData.FILL); 358765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 359765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 360765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 361765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control within its cell. 362765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 363765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param hAlign 364765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * horizontal alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL. 365765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 366765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 367765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignH(int hAlign) { 368765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalAlignment = hAlign; 369765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 370765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 371765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 372765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 373765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control to GridData.BEGINNING 374765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 375765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 376765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 377765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignHL() { 378765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignH(GridData.BEGINNING); 379765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 380765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 381765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 382765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control to GridData.CENTER 383765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 384765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 385765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 386765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignHC() { 387765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignH(GridData.CENTER); 388765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 389765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 390765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 391765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control to GridData.FILL 392765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 393765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 394765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 395765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignHF() { 396765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignH(GridData.FILL); 397765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 398765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 399765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 400765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control to GridData.FILL 401765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 402765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 403765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 404765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory fillH() { 405765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignHF(); 406765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 407765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 408765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 409765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the horizontal alignment of the control to GridData.END 410765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 411765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 412765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 413765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignHR() { 414765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignH(GridData.END); 415765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 416765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 417765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 418765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control within its cell. 419765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 420765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param vAlign 421765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * vertical alignment. One of SWT.BEGINNING, SWT.CENTER, SWT.END, or SWT.FILL. 422765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 423765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 424765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignV(int vAlign) { 425765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.verticalAlignment = vAlign; 426765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 427765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 428765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 429765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 430765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control to GridData.BEGINNING 431765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 432765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 433765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 434765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignVT() { 435765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignV(GridData.BEGINNING); 436765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 437765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 438765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 439765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control to GridData.CENTER 440765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 441765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 442765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 443765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignVM() { 444765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignV(GridData.CENTER); 445765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 446765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 447765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 448765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control to GridData.FILL 449765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 450765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 451765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 452765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignVF() { 453765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignV(GridData.FILL); 454765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 455765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 456765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 457765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control to GridData.FILL 458765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 459765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 460765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 461765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory fillV() { 462765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignVF(); 463765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 464765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 465765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 466765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the vertical alignment of the control to GridData.END 467765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 468765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 469765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 470765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory alignVB() { 471765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return alignV(GridData.END); 472765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 473765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 474765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 475765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 476765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Indent 477765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 478765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 479765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 480765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the indent of the control within the cell in pixels. 481765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 482765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory indentH(int hIndent) { 483765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalIndent = hIndent; 484765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 485765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 486765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 487765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 488765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Sets the indent of the control within the cell in characters. 489765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 490765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory indentHC(int hIndent) { 491765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.horizontalIndent = m_pixelConverter.convertWidthInCharsToPixels(hIndent); 492765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 493765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 494765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 495765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 496765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 497765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Grab 498765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 499765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 500765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 501765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Determines whether extra horizontal or vertical space should be allocated to this control's 502765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * column when the layout resizes. If any control in the column is set to grab horizontal then the 503765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * whole column will grab horizontal space. If any control in the row is set to grab vertical then 504765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * the whole row will grab vertical space. 505765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 506765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param horizontal 507765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * true if the control's column should grow horizontally 508765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @param vertical 509765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * true if the control's row should grow vertically 510765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @return this 511765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 512765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory grab(boolean horizontal, boolean vertical) { 513765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.grabExcessHorizontalSpace = horizontal; 514765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.grabExcessVerticalSpace = vertical; 515765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 516765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 517765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 518765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory grabH() { 519765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.grabExcessHorizontalSpace = true; 520765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 521765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 522765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 523765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory grabV() { 524765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.grabExcessVerticalSpace = true; 525765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 526765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 527765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 528765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory grab() { 529765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return grab(true, true); 530765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 531765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 532765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 533765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 534765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Exclude 535765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 536765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 537765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public GridDataFactory exclude(boolean value) { 538765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye m_data.exclude = value; 539765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return this; 540765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 541765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye} 542