64static QString
objName(
const QDesignerFormEditorInterface *core, QObject *object) {
67 Q_ASSERT(sheet !=
nullptr);
69 const int index = sheet->indexOf(u"objectName"_s);
70 const QVariant v = sheet->property(index);
71 if (v.canConvert<qdesigner_internal::PropertySheetStringValue>())
72 return v.value<qdesigner_internal::PropertySheetStringValue>().value();
92 m_editor(
new qdesigner_internal::TextPropertyEditor(
this, qdesigner_internal::TextPropertyEditor::EmbeddingNone,
105 QDialogButtonBox *buttonBox =
new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
142 enum Actions { HorizNone, Left, HorizCenter, Right, VerticalNone, Top, VerticalCenter, Bottom };
143 static QAction *createAction(
const QString &text,
int data, QMenu *menu, QActionGroup *ag);
145 QAction *m_subMenuAction;
146 QActionGroup *m_horizGroup;
147 QActionGroup *m_verticalGroup;
148 QAction *m_actions[Bottom + 1];
162 m_subMenuAction(
new QAction(QDesignerTaskMenu::tr(
"Layout Alignment"), parent)),
163 m_horizGroup(
new QActionGroup(parent)),
164 m_verticalGroup(
new QActionGroup(parent))
166 m_horizGroup->setExclusive(
true);
167 m_verticalGroup->setExclusive(
true);
168 connect(m_horizGroup, &QActionGroup::triggered,
this, &LayoutAlignmentMenu::changed);
169 connect(m_verticalGroup, &QActionGroup::triggered,
this, &LayoutAlignmentMenu::changed);
171 QMenu *menu =
new QMenu;
172 m_subMenuAction->setMenu(menu);
174 m_actions[HorizNone] = createAction(QDesignerTaskMenu::tr(
"No Horizontal Alignment"), 0, menu, m_horizGroup);
175 m_actions[Left] = createAction(QDesignerTaskMenu::tr(
"Left"), Qt::AlignLeft, menu, m_horizGroup);
176 m_actions[HorizCenter] = createAction(QDesignerTaskMenu::tr(
"Center Horizontally"), Qt::AlignHCenter, menu, m_horizGroup);
177 m_actions[Right] = createAction(QDesignerTaskMenu::tr(
"Right"), Qt::AlignRight, menu, m_horizGroup);
178 menu->addSeparator();
179 m_actions[VerticalNone] = createAction(QDesignerTaskMenu::tr(
"No Vertical Alignment"), 0, menu, m_verticalGroup);
180 m_actions[Top] = createAction(QDesignerTaskMenu::tr(
"Top"), Qt::AlignTop, menu, m_verticalGroup);
181 m_actions[VerticalCenter] = createAction(QDesignerTaskMenu::tr(
"Center Vertically"), Qt::AlignVCenter, menu, m_verticalGroup);
182 m_actions[Bottom] = createAction(QDesignerTaskMenu::tr(
"Bottom"), Qt::AlignBottom, menu, m_verticalGroup);
188 const Qt::Alignment alignment = LayoutAlignmentCommand::alignmentOf(core, w, &enabled);
189 m_subMenuAction->setEnabled(enabled);
191 m_actions[HorizNone]->setChecked(
true);
192 m_actions[VerticalNone]->setChecked(
true);
196 switch (alignment & Qt::AlignHorizontal_Mask) {
198 m_actions[Left]->setChecked(
true);
200 case Qt::AlignHCenter:
201 m_actions[HorizCenter]->setChecked(
true);
204 m_actions[Right]->setChecked(
true);
207 m_actions[HorizNone]->setChecked(
true);
210 switch (alignment & Qt::AlignVertical_Mask) {
212 m_actions[Top]->setChecked(
true);
214 case Qt::AlignVCenter:
215 m_actions[VerticalCenter]->setChecked(
true);
217 case Qt::AlignBottom:
218 m_actions[Bottom]->setChecked(
true);
221 m_actions[VerticalNone]->setChecked(
true);
229 Qt::Alignment alignment;
230 if (
const QAction *horizAction = m_horizGroup->checkedAction())
231 if (
const int horizAlign = horizAction->data().toInt())
232 alignment |=
static_cast<Qt::Alignment>(horizAlign);
233 if (
const QAction *vertAction = m_verticalGroup->checkedAction())
234 if (
const int vertAlign = vertAction->data().toInt())
235 alignment |=
static_cast<Qt::Alignment>(vertAlign);
301 QMenu *sizeMenu =
new QMenu;
303 QAction *sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Minimum Width"));
304 sizeAction->setData(ApplyMinimumWidth);
305 sizeMenu->addAction(sizeAction);
307 sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Minimum Height"));
308 sizeAction->setData(ApplyMinimumHeight);
309 sizeMenu->addAction(sizeAction);
311 sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Minimum Size"));
312 sizeAction->setData(ApplyMinimumWidth|ApplyMinimumHeight);
313 sizeMenu->addAction(sizeAction);
315 sizeMenu->addSeparator();
317 sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Maximum Width"));
318 sizeAction->setData(ApplyMaximumWidth);
319 sizeMenu->addAction(sizeAction);
321 sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Maximum Height"));
322 sizeAction->setData(ApplyMaximumHeight);
323 sizeMenu->addAction(sizeAction);
325 sizeAction = m_sizeActionGroup->addAction(QDesignerTaskMenu::tr(
"Set Maximum Size"));
326 sizeAction->setData(ApplyMaximumWidth|ApplyMaximumHeight);
327 sizeMenu->addAction(sizeAction);
625 const QSize size = w->size();
627 QSize minimumSize = w-> minimumSize();
629 minimumSize.setWidth(size.width());
631 minimumSize.setHeight(size.height());
632 SetPropertyCommand* cmd =
new SetPropertyCommand(fw);
633 cmd->init(w, u"minimumSize"_s, minimumSize);
634 fw->commandHistory()->push(cmd);
637 QSize maximumSize = w-> maximumSize();
639 maximumSize.setWidth(size.width());
641 maximumSize.setHeight(size.height());
642 SetPropertyCommand* cmd =
new SetPropertyCommand(fw);
643 cmd->init(w, u"maximumSize"_s, maximumSize);
644 fw->commandHistory()->push(cmd);
668 QDesignerTaskMenu::PropertyMode pm, Container *c)
671 c->push_back(current);
672 if (pm == QDesignerTaskMenu::CurrentWidgetMode)
674 QDesignerObjectInspector *designerObjectInspector = qobject_cast<QDesignerObjectInspector *>(fw->core()->objectInspector());
675 if (!designerObjectInspector)
679 designerObjectInspector->getSelection(s);
680 const QWidgetList &source = fw->isManaged(current) ? s.managed : s.unmanaged;
681 for (
auto *w : source) {