private void refreshAttributeWidget() {
this.attributeConfigWidget.clear();
if ( model.getMetadataCols().size() > 0 ) {
HorizontalPanel hp = new HorizontalPanel();
hp.add( new HTML( " " ) );
hp.add( new SmallLabel( new StringBuilder( GuidedDecisionTableConstants.INSTANCE.Metadata1() )
.append( GuidedDecisionTableConstants.COLON ).toString() ) );
attributeConfigWidget.add( hp );
}
for ( MetadataCol52 atc : model.getMetadataCols() ) {
HorizontalPanel hp = new HorizontalPanel();
hp.setVerticalAlignment( HasVerticalAlignment.ALIGN_MIDDLE );
hp.add( new HTML( " " ) );
if ( !isReadOnly ) {
hp.add( removeMeta( atc ) );
}
final SmallLabel label = makeColumnLabel( atc );
hp.add( label );
final MetadataCol52 at = atc;
final CheckBox hide = new CheckBox( new StringBuilder( GuidedDecisionTableConstants.INSTANCE.HideThisColumn() ).append( GuidedDecisionTableConstants.COLON ).toString() );
hide.setStyleName( "form-field" );
hide.setValue( atc.isHideColumn() );
hide.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent sender ) {
final MetadataCol52 clonedAt = at.cloneColumn();
at.setHideColumn( hide.getValue() );
dtable.setColumnVisibility( at,
!at.isHideColumn() );
setColumnLabelStyleWhenHidden( label,
hide.getValue() );
fireUpdateColumn( identity.getName(), clonedAt, at, clonedAt.diff( at ) );
}
} );
hp.add( new HTML( " " ) );
hp.add( hide );
attributeConfigWidget.add( hp );
}
if ( model.getAttributeCols().size() > 0 ) {
HorizontalPanel hp = new HorizontalPanel();
hp.add( new HTML( " " ) );
hp.add( new SmallLabel( GuidedDecisionTableConstants.INSTANCE.Attributes() ) );
attributeConfigWidget.add( hp );
}
for ( AttributeCol52 atc : model.getAttributeCols() ) {
final AttributeCol52 at = atc;
HorizontalPanel hp = new HorizontalPanel();
hp.setVerticalAlignment( HasVerticalAlignment.ALIGN_MIDDLE );
hp.add( new HTML( " " ) );
if ( !isReadOnly ) {
hp.add( removeAttr( at ) );
}
final SmallLabel label = makeColumnLabel( atc );
hp.add( label );
final Widget defaultValue = DefaultValueWidgetFactory.getDefaultValueWidget( atc,
isReadOnly, new DefaultValueWidgetFactory.DefaultValueChangedEventHandler() {
@Override
public void onDefaultValueChanged( DefaultValueWidgetFactory.DefaultValueChangedEvent event ) {
final AttributeCol52 clonedAt = at.cloneColumn();
clonedAt.setDefaultValue( event.getOldDefaultValue() );
fireUpdateColumn( identity.getName(), clonedAt, at, clonedAt.diff( at ) );
}
} );
if ( at.getAttribute().equals( RuleAttributeWidget.SALIENCE_ATTR ) ) {
hp.add( new HTML( " " ) );
final CheckBox useRowNumber = new CheckBox( GuidedDecisionTableConstants.INSTANCE.UseRowNumber() );
useRowNumber.setStyleName( "form-field" );
useRowNumber.setValue( at.isUseRowNumber() );
useRowNumber.setEnabled( !isReadOnly );
hp.add( useRowNumber );
hp.add( new SmallLabel( "(" ) );
final CheckBox reverseOrder = new CheckBox( GuidedDecisionTableConstants.INSTANCE.ReverseOrder() );
reverseOrder.setStyleName( "form-field" );
reverseOrder.setValue( at.isReverseOrder() );
reverseOrder.setEnabled( at.isUseRowNumber() && !isReadOnly );
useRowNumber.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent sender ) {
final AttributeCol52 clonedAt = at.cloneColumn();
at.setUseRowNumber( useRowNumber.getValue() );
reverseOrder.setEnabled( useRowNumber.getValue() );
dtable.updateSystemControlledColumnValues();
fireUpdateColumn( identity.getName(), clonedAt, at, clonedAt.diff( at ) );
}
} );
reverseOrder.addClickHandler( new ClickHandler() {
public void onClick( ClickEvent sender ) {
final AttributeCol52 clonedAt = at.cloneColumn();
at.setReverseOrder( reverseOrder.getValue() );
dtable.updateSystemControlledColumnValues();
fireUpdateColumn( identity.getName(), clonedAt, at, clonedAt.diff( at ) );
}
} );
hp.add( reverseOrder );
hp.add( new SmallLabel( ")" ) );
}
hp.add( new HTML( " " ) );
hp.add( new SmallLabel( new StringBuilder( GuidedDecisionTableConstants.INSTANCE.DefaultValue() ).append( GuidedDecisionTableConstants.COLON ).toString() ) );
hp.add( defaultValue );
final CheckBox hide = new CheckBox( new StringBuilder( GuidedDecisionTableConstants.INSTANCE.HideThisColumn() ).append( GuidedDecisionTableConstants.COLON ).toString() );
hide.setStyleName( "form-field" );
hide.setValue( at.isHideColumn() );