diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/RadiosDialogField.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/RadiosDialogField.java | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/RadiosDialogField.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/RadiosDialogField.java deleted file mode 100644 index 7db537b68..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/RadiosDialogField.java +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. and others. - * - * 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 - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.common.ui.internal.dialogfield; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.forms.widgets.FormToolkit; - -/** - * This will display a labal and a group of radio buttons. The group of radio - * buttons will be layed out horizontally use a RowLayout, and them as a group - * will use one cell in the GridLayout. - * - * Whenever the radios selection change will fire both dialogFieldChanged() and - * dialogFieldApplied() event. - * - * @author mengbo - */ -public class RadiosDialogField extends DialogFieldBase { - final static private String INDEXKEY = "INDEX"; //$NON-NLS-1$ - - private Composite _group; - - private String[] _items; - - private Button[] _button; - - private int _selectIndex = -1; - - private boolean _fireEvent = true; - - /** - * Default constructor - */ - public RadiosDialogField() { - super(); - } - - /** - * this method must be called before create control - * - * @param items - */ - public void setItems(String[] items) { - _items = items; - _button = new Button[_items.length]; - } - - // ------- layout helpers - - /* - * @see DialogField#doFillIntoGrid - */ - public Control[] doFillIntoGrid(FormToolkit toolkit, Composite parent, - int nColumns) { - assertEnoughColumns(nColumns); - - Control requiredLabel = getRequiredLabelControl(toolkit, parent); - requiredLabel.setLayoutData(gridDataForLabel(1)); - - Control label = getLabelControl(toolkit, parent); - label.setLayoutData(gridDataForLabel(1)); - - _group = getGroup(toolkit, parent); - _group.setLayoutData(gridDataForGroup(nColumns - 2)); - - return new Control[] { requiredLabel, label, _group }; - } - - /* - * @see DialogField#getNumberOfControls - */ - public int getNumberOfControls() { - return 3; - } - - /** - * @param span - * @return the grid data - */ - protected static GridData gridDataForGroup(int span) { - GridData gd = new GridData(); - gd.horizontalAlignment = GridData.FILL; - gd.grabExcessHorizontalSpace = false; - gd.horizontalSpan = span; - return gd; - } - - // ------- focus methods - - /* - * @see DialogField#setFocus - */ - public boolean setFocus() { - if (isOkToUse(_group)) { - _group.setFocus(); - } - return true; - } - - // ------- ui creation - - /** - * @param toolkit - * @param parent - * @return the group composite - */ - public Composite getGroup(FormToolkit toolkit, Composite parent) { - if (_group == null || _group.isDisposed()) { - assertCompositeNotNull(parent); - if (toolkit != null) { - _group = toolkit.createComposite(parent); - } else { - _group = new Composite(parent, SWT.NONE); - } - RowLayout layout = new RowLayout(); - layout.marginBottom = 0; - _group.setLayout(layout); - for (int i = 0; i < _items.length; i++) { - if (toolkit != null) { - _button[i] = toolkit.createButton(_group, _items[i], - SWT.RADIO); - } else { - _button[i] = new Button(_group, SWT.RADIO); - _button[i].setText(_items[i]); - } - _button[i].setData(INDEXKEY, new Integer(i)); - _button[i].addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - if (_fireEvent) { - _selectIndex = ((Integer) e.widget - .getData(INDEXKEY)).intValue(); - // FIXME: seemed will fire widgetSelected twice, one - // for the deselect one, - // one for the newly selected one. Need investigate. - if (((Button) e.widget).getSelection()) { - dialogFieldChangedAndApplied(); - } - } - } - - }); - } - } - return _group; - } - - // ------ enable / disable management - - /* - * @see DialogField#updateEnableState - */ - protected void updateEnableState() { - super.updateEnableState(); - if (isOkToUse(_group)) { - _group.setEnabled(isEnabled()); - } - } - - // ------ text access - - /** - * Sets the text. Triggers a dialog-changed event. - * @param index - */ - public void setSelectedIndex(int index) { - _selectIndex = index; - if (isOkToUse(_group)) { - if (_selectIndex >= 0 && _selectIndex < _items.length) { - _button[_selectIndex].setSelection(true); - } else { - for (int i = 0; i < _items.length; i++) { - if (_button[i].getSelection()) { - _button[i].setSelection(false); - } - } - } - } - dialogFieldChangedAndApplied(); - } - - /** - * Sets the text without triggering a dialog-changed event. - * @param index - */ - public void setSelectedIndexWithoutUpdate(int index) { - _selectIndex = index; - if (isOkToUse(_group)) { - _fireEvent = false; - if (_selectIndex >= 0 && _selectIndex < _items.length) { - _button[_selectIndex].setSelection(true); - } else { - for (int i = 0; i < _items.length; i++) { - if (_button[i].getSelection()) { - _button[i].setSelection(false); - } - } - } - _fireEvent = true; - } - } - - /** - * @return the index selected - */ - public int getSelectedIndex() { - return _selectIndex; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField#handleGrabHorizontal() - */ - public void handleGrabHorizontal() { - LayoutUtil.setGrabHorizontal(this._group, true); - } -} |