diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StringDialogField.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StringDialogField.java | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StringDialogField.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StringDialogField.java deleted file mode 100644 index bf334a54c..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/StringDialogField.java +++ /dev/null @@ -1,291 +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.FocusAdapter; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.forms.widgets.FormToolkit; - -/** - * Dialog field containing a label and a text control. - */ -public class StringDialogField extends DialogFieldBase implements - ISupportTextValue { - final static private int TEXT_WIDTH_HINT = 10; - - private String _text; - - private Text _textControl; - - private ModifyListener _modifyListener; - - private int _numRows; - - /** - * whether there is change in the UI but not fire applied event yet. - */ - private boolean _pending = false; - - /** - * default constructor - * numRows == 1 - */ - public StringDialogField() { - this(1); - _text = ""; //$NON-NLS-1$ - } - - /** - * @param numRows - */ - public StringDialogField(int numRows) { - super(); - _text = ""; //$NON-NLS-1$ - _numRows = numRows; - } - - // ------- layout helpers - - /* - * @see DialogField#doFillIntoGrid - */ - public Control[] doFillIntoGrid(FormToolkit kit, Composite parent, - int nColumns) { - assertEnoughColumns(nColumns); - - Control requiredLabel = getRequiredLabelControl(kit, parent); - requiredLabel.setLayoutData(gridDataForLabel(1)); - - Control label = getLabelControl(kit, parent); - label.setLayoutData(gridDataForLabel(1)); - - Text text = getTextControl(kit, parent); - int heightHint = -1; - if (_numRows > 1) { - heightHint = getDialogUnits(parent).getHeight() * _numRows; - } - text.setLayoutData(gridDataForText(nColumns - 2, heightHint)); - - return new Control[] { requiredLabel, label, text }; - } - - /* - * @see DialogField#getNumberOfControls - */ - public int getNumberOfControls() { - return 3; - } - - protected static GridData gridDataForLabel(int span) { - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL); - gd.horizontalSpan = span; - return gd; - } - - /** - * @param span - * @param heightHint - * @return the grid data for text - */ - protected static GridData gridDataForText(int span, int heightHint) { - GridData gd = new GridData(); - gd.horizontalAlignment = GridData.FILL; - gd.grabExcessHorizontalSpace = false; - gd.heightHint = heightHint; - gd.horizontalSpan = span; - gd.widthHint = TEXT_WIDTH_HINT; - return gd; - } - - /** - * @param span - * @return the grid data for text - */ - protected static GridData gridDataForText(int span) { - GridData gd = gridDataForText(span, -1); - return gd; - } - - // ------- focus methods - - /* - * @see DialogField#setFocus - */ - public boolean setFocus() { - if (isOkToUse(_textControl)) { - _textControl.setFocus(); - _textControl.setSelection(0, _textControl.getText().length()); - } - return true; - } - - // ------- ui creation - - /** - * Creates or returns the created text control. - * @param toolkit - * - * @param parent - * The parent composite or <code>null</code> when the widget - * has already been created. - * @return the text control - */ - public Text getTextControl(FormToolkit toolkit, Composite parent) { - if (_textControl == null || _textControl.isDisposed()) { - assertCompositeNotNull(parent); - _modifyListener = new ModifyListener() { - public void modifyText(ModifyEvent e) { - doModifyText(e); - } - }; - - if (toolkit != null) { - if (_numRows <= 1) { - _textControl = toolkit.createText(parent, ""); //$NON-NLS-1$ - } else { - _textControl = toolkit.createText(parent, "", SWT.V_SCROLL); //$NON-NLS-1$ - } - } else { - if (_numRows <= 1) { - - _textControl = new Text(parent, SWT.SINGLE | SWT.BORDER); - } else { - _textControl = new Text(parent, SWT.V_SCROLL | SWT.WRAP - | SWT.BORDER); - } - } - - _textControl.setText(_text); - _textControl.setFont(parent.getFont()); - _textControl.addModifyListener(_modifyListener); - _textControl.addFocusListener(new FocusAdapter() { - - public void focusLost(FocusEvent e) { - doFocusLost(e); - } - - }); - _textControl.addKeyListener(new KeyAdapter() { - public void keyReleased(KeyEvent e) { - doKeyReleased(e); - } - }); - - _textControl.setEnabled(isEnabled()); - - _textControl.setToolTipText(getToolTip()); - } - return _textControl; - } - - /** - * @param e - */ - protected void doKeyReleased(KeyEvent e) { - if (e.character == '\r') { - // commit value - if (_pending) { - _pending = false; - dialogFieldApplied(); - } - } - } - - /** - * @param e - */ - protected void doFocusLost(FocusEvent e) { - if (_pending) { - _pending = false; - dialogFieldApplied(); - } - } - - /** - * some get changed in the Text. As in <code>setText</code> and - * <code>setTextWithoutUpdate</code> we removed the listener, so this must - * be user typing in the text field. - * - * @param e - */ - private void doModifyText(ModifyEvent e) { - if (isOkToUse(_textControl)) { - _text = _textControl.getText(); - } - _pending = true; - dialogFieldChanged(); - } - - // ------ enable / disable management - - /* - * @see DialogField#updateEnableState - */ - protected void updateEnableState() { - super.updateEnableState(); - if (isOkToUse(_textControl)) { - _textControl.setEnabled(isEnabled()); - } - } - - // ------ text access - - /** - * Gets the text. Can not be <code>null</code> - */ - public String getText() { - return _text; - } - - /** - * Sets the text. Triggers a dialog-changed event. - */ - public void setText(String text) { - setTextWithoutUpdate(text); - dialogFieldChangedAndApplied(); - } - - /** - * Sets the text without triggering a dialog-changed event. - */ - public void setTextWithoutUpdate(String text) { - // reset _pending state. - _pending = false; - - if (text == null) - text = ""; //$NON-NLS-1$ - _text = text; - if (isOkToUse(_textControl)) { - _textControl.removeModifyListener(_modifyListener); - _textControl.setText(text); - _textControl.addModifyListener(_modifyListener); - } - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField#handleGrabHorizontal() - */ - public void handleGrabHorizontal() { - LayoutUtil.setGrabHorizontal(_textControl, true); - } -} |