for ( int i = 0; i < facts.length; i++ ) {
box.addItem( facts[ i ] );
}
box.setSelectedIndex( 0 );
final FormStylePopup popup = new FormStylePopup();
popup.setTitle( GuidedRuleEditorResources.CONSTANTS.NewFactPattern() );
popup.addAttribute( GuidedRuleEditorResources.CONSTANTS.chooseFactType(),
box );
box.addChangeHandler( new ChangeHandler() {
public void onChange( ChangeEvent event ) {
getFromAccumulatePattern().setSourcePattern( new FactPattern( box.getItemText( box.getSelectedIndex() ) ) );
setModified( true );
getModeller().refreshWidget();
popup.hide();
}
} );
final Button fromBtn = new Button( HumanReadableConstants.INSTANCE.From() );
final Button fromAccumulateBtn = new Button( HumanReadableConstants.INSTANCE.FromAccumulate() );
final Button fromCollectBtn = new Button( HumanReadableConstants.INSTANCE.FromCollect() );
final Button fromEntryPointBtn = new Button( HumanReadableConstants.INSTANCE.FromEntryPoint() );
ClickHandler btnsClickHandler = new ClickHandler() {
public void onClick( ClickEvent event ) {
Widget sender = (Widget) event.getSource();
if ( sender == fromBtn ) {
getFromAccumulatePattern().setSourcePattern( new FromCompositeFactPattern() );
} else if ( sender == fromAccumulateBtn ) {
getFromAccumulatePattern().setSourcePattern( new FromAccumulateCompositeFactPattern() );
} else if ( sender == fromCollectBtn ) {
getFromAccumulatePattern().setSourcePattern( new FromCollectCompositeFactPattern() );
} else if ( sender == fromEntryPointBtn ) {
getFromAccumulatePattern().setSourcePattern( new FromEntryPointFactPattern() );
} else {
throw new IllegalArgumentException( "Unknown sender: "
+ sender );
}
setModified( true );
getModeller().refreshWidget();
popup.hide();
}
};
fromBtn.addClickHandler( btnsClickHandler );
fromAccumulateBtn.addClickHandler( btnsClickHandler );
fromCollectBtn.addClickHandler( btnsClickHandler );
fromEntryPointBtn.addClickHandler( btnsClickHandler );
popup.addAttribute( "",
fromBtn );
popup.addAttribute( "",
fromAccumulateBtn );
popup.addAttribute( "",
fromCollectBtn );
popup.addAttribute( "",
fromEntryPointBtn );
popup.show();
}