za.co.bluesphere.sens.internal.ui
Class PasswordFieldEditor

java.lang.Object
  extended by org.eclipse.jface.preference.FieldEditor
      extended by za.co.bluesphere.sens.internal.ui.PasswordFieldEditor

public class PasswordFieldEditor
extends org.eclipse.jface.preference.FieldEditor

A field editor for a string type preference.

This class may be used as is, or subclassed as required.


Field Summary
static int UNLIMITED
          Text limit constant (value -1) indicating unlimited text limit and width.
static int VALIDATE_ON_FOCUS_LOST
          Validation strategy constant (value 1) indicating that the editor should perform validation only when the text widget loses focus.
static int VALIDATE_ON_KEY_STROKE
          Validation strategy constant (value 0) indicating that the editor should perform validation after every key stroke.
 
Fields inherited from class org.eclipse.jface.preference.FieldEditor
HORIZONTAL_GAP, IS_VALID, VALUE
 
Constructor Summary
protected PasswordFieldEditor()
          Creates a new string field editor
  PasswordFieldEditor(java.lang.String name, java.lang.String labelText, org.eclipse.swt.widgets.Composite parent)
          Creates a string field editor of unlimited width.
  PasswordFieldEditor(java.lang.String name, java.lang.String labelText, int width, org.eclipse.swt.widgets.Composite parent)
          Creates a string field editor.
  PasswordFieldEditor(java.lang.String name, java.lang.String labelText, int width, int strategy, org.eclipse.swt.widgets.Composite parent)
          Creates a string field editor.
 
Method Summary
protected  void adjustForNumColumns(int numColumns)
           
protected  boolean checkState()
          Checks whether the text input field contains a valid value or not.
protected  boolean doCheckState()
          Hook for subclasses to do specific state checks.
protected  void doFillIntoGrid(org.eclipse.swt.widgets.Composite parent, int numColumns)
          Fills this field editor's basic controls into the given parent.
protected  void doLoad()
           
protected  void doLoadDefault()
           
protected  void doStore()
           
 java.lang.String getErrorMessage()
          Returns the error message that will be displayed when and if an error occurs.
 int getNumberOfControls()
           
 java.lang.String getStringValue()
          Returns the field editor's value.
protected  org.eclipse.swt.widgets.Text getTextControl()
          Returns this field editor's text control.
 org.eclipse.swt.widgets.Text getTextControl(org.eclipse.swt.widgets.Composite parent)
          Returns this field editor's text control.
 boolean isEmptyStringAllowed()
          Returns whether an empty string is a valid value.
 boolean isValid()
           
protected  void refreshValidState()
           
 void setEmptyStringAllowed(boolean b)
          Sets whether the empty string is a valid value or not.
 void setEnabled(boolean enabled, org.eclipse.swt.widgets.Composite parent)
           
 void setErrorMessage(java.lang.String message)
          Sets the error message that will be displayed when and if an error occurs.
 void setFocus()
           
 void setStringValue(java.lang.String value)
          Sets this field editor's value.
 void setTextLimit(int limit)
          Sets this text field's text limit.
 void setValidateStrategy(int value)
          Sets the strategy for validating the text.
 void showErrorMessage()
          Shows the error message set via setErrorMessage.
protected  void valueChanged()
          Informs this field editor's listener, if it has one, about a change to the value (VALUE property) provided that the old and new values are different.
 
Methods inherited from class org.eclipse.jface.preference.FieldEditor
applyFont, checkParent, clearErrorMessage, clearMessage, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, createControl, dispose, fillIntoGrid, fireStateChanged, fireValueChanged, getFieldEditorFontName, getLabelControl, getLabelControl, getLabelText, getPage, getPreferenceName, getPreferencePage, getPreferenceStore, init, load, loadDefault, presentsDefaultValue, setButtonLayoutData, setLabelText, setPage, setPreferenceName, setPreferencePage, setPreferenceStore, setPresentsDefaultValue, setPropertyChangeListener, showErrorMessage, showMessage, store
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VALIDATE_ON_KEY_STROKE

public static final int VALIDATE_ON_KEY_STROKE
Validation strategy constant (value 0) indicating that the editor should perform validation after every key stroke.

See Also:
setValidateStrategy(int), Constant Field Values

VALIDATE_ON_FOCUS_LOST

public static final int VALIDATE_ON_FOCUS_LOST
Validation strategy constant (value 1) indicating that the editor should perform validation only when the text widget loses focus.

See Also:
setValidateStrategy(int), Constant Field Values

UNLIMITED

public static int UNLIMITED
Text limit constant (value -1) indicating unlimited text limit and width.

Constructor Detail

PasswordFieldEditor

protected PasswordFieldEditor()
Creates a new string field editor


PasswordFieldEditor

public PasswordFieldEditor(java.lang.String name,
                           java.lang.String labelText,
                           int width,
                           int strategy,
                           org.eclipse.swt.widgets.Composite parent)
Creates a string field editor. Use the method setTextLimit to limit the text.

Parameters:
name - the name of the preference this field editor works on
labelText - the label text of the field editor
width - the width of the text input field in characters, or UNLIMITED for no limit
strategy - either VALIDATE_ON_KEY_STROKE to perform on the fly checking (the default), or VALIDATE_ON_FOCUS_LOST to perform validation only after the text has been typed in
parent - the parent of the field editor's control
Since:
2.0

PasswordFieldEditor

public PasswordFieldEditor(java.lang.String name,
                           java.lang.String labelText,
                           int width,
                           org.eclipse.swt.widgets.Composite parent)
Creates a string field editor. Use the method setTextLimit to limit the text.

Parameters:
name - the name of the preference this field editor works on
labelText - the label text of the field editor
width - the width of the text input field in characters, or UNLIMITED for no limit
parent - the parent of the field editor's control

PasswordFieldEditor

public PasswordFieldEditor(java.lang.String name,
                           java.lang.String labelText,
                           org.eclipse.swt.widgets.Composite parent)
Creates a string field editor of unlimited width. Use the method setTextLimit to limit the text.

Parameters:
name - the name of the preference this field editor works on
labelText - the label text of the field editor
parent - the parent of the field editor's control
Method Detail

adjustForNumColumns

protected void adjustForNumColumns(int numColumns)
Specified by:
adjustForNumColumns in class org.eclipse.jface.preference.FieldEditor

checkState

protected boolean checkState()
Checks whether the text input field contains a valid value or not.

Returns:
true if the field value is valid, and false if invalid

doCheckState

protected boolean doCheckState()
Hook for subclasses to do specific state checks.

The default implementation of this framework method does nothing and returns true. Subclasses should override this method to specific state checks.

Returns:
true if the field value is valid, and false if invalid

doFillIntoGrid

protected void doFillIntoGrid(org.eclipse.swt.widgets.Composite parent,
                              int numColumns)
Fills this field editor's basic controls into the given parent.

The string field implementation of this FieldEditor framework method contributes the text field. Subclasses may override but must call super.doFillIntoGrid.

Specified by:
doFillIntoGrid in class org.eclipse.jface.preference.FieldEditor
Parameters:
parent -
numColumns -

doLoad

protected void doLoad()
Specified by:
doLoad in class org.eclipse.jface.preference.FieldEditor

doLoadDefault

protected void doLoadDefault()
Specified by:
doLoadDefault in class org.eclipse.jface.preference.FieldEditor

doStore

protected void doStore()
Specified by:
doStore in class org.eclipse.jface.preference.FieldEditor

getErrorMessage

public java.lang.String getErrorMessage()
Returns the error message that will be displayed when and if an error occurs.

Returns:
the error message, or null if none

getNumberOfControls

public int getNumberOfControls()
Specified by:
getNumberOfControls in class org.eclipse.jface.preference.FieldEditor

getStringValue

public java.lang.String getStringValue()
Returns the field editor's value.

Returns:
the current value

getTextControl

protected org.eclipse.swt.widgets.Text getTextControl()
Returns this field editor's text control.

Returns:
the text control, or null if no text field is created yet

getTextControl

public org.eclipse.swt.widgets.Text getTextControl(org.eclipse.swt.widgets.Composite parent)
Returns this field editor's text control.

The control is created if it does not yet exist

Parameters:
parent - the parent
Returns:
the text control

isEmptyStringAllowed

public boolean isEmptyStringAllowed()
Returns whether an empty string is a valid value.

Returns:
true if an empty string is a valid value, and false if an empty string is invalid
See Also:
setEmptyStringAllowed(boolean)

isValid

public boolean isValid()
Overrides:
isValid in class org.eclipse.jface.preference.FieldEditor

refreshValidState

protected void refreshValidState()
Overrides:
refreshValidState in class org.eclipse.jface.preference.FieldEditor

setEmptyStringAllowed

public void setEmptyStringAllowed(boolean b)
Sets whether the empty string is a valid value or not.

Parameters:
b - true if the empty string is allowed, and false if it is considered invalid

setErrorMessage

public void setErrorMessage(java.lang.String message)
Sets the error message that will be displayed when and if an error occurs.

Parameters:
message - the error message

setFocus

public void setFocus()
Overrides:
setFocus in class org.eclipse.jface.preference.FieldEditor

setStringValue

public void setStringValue(java.lang.String value)
Sets this field editor's value.

Parameters:
value - the new value, or null meaning the empty string

setTextLimit

public void setTextLimit(int limit)
Sets this text field's text limit.

Parameters:
limit - the limit on the number of character in the text input field, or UNLIMITED for no limit

setValidateStrategy

public void setValidateStrategy(int value)
Sets the strategy for validating the text.

Calling this method has no effect after createPartControl is called. Thus this method is really only useful for subclasses to call in their constructor. However, it has public visibility for backward compatibility.

Parameters:
value - either VALIDATE_ON_KEY_STROKE to perform on the fly checking (the default), or VALIDATE_ON_FOCUS_LOST to perform validation only after the text has been typed in

showErrorMessage

public void showErrorMessage()
Shows the error message set via setErrorMessage.


valueChanged

protected void valueChanged()
Informs this field editor's listener, if it has one, about a change to the value (VALUE property) provided that the old and new values are different.

This hook is not called when the text is initialized (or reset to the default value) from the preference store.


setEnabled

public void setEnabled(boolean enabled,
                       org.eclipse.swt.widgets.Composite parent)
Overrides:
setEnabled in class org.eclipse.jface.preference.FieldEditor