*/
public void setItem(final Object anObject)
{
if (anObject instanceof FormulaExpression)
{
final FormulaExpression fe = (FormulaExpression) anObject;
this.value = fe;
this.textField.setEnabled(true);
this.textField.setText(fe.getFormula());
}
else if (anObject instanceof Expression)
{
this.value = anObject;
this.textField.setEnabled(false);
if (ExpressionRegistry.getInstance().isExpressionRegistered(value.getClass().getName()))
{
final ExpressionMetaData data =
ExpressionRegistry.getInstance().getExpressionMetaData(value.getClass().getName());
this.textField.setText(data.getDisplayName(Locale.getDefault()));
}
else
{
this.textField.setText(value.getClass().getName());
}
}
else if (anObject instanceof ExpressionMetaData)
{
final ExpressionMetaData emd = (ExpressionMetaData) anObject;
this.value = anObject;
this.textField.setEnabled(false);
this.textField.setText(emd.getDisplayName(Locale.getDefault()));
}
else if (anObject != null)
{
DebugLog.log("ExpressionComboBoxEditor: Invalid object encountered: " + anObject); // NON-NLS
this.value = null;
this.textField.setEnabled(false);
this.textField.setText("");
}
else
{
this.value = new FormulaExpression();
this.textField.setEnabled(true);
this.textField.setText("");
}
this.orginalText = this.textField.getText();