data.heightHint = 100;
link_area.getComponent().setLayoutData(data);
CoreWaiterSWT.waitForCore(TriggerInThread.NEW_THREAD, new AzureusCoreRunningListener() {
public void azureusCoreRunning(AzureusCore core) {
final StandardPlugin plugins[];
try {
plugins = ((InstallPluginWizard)wizard).getStandardPlugins(core);
Arrays.sort(
plugins,
new Comparator()
{
public int
compare(
Object o1,
Object o2)
{
return(((StandardPlugin)o1).getName().compareToIgnoreCase(((StandardPlugin)o2).getName()));
}
});
} catch(final Exception e) {
Debug.printStackTrace(e);
wizard.getDisplay().asyncExec(new AERunnable() {
public void runSupport() {
link_area.addLine( Debug.getNestedExceptionMessage(e));
}
});
return;
}
wizard.getDisplay().asyncExec(new AERunnable() {
public void runSupport() {
lblStatus.setText( ((InstallPluginWizard)wizard).getListTitleText());
List selected_plugins = ((InstallPluginWizard)wizard).getPluginList();
for(int i = 0 ; i < plugins.length ; i++) {
StandardPlugin plugin = plugins[i];
if(plugin.getAlreadyInstalledPlugin() == null) {
if(pluginList == null || pluginList.isDisposed())
return;
TableItem item = new TableItem(pluginList,SWT.NULL);
item.setData(plugin);
item.setText(0,plugin.getName());
boolean selected = false;
for (int j=0;j<selected_plugins.size();j++){
if (((StandardPlugin)selected_plugins.get(j)).getId() == plugin.getId()){
selected = true;
}
}
item.setChecked( selected );
item.setText(1,plugin.getVersion());
}
}
// if there's only one entry then we might as well pull it in (this is really to
// support explicit install directions in the wizard as opposed to selection from