bool TodoPlugin::initialize(const QStringList& args, QString *errMsg) { Q_UNUSED(args); Q_UNUSED(errMsg); m_settings.load(Core::ICore::settings()); createOptionsPage(); createItemsProvider(); createTodoOutputPane(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory(); panelFactory->setPriority(100); panelFactory->setDisplayName(TodoProjectSettingsWidget::tr("To-Do Settings")); panelFactory->setCreateWidgetFunction([this, panelFactory](ProjectExplorer::Project *project) -> QWidget * { auto *panel = new ProjectExplorer::PropertiesPanel; panel->setDisplayName(panelFactory->displayName()); auto *widget = new TodoProjectSettingsWidget(project); connect(widget, &TodoProjectSettingsWidget::projectSettingsChanged, m_todoItemsProvider, [this, project](){m_todoItemsProvider->projectSettingsChanged(project);}); panel->setWidget(widget); auto *panelsWidget = new ProjectExplorer::PanelsWidget(); panelsWidget->addPropertiesPanel(panel); panelsWidget->setFocusProxy(widget); return panelsWidget; }); ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory); return true; }
bool TodoPlugin::initialize(const QStringList& args, QString *errMsg) { Q_UNUSED(args); Q_UNUSED(errMsg); m_settings.load(Core::ICore::settings()); createOptionsPage(); createItemsProvider(); createTodoOutputPane(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory; panelFactory->setPriority(100); panelFactory->setDisplayName(TodoProjectSettingsWidget::tr("To-Do")); panelFactory->setCreateWidgetFunction([this](ProjectExplorer::Project *project) { auto widget = new TodoProjectSettingsWidget(project); connect(widget, &TodoProjectSettingsWidget::projectSettingsChanged, m_todoItemsProvider, [this, project] { m_todoItemsProvider->projectSettingsChanged(project); }); return widget; }); ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory); connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested, this, [this] { m_settings.save(Core::ICore::settings()); }); return true; }
bool ClangStaticAnalyzerPlugin::initialize(const QStringList &arguments, QString *errorString) { // Register objects in the plugin manager's object pool // Load settings // Add actions to menus // Connect to other plugins' signals // In the initialize method, a plugin can be sure that the plugins it // depends on have initialized their members. Q_UNUSED(arguments); Q_UNUSED(errorString); auto panelFactory = new ProjectPanelFactory(); panelFactory->setPriority(100); panelFactory->setDisplayName(tr("Clang Static Analyzer")); panelFactory->setCreateWidgetFunction([](Project *project) { return new ProjectSettingsWidget(project); }); ProjectPanelFactory::registerFactory(panelFactory); m_analyzerTool = new ClangStaticAnalyzerTool(this); addAutoReleasedObject(new ClangStaticAnalyzerRunControlFactory(m_analyzerTool)); addAutoReleasedObject(new ClangStaticAnalyzerOptionsPage); return true; }