/******************************************************************************* * Copyright (c) 2005, 2012 eBay Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * *******************************************************************************/ package org.eclipse.vjet.eclipse.internal.ui.wizards.dialogfields; import org.eclipse.dltk.mod.internal.ui.util.SWTUtil; import org.eclipse.dltk.mod.internal.ui.wizards.dialogfields.SelectionButtonDialogField; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; /** * This class is representation of the check box field * * * */ public class CheckBoxDialogField extends SelectionButtonDialogField { private int fButtonStyle; private String checkBoxText; public CheckBoxDialogField(int buttonStyle) { super(buttonStyle); this.fButtonStyle = buttonStyle; } public Control[] doFillIntoGrid(Composite parent, int nColumns) { assertEnoughColumns(nColumns); Label label = getLabelControl(parent); label.setLayoutData(gridDataForLabel(1)); Button button = getSelectionButton(parent); GridData gd = gridDataForCheckBox(nColumns - 1); if (fButtonStyle == SWT.PUSH) { gd.widthHint = SWTUtil.getButtonWidthHint(button); } button.setLayoutData(gd); return new Control[] { button }; } @Override public Button getSelectionButton(Composite group) { Button button = super.getSelectionButton(group); button.setText(checkBoxText); return button; } protected static GridData gridDataForCheckBox(int span) { GridData gd = new GridData(); gd.horizontalAlignment = GridData.FILL; gd.grabExcessHorizontalSpace = false; gd.horizontalSpan = span; return gd; } @Override public void setLabelText(String labeltext) { this.fLabelText = labeltext; } public String getCheckBoxText() { return checkBoxText; } public void setCheckBoxText(String checkBoxText) { this.checkBoxText = checkBoxText; } }