void WidgetHandle::mouseReleaseEvent(QMouseEvent *e) { if (e->button() != Qt::LeftButton || !m_active) return; e->accept(); if (!m_formWindow->hasFeature(FormWindow::EditFeature)) return; switch (WidgetSelection::widgetState(m_formWindow->core(), m_widget)) { case WidgetSelection::UnlaidOut: if (m_geom != m_widget->geometry()) { SetPropertyCommand *cmd = new SetPropertyCommand(m_formWindow); cmd->init(m_widget, QStringLiteral("geometry"), m_widget->geometry()); cmd->setOldValue(m_origGeom); m_formWindow->commandHistory()->push(cmd); m_formWindow->emitSelectionChanged(); } break; case WidgetSelection::LaidOut: break; case WidgetSelection::ManagedGridLayout: changeGridLayoutItemSpan(); break; case WidgetSelection::ManagedFormLayout: changeFormLayoutItemSpan(); break; } }
static QUndoCommand *createBuddyCommand(QDesignerFormWindowInterface *fw, QLabel *label, QWidget *buddy) { SetPropertyCommand *command = new SetPropertyCommand(fw); command->init(label, QLatin1String(buddyPropertyC), buddy->objectName()); command->setText(BuddyEditor::tr("Add buddy")); return command; }
void FormWindowCursor::setWidgetProperty(QWidget *widget, const QString &name, const QVariant &value) { SetPropertyCommand *cmd = new SetPropertyCommand(m_formWindow); if (cmd->init(widget, name, value)) { m_formWindow->commandHistory()->push(cmd); } else { delete cmd; qDebug() << "Unable to set property " << name << '.'; } }
QDESIGNER_SHARED_EXPORT QDesignerFormWindowCommand *createTextPropertyCommand(const QString &propertyName, const QString &text, QObject *object, QDesignerFormWindowInterface *fw) { if (text.isEmpty()) { ResetPropertyCommand *cmd = new ResetPropertyCommand(fw); cmd->init(object, propertyName); return cmd; } SetPropertyCommand *cmd = new SetPropertyCommand(fw); cmd->init(object, propertyName, text); return cmd; }
QDesignerFormWindowCommand *setPropertyCommand(const QString &name, T value, T defaultValue, QObject *o, QDesignerFormWindowInterface *fw) { if (value == defaultValue) { ResetPropertyCommand *cmd = new ResetPropertyCommand(fw); cmd->init(o, name); return cmd; } SetPropertyCommand *cmd = new SetPropertyCommand(fw); cmd->init(o, name, QVariant(value)); return cmd; }
static QDesignerFormWindowCommand *setKeySequencePropertyCommand(const PropertySheetKeySequenceValue &ks, QAction *action, QDesignerFormWindowInterface *fw) { const QString shortcutProperty = QLatin1String(shortcutPropertyC); if (ks.value().isEmpty()) { ResetPropertyCommand *cmd = new ResetPropertyCommand(fw); cmd->init(action, shortcutProperty); return cmd; } SetPropertyCommand *cmd = new SetPropertyCommand(fw); cmd->init(action, shortcutProperty, QVariant::fromValue(ks)); return cmd; }
static QDesignerFormWindowCommand *setIconPropertyCommand(const PropertySheetIconValue &newIcon, QAction *action, QDesignerFormWindowInterface *fw) { const QString iconProperty = QLatin1String(iconPropertyC); if (newIcon.isEmpty()) { ResetPropertyCommand *cmd = new ResetPropertyCommand(fw); cmd->init(action, iconProperty); return cmd; } SetPropertyCommand *cmd = new SetPropertyCommand(fw); cmd->init(action, iconProperty, QVariant::fromValue(newIcon)); return cmd; }
void CXmlPropertyList::resetProperty() { if ( !currentItem() ) return; PropertyItem *i = (PropertyItem*)currentItem(); if ( !MetaDataBase::isPropertyChanged( editor->widget(), i->PropertyItem::name() ) ) return; QString pn( tr( "Reset '%1' of '%2'" ).arg( i->name() ).arg( editor->widget()->name() ) ); SetPropertyCommand *cmd = new SetPropertyCommand( pn, editor->formWindow(), editor->widget(), editor, i->name(), i->value(), WidgetFactory::defaultValue( editor->widget(), i->name() ), WidgetFactory::defaultCurrentItem( editor->widget(), i->name() ), i->currentItem(), TRUE ); cmd->execute(); editor->formWindow()->commandHistory()->addCommand( cmd, FALSE ); if ( i->hasSubItems() ) i->initChildren(); }
void FormWindowCursor::setProperty(const QString &name, const QVariant &value) { // build selection const int N = selectedWidgetCount(); Q_ASSERT(N); SetPropertyCommand::ObjectList selection; for (int i=0; i<N; ++i) selection.push_back(selectedWidget(i)); SetPropertyCommand* setPropertyCommand = new SetPropertyCommand(m_formWindow); if (setPropertyCommand->init(selection, name, value, current())) { m_formWindow->commandHistory()->push(setPropertyCommand); } else { delete setPropertyCommand; qDebug() << "Unable to set property " << name << '.'; } }
void QDesignerIntegrationPrivate::updateProperty(const QString &name, const QVariant &value, bool enableSubPropertyHandling) { QDesignerFormWindowInterface *formWindow = q->core()->formWindowManager()->activeFormWindow(); if (!formWindow) return; Selection selection; getSelection(selection); if (selection.empty()) return; SetPropertyCommand *cmd = new SetPropertyCommand(formWindow); // find a reference object to compare to and to find the right group if (cmd->init(selection.selection(), name, value, propertyEditorObject(), enableSubPropertyHandling)) { formWindow->commandHistory()->push(cmd); } else { delete cmd; qDebug() << "Unable to set property " << name << '.'; } }
void QDesignerMenuBar::leaveEditMode(LeaveEditMode mode) { m_editor->releaseKeyboard(); if (mode == Default) return; if (m_editor->text().isEmpty()) return; QAction *action = 0; QDesignerFormWindowInterface *fw = formWindow(); Q_ASSERT(fw); if (m_currentIndex >= 0 && m_currentIndex < realActionCount()) { action = safeActionAt(m_currentIndex); fw->beginCommand(QApplication::translate("Command", "Change Title")); } else { fw->beginCommand(QApplication::translate("Command", "Insert Menu")); const QString niceObjectName = ActionEditor::actionTextToName(m_editor->text(), QStringLiteral("menu")); QMenu *menu = qobject_cast<QMenu*>(fw->core()->widgetFactory()->createWidget(QStringLiteral("QMenu"), this)); fw->core()->widgetFactory()->initialize(menu); menu->setObjectName(niceObjectName); menu->setTitle(tr("Menu")); fw->ensureUniqueObjectName(menu); action = menu->menuAction(); AddMenuActionCommand *cmd = new AddMenuActionCommand(fw); cmd->init(action, m_addMenu, this, this); fw->commandHistory()->push(cmd); } SetPropertyCommand *cmd = new SetPropertyCommand(fw); cmd->init(action, QStringLiteral("text"), m_editor->text()); fw->commandHistory()->push(cmd); fw->endCommand(); }