tools/designer/src/lib/uilib/formbuilder.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
   121 QWidget *QFormBuilder::create(DomWidget *ui_widget, QWidget *parentWidget)
   121 QWidget *QFormBuilder::create(DomWidget *ui_widget, QWidget *parentWidget)
   122 {
   122 {
   123     QFormBuilderExtra *fb = QFormBuilderExtra::instance(this);
   123     QFormBuilderExtra *fb = QFormBuilderExtra::instance(this);
   124     if (!fb->parentWidgetIsSet())
   124     if (!fb->parentWidgetIsSet())
   125         fb->setParentWidget(parentWidget);
   125         fb->setParentWidget(parentWidget);
       
   126     // Is this a QLayoutWidget with a margin of 0: Not a known page-based
       
   127     // container and no method for adding pages registered.
   126     fb->setProcessingLayoutWidget(false);
   128     fb->setProcessingLayoutWidget(false);
   127     if (ui_widget->attributeClass() == QFormBuilderStrings::instance().qWidgetClass && !ui_widget->hasAttributeNative()
   129     if (ui_widget->attributeClass() == QFormBuilderStrings::instance().qWidgetClass && !ui_widget->hasAttributeNative()
   128             && parentWidget
   130             && parentWidget
   129 #ifndef QT_NO_MAINWINDOW
   131 #ifndef QT_NO_MAINWINDOW
   130             && !qobject_cast<QMainWindow *>(parentWidget)
   132             && !qobject_cast<QMainWindow *>(parentWidget)
   145             && !qobject_cast<QMdiArea *>(parentWidget)
   147             && !qobject_cast<QMdiArea *>(parentWidget)
   146 #endif
   148 #endif
   147 #ifndef QT_NO_DOCKWIDGET
   149 #ifndef QT_NO_DOCKWIDGET
   148             && !qobject_cast<QDockWidget *>(parentWidget)
   150             && !qobject_cast<QDockWidget *>(parentWidget)
   149 #endif
   151 #endif
   150             )
   152         ) {
   151         fb->setProcessingLayoutWidget(true);
   153         const QString parentClassName = QLatin1String(parentWidget->metaObject()->className());
       
   154         if (!fb->isCustomWidgetContainer(parentClassName))
       
   155             fb->setProcessingLayoutWidget(true);
       
   156     }
   152     return QAbstractFormBuilder::create(ui_widget, parentWidget);
   157     return QAbstractFormBuilder::create(ui_widget, parentWidget);
   153 }
   158 }
   154 
   159 
   155 
   160 
   156 /*!
   161 /*!