void PluginFactory::load( const PluginInfoPair& pair ) { PTRACE( 6, "PluginFactory::load" ); PluginInfo *pluginInfo = pair.first; if( !pluginInfo ) return; int id = pluginInfo->id; onStartupMap[id] = Load; if( loaded(pair) ) return; Plugin *plugin = createPlugin( pair ); // create GUI that plugin exports? if( pluginInfo->flags & P_HAS_GUI ) { PTRACE( 1, "Creating GUI of plugin " << plugin->name() ); QWidget *widget = plugin->createGUI(); if ( widget ) { emit insertWidget( widget, plugin->type(), plugin->text(), plugin->icon(), plugin->significance(), plugin->guiType() ); insertedWidgets[id] = widget; if( d->paletteSet ) setGUIPluginsPalette(d->currentPalette); } else PTRACE( 1, "Failed" ); } }
void PluginFactory::createGUIs() { //sort GUI plugins according to significance qHeapSort(d->guiPlugins); for( PluginFactoryPrivate::GuiPluginList::iterator it = d->guiPlugins.begin(); it != d->guiPlugins.end(); ++it ) { Plugin *plugin = (*it).plugin(); if( !plugin ) continue; PTRACE( 1, "Creating GUI of plugin " << plugin->name() ); QWidget *widget = plugin->createGUI(); if ( widget ) { emit insertWidget( widget, plugin->type(), plugin->text(), plugin->icon(), plugin->significance(), plugin->guiType() ); insertedWidgets[plugin->pluginInfo()->id] = widget; } else PTRACE( 1, "Failed" ); } }