当前位置: 首页>>代码示例>>C++>>正文


C++ PluginManager::plugins方法代码示例

本文整理汇总了C++中PluginManager::plugins方法的典型用法代码示例。如果您正苦于以下问题:C++ PluginManager::plugins方法的具体用法?C++ PluginManager::plugins怎么用?C++ PluginManager::plugins使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PluginManager的用法示例。


在下文中一共展示了PluginManager::plugins方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char *argv[])
{
	QCoreApplication a(argc, argv);

	CommandLineParser parser;
	Commands commands;

	parser.registerDataSink( &commands );
	if ( !parser.parse( true ) ) {
		a.quit();
		return -1;
	}

	Log::instance()->setMessageTypeEnabled( QtDebugMsg, commands.verbose );
	PluginManager* pluginManager = PluginManager::instance();
	pluginManager->loadPlugins();
	if ( commands.listPlugins ) {
		printf( "%s\n\n", printStringTable( pluginManager->importerPlugins(), 1, "Importer Plugins" ).toUtf8().constData() );
		printf( "%s\n\n", printStringTable( pluginManager->routerPlugins(), 1, "Router Plugins" ).toUtf8().constData() );
		printf( "%s\n\n", printStringTable( pluginManager->gpsLookupPlugins(), 1, "GPS Lookup Plugins" ).toUtf8().constData() );
		printf( "%s\n\n", printStringTable( pluginManager->rendererPlugins(), 1, "Renderer Plugins" ).toUtf8().constData() );
		printf( "%s\n\n", printStringTable( pluginManager->addressLookupPlugins(), 1, "Address Lookup Plugins" ).toUtf8().constData() );
		a.quit();
		return 0;
	}

	if ( !commands.settings.isEmpty() ) {
		QSettings settings( commands.settings, QSettings::IniFormat );
		pluginManager->loadSettings( &settings );

		commands.importer = settings.value( "importer" ).toString();
		commands.router = settings.value( "router" ).toString();
		commands.gpsLookup = settings.value( "gpsLookup" ).toString();
		commands.renderer = settings.value( "renderer" ).toString();
		commands.addressLookup = settings.value( "addressLookup" ).toString();
	}

	// parse a second time including all plugins
	// otherwise console settings would be overwritten by the settings file
	QVector< QObject* > plugins = pluginManager->plugins();
	foreach( QObject* plugin, plugins ) {
		IConsoleSettings* settings = qobject_cast< IConsoleSettings* >( plugin );
		if ( settings!= NULL ) {
			parser.registerDataSink( settings );
		}
	}
开发者ID:waitman,项目名称:monav,代码行数:46,代码来源:console-main.cpp

示例2: QSortFilterProxyModel

ClientToolModel::ClientToolModel(QObject* parent) : QSortFilterProxyModel(parent)
{
  insertFactory(new ConnectionInspectorFactory);
  insertFactory(new LocaleInspectorFactory);
  insertFactory(new MessageHandlerFactory);
  insertFactory(new MetaObjectBrowserFactory);
  insertFactory(new MetaTypeBrowserFactory);
  insertFactory(new MimeTypesFactory);
  insertFactory(new ModelInspectorFactory);
  insertFactory(new ObjectInspectorFactory);
  insertFactory(new ResourceBrowserFactory);
  insertFactory(new StandardPathsFactory);
  insertFactory(new TextDocumentInspectorFactory);

  PluginManager<ToolUiFactory, ProxyToolUiFactory> pm;
  foreach(ToolUiFactory* factory, pm.plugins())
    insertFactory(factory);

  connect(this, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(updateToolInitialization(QModelIndex,QModelIndex)));
}
开发者ID:dfries,项目名称:GammaRay,代码行数:20,代码来源:clienttoolmodel.cpp

示例3: initPluginRepository

static void initPluginRepository()
{
    if (!s_pluginRepository()->factories.isEmpty())
        return;

    insertFactory(new ConnectionInspectorFactory);
    insertFactory(new LocaleInspectorFactory);
    insertFactory(new MessageHandlerFactory);
    insertFactory(new MetaObjectBrowserFactory);
    insertFactory(new MetaTypeBrowserFactory);
    insertFactory(new MimeTypesFactory);
    insertFactory(new ModelInspectorFactory);
    insertFactory(new ObjectInspectorFactory);
    insertFactory(new ResourceBrowserFactory);
    insertFactory(new StandardPathsFactory);
    insertFactory(new TextDocumentInspectorFactory);

    PluginManager<ToolUiFactory, ProxyToolUiFactory> pm;
    foreach(ToolUiFactory* factory, pm.plugins())
        insertFactory(factory);
}
开发者ID:satishgoda,项目名称:GammaRay,代码行数:21,代码来源:clienttoolmodel.cpp


注:本文中的PluginManager::plugins方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。