QLayout *LayoutInfo::managedLayout(const QDesignerFormEditorInterface *core, QLayout *layout) { QDesignerMetaDataBaseInterface *metaDataBase = core->metaDataBase(); if (!metaDataBase) return layout; const QDesignerMetaDataBaseItemInterface *item = metaDataBase->item(layout); if (item == 0) { layout = qFindChild<QLayout*>(layout); item = metaDataBase->item(layout); } if (!item) return 0; return layout; }
QLayout *LayoutInfo::managedLayout(const QDesignerFormEditorInterface *core, QLayout *layout) { QDesignerMetaDataBaseInterface *metaDataBase = core->metaDataBase(); if (!metaDataBase) return layout; /* This code exists mainly for the Q3GroupBox class, for which * widget->layout() returns an internal VBoxLayout. */ const QDesignerMetaDataBaseItemInterface *item = metaDataBase->item(layout); if (item == 0) { layout = layout->findChild<QLayout*>(); item = metaDataBase->item(layout); } if (!item) return 0; return layout; }
QDesignerMetaDataBaseItemInterface* PropertyEditor::metaDataBaseItem() const { QObject *o = object(); if (!o) return 0; QDesignerMetaDataBaseInterface *db = core()->metaDataBase(); if (!db) return 0; return db->item(o); }
static void merge(QDesignerFormWindowInterface *form, QStringList *lst, const QList<T> &elts) { QDesignerMetaDataBaseInterface *db = form->core()->metaDataBase(); foreach (T e, elts) { QAction *action = qobject_cast<QAction*>(e); if (action && db->item(action->menu())) { // good } else if (!db->item(e)) { // hmm, nothing to do continue; } QString name = e->objectName(); if (action && action->menu()) name = action->menu()->objectName(); if (name.isEmpty()) continue; lst->append(name); }