} );
pop.show();
}
protected void showNewPatternDialog() {
final FormStylePopup pop = new FormStylePopup();
pop.setTitle( GuidedDecisionTableConstants.INSTANCE.CreateANewFactPattern() );
final ListBox types = new ListBox();
for ( int i = 0; i < oracle.getFactTypes().length; i++ ) {
types.addItem( oracle.getFactTypes()[ i ] );
}
pop.addAttribute( GuidedDecisionTableConstants.INSTANCE.FactType(),
types );
final TextBox binding = new BindingTextBox();
binding.addChangeHandler( new ChangeHandler() {
public void onChange( ChangeEvent event ) {
binding.setText( binding.getText().replace( " ",
"" ) );
}
} );
pop.addAttribute( new StringBuilder(GuidedDecisionTableConstants.INSTANCE.Binding()).append(GuidedDecisionTableConstants.COLON).toString(),
binding );
//Patterns can be negated, i.e. "not Pattern(...)"
final CheckBox chkNegated = new CheckBox();
chkNegated.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent event ) {
boolean isPatternNegated = chkNegated.getValue();
binding.setEnabled( !isPatternNegated );
}
} );
pop.addAttribute( GuidedDecisionTableConstants.INSTANCE.negatePattern(),
chkNegated );
Button ok = new Button( GuidedDecisionTableConstants.INSTANCE.OK() );
ok.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent w ) {
boolean isPatternNegated = chkNegated.getValue();
String ft = types.getItemText( types.getSelectedIndex() );
String fn = isPatternNegated ? "" : binding.getText();
if ( !isPatternNegated ) {
if ( fn.equals( "" ) ) {
Window.alert( GuidedDecisionTableConstants.INSTANCE.PleaseEnterANameForFact() );
return;
} else if ( fn.equals( ft ) ) {
Window.alert( GuidedDecisionTableConstants.INSTANCE.PleaseEnterANameThatIsNotTheSameAsTheFactType() );
return;
} else if ( !isBindingUnique( fn ) ) {
Window.alert( GuidedDecisionTableConstants.INSTANCE.PleaseEnterANameThatIsNotAlreadyUsedByAnotherPattern() );
return;
}
}
//Create new pattern
editingPattern = new Pattern52();
editingPattern.setFactType( ft );
editingPattern.setBoundName( fn );
editingPattern.setNegated( isPatternNegated );
//Clear Field and Operator when pattern changes
editingCol.setFactField( null );
editingCol.setOperator( null );
//Set-up UI
entryPointName.setText( editingPattern.getEntryPointName() );
cwo.selectItem( editingPattern.getWindow().getOperator() );
makeLimitedValueWidget();
makeDefaultValueWidget();
displayCEPOperators();
doPatternLabel();
doValueList();
doCalculationType();
doOperatorLabel();
doImageButtons();
pop.hide();
}
} );
pop.addAttribute( "",
ok );
pop.show();
}