//Literal value selector
if ( showLiteralSelector ) {
form.addAttribute( Constants.INSTANCE.LiteralValue() + ":",
widgets( lit,
new InfoPopup( Constants.INSTANCE.LiteralValue(),
Constants.INSTANCE.LiteralValTip() ) ) );
}
//Template key selector
if ( modeller.isTemplate() ) {
String templateKeyLabel = Constants.INSTANCE.TemplateKey();
Button templateKeyButton = new Button( templateKeyLabel );
templateKeyButton.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent event ) {
con.setConstraintValueType( BaseSingleFieldConstraint.TYPE_TEMPLATE );
doTypeChosen( form );
}
} );
form.addAttribute( templateKeyLabel + ":",
widgets( templateKeyButton,
new InfoPopup( templateKeyLabel,
Constants.INSTANCE.LiteralValTip() ) ) );
}
//Divider, if we have any advanced options
if ( showVariableSelector || showFormulaSelector || showExpressionSelector ) {
form.addRow( new HTML( "<hr/>" ) );
form.addRow( new SmallLabel( Constants.INSTANCE.AdvancedOptions() ) );
}
//Show variables selector, if there are any variables in scope
if ( showVariableSelector ) {
List<String> bindingsInScope = this.model.getBoundVariablesInScope( this.constraint );
if ( bindingsInScope.size() > 0
|| DataType.TYPE_COLLECTION.equals( this.fieldType ) ) {
List<String> applicableBindingsInScope = getApplicableBindingsInScope( bindingsInScope );
if ( applicableBindingsInScope.size() > 0 ) {
Button variable = new Button( Constants.INSTANCE.BoundVariable() );
variable.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent event ) {
con.setConstraintValueType( SingleFieldConstraint.TYPE_VARIABLE );
doTypeChosen( form );
}
} );
form.addAttribute( Constants.INSTANCE.AVariable(),
widgets( variable,
new InfoPopup( Constants.INSTANCE.ABoundVariable(),
Constants.INSTANCE.BoundVariableTip() ) ) );
}
}
}
//Formula selector
if ( showFormulaSelector ) {
Button formula = new Button( Constants.INSTANCE.NewFormula() );
formula.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent event ) {
con.setConstraintValueType( SingleFieldConstraint.TYPE_RET_VALUE );
doTypeChosen( form );
}
} );
form.addAttribute( Constants.INSTANCE.AFormula() + ":",
widgets( formula,
new InfoPopup( Constants.INSTANCE.AFormula(),
Constants.INSTANCE.FormulaExpressionTip() ) ) );
}
//Expression selector
if ( showExpressionSelector ) {
Button expression = new Button( Constants.INSTANCE.ExpressionEditor() );
expression.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent event ) {
con.setConstraintValueType( SingleFieldConstraint.TYPE_EXPR_BUILDER_VALUE );
doTypeChosen( form );
}
} );
form.addAttribute( Constants.INSTANCE.ExpressionEditor() + ":",
widgets( expression,
new InfoPopup( Constants.INSTANCE.ExpressionEditor(),
Constants.INSTANCE.ExpressionEditor() ) ) );
}
form.show();
}