QVariant LayoutPropertySheet::property(int index) const { const LayoutPropertyType type = layoutPropertyType(propertyName(index)); if (const QLayoutWidget *lw = qobject_cast<QLayoutWidget *>(m_layout->parent())) { switch (type) { case LayoutPropertyLeftMargin: return lw->layoutLeftMargin(); case LayoutPropertyTopMargin: return lw->layoutTopMargin(); case LayoutPropertyRightMargin: return lw->layoutRightMargin(); case LayoutPropertyBottomMargin: return lw->layoutBottomMargin(); default: break; } } switch (type) { case LayoutPropertyLeftMargin: case LayoutPropertyTopMargin: case LayoutPropertyRightMargin: case LayoutPropertyBottomMargin: return getLayoutMargin(m_layout, type); case LayoutPropertyHorizontalSpacing: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return grid->horizontalSpacing(); if (const QFormLayout *form = qobject_cast<QFormLayout *>(m_layout)) return form->horizontalSpacing(); break; case LayoutPropertyVerticalSpacing: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return grid->verticalSpacing(); if (const QFormLayout *form = qobject_cast<QFormLayout *>(m_layout)) return form->verticalSpacing(); case LayoutPropertyBoxStretch: if (const QBoxLayout *box = qobject_cast<QBoxLayout *>(m_layout)) return QVariant(QByteArray(QFormBuilderExtra::boxLayoutStretch(box).toUtf8())); break; case LayoutPropertyGridRowStretch: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return QVariant(QByteArray(QFormBuilderExtra::gridLayoutRowStretch(grid).toUtf8())); break; case LayoutPropertyGridColumnStretch: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return QVariant(QByteArray(QFormBuilderExtra::gridLayoutColumnStretch(grid).toUtf8())); break; case LayoutPropertyGridRowMinimumHeight: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return QVariant(QByteArray(QFormBuilderExtra::gridLayoutRowMinimumHeight(grid).toUtf8())); break; case LayoutPropertyGridColumnMinimumWidth: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return QVariant(QByteArray(QFormBuilderExtra::gridLayoutColumnMinimumWidth(grid).toUtf8())); break; default: break; } return QDesignerPropertySheet::property(index); }
QVariant LayoutPropertySheet::property(int index) const { const LayoutPropertyType type = layoutPropertyType(propertyName(index)); if (const QLayoutWidget *lw = qobject_cast<QLayoutWidget *>(m_layout->parent())) { switch (type) { case LayoutPropertyLeftMargin: return lw->layoutLeftMargin(); case LayoutPropertyTopMargin: return lw->layoutTopMargin(); case LayoutPropertyRightMargin: return lw->layoutRightMargin(); case LayoutPropertyBottomMargin: return lw->layoutBottomMargin(); default: break; } } switch (type) { case LayoutPropertyLeftMargin: case LayoutPropertyTopMargin: case LayoutPropertyRightMargin: case LayoutPropertyBottomMargin: return getLayoutMargin(m_layout, type); case LayoutPropertyHorizontalSpacing: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return grid->horizontalSpacing(); if (const QFormLayout *form = qobject_cast<QFormLayout *>(m_layout)) return form->horizontalSpacing(); break; case LayoutPropertyVerticalSpacing: if (const QGridLayout *grid = qobject_cast<QGridLayout *>(m_layout)) return grid->verticalSpacing(); if (const QFormLayout *form = qobject_cast<QFormLayout *>(m_layout)) return form->verticalSpacing(); default: break; } return QDesignerPropertySheet::property(index); }