void AppController::begin() { d->settingsManager->loadSettings(); extensionManager()->initialize(this); addExtensions(extensionManager()->createAppExtensions(this, this)); workspaceManager()->loadLastWorkspaces(); }
QObject *ContainerWidgetTaskMenuFactory::createExtension(QObject *object, const QString &iid, QObject *parent) const { if (iid != QStringLiteral("QDesignerInternalTaskMenuExtension") || !object->isWidgetType()) return 0; QWidget *widget = qobject_cast<QWidget*>(object); if (qobject_cast<QStackedWidget*>(widget) || qobject_cast<QToolBox*>(widget) || qobject_cast<QTabWidget*>(widget) || qobject_cast<QMainWindow*>(widget)) { // Are we using Designer's own container extensions and task menus or did // someone provide an extra one with an addpage method, for example for a QScrollArea? if (const WidgetDataBase *wb = qobject_cast<const WidgetDataBase *>(m_core->widgetDataBase())) { const int idx = wb->indexOfObject(widget); const WidgetDataBaseItem *item = static_cast<const WidgetDataBaseItem *>(wb->item(idx)); if (item->addPageMethod().isEmpty()) return 0; } } if (qt_extension<QDesignerContainerExtension*>(extensionManager(), object) == 0) return 0; if (QMdiArea* ma = qobject_cast<QMdiArea*>(widget)) return new MdiContainerWidgetTaskMenu(ma, parent); if (QWizard *wz = qobject_cast<QWizard *>(widget)) return new WizardContainerWidgetTaskMenu(wz, parent); return new ContainerWidgetTaskMenu(widget, PageContainer, parent); }