35 QWidget *parent = widget->parentWidget();
37 QLayout *layout = parent->layout();
40 QLayoutItem *layoutItem = 0;
41 int layoutWidgetIndex = 0;
42 for(
int i = 0; i < layout->count(); ++i) {
43 layoutItem = layout->itemAt(layoutWidgetIndex);
44 if (layoutItem->widget() == widget)
break;
53 Q_ASSERT(groupItem->
getGroup() ==
this);
65 QFormLayout* formLayout = qobject_cast<QFormLayout*>(layout);
68 QFormLayout::ItemRole role;
69 formLayout->getItemPosition(layoutWidgetIndex, &row, &role);
70 formLayout->removeItem(layoutItem);
72 formLayout->setItem(row, role, groupItem);
79 QGridLayout *gridLayout = qobject_cast<QGridLayout*>(layout);
81 int row, column, rowspan, columnspan;
82 gridLayout->getItemPosition(layoutWidgetIndex, &row, &column, &rowspan, &columnspan);
83 gridLayout->removeItem(layoutItem);
85 gridLayout->addItem(groupItem, row, column, rowspan, columnspan);
92 QBoxLayout *boxLayout = qobject_cast<QBoxLayout*>(layout);
94 boxLayout->removeItem(layoutItem);
96 boxLayout->insertItem(layoutWidgetIndex, groupItem);
111 QWidget *parent = widget->parentWidget();
113 QLayout *layout = parent->layout();
118 if (groupItem->widget() == widget) {
119 widgetGroupItem = groupItem;
124 if (widgetGroupItem) {
127 int layoutWidgetIndex = layout->indexOf(widget);
133 QFormLayout* formLayout = qobject_cast<QFormLayout*>(layout);
136 QFormLayout::ItemRole role;
137 formLayout->getItemPosition(layoutWidgetIndex, &row, &role);
138 formLayout->removeItem(widgetGroupItem);
139 delete widgetGroupItem;
140 formLayout->setWidget(row, role, widget);
146 QGridLayout *gridLayout = qobject_cast<QGridLayout*>(layout);
148 int row, column, rowspan, columnspan;
149 gridLayout->getItemPosition(layoutWidgetIndex, &row, &column, &rowspan, &columnspan);
150 gridLayout->removeItem(widgetGroupItem);
151 delete widgetGroupItem;
152 QWidgetItem *widgetItem =
new QWidgetItem(widget);
153 gridLayout->addItem(widgetItem, row, column, rowspan, columnspan);
159 QBoxLayout *boxLayout = qobject_cast<QBoxLayout*>(layout);
161 boxLayout->removeItem(widgetGroupItem);
162 delete widgetGroupItem;
163 QWidgetItem *widgetItem =
new QWidgetItem(widget);
164 boxLayout->insertItem(layoutWidgetIndex, widgetItem);