private Grid buildDoubleList(WorkingSetConfigData wsData) {
Grid grid = new Grid( 2,
3 );
SuggestionCompletionEngine sce = SuggestionCompletionCache.getInstance().getEngineFromCache( workingSet.getMetaData().getPackageName() );
boolean filteringFact = sce.isFilteringFacts();
sce.setFilteringFacts( false );
try {
Set<String> elem = new HashSet<String>();
availFacts.setVisibleItemCount( 10 );
validFacts.setVisibleItemCount( 10 );
if ( wsData.validFacts != null ) {
elem.addAll( Arrays.asList( wsData.validFacts ) );
for ( String factName : wsData.validFacts ) {
validFacts.addItem( factName );
}
}
for ( String factName : sce.getFactTypes() ) {
if ( !elem.contains( factName ) ) {
availFacts.addItem( factName );
}
}
Grid btnsPanel = new Grid( 2,
1 );
btnsPanel.setWidget( 0,
0,
new Button( ">",
new ClickHandler() {
public void onClick(ClickEvent sender) {
copySelected( availFacts,
validFacts );
updateAsset( validFacts );
factsConstraintsgEditorPanel.fillSelectedFacts();
customFormsEditorPanel.fillSelectedFacts();
}
} ) );
btnsPanel.setWidget( 1,
0,
new Button( "<",
new ClickHandler() {
public void onClick(ClickEvent sender) {
copySelected( validFacts,
availFacts );
updateAsset( validFacts );
factsConstraintsgEditorPanel.fillSelectedFacts();
customFormsEditorPanel.fillSelectedFacts();
}
} ) );
grid.setWidget( 0,
0,
new SmallLabel( "Available Facts" ) ); //TODO i18n
grid.setWidget( 0,
1,
new SmallLabel( "" ) );
grid.setWidget( 0,
2,
new SmallLabel( "WorkingSet Facts" ) ); //TODO i18n
grid.setWidget( 1,
0,
availFacts );
grid.setWidget( 1,
1,
btnsPanel );
grid.setWidget( 1,
2,
validFacts );
grid.getColumnFormatter().setWidth( 0,
"45%" );
grid.getColumnFormatter().setWidth( 0,
"10%" );
grid.getColumnFormatter().setWidth( 0,
"45%" );
return grid;
} finally {
sce.setFilteringFacts( filteringFact );
}
}